zilmate 1.3.4 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/automation-planner.agent.d.ts +108 -0
- package/dist/agents/automation-planner.agent.d.ts.map +1 -1
- package/dist/agents/automation-planner.agent.js +13 -4
- package/dist/agents/automation-planner.agent.js.map +1 -1
- package/dist/agents/manager.d.ts +304 -0
- package/dist/agents/manager.d.ts.map +1 -1
- package/dist/agents/manager.js +45 -3
- package/dist/agents/manager.js.map +1 -1
- package/dist/agents/security.agent.d.ts +340 -0
- package/dist/agents/security.agent.d.ts.map +1 -0
- package/dist/agents/security.agent.js +76 -0
- package/dist/agents/security.agent.js.map +1 -0
- package/dist/cli/confirm.d.ts.map +1 -1
- package/dist/cli/confirm.js +8 -14
- package/dist/cli/confirm.js.map +1 -1
- package/dist/cli/format.js +1 -1
- package/dist/cli/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +2 -0
- package/dist/cli/interactive.js.map +1 -1
- package/dist/cli/triggers.d.ts.map +1 -1
- package/dist/cli/triggers.js +12 -4
- package/dist/cli/triggers.js.map +1 -1
- package/dist/cli/voice.d.ts.map +1 -1
- package/dist/cli/voice.js +2 -0
- package/dist/cli/voice.js.map +1 -1
- package/dist/config/env.d.ts +4 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +4 -0
- package/dist/config/env.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/jobs/trigger-orchestrator.d.ts +26 -0
- package/dist/jobs/trigger-orchestrator.d.ts.map +1 -0
- package/dist/jobs/trigger-orchestrator.js +252 -0
- package/dist/jobs/trigger-orchestrator.js.map +1 -0
- package/dist/jobs/trigger-policies.d.ts +36 -0
- package/dist/jobs/trigger-policies.d.ts.map +1 -0
- package/dist/jobs/trigger-policies.js +68 -0
- package/dist/jobs/trigger-policies.js.map +1 -0
- package/dist/jobs/trigger-router.d.ts +14 -0
- package/dist/jobs/trigger-router.d.ts.map +1 -0
- package/dist/jobs/trigger-router.js +114 -0
- package/dist/jobs/trigger-router.js.map +1 -0
- package/dist/jobs/workflows.d.ts +4 -1
- package/dist/jobs/workflows.d.ts.map +1 -1
- package/dist/jobs/workflows.js +18 -42
- package/dist/jobs/workflows.js.map +1 -1
- package/dist/memory/personal-context.d.ts +45 -0
- package/dist/memory/personal-context.d.ts.map +1 -0
- package/dist/memory/personal-context.js +103 -0
- package/dist/memory/personal-context.js.map +1 -0
- package/dist/runtime/confirm.d.ts +3 -0
- package/dist/runtime/confirm.d.ts.map +1 -1
- package/dist/runtime/confirm.js +38 -12
- package/dist/runtime/confirm.js.map +1 -1
- package/dist/runtime/progress.d.ts.map +1 -1
- package/dist/runtime/progress.js +3 -0
- package/dist/runtime/progress.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/skills/loader.d.ts +14 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +105 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/tools/cli-runner.d.ts +13 -0
- package/dist/tools/cli-runner.d.ts.map +1 -0
- package/dist/tools/cli-runner.js +75 -0
- package/dist/tools/cli-runner.js.map +1 -0
- package/dist/tools/computer-use.tool.d.ts +159 -0
- package/dist/tools/computer-use.tool.d.ts.map +1 -0
- package/dist/tools/computer-use.tool.js +356 -0
- package/dist/tools/computer-use.tool.js.map +1 -0
- package/dist/tools/desktop.tool.d.ts +70 -0
- package/dist/tools/desktop.tool.d.ts.map +1 -1
- package/dist/tools/desktop.tool.js +188 -0
- package/dist/tools/desktop.tool.js.map +1 -1
- package/dist/tools/filesystem.tool.d.ts +49 -0
- package/dist/tools/filesystem.tool.d.ts.map +1 -1
- package/dist/tools/filesystem.tool.js +97 -0
- package/dist/tools/filesystem.tool.js.map +1 -1
- package/dist/tools/orchestration.tool.d.ts +83 -0
- package/dist/tools/orchestration.tool.d.ts.map +1 -0
- package/dist/tools/orchestration.tool.js +154 -0
- package/dist/tools/orchestration.tool.js.map +1 -0
- package/dist/tools/osint-install.tool.d.ts +35 -0
- package/dist/tools/osint-install.tool.d.ts.map +1 -0
- package/dist/tools/osint-install.tool.js +334 -0
- package/dist/tools/osint-install.tool.js.map +1 -0
- package/dist/tools/osint.tool.d.ts +445 -0
- package/dist/tools/osint.tool.d.ts.map +1 -0
- package/dist/tools/osint.tool.js +630 -0
- package/dist/tools/osint.tool.js.map +1 -0
- package/dist/tools/pentest-install.tool.d.ts +32 -0
- package/dist/tools/pentest-install.tool.d.ts.map +1 -0
- package/dist/tools/pentest-install.tool.js +201 -0
- package/dist/tools/pentest-install.tool.js.map +1 -0
- package/dist/tools/pentest.tool.d.ts +595 -0
- package/dist/tools/pentest.tool.d.ts.map +1 -0
- package/dist/tools/pentest.tool.js +841 -0
- package/dist/tools/pentest.tool.js.map +1 -0
- package/dist/tools/personal-context.tool.d.ts +32 -0
- package/dist/tools/personal-context.tool.d.ts.map +1 -0
- package/dist/tools/personal-context.tool.js +76 -0
- package/dist/tools/personal-context.tool.js.map +1 -0
- package/dist/tools/shell.tool.d.ts +91 -0
- package/dist/tools/shell.tool.d.ts.map +1 -0
- package/dist/tools/shell.tool.js +332 -0
- package/dist/tools/shell.tool.js.map +1 -0
- package/dist/tools/skills.tool.d.ts +17 -0
- package/dist/tools/skills.tool.d.ts.map +1 -0
- package/dist/tools/skills.tool.js +44 -0
- package/dist/tools/skills.tool.js.map +1 -0
- package/dist/voice/cascade.d.ts.map +1 -1
- package/dist/voice/cascade.js +71 -24
- package/dist/voice/cascade.js.map +1 -1
- package/dist/voice/deepgram.d.ts.map +1 -1
- package/dist/voice/deepgram.js +8 -1
- package/dist/voice/deepgram.js.map +1 -1
- package/dist/voice/types.d.ts +4 -0
- package/dist/voice/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
export declare const nmapTool: {
|
|
2
|
+
/**
|
|
3
|
+
* nmap [scan type] [timing] [port range] [script] [-oA output] <target>
|
|
4
|
+
*
|
|
5
|
+
* Key flags (from nmap.org & offseckit.com cheat sheet):
|
|
6
|
+
* -sS SYN stealth scan (default, requires root/admin)
|
|
7
|
+
* -sV Service/version detection
|
|
8
|
+
* -O OS fingerprinting
|
|
9
|
+
* -sC Default NSE scripts (equiv. --script=default)
|
|
10
|
+
* --script NSE script or category: vuln, safe, default, auth, brute, discovery
|
|
11
|
+
* --script-args mincvss=7.0 filter CVE results by minimum CVSS score
|
|
12
|
+
* -p- All 65535 ports
|
|
13
|
+
* -F Fast: top 100 ports
|
|
14
|
+
* -T0..T5 Timing: T1=sneaky, T2=polite, T3=normal, T4=aggressive, T5=insane
|
|
15
|
+
* -Pn Skip host discovery (treat all hosts as online)
|
|
16
|
+
* -f Fragment packets (evade some firewalls)
|
|
17
|
+
* --open Show only open ports in output
|
|
18
|
+
* -oA <base> Output all formats: .nmap .xml .gnmap
|
|
19
|
+
* -iL <file> Input target list from file
|
|
20
|
+
* -sU UDP scan
|
|
21
|
+
* -sn Host discovery only (ping sweep), no port scan
|
|
22
|
+
*/
|
|
23
|
+
runNmap: import("ai").Tool<{
|
|
24
|
+
target: string;
|
|
25
|
+
scanType: "full" | "quick" | "udp" | "stealth" | "discovery";
|
|
26
|
+
osDetect: boolean;
|
|
27
|
+
timing: number;
|
|
28
|
+
skipHostDiscovery: boolean;
|
|
29
|
+
scripts?: ("default" | "discovery" | "vuln" | "safe" | "auth" | "brute" | "vulners")[] | undefined;
|
|
30
|
+
minCvss?: number | undefined;
|
|
31
|
+
ports?: string | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
target: string;
|
|
34
|
+
openPorts: {
|
|
35
|
+
port: number;
|
|
36
|
+
service: string | undefined;
|
|
37
|
+
}[];
|
|
38
|
+
cves: {
|
|
39
|
+
cve: string;
|
|
40
|
+
cvss: number;
|
|
41
|
+
}[];
|
|
42
|
+
outputFiles: {
|
|
43
|
+
normal: string;
|
|
44
|
+
xml: string;
|
|
45
|
+
grepable: string;
|
|
46
|
+
};
|
|
47
|
+
raw: string;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
50
|
+
export declare const nucleiTool: {
|
|
51
|
+
/**
|
|
52
|
+
* nuclei [flags]
|
|
53
|
+
*
|
|
54
|
+
* Key flags (from github.com/projectdiscovery/nuclei README):
|
|
55
|
+
* -u <url> Single target URL/host
|
|
56
|
+
* -l <file> Target list file
|
|
57
|
+
* -t <dir/file> Template path (default: ~/.local/nuclei-templates)
|
|
58
|
+
* -tags <csv> Filter by tag: cve,exposures,misconfigurations,default-logins,kev,vkev
|
|
59
|
+
* -severity <csv> Filter: info,low,medium,high,critical
|
|
60
|
+
* -exclude-tags Tags to skip
|
|
61
|
+
* -rl <int> Rate limit (requests/sec)
|
|
62
|
+
* -c <int> Concurrency
|
|
63
|
+
* -o <file> Output file
|
|
64
|
+
* -json JSON output
|
|
65
|
+
* -je <file> JSON-lines export
|
|
66
|
+
* -nc No colour
|
|
67
|
+
* -silent Only findings
|
|
68
|
+
* -update-templates Auto-update community templates
|
|
69
|
+
*
|
|
70
|
+
* Special tag combos:
|
|
71
|
+
* -tags kev CISA Known Exploited Vulnerabilities (1496+ templates)
|
|
72
|
+
* -tags vkev Vendor-confirmed KEV
|
|
73
|
+
*/
|
|
74
|
+
runNuclei: import("ai").Tool<{
|
|
75
|
+
target: string;
|
|
76
|
+
severity: ("medium" | "info" | "high" | "low" | "critical")[];
|
|
77
|
+
rateLimit: number;
|
|
78
|
+
concurrency: number;
|
|
79
|
+
updateTemplates: boolean;
|
|
80
|
+
tags?: string[] | undefined;
|
|
81
|
+
excludeTags?: string[] | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
target: string;
|
|
84
|
+
findingCount: number;
|
|
85
|
+
bySeverity: Record<string, number>;
|
|
86
|
+
findings: {
|
|
87
|
+
templateId: string;
|
|
88
|
+
name: string;
|
|
89
|
+
severity: string;
|
|
90
|
+
host: string;
|
|
91
|
+
matched: string;
|
|
92
|
+
}[];
|
|
93
|
+
outputFile: string;
|
|
94
|
+
raw: string;
|
|
95
|
+
}>;
|
|
96
|
+
};
|
|
97
|
+
export declare const subfinderTool: {
|
|
98
|
+
/**
|
|
99
|
+
* subfinder [flags]
|
|
100
|
+
*
|
|
101
|
+
* Key flags (docs.projectdiscovery.io/opensource/subfinder/usage):
|
|
102
|
+
* -d <domain> Single domain
|
|
103
|
+
* -dL <file> Domain list file
|
|
104
|
+
* -s <csv> Specific sources: crtsh,github,virustotal,...
|
|
105
|
+
* -all Use all passive sources (slow)
|
|
106
|
+
* -recursive Recursive subdomain resolution
|
|
107
|
+
* -o <file> Output file
|
|
108
|
+
* -oJ JSON lines output
|
|
109
|
+
* -silent Subdomains only (clean output for piping)
|
|
110
|
+
* -t <int> Goroutines for resolution (default 10)
|
|
111
|
+
* -rl <int> Rate limit req/s
|
|
112
|
+
*
|
|
113
|
+
* API keys stored in: ~/.config/subfinder/provider-config.yaml
|
|
114
|
+
* Without keys: crtsh, dnsdumpster, waybackarchive, hackertarget still work.
|
|
115
|
+
*/
|
|
116
|
+
runSubfinder: import("ai").Tool<{
|
|
117
|
+
domain: string;
|
|
118
|
+
allSources: boolean;
|
|
119
|
+
recursive: boolean;
|
|
120
|
+
sources?: string[] | undefined;
|
|
121
|
+
}, {
|
|
122
|
+
domain: string;
|
|
123
|
+
subdomainCount: number;
|
|
124
|
+
subdomains: string[];
|
|
125
|
+
outputFile: string;
|
|
126
|
+
}>;
|
|
127
|
+
};
|
|
128
|
+
export declare const sqlmapTool: {
|
|
129
|
+
/**
|
|
130
|
+
* sqlmap [flags]
|
|
131
|
+
*
|
|
132
|
+
* Key flags (hacktricks.wiki, stationx.net/sqlmap-cheat-sheet):
|
|
133
|
+
* -u <url> Target URL with injectable parameter (e.g. "http://site/?id=1")
|
|
134
|
+
* -r <file> Load raw HTTP request from file (Burp export)
|
|
135
|
+
* --data <str> POST data string
|
|
136
|
+
* --cookie <str> Session cookies
|
|
137
|
+
* -p <param> Force parameter to test
|
|
138
|
+
* --dbms <db> Hint DBMS type: mysql, postgresql, mssql, oracle, sqlite
|
|
139
|
+
* --level <1-5> Test depth (1=basic, 5=exhaustive); default 1
|
|
140
|
+
* --risk <1-3> Risk level (3 includes heavy queries); default 1
|
|
141
|
+
* --technique <str> Injection technique: B=boolean, E=error, U=union, S=stacked, T=time, Q=inline
|
|
142
|
+
* --batch Non-interactive (auto-accept defaults)
|
|
143
|
+
* --threads <n> Concurrent requests
|
|
144
|
+
* --random-agent Random User-Agent
|
|
145
|
+
* --tamper <csv> WAF bypass scripts: apostrophemask, randomcase, space2comment...
|
|
146
|
+
* --dbs Enumerate databases
|
|
147
|
+
* --tables Enumerate tables (-D <db>)
|
|
148
|
+
* --columns Enumerate columns (-D <db> -T <table>)
|
|
149
|
+
* --dump Dump table data
|
|
150
|
+
* --current-user Get DB user
|
|
151
|
+
* --is-dba Check if user is DBA
|
|
152
|
+
* --os-cmd <cmd> Execute OS command (if stacked injection possible)
|
|
153
|
+
* --forms Auto-detect and test forms on the page
|
|
154
|
+
* --crawl <depth> Crawl site for injectable params
|
|
155
|
+
*/
|
|
156
|
+
runSqlmap: import("ai").Tool<{
|
|
157
|
+
target: string;
|
|
158
|
+
level: number;
|
|
159
|
+
risk: number;
|
|
160
|
+
techniques: string;
|
|
161
|
+
goal: "detect" | "enumerate-dbs" | "enumerate-tables" | "dump" | "os-shell";
|
|
162
|
+
threads: number;
|
|
163
|
+
forms: boolean;
|
|
164
|
+
postData?: string | undefined;
|
|
165
|
+
cookie?: string | undefined;
|
|
166
|
+
dbms?: "mysql" | "postgresql" | "mssql" | "oracle" | "sqlite" | "db2" | undefined;
|
|
167
|
+
database?: string | undefined;
|
|
168
|
+
table?: string | undefined;
|
|
169
|
+
tamper?: string[] | undefined;
|
|
170
|
+
}, {
|
|
171
|
+
target: string;
|
|
172
|
+
goal: "detect" | "enumerate-dbs" | "enumerate-tables" | "dump" | "os-shell";
|
|
173
|
+
isVulnerable: boolean;
|
|
174
|
+
injectableParams: string[];
|
|
175
|
+
outputDir: string;
|
|
176
|
+
raw: string;
|
|
177
|
+
}>;
|
|
178
|
+
};
|
|
179
|
+
export declare const ffufTool: {
|
|
180
|
+
/**
|
|
181
|
+
* ffuf [flags]
|
|
182
|
+
*
|
|
183
|
+
* Key flags (github.com/ffuf/ffuf):
|
|
184
|
+
* -u <url> URL with FUZZ keyword, e.g. http://site/FUZZ or http://FUZZ.site.com
|
|
185
|
+
* -w <wordlist> Wordlist path (use - for stdin)
|
|
186
|
+
* -H <header> Additional header, e.g. "Host: FUZZ.site.com"
|
|
187
|
+
* -X <method> HTTP method (default GET)
|
|
188
|
+
* -d <data> POST body
|
|
189
|
+
* -mc <csv> Match HTTP status codes (default: 200,204,301,302,307,401,403,405,500)
|
|
190
|
+
* -fc <csv> Filter out status codes
|
|
191
|
+
* -ms <int> Match response size
|
|
192
|
+
* -fs <csv> Filter out response sizes
|
|
193
|
+
* -fw <int> Filter by word count
|
|
194
|
+
* -fl <int> Filter by line count
|
|
195
|
+
* -t <int> Threads (default 40)
|
|
196
|
+
* -rate <int> Rate limit (req/s)
|
|
197
|
+
* -o <file> Output file
|
|
198
|
+
* -of <fmt> Output format: json, ejson, html, md, csv, ecsv (default json)
|
|
199
|
+
* -c Colorize output
|
|
200
|
+
* -v Verbose (show full URLs)
|
|
201
|
+
* -s Silent (only results)
|
|
202
|
+
* -recursion Recursive directory fuzzing
|
|
203
|
+
* -recursion-depth Max recursion depth
|
|
204
|
+
* -e <csv> Extensions to append: .php,.html,.txt
|
|
205
|
+
* -ic Ignore wordlist comments
|
|
206
|
+
*
|
|
207
|
+
* Common wordlists (SecLists):
|
|
208
|
+
* /usr/share/seclists/Discovery/Web-Content/common.txt
|
|
209
|
+
* /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
|
|
210
|
+
* /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
|
|
211
|
+
*/
|
|
212
|
+
runFfuf: import("ai").Tool<{
|
|
213
|
+
url: string;
|
|
214
|
+
mode: "directory" | "vhost" | "parameter" | "backup";
|
|
215
|
+
matchCodes: number[];
|
|
216
|
+
threads: number;
|
|
217
|
+
recursive: boolean;
|
|
218
|
+
recursionDepth: number;
|
|
219
|
+
wordlist?: string | undefined;
|
|
220
|
+
extensions?: string[] | undefined;
|
|
221
|
+
filterCodes?: number[] | undefined;
|
|
222
|
+
filterSize?: number[] | undefined;
|
|
223
|
+
rateLimit?: number | undefined;
|
|
224
|
+
cookie?: string | undefined;
|
|
225
|
+
}, {
|
|
226
|
+
url: string;
|
|
227
|
+
mode: "directory" | "vhost" | "parameter" | "backup";
|
|
228
|
+
resultCount: number;
|
|
229
|
+
results: {
|
|
230
|
+
input: string;
|
|
231
|
+
status: number;
|
|
232
|
+
length: number;
|
|
233
|
+
words: number;
|
|
234
|
+
}[];
|
|
235
|
+
outputFile: string;
|
|
236
|
+
raw: string;
|
|
237
|
+
}>;
|
|
238
|
+
};
|
|
239
|
+
export declare const httpxTool: {
|
|
240
|
+
/**
|
|
241
|
+
* httpx [flags]
|
|
242
|
+
*
|
|
243
|
+
* Key flags (github.com/projectdiscovery/httpx):
|
|
244
|
+
* -l <file> Input list of hosts/URLs
|
|
245
|
+
* -u <url> Single target
|
|
246
|
+
* -title Extract page title
|
|
247
|
+
* -tech-detect Technology fingerprinting (Wappalyzer-based)
|
|
248
|
+
* -status-code Show HTTP status codes
|
|
249
|
+
* -content-length Show content length
|
|
250
|
+
* -follow-redirects Follow HTTP redirects
|
|
251
|
+
* -tls-probe Probe TLS info (certs, expiry, SANs)
|
|
252
|
+
* -tls-grab Grab all TLS data
|
|
253
|
+
* -web-server Show web server header
|
|
254
|
+
* -ip Resolve and show IPs
|
|
255
|
+
* -cdn Detect CDN
|
|
256
|
+
* -probe Show probe result
|
|
257
|
+
* -threads <n> Concurrent probers
|
|
258
|
+
* -rate-limit <n> Max requests/second
|
|
259
|
+
* -o <file> Output file
|
|
260
|
+
* -json JSON output
|
|
261
|
+
* -silent Only show live hosts
|
|
262
|
+
* -nc No colour
|
|
263
|
+
*/
|
|
264
|
+
runHttpx: import("ai").Tool<{
|
|
265
|
+
targets: string;
|
|
266
|
+
techDetect: boolean;
|
|
267
|
+
tlsProbe: boolean;
|
|
268
|
+
followRedirects: boolean;
|
|
269
|
+
threads: number;
|
|
270
|
+
rateLimit: number;
|
|
271
|
+
}, {
|
|
272
|
+
liveHostCount: number;
|
|
273
|
+
probes: {
|
|
274
|
+
url: string;
|
|
275
|
+
statusCode: number;
|
|
276
|
+
title: string;
|
|
277
|
+
tech: string[];
|
|
278
|
+
webServer: string;
|
|
279
|
+
ip: string;
|
|
280
|
+
}[];
|
|
281
|
+
outputFile: string;
|
|
282
|
+
raw: string;
|
|
283
|
+
}>;
|
|
284
|
+
};
|
|
285
|
+
export declare const pentestChainTool: {
|
|
286
|
+
/**
|
|
287
|
+
* Orchestrates the full kill chain:
|
|
288
|
+
* 1. Subfinder → passive subdomain discovery
|
|
289
|
+
* 2. httpx → probe live hosts, fingerprint tech
|
|
290
|
+
* 3. Nmap → port scan live IPs
|
|
291
|
+
* 4. Nuclei → template-based vuln scan on live URLs
|
|
292
|
+
*
|
|
293
|
+
* Results at each stage feed into the next.
|
|
294
|
+
*/
|
|
295
|
+
runPentestChain: import("ai").Tool<{
|
|
296
|
+
domain: string;
|
|
297
|
+
depth: "standard" | "deep" | "surface";
|
|
298
|
+
includeKev: boolean;
|
|
299
|
+
nmapScripts: boolean;
|
|
300
|
+
}, {
|
|
301
|
+
reportFile: string;
|
|
302
|
+
}>;
|
|
303
|
+
};
|
|
304
|
+
export declare const pentestTools: {
|
|
305
|
+
/**
|
|
306
|
+
* Orchestrates the full kill chain:
|
|
307
|
+
* 1. Subfinder → passive subdomain discovery
|
|
308
|
+
* 2. httpx → probe live hosts, fingerprint tech
|
|
309
|
+
* 3. Nmap → port scan live IPs
|
|
310
|
+
* 4. Nuclei → template-based vuln scan on live URLs
|
|
311
|
+
*
|
|
312
|
+
* Results at each stage feed into the next.
|
|
313
|
+
*/
|
|
314
|
+
runPentestChain: import("ai").Tool<{
|
|
315
|
+
domain: string;
|
|
316
|
+
depth: "standard" | "deep" | "surface";
|
|
317
|
+
includeKev: boolean;
|
|
318
|
+
nmapScripts: boolean;
|
|
319
|
+
}, {
|
|
320
|
+
reportFile: string;
|
|
321
|
+
}>;
|
|
322
|
+
/**
|
|
323
|
+
* httpx [flags]
|
|
324
|
+
*
|
|
325
|
+
* Key flags (github.com/projectdiscovery/httpx):
|
|
326
|
+
* -l <file> Input list of hosts/URLs
|
|
327
|
+
* -u <url> Single target
|
|
328
|
+
* -title Extract page title
|
|
329
|
+
* -tech-detect Technology fingerprinting (Wappalyzer-based)
|
|
330
|
+
* -status-code Show HTTP status codes
|
|
331
|
+
* -content-length Show content length
|
|
332
|
+
* -follow-redirects Follow HTTP redirects
|
|
333
|
+
* -tls-probe Probe TLS info (certs, expiry, SANs)
|
|
334
|
+
* -tls-grab Grab all TLS data
|
|
335
|
+
* -web-server Show web server header
|
|
336
|
+
* -ip Resolve and show IPs
|
|
337
|
+
* -cdn Detect CDN
|
|
338
|
+
* -probe Show probe result
|
|
339
|
+
* -threads <n> Concurrent probers
|
|
340
|
+
* -rate-limit <n> Max requests/second
|
|
341
|
+
* -o <file> Output file
|
|
342
|
+
* -json JSON output
|
|
343
|
+
* -silent Only show live hosts
|
|
344
|
+
* -nc No colour
|
|
345
|
+
*/
|
|
346
|
+
runHttpx: import("ai").Tool<{
|
|
347
|
+
targets: string;
|
|
348
|
+
techDetect: boolean;
|
|
349
|
+
tlsProbe: boolean;
|
|
350
|
+
followRedirects: boolean;
|
|
351
|
+
threads: number;
|
|
352
|
+
rateLimit: number;
|
|
353
|
+
}, {
|
|
354
|
+
liveHostCount: number;
|
|
355
|
+
probes: {
|
|
356
|
+
url: string;
|
|
357
|
+
statusCode: number;
|
|
358
|
+
title: string;
|
|
359
|
+
tech: string[];
|
|
360
|
+
webServer: string;
|
|
361
|
+
ip: string;
|
|
362
|
+
}[];
|
|
363
|
+
outputFile: string;
|
|
364
|
+
raw: string;
|
|
365
|
+
}>;
|
|
366
|
+
/**
|
|
367
|
+
* ffuf [flags]
|
|
368
|
+
*
|
|
369
|
+
* Key flags (github.com/ffuf/ffuf):
|
|
370
|
+
* -u <url> URL with FUZZ keyword, e.g. http://site/FUZZ or http://FUZZ.site.com
|
|
371
|
+
* -w <wordlist> Wordlist path (use - for stdin)
|
|
372
|
+
* -H <header> Additional header, e.g. "Host: FUZZ.site.com"
|
|
373
|
+
* -X <method> HTTP method (default GET)
|
|
374
|
+
* -d <data> POST body
|
|
375
|
+
* -mc <csv> Match HTTP status codes (default: 200,204,301,302,307,401,403,405,500)
|
|
376
|
+
* -fc <csv> Filter out status codes
|
|
377
|
+
* -ms <int> Match response size
|
|
378
|
+
* -fs <csv> Filter out response sizes
|
|
379
|
+
* -fw <int> Filter by word count
|
|
380
|
+
* -fl <int> Filter by line count
|
|
381
|
+
* -t <int> Threads (default 40)
|
|
382
|
+
* -rate <int> Rate limit (req/s)
|
|
383
|
+
* -o <file> Output file
|
|
384
|
+
* -of <fmt> Output format: json, ejson, html, md, csv, ecsv (default json)
|
|
385
|
+
* -c Colorize output
|
|
386
|
+
* -v Verbose (show full URLs)
|
|
387
|
+
* -s Silent (only results)
|
|
388
|
+
* -recursion Recursive directory fuzzing
|
|
389
|
+
* -recursion-depth Max recursion depth
|
|
390
|
+
* -e <csv> Extensions to append: .php,.html,.txt
|
|
391
|
+
* -ic Ignore wordlist comments
|
|
392
|
+
*
|
|
393
|
+
* Common wordlists (SecLists):
|
|
394
|
+
* /usr/share/seclists/Discovery/Web-Content/common.txt
|
|
395
|
+
* /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
|
|
396
|
+
* /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
|
|
397
|
+
*/
|
|
398
|
+
runFfuf: import("ai").Tool<{
|
|
399
|
+
url: string;
|
|
400
|
+
mode: "directory" | "vhost" | "parameter" | "backup";
|
|
401
|
+
matchCodes: number[];
|
|
402
|
+
threads: number;
|
|
403
|
+
recursive: boolean;
|
|
404
|
+
recursionDepth: number;
|
|
405
|
+
wordlist?: string | undefined;
|
|
406
|
+
extensions?: string[] | undefined;
|
|
407
|
+
filterCodes?: number[] | undefined;
|
|
408
|
+
filterSize?: number[] | undefined;
|
|
409
|
+
rateLimit?: number | undefined;
|
|
410
|
+
cookie?: string | undefined;
|
|
411
|
+
}, {
|
|
412
|
+
url: string;
|
|
413
|
+
mode: "directory" | "vhost" | "parameter" | "backup";
|
|
414
|
+
resultCount: number;
|
|
415
|
+
results: {
|
|
416
|
+
input: string;
|
|
417
|
+
status: number;
|
|
418
|
+
length: number;
|
|
419
|
+
words: number;
|
|
420
|
+
}[];
|
|
421
|
+
outputFile: string;
|
|
422
|
+
raw: string;
|
|
423
|
+
}>;
|
|
424
|
+
/**
|
|
425
|
+
* sqlmap [flags]
|
|
426
|
+
*
|
|
427
|
+
* Key flags (hacktricks.wiki, stationx.net/sqlmap-cheat-sheet):
|
|
428
|
+
* -u <url> Target URL with injectable parameter (e.g. "http://site/?id=1")
|
|
429
|
+
* -r <file> Load raw HTTP request from file (Burp export)
|
|
430
|
+
* --data <str> POST data string
|
|
431
|
+
* --cookie <str> Session cookies
|
|
432
|
+
* -p <param> Force parameter to test
|
|
433
|
+
* --dbms <db> Hint DBMS type: mysql, postgresql, mssql, oracle, sqlite
|
|
434
|
+
* --level <1-5> Test depth (1=basic, 5=exhaustive); default 1
|
|
435
|
+
* --risk <1-3> Risk level (3 includes heavy queries); default 1
|
|
436
|
+
* --technique <str> Injection technique: B=boolean, E=error, U=union, S=stacked, T=time, Q=inline
|
|
437
|
+
* --batch Non-interactive (auto-accept defaults)
|
|
438
|
+
* --threads <n> Concurrent requests
|
|
439
|
+
* --random-agent Random User-Agent
|
|
440
|
+
* --tamper <csv> WAF bypass scripts: apostrophemask, randomcase, space2comment...
|
|
441
|
+
* --dbs Enumerate databases
|
|
442
|
+
* --tables Enumerate tables (-D <db>)
|
|
443
|
+
* --columns Enumerate columns (-D <db> -T <table>)
|
|
444
|
+
* --dump Dump table data
|
|
445
|
+
* --current-user Get DB user
|
|
446
|
+
* --is-dba Check if user is DBA
|
|
447
|
+
* --os-cmd <cmd> Execute OS command (if stacked injection possible)
|
|
448
|
+
* --forms Auto-detect and test forms on the page
|
|
449
|
+
* --crawl <depth> Crawl site for injectable params
|
|
450
|
+
*/
|
|
451
|
+
runSqlmap: import("ai").Tool<{
|
|
452
|
+
target: string;
|
|
453
|
+
level: number;
|
|
454
|
+
risk: number;
|
|
455
|
+
techniques: string;
|
|
456
|
+
goal: "detect" | "enumerate-dbs" | "enumerate-tables" | "dump" | "os-shell";
|
|
457
|
+
threads: number;
|
|
458
|
+
forms: boolean;
|
|
459
|
+
postData?: string | undefined;
|
|
460
|
+
cookie?: string | undefined;
|
|
461
|
+
dbms?: "mysql" | "postgresql" | "mssql" | "oracle" | "sqlite" | "db2" | undefined;
|
|
462
|
+
database?: string | undefined;
|
|
463
|
+
table?: string | undefined;
|
|
464
|
+
tamper?: string[] | undefined;
|
|
465
|
+
}, {
|
|
466
|
+
target: string;
|
|
467
|
+
goal: "detect" | "enumerate-dbs" | "enumerate-tables" | "dump" | "os-shell";
|
|
468
|
+
isVulnerable: boolean;
|
|
469
|
+
injectableParams: string[];
|
|
470
|
+
outputDir: string;
|
|
471
|
+
raw: string;
|
|
472
|
+
}>;
|
|
473
|
+
/**
|
|
474
|
+
* subfinder [flags]
|
|
475
|
+
*
|
|
476
|
+
* Key flags (docs.projectdiscovery.io/opensource/subfinder/usage):
|
|
477
|
+
* -d <domain> Single domain
|
|
478
|
+
* -dL <file> Domain list file
|
|
479
|
+
* -s <csv> Specific sources: crtsh,github,virustotal,...
|
|
480
|
+
* -all Use all passive sources (slow)
|
|
481
|
+
* -recursive Recursive subdomain resolution
|
|
482
|
+
* -o <file> Output file
|
|
483
|
+
* -oJ JSON lines output
|
|
484
|
+
* -silent Subdomains only (clean output for piping)
|
|
485
|
+
* -t <int> Goroutines for resolution (default 10)
|
|
486
|
+
* -rl <int> Rate limit req/s
|
|
487
|
+
*
|
|
488
|
+
* API keys stored in: ~/.config/subfinder/provider-config.yaml
|
|
489
|
+
* Without keys: crtsh, dnsdumpster, waybackarchive, hackertarget still work.
|
|
490
|
+
*/
|
|
491
|
+
runSubfinder: import("ai").Tool<{
|
|
492
|
+
domain: string;
|
|
493
|
+
allSources: boolean;
|
|
494
|
+
recursive: boolean;
|
|
495
|
+
sources?: string[] | undefined;
|
|
496
|
+
}, {
|
|
497
|
+
domain: string;
|
|
498
|
+
subdomainCount: number;
|
|
499
|
+
subdomains: string[];
|
|
500
|
+
outputFile: string;
|
|
501
|
+
}>;
|
|
502
|
+
/**
|
|
503
|
+
* nuclei [flags]
|
|
504
|
+
*
|
|
505
|
+
* Key flags (from github.com/projectdiscovery/nuclei README):
|
|
506
|
+
* -u <url> Single target URL/host
|
|
507
|
+
* -l <file> Target list file
|
|
508
|
+
* -t <dir/file> Template path (default: ~/.local/nuclei-templates)
|
|
509
|
+
* -tags <csv> Filter by tag: cve,exposures,misconfigurations,default-logins,kev,vkev
|
|
510
|
+
* -severity <csv> Filter: info,low,medium,high,critical
|
|
511
|
+
* -exclude-tags Tags to skip
|
|
512
|
+
* -rl <int> Rate limit (requests/sec)
|
|
513
|
+
* -c <int> Concurrency
|
|
514
|
+
* -o <file> Output file
|
|
515
|
+
* -json JSON output
|
|
516
|
+
* -je <file> JSON-lines export
|
|
517
|
+
* -nc No colour
|
|
518
|
+
* -silent Only findings
|
|
519
|
+
* -update-templates Auto-update community templates
|
|
520
|
+
*
|
|
521
|
+
* Special tag combos:
|
|
522
|
+
* -tags kev CISA Known Exploited Vulnerabilities (1496+ templates)
|
|
523
|
+
* -tags vkev Vendor-confirmed KEV
|
|
524
|
+
*/
|
|
525
|
+
runNuclei: import("ai").Tool<{
|
|
526
|
+
target: string;
|
|
527
|
+
severity: ("medium" | "info" | "high" | "low" | "critical")[];
|
|
528
|
+
rateLimit: number;
|
|
529
|
+
concurrency: number;
|
|
530
|
+
updateTemplates: boolean;
|
|
531
|
+
tags?: string[] | undefined;
|
|
532
|
+
excludeTags?: string[] | undefined;
|
|
533
|
+
}, {
|
|
534
|
+
target: string;
|
|
535
|
+
findingCount: number;
|
|
536
|
+
bySeverity: Record<string, number>;
|
|
537
|
+
findings: {
|
|
538
|
+
templateId: string;
|
|
539
|
+
name: string;
|
|
540
|
+
severity: string;
|
|
541
|
+
host: string;
|
|
542
|
+
matched: string;
|
|
543
|
+
}[];
|
|
544
|
+
outputFile: string;
|
|
545
|
+
raw: string;
|
|
546
|
+
}>;
|
|
547
|
+
/**
|
|
548
|
+
* nmap [scan type] [timing] [port range] [script] [-oA output] <target>
|
|
549
|
+
*
|
|
550
|
+
* Key flags (from nmap.org & offseckit.com cheat sheet):
|
|
551
|
+
* -sS SYN stealth scan (default, requires root/admin)
|
|
552
|
+
* -sV Service/version detection
|
|
553
|
+
* -O OS fingerprinting
|
|
554
|
+
* -sC Default NSE scripts (equiv. --script=default)
|
|
555
|
+
* --script NSE script or category: vuln, safe, default, auth, brute, discovery
|
|
556
|
+
* --script-args mincvss=7.0 filter CVE results by minimum CVSS score
|
|
557
|
+
* -p- All 65535 ports
|
|
558
|
+
* -F Fast: top 100 ports
|
|
559
|
+
* -T0..T5 Timing: T1=sneaky, T2=polite, T3=normal, T4=aggressive, T5=insane
|
|
560
|
+
* -Pn Skip host discovery (treat all hosts as online)
|
|
561
|
+
* -f Fragment packets (evade some firewalls)
|
|
562
|
+
* --open Show only open ports in output
|
|
563
|
+
* -oA <base> Output all formats: .nmap .xml .gnmap
|
|
564
|
+
* -iL <file> Input target list from file
|
|
565
|
+
* -sU UDP scan
|
|
566
|
+
* -sn Host discovery only (ping sweep), no port scan
|
|
567
|
+
*/
|
|
568
|
+
runNmap: import("ai").Tool<{
|
|
569
|
+
target: string;
|
|
570
|
+
scanType: "full" | "quick" | "udp" | "stealth" | "discovery";
|
|
571
|
+
osDetect: boolean;
|
|
572
|
+
timing: number;
|
|
573
|
+
skipHostDiscovery: boolean;
|
|
574
|
+
scripts?: ("default" | "discovery" | "vuln" | "safe" | "auth" | "brute" | "vulners")[] | undefined;
|
|
575
|
+
minCvss?: number | undefined;
|
|
576
|
+
ports?: string | undefined;
|
|
577
|
+
}, {
|
|
578
|
+
target: string;
|
|
579
|
+
openPorts: {
|
|
580
|
+
port: number;
|
|
581
|
+
service: string | undefined;
|
|
582
|
+
}[];
|
|
583
|
+
cves: {
|
|
584
|
+
cve: string;
|
|
585
|
+
cvss: number;
|
|
586
|
+
}[];
|
|
587
|
+
outputFiles: {
|
|
588
|
+
normal: string;
|
|
589
|
+
xml: string;
|
|
590
|
+
grepable: string;
|
|
591
|
+
};
|
|
592
|
+
raw: string;
|
|
593
|
+
}>;
|
|
594
|
+
};
|
|
595
|
+
//# sourceMappingURL=pentest.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pentest.tool.d.ts","sourceRoot":"","sources":["../../src/tools/pentest.tool.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,QAAQ;IACnB;;;;;;;;;;;;;;;;;;;;OAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHJ,CAAC;AAIF,eAAO,MAAM,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;wBAwEmC,MAAM;kBAAQ,MAAM;sBAAY,MAAM;kBAAQ,MAAM;qBAAW,MAAM;;;;;CA2B5G,CAAC;AAIF,eAAO,MAAM,aAAa;IACxB;;;;;;;;;;;;;;;;;OAiBG;;;;;;;;;;;;CA4CJ,CAAC;AAIF,eAAO,MAAM,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;;;;;;;;;;;;;;;;;;;;;;;CA6FJ,CAAC;AAIF,eAAO,MAAM,QAAQ;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;;;;;;;;;;;;;;;;;;;mBAkG6B,MAAM;oBAAU,MAAM;oBAAU,MAAM;mBAAS,MAAM;;;;;CAetF,CAAC;AAIF,eAAO,MAAM,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;;;;;;;;;;;iBAmD0B,MAAM;wBAAc,MAAM;mBAAS,MAAM;kBAAQ,MAAM,EAAE;uBAAa,MAAM;gBAAM,MAAM;;;;;CAuBtH,CAAC;AAIF,eAAO,MAAM,gBAAgB;IAC3B;;;;;;;;OAQG;;;;;;;;;CA8GJ,CAAC;AAIF,eAAO,MAAM,YAAY;IA1HvB;;;;;;;;OAQG;;;;;;;;;IA9GH;;;;;;;;;;;;;;;;;;;;;;;OAuBG;;;;;;;;;;;iBAmD0B,MAAM;wBAAc,MAAM;mBAAS,MAAM;kBAAQ,MAAM,EAAE;uBAAa,MAAM;gBAAM,MAAM;;;;;IA/NrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;;;;;;;;;;;;;;;;;;;mBAkG6B,MAAM;oBAAU,MAAM;oBAAU,MAAM;mBAAS,MAAM;;;;;IA7PrF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;;;;;;;;;;;;;;;;;;;;;;;IA5FH;;;;;;;;;;;;;;;;;OAiBG;;;;;;;;;;;;IA/IH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;wBAwEmC,MAAM;kBAAQ,MAAM;sBAAY,MAAM;kBAAQ,MAAM;qBAAW,MAAM;;;;;IAzO3G;;;;;;;;;;;;;;;;;;;;OAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgzBJ,CAAC"}
|