-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
366 lines (366 loc) · 14.1 KB
/
package.json
File metadata and controls
366 lines (366 loc) · 14.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
{
"name": "core",
"displayName": "weaponized vscode",
"description": "This is the vscode extension designed for WeaponizedVSCode/Extension project.",
"version": "0.0.1",
"publisher": "WeaponizedVSCode",
"engines": {
"vscode": "^1.101.0"
},
"license": "MIT",
"icon": "images/icon.png",
"repository": {
"type": "git",
"url": "https://github.com/WeaponizedVSCode/Extension.git"
},
"extensionKind": [
"workspace"
],
"categories": [
"Other",
"Snippets"
],
"activationEvents": [
"workspaceContains:**/.foam/templates/*.md",
"workspaceContains:**/.vscode/settings.json",
"workspaceContains:**/.vscode/.zshrc",
"workspaceContains:**/hosts/**.md",
"workspaceContains:**/users/**.md",
"workspaceContains:**/services/**.md",
"workspaceContains:**/.weaponized"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "weapon.setup",
"title": "Setup/Create/Init weaponized vscode folder in current workspace",
"category": "weapon management"
},
{
"command": "weapon.dump_hosts",
"title": "List/Dump all hosts",
"category": "weapon management"
},
{
"command": "weapon.dump_users",
"title": "List/Dump all user credentials",
"category": "weapon management"
},
{
"command": "weapon.switch_host",
"title": "Switch/Set current host",
"category": "weapon management"
},
{
"command": "weapon.switch_user",
"title": "Switch/Set current user",
"category": "weapon management"
},
{
"command": "weapon.task.msfvenom_creation",
"title": "Create msfvenom payload",
"category": "weapon task"
},
{
"command": "weapon.task.hashcat_cracker",
"title": "Crack hashes with hashcat",
"category": "weapon task"
},
{
"command": "weapon.task.scan",
"title": "Run scanner over target",
"category": "weapon task"
},
{
"command": "weapon.magic_decoder",
"title": "Decode selected text",
"category": "weapon feature"
},
{
"command": "weaponized.terminal-logger.unregister",
"title": "Stop/Unregister terminal logger",
"category": "weapon recorder"
},
{
"command": "weaponized.terminal-logger.register",
"title": "Start/Register terminal logger",
"category": "weapon recorder"
},
{
"command": "weapon.note.creation",
"title": "Create/New note (user/host/service/finding/report) from template",
"category": "weapon foam"
},
{
"command": "weapon.mcp.install",
"title": "Install MCP server to workspace",
"category": "weapon management"
},
{
"command": "foam-vscode.show-graph",
"title": "Show Foam Graph",
"category": "weapon foam"
}
],
"configuration": {
"title": "weaponized vscode Extension Settings",
"type": "object",
"properties": {
"weaponized.ai.enabled": {
"type": "boolean",
"default": true,
"description": "Enable AI features: @weapon Copilot Chat participant and MCP server integration (.weapon-state/ sync). Disable to reduce extension footprint if you don't use AI assistants. Requires reload."
},
"weaponized.mcp.port": {
"type": "integer",
"default": 25789,
"format": "port",
"description": "Preferred port for the embedded MCP HTTP server (http://127.0.0.1:<port>/mcp). If the port is already in use, the OS will assign a free port automatically and mcp.json will be updated. Requires reload."
},
"weaponized.mcp.cli": {
"type": "string",
"enum": ["", "vscode", "claude", "codex", "gemini", "opencode"],
"default": "",
"description": "Target AI CLI tool for MCP config file installation. Controls which config file format is written by the Install MCP command. Leave empty to be prompted on first install.",
"scope": "resource"
},
"weaponized.lhost": {
"type": "string",
"default": "$LHOST",
"description": "This is the LHOST setting for weaponized vscode extension. it's for receive reverse shell or prompt reverse links."
},
"weaponized.lport": {
"type": "integer",
"default": 6879,
"format": "port",
"description": "This is the LPORT setting for weaponized vscode extension. it's for receive reverse shell or prompt reverse links."
},
"weaponized.listenon": {
"type": "integer",
"default": 8890,
"format": "port",
"description": "This is the listen port for weaponized vscode extension. it's for listening webserver requests."
},
"weaponized.envs": {
"type": "object",
"default": {},
"description": "This is the extra environment variables for weaponized vscode extension. it will be used in the commands and tasks. you can add your own environment variables here, like {\"MY_VAR\": \"my_value\"}. it will be used in the commands/tasks/terminals.",
"definitions": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"weaponized.user_vars": {
"type": "object",
"default": {
"kali_wordlists": "/usr/share/wordlists",
"kali_exploits": "/usr/share/exploitdb",
"kali_seclists": "/usr/share/seclists",
"dns_top100000": "${config:weaponized.user_vars.kali_seclists}/Discovery/DNS/bitquark-subdomains-top100000.txt",
"dir_raft_medium": "${config:weaponized.user_vars.kali_seclists}/Discovery/Web-Content/raft-medium-directories.txt",
"rockyou": "${config:weaponized.user_vars.kali_wordlists}/rockyou.txt"
},
"description": "This is the user defined variables for weaponized vscode extension. it will be used in the commands and tasks. you can add your own variables here, like {\"MY_VAR\": \"my_value\"}. it will be used in the commands and tasks. refer this like ${config:weaponized.user_vars.MY_VAR} in the commands/tasks.",
"definitions": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"weaponized.hashcat": {
"type": "string",
"default": "hashcat",
"description": "Path to hashcat executable. it will be used in the hashcat task."
},
"weaponized.netcat": {
"type": "string",
"default": "rlwrap -I -cAr netcat -lvvp ${config:weaponized.lport}",
"description": "This is the netcat command for weaponized vscode extension. it contains the netcat command with ${LPORT} as placeholder. u can replace with pwncat-cs or other shell handlering tools"
},
"weaponized.webdelivery": {
"type": "string",
"default": "simplehttpserver -listen 0.0.0.0:${config:weaponized.listenon} -verbose -upload",
"description": "This is the web delivery command for weaponized vscode extension. it contains the web delivery command with ${LISTEN_ON} or ${config:weaponized.listenon} as placeholder. u can replace with other web delivery tools like python3 http.server or php -S 0.0.0.0:${LISTEN_ON}"
},
"weaponized.msf.venom": {
"type": "string",
"default": "msfvenom",
"description": "Path to msfvenom"
},
"weaponized.msf.console": {
"type": "string",
"default": "msfconsole",
"description": "Path to msfconsole"
},
"weaponized.msf.resourcefile": {
"type": "string",
"description": "Path to msfconsole resource file. if it doesn't exist, it will be ignored in msfconsole."
},
"weaponized.scanners": {
"type": "object",
"description": "This is the scanner configurations for weaponized vscode extension. it will be used in the scanner tasks. you can add your own scanner configurations here, like {\"nmap\": \"nmap -sS -sV -O -Pn -p- -T4 --script vuln $TARGET\"}. it will be used in the scanner tasks.",
"definitions": {
"additionalProperties": {
"type": "string"
}
},
"default": {
"rustscan": "rustscan -a $TARGET -- --script=vuln -A",
"wfuzz subdomain": "wfuzz -c -w ${config:weaponized.user_vars.dns_top100000} -u http://$TARGET -H 'Host: FUZZ.$TARGET' --hc 404",
"ffuf subdomain": "ffuf -c -w ${config:weaponized.user_vars.dns_top100000} -u http://$TARGET -H 'Host: FUZZ.$TARGET' -fc 404",
"wfuzz https subdomains": "wfuzz -c -w ${config:weaponized.user_vars.dns_top100000} -u https://$TARGET -H 'Host: FUZZ.$TARGET' --hc 404",
"ffuf https subdomains": "ffuf -c -w ${config:weaponized.user_vars.dns_top100000} -u https://$TARGET -H 'Host: FUZZ.$TARGET' -fc 404",
"nuclei": "nuclei -target $TARGET",
"dirsearch": "dirsearch -u http://$TARGET",
"dirsearch https": "dirsearch -u https://$TARGET",
"feroxbuster": "feroxbuster -u http://$TARGET -w ${config:weaponized.user_vars.dir_raft_medium} -x php,html,txt -t 50",
"feroxbuster https": "feroxbuster -u https://$TARGET -w ${config:weaponized.user_vars.dir_raft_medium} -x php,html,txt -t 50"
}
},
"weaponized.terminal-log.enabled": {
"type": "boolean",
"default": false,
"description": "Enable terminal logging for weaponized vscode extension. it will log the terminal output to the ${config:weaponized.terminal-log.path} file."
},
"weaponized.terminal-log.path": {
"type": "string",
"default": "${workspaceFolder}/.vscode/.terminal.log",
"description": "Path to the terminal log file for weaponized vscode extension. it will be used to log the terminal output."
},
"weaponized.terminal-log.level": {
"type": "string",
"default": "command-only",
"description": "Terminal log level for weaponized vscode extension. it can be 'command-only', 'command-and-output'. 'command-only' will only log the command, 'command-and-output' will log the command and the its output.",
"enum": [
"command-only",
"output-only",
"command-and-output",
"netcat-handler"
]
}
}
},
"terminal": {
"profiles": [
{
"title": "meterpreter handler",
"id": "weaponized.meterpreter-handler"
},
{
"title": "msfconsole",
"id": "weaponized.msfconsole"
},
{
"title": "netcat handler",
"id": "weaponized.netcat-handler"
},
{
"title": "web delivery",
"id": "weaponized.web-delivery"
}
]
},
"snippets": [
{
"language": "markdown",
"path": "src/snippets/source/blood/blood.json"
},
{
"language": "markdown",
"path": "src/snippets/source/gtfobins/gtfobins.json"
},
{
"language": "markdown",
"path": "src/snippets/source/lolbas/lolbas.json"
},
{
"language": "markdown",
"path": "src/snippets/source/weapon/weapon.json"
}
],
"chatParticipants": [
{
"id": "weapon.chat",
"fullName": "Weaponized Assistant",
"name": "weapon",
"description": "AI assistant for penetration testing workflows. Aware of your current targets, credentials, and engagement notes.",
"isSticky": true,
"commands": [
{
"name": "analyze",
"description": "Analyze tool output (nmap, BloodHound, etc.)"
},
{
"name": "suggest",
"description": "Suggest next steps for the current target"
},
{
"name": "generate",
"description": "Generate a command from natural language"
},
{
"name": "report",
"description": "Summarize engagement findings"
},
{
"name": "explain",
"description": "Explain a concept, tool, or technique"
}
]
}
]
},
"scripts": {
"gen-blood": "ts-node ./src/snippets/source/blood/gen.ts",
"gen-setup": "python3 ./scripts/gen-setup.py",
"gen-report-assets": "python3 ./scripts/gen-report-assets.py",
"vscode:prepublish": "pnpm run package",
"prepare": "pnpm run gen-setup && pnpm run gen-report-assets",
"vscode:publish": "vsce package --no-dependencies",
"compile": "webpack",
"watch": "webpack --watch",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "pnpm run compile-tests && pnpm run compile && pnpm run lint",
"lint": "eslint src",
"test": "vscode-test",
"test:unit": "vscode-test --label unit",
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs"
},
"devDependencies": {
"@modelcontextprotocol/sdk": "^1.29.0",
"@types/http-string-parser": "^0.0.33",
"@types/mocha": "^10.0.10",
"@types/node": "~20.19.1",
"@types/node-fetch": "^2.6.13",
"@types/vscode": "^1.101.0",
"@typescript-eslint/eslint-plugin": "^8.35.0",
"@typescript-eslint/parser": "^8.35.0",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.5.0",
"eslint": "^9.29.0",
"foam-vscode": "github:foambubble/foam#main&path:packages/foam-vscode",
"ts-loader": "^9.5.2",
"ts-morph": "^26.0.0",
"typescript": "^5.8.3",
"vitepress": "^1.6.4",
"webpack": "^5.99.9",
"webpack-cli": "^6.0.1",
"zod": "^4.3.6"
},
"dependencies": {
"fetch-to-curl": "^0.6.0",
"http-string-parser": "^0.0.6",
"node-fetch": "^2.7.0",
"table": "^6.9.0",
"yaml": "^2.8.0"
}
}