@bengabay94/mrzero 0.1.0-alpha.1

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.
Files changed (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +246 -0
  3. package/agents/MrZeroEnvBuilder.md +155 -0
  4. package/agents/MrZeroExploitDeveloper.md +263 -0
  5. package/agents/MrZeroMapperOS.md +179 -0
  6. package/agents/MrZeroVulnHunterOS.md +172 -0
  7. package/dist/commands/check.d.ts +6 -0
  8. package/dist/commands/check.d.ts.map +1 -0
  9. package/dist/commands/check.js +205 -0
  10. package/dist/commands/check.js.map +1 -0
  11. package/dist/commands/install.d.ts +10 -0
  12. package/dist/commands/install.d.ts.map +1 -0
  13. package/dist/commands/install.js +256 -0
  14. package/dist/commands/install.js.map +1 -0
  15. package/dist/commands/uninstall.d.ts +8 -0
  16. package/dist/commands/uninstall.d.ts.map +1 -0
  17. package/dist/commands/uninstall.js +123 -0
  18. package/dist/commands/uninstall.js.map +1 -0
  19. package/dist/config/agents.d.ts +20 -0
  20. package/dist/config/agents.d.ts.map +1 -0
  21. package/dist/config/agents.js +88 -0
  22. package/dist/config/agents.js.map +1 -0
  23. package/dist/config/mcp-servers.d.ts +16 -0
  24. package/dist/config/mcp-servers.d.ts.map +1 -0
  25. package/dist/config/mcp-servers.js +72 -0
  26. package/dist/config/mcp-servers.js.map +1 -0
  27. package/dist/config/tools.d.ts +15 -0
  28. package/dist/config/tools.d.ts.map +1 -0
  29. package/dist/config/tools.js +130 -0
  30. package/dist/config/tools.js.map +1 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +35 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/installer/detector.d.ts +52 -0
  36. package/dist/installer/detector.d.ts.map +1 -0
  37. package/dist/installer/detector.js +381 -0
  38. package/dist/installer/detector.js.map +1 -0
  39. package/dist/installer/docker.d.ts +8 -0
  40. package/dist/installer/docker.d.ts.map +1 -0
  41. package/dist/installer/docker.js +197 -0
  42. package/dist/installer/docker.js.map +1 -0
  43. package/dist/installer/mcp.d.ts +11 -0
  44. package/dist/installer/mcp.d.ts.map +1 -0
  45. package/dist/installer/mcp.js +317 -0
  46. package/dist/installer/mcp.js.map +1 -0
  47. package/dist/installer/platforms.d.ts +7 -0
  48. package/dist/installer/platforms.d.ts.map +1 -0
  49. package/dist/installer/platforms.js +254 -0
  50. package/dist/installer/platforms.js.map +1 -0
  51. package/dist/installer/python.d.ts +5 -0
  52. package/dist/installer/python.d.ts.map +1 -0
  53. package/dist/installer/python.js +65 -0
  54. package/dist/installer/python.js.map +1 -0
  55. package/dist/installer/ruby.d.ts +5 -0
  56. package/dist/installer/ruby.d.ts.map +1 -0
  57. package/dist/installer/ruby.js +80 -0
  58. package/dist/installer/ruby.js.map +1 -0
  59. package/dist/utils/logger.d.ts +16 -0
  60. package/dist/utils/logger.d.ts.map +1 -0
  61. package/dist/utils/logger.js +46 -0
  62. package/dist/utils/logger.js.map +1 -0
  63. package/dist/utils/platform.d.ts +18 -0
  64. package/dist/utils/platform.d.ts.map +1 -0
  65. package/dist/utils/platform.js +110 -0
  66. package/dist/utils/platform.js.map +1 -0
  67. package/dist/utils/shell.d.ts +14 -0
  68. package/dist/utils/shell.d.ts.map +1 -0
  69. package/dist/utils/shell.js +45 -0
  70. package/dist/utils/shell.js.map +1 -0
  71. package/docker/Dockerfile +118 -0
  72. package/package.json +56 -0
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.installCommand = installCommand;
7
+ const enquirer_1 = __importDefault(require("enquirer"));
8
+ const ora_1 = __importDefault(require("ora"));
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ const platform_js_1 = require("../utils/platform.js");
11
+ const detector_js_1 = require("../installer/detector.js");
12
+ const agents_js_1 = require("../config/agents.js");
13
+ const docker_js_1 = require("../installer/docker.js");
14
+ const python_js_1 = require("../installer/python.js");
15
+ const ruby_js_1 = require("../installer/ruby.js");
16
+ const mcp_js_1 = require("../installer/mcp.js");
17
+ const platforms_js_1 = require("../installer/platforms.js");
18
+ const { MultiSelect, Confirm } = enquirer_1.default;
19
+ async function showSystemInfo() {
20
+ const spinner = (0, ora_1.default)('Detecting system configuration...').start();
21
+ const [systemInfo, gdb, pwndbg, ghidra, metasploit, idaPro] = await Promise.all([
22
+ (0, detector_js_1.detectSystemInfo)(),
23
+ (0, detector_js_1.detectGdb)(),
24
+ (0, detector_js_1.detectPwndbg)(),
25
+ (0, detector_js_1.detectGhidra)(),
26
+ (0, detector_js_1.detectMetasploit)(),
27
+ (0, detector_js_1.detectIdaPro)(),
28
+ ]);
29
+ spinner.stop();
30
+ logger_js_1.logger.header('System Information');
31
+ logger_js_1.logger.table([
32
+ ['OS', systemInfo.osVersion || systemInfo.os],
33
+ ['Architecture', systemInfo.arch],
34
+ ['Docker', (0, logger_js_1.formatStatus)(systemInfo.docker.installed) + (systemInfo.docker.version ? ` (v${systemInfo.docker.version})` : '')],
35
+ ['Python', (0, logger_js_1.formatStatus)(systemInfo.python.installed) + (systemInfo.python.version ? ` (v${systemInfo.python.version})` : '')],
36
+ ['uv', (0, logger_js_1.formatStatus)(systemInfo.uv.installed) + (systemInfo.uv.version ? ` (v${systemInfo.uv.version})` : '')],
37
+ ['Ruby', (0, logger_js_1.formatOptional)(systemInfo.ruby.installed) + (systemInfo.ruby.version ? ` (v${systemInfo.ruby.version})` : '')],
38
+ ['Git', (0, logger_js_1.formatStatus)(systemInfo.git.installed)],
39
+ ]);
40
+ logger_js_1.logger.blank();
41
+ logger_js_1.logger.subheader('Optional Tools (for MrZeroExploitDeveloper):');
42
+ logger_js_1.logger.table([
43
+ ['GDB', (0, logger_js_1.formatOptional)(gdb.installed) + (gdb.version ? ` (v${gdb.version})` : '')],
44
+ ['pwndbg', (0, logger_js_1.formatOptional)(pwndbg.installed) + (pwndbg.method ? ` (${pwndbg.method})` : '')],
45
+ ['Ghidra', (0, logger_js_1.formatOptional)(ghidra.installed) + (ghidra.path ? ` (${ghidra.path})` : '')],
46
+ ['Metasploit', (0, logger_js_1.formatOptional)(metasploit.installed)],
47
+ ['IDA Pro', (0, logger_js_1.formatOptional)(idaPro.installed)],
48
+ ]);
49
+ // Check for critical missing dependencies
50
+ if (!systemInfo.docker.installed) {
51
+ logger_js_1.logger.blank();
52
+ logger_js_1.logger.error('Docker is required but not installed.');
53
+ logger_js_1.logger.info('Install Docker: https://docs.docker.com/engine/install/');
54
+ process.exit(1);
55
+ }
56
+ if (!systemInfo.python.installed) {
57
+ logger_js_1.logger.blank();
58
+ logger_js_1.logger.error('Python 3 is required but not installed.');
59
+ logger_js_1.logger.info('Install Python: sudo apt-get install python3 python3-pip');
60
+ process.exit(1);
61
+ }
62
+ if (!systemInfo.uv.installed) {
63
+ logger_js_1.logger.blank();
64
+ logger_js_1.logger.error('uv is required but not installed.');
65
+ logger_js_1.logger.info('Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh');
66
+ process.exit(1);
67
+ }
68
+ return systemInfo;
69
+ }
70
+ async function selectAgents(preselected) {
71
+ if (preselected && preselected.length > 0) {
72
+ // Validate preselected agents
73
+ const valid = preselected.filter((a) => agents_js_1.AGENTS[a]);
74
+ if (valid.length !== preselected.length) {
75
+ const invalid = preselected.filter((a) => !agents_js_1.AGENTS[a]);
76
+ logger_js_1.logger.warning(`Unknown agents: ${invalid.join(', ')}`);
77
+ }
78
+ return valid;
79
+ }
80
+ logger_js_1.logger.blank();
81
+ const prompt = new MultiSelect({
82
+ name: 'agents',
83
+ message: 'Select agents to install tools for:',
84
+ choices: (0, agents_js_1.getAllAgents)().map((agent) => ({
85
+ name: agent.name,
86
+ message: `${agent.displayName} - ${agent.description}`,
87
+ value: agent.name,
88
+ })),
89
+ initial: (0, agents_js_1.getAllAgents)().map((a) => a.name), // All selected by default
90
+ });
91
+ const selected = await prompt.run();
92
+ return selected;
93
+ }
94
+ async function selectPlatforms(preselected) {
95
+ if (preselected && preselected.length > 0) {
96
+ const valid = preselected.filter((p) => p === 'claude-code' || p === 'opencode');
97
+ return valid;
98
+ }
99
+ logger_js_1.logger.blank();
100
+ const prompt = new MultiSelect({
101
+ name: 'platforms',
102
+ message: 'Select AI platforms to configure:',
103
+ choices: [
104
+ { name: 'claude-code', message: 'Claude Code', value: 'claude-code' },
105
+ { name: 'opencode', message: 'OpenCode', value: 'opencode' },
106
+ ],
107
+ initial: ['claude-code', 'opencode'],
108
+ });
109
+ const selected = await prompt.run();
110
+ return selected;
111
+ }
112
+ async function confirmInstallation(agents, dockerTools, pythonTools, rubyTools, mcpServers, platforms, skipConfirm) {
113
+ logger_js_1.logger.blank();
114
+ logger_js_1.logger.header('Installation Plan');
115
+ logger_js_1.logger.subheader('Agents:');
116
+ logger_js_1.logger.list(agents.map((a) => a.displayName));
117
+ if (dockerTools.length > 0) {
118
+ logger_js_1.logger.blank();
119
+ logger_js_1.logger.subheader('Docker-wrapped CLI tools:');
120
+ logger_js_1.logger.list(dockerTools);
121
+ }
122
+ if (pythonTools.length > 0) {
123
+ logger_js_1.logger.blank();
124
+ logger_js_1.logger.subheader('Python tools (via uv):');
125
+ logger_js_1.logger.list(pythonTools);
126
+ }
127
+ if (rubyTools.length > 0) {
128
+ logger_js_1.logger.blank();
129
+ logger_js_1.logger.subheader('Ruby tools (via gem):');
130
+ logger_js_1.logger.list(rubyTools);
131
+ }
132
+ if (mcpServers.length > 0) {
133
+ logger_js_1.logger.blank();
134
+ logger_js_1.logger.subheader('MCP servers:');
135
+ logger_js_1.logger.list(mcpServers);
136
+ }
137
+ logger_js_1.logger.blank();
138
+ logger_js_1.logger.subheader('Target platforms:');
139
+ logger_js_1.logger.list(platforms);
140
+ if (skipConfirm) {
141
+ return true;
142
+ }
143
+ logger_js_1.logger.blank();
144
+ const prompt = new Confirm({
145
+ name: 'confirm',
146
+ message: 'Proceed with installation?',
147
+ initial: true,
148
+ });
149
+ return await prompt.run();
150
+ }
151
+ function showPostInstallNotes(mcpResults) {
152
+ const notes = [];
153
+ for (const result of mcpResults) {
154
+ if (result.postInstallNotes && result.postInstallNotes.length > 0) {
155
+ notes.push(...result.postInstallNotes);
156
+ notes.push(''); // blank line between sections
157
+ }
158
+ }
159
+ if (notes.length > 0) {
160
+ logger_js_1.logger.box('Post-Installation Notes', notes);
161
+ }
162
+ }
163
+ async function installCommand(options) {
164
+ console.log('');
165
+ console.log(' __ __ _____ ');
166
+ console.log(' | \\/ |_ __|__ /___ _ __ ___ ');
167
+ console.log(' | |\\/| | \'__| / // _ \\ \'__/ _ \\ ');
168
+ console.log(' | | | | | / /| __/ | | (_) | ');
169
+ console.log(' |_| |_|_| /____\\___|_| \\___/ ');
170
+ console.log('');
171
+ console.log(' AI-Powered Security Research Agents');
172
+ console.log('');
173
+ // Check platform
174
+ if (!(0, platform_js_1.isLinux)()) {
175
+ logger_js_1.logger.warning('MrZero currently only supports Linux.');
176
+ logger_js_1.logger.info('macOS and Windows support coming soon!');
177
+ process.exit(1);
178
+ }
179
+ // Show system info and check dependencies
180
+ await showSystemInfo();
181
+ // Select agents
182
+ const selectedAgentNames = await selectAgents(options.agent);
183
+ if (selectedAgentNames.length === 0) {
184
+ logger_js_1.logger.error('No agents selected. Exiting.');
185
+ process.exit(1);
186
+ }
187
+ const selectedAgents = selectedAgentNames.map((name) => agents_js_1.AGENTS[name]);
188
+ // Select platforms
189
+ const selectedPlatforms = await selectPlatforms(options.platform);
190
+ if (selectedPlatforms.length === 0) {
191
+ logger_js_1.logger.error('No platforms selected. Exiting.');
192
+ process.exit(1);
193
+ }
194
+ // Calculate what needs to be installed
195
+ const dockerTools = options.skipDocker ? [] : (0, agents_js_1.getUniqueDockerTools)(selectedAgents);
196
+ const pythonTools = (0, agents_js_1.getUniquePythonTools)(selectedAgents);
197
+ const rubyTools = (0, agents_js_1.getUniqueRubyTools)(selectedAgents);
198
+ const mcpServers = options.skipMcp ? [] : (0, agents_js_1.getUniqueMcpServers)(selectedAgents);
199
+ // Confirm installation
200
+ const confirmed = await confirmInstallation(selectedAgents, dockerTools, pythonTools, rubyTools, mcpServers, selectedPlatforms, options.yes || false);
201
+ if (!confirmed) {
202
+ logger_js_1.logger.info('Installation cancelled.');
203
+ process.exit(0);
204
+ }
205
+ logger_js_1.logger.blank();
206
+ // Install Docker tools
207
+ if (dockerTools.length > 0) {
208
+ logger_js_1.logger.header('Installing Docker tools');
209
+ const imageReady = await (0, docker_js_1.ensureDockerImage)();
210
+ if (imageReady) {
211
+ await (0, docker_js_1.createAllWrappers)(dockerTools);
212
+ }
213
+ else {
214
+ logger_js_1.logger.error('Failed to setup Docker image. Docker tools will not be available.');
215
+ }
216
+ }
217
+ // Install Python tools
218
+ if (pythonTools.length > 0) {
219
+ await (0, python_js_1.installAllPythonTools)(pythonTools);
220
+ }
221
+ // Install Ruby tools
222
+ if (rubyTools.length > 0) {
223
+ await (0, ruby_js_1.installAllRubyTools)(rubyTools);
224
+ }
225
+ // Install MCP servers
226
+ let mcpResults = [];
227
+ if (mcpServers.length > 0) {
228
+ mcpResults = await (0, mcp_js_1.installAllMcpServers)(mcpServers);
229
+ }
230
+ // Configure platforms
231
+ const installedMcpServers = mcpResults
232
+ .filter((r) => r.installed)
233
+ .map((r) => r.name);
234
+ for (const platform of selectedPlatforms) {
235
+ await (0, platforms_js_1.configurePlatform)(platform, installedMcpServers, selectedAgentNames);
236
+ }
237
+ // Show completion message
238
+ logger_js_1.logger.blank();
239
+ logger_js_1.logger.header('Installation Complete!');
240
+ // Show post-install notes
241
+ showPostInstallNotes(mcpResults);
242
+ // Show quick start
243
+ logger_js_1.logger.blank();
244
+ logger_js_1.logger.info('Quick start:');
245
+ logger_js_1.logger.info(' npx mrzero check # Verify installation');
246
+ logger_js_1.logger.info(' npx mrzero --help # See all commands');
247
+ if (selectedPlatforms.includes('claude-code')) {
248
+ logger_js_1.logger.blank();
249
+ logger_js_1.logger.info('Restart Claude Code to load the new agents and MCP servers.');
250
+ }
251
+ if (selectedPlatforms.includes('opencode')) {
252
+ logger_js_1.logger.blank();
253
+ logger_js_1.logger.info('Restart OpenCode to load the new agents and MCP servers.');
254
+ }
255
+ }
256
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface UninstallOptions {
2
+ keepAgents?: boolean;
3
+ keepDocker?: boolean;
4
+ yes?: boolean;
5
+ }
6
+ export declare function uninstallCommand(options: UninstallOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAuBA,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF/E"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.uninstallCommand = uninstallCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const enquirer_1 = __importDefault(require("enquirer"));
42
+ const logger_js_1 = require("../utils/logger.js");
43
+ const platform_js_1 = require("../utils/platform.js");
44
+ const docker_js_1 = require("../installer/docker.js");
45
+ const python_js_1 = require("../installer/python.js");
46
+ const ruby_js_1 = require("../installer/ruby.js");
47
+ const mcp_js_1 = require("../installer/mcp.js");
48
+ const platforms_js_1 = require("../installer/platforms.js");
49
+ const tools_js_1 = require("../config/tools.js");
50
+ const agents_js_1 = require("../config/agents.js");
51
+ const mcp_servers_js_1 = require("../config/mcp-servers.js");
52
+ const { Confirm } = enquirer_1.default;
53
+ async function uninstallCommand(options) {
54
+ logger_js_1.logger.header('MrZero Uninstaller');
55
+ if (!options.yes) {
56
+ logger_js_1.logger.blank();
57
+ logger_js_1.logger.warning('This will remove MrZero tools, MCP servers, and configurations.');
58
+ const prompt = new Confirm({
59
+ name: 'confirm',
60
+ message: 'Are you sure you want to uninstall MrZero?',
61
+ initial: false,
62
+ });
63
+ const confirmed = await prompt.run();
64
+ if (!confirmed) {
65
+ logger_js_1.logger.info('Uninstall cancelled.');
66
+ process.exit(0);
67
+ }
68
+ }
69
+ logger_js_1.logger.blank();
70
+ // Remove CLI wrappers
71
+ logger_js_1.logger.step('Removing CLI wrappers...');
72
+ const dockerTools = Object.keys(tools_js_1.DOCKER_TOOLS);
73
+ await (0, docker_js_1.removeWrappers)(dockerTools);
74
+ // Remove Python tools
75
+ logger_js_1.logger.step('Removing Python tools...');
76
+ for (const toolName of Object.keys(tools_js_1.PYTHON_TOOLS)) {
77
+ await (0, python_js_1.uninstallPythonTool)(toolName);
78
+ }
79
+ // Remove Ruby tools
80
+ logger_js_1.logger.step('Removing Ruby tools...');
81
+ for (const toolName of Object.keys(tools_js_1.RUBY_TOOLS)) {
82
+ await (0, ruby_js_1.uninstallRubyTool)(toolName);
83
+ }
84
+ // Remove MCP servers
85
+ logger_js_1.logger.step('Removing MCP servers...');
86
+ for (const serverName of Object.keys(mcp_servers_js_1.MCP_SERVERS)) {
87
+ await (0, mcp_js_1.uninstallMcpServer)(serverName);
88
+ }
89
+ // Remove agent files (unless --keep-agents)
90
+ if (!options.keepAgents) {
91
+ logger_js_1.logger.step('Removing agent files...');
92
+ const agentNames = Object.keys(agents_js_1.AGENTS);
93
+ await (0, platforms_js_1.removeAgentsFromPlatform)('claude-code', agentNames);
94
+ await (0, platforms_js_1.removeAgentsFromPlatform)('opencode', agentNames);
95
+ }
96
+ // Remove MCP server configs from platforms
97
+ logger_js_1.logger.step('Removing MCP configurations from platforms...');
98
+ const mcpServerNames = Object.keys(mcp_servers_js_1.MCP_SERVERS);
99
+ await (0, platforms_js_1.removeMcpServersFromPlatform)('claude-code', mcpServerNames);
100
+ await (0, platforms_js_1.removeMcpServersFromPlatform)('opencode', mcpServerNames);
101
+ // Remove Docker image (unless --keep-docker)
102
+ if (!options.keepDocker) {
103
+ logger_js_1.logger.step('Removing Docker image...');
104
+ await (0, docker_js_1.removeDockerImage)();
105
+ }
106
+ // Remove MrZero directory
107
+ const mrZeroDir = (0, platform_js_1.getMrZeroDir)();
108
+ if (fs.existsSync(mrZeroDir)) {
109
+ logger_js_1.logger.step('Removing MrZero directory...');
110
+ fs.rmSync(mrZeroDir, { recursive: true, force: true });
111
+ logger_js_1.logger.success(`Removed ${mrZeroDir}`);
112
+ }
113
+ logger_js_1.logger.blank();
114
+ logger_js_1.logger.header('Uninstall Complete');
115
+ logger_js_1.logger.info('MrZero has been removed from your system.');
116
+ if (options.keepAgents) {
117
+ logger_js_1.logger.info('Agent files were kept in Claude Code and OpenCode configurations.');
118
+ }
119
+ if (options.keepDocker) {
120
+ logger_js_1.logger.info('Docker image was kept.');
121
+ }
122
+ }
123
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface AgentConfig {
2
+ name: string;
3
+ displayName: string;
4
+ description: string;
5
+ filename: string;
6
+ dockerTools: string[];
7
+ pythonTools: string[];
8
+ rubyTools: string[];
9
+ systemTools: string[];
10
+ mcpServers: string[];
11
+ }
12
+ export declare const AGENTS: Record<string, AgentConfig>;
13
+ export declare function getAgentByName(name: string): AgentConfig | undefined;
14
+ export declare function getAllAgents(): AgentConfig[];
15
+ export declare function getUniqueDockerTools(agents: AgentConfig[]): string[];
16
+ export declare function getUniquePythonTools(agents: AgentConfig[]): string[];
17
+ export declare function getUniqueRubyTools(agents: AgentConfig[]): string[];
18
+ export declare function getUniqueSystemTools(agents: AgentConfig[]): string[];
19
+ export declare function getUniqueMcpServers(agents: AgentConfig[]): string[];
20
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/config/agents.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6C9C,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAE5C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAIlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAInE"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGENTS = void 0;
4
+ exports.getAgentByName = getAgentByName;
5
+ exports.getAllAgents = getAllAgents;
6
+ exports.getUniqueDockerTools = getUniqueDockerTools;
7
+ exports.getUniquePythonTools = getUniquePythonTools;
8
+ exports.getUniqueRubyTools = getUniqueRubyTools;
9
+ exports.getUniqueSystemTools = getUniqueSystemTools;
10
+ exports.getUniqueMcpServers = getUniqueMcpServers;
11
+ exports.AGENTS = {
12
+ MrZeroMapperOS: {
13
+ name: 'MrZeroMapperOS',
14
+ displayName: 'MrZero Mapper',
15
+ description: 'Attack surface mapping and analysis',
16
+ filename: 'MrZeroMapperOS.md',
17
+ dockerTools: ['opengrep', 'gitleaks', 'codeql', 'joern', 'bearer', 'linguist', 'tree-sitter'],
18
+ pythonTools: [],
19
+ rubyTools: [],
20
+ systemTools: [],
21
+ mcpServers: [],
22
+ },
23
+ MrZeroVulnHunterOS: {
24
+ name: 'MrZeroVulnHunterOS',
25
+ displayName: 'MrZero VulnHunter',
26
+ description: 'Vulnerability hunting and detection',
27
+ filename: 'MrZeroVulnHunterOS.md',
28
+ dockerTools: ['opengrep', 'codeql', 'joern', 'infer', 'gitleaks', 'slither', 'trivy'],
29
+ pythonTools: [],
30
+ rubyTools: [],
31
+ systemTools: [],
32
+ mcpServers: [],
33
+ },
34
+ MrZeroExploitDeveloper: {
35
+ name: 'MrZeroExploitDeveloper',
36
+ displayName: 'MrZero Exploit Developer',
37
+ description: 'Exploit development and testing',
38
+ filename: 'MrZeroExploitDeveloper.md',
39
+ dockerTools: [],
40
+ pythonTools: ['pwntools', 'ropper'],
41
+ rubyTools: ['one_gadget'],
42
+ systemTools: ['gdb', 'checksec'],
43
+ mcpServers: ['pwndbg-mcp', 'ghidra-mcp', 'metasploit-mcp', 'ida-pro-mcp'],
44
+ },
45
+ MrZeroEnvBuilder: {
46
+ name: 'MrZeroEnvBuilder',
47
+ displayName: 'MrZero Environment Builder',
48
+ description: 'Test environment setup and configuration',
49
+ filename: 'MrZeroEnvBuilder.md',
50
+ dockerTools: [],
51
+ pythonTools: [],
52
+ rubyTools: [],
53
+ systemTools: ['docker'],
54
+ mcpServers: [],
55
+ },
56
+ };
57
+ function getAgentByName(name) {
58
+ return exports.AGENTS[name];
59
+ }
60
+ function getAllAgents() {
61
+ return Object.values(exports.AGENTS);
62
+ }
63
+ function getUniqueDockerTools(agents) {
64
+ const tools = new Set();
65
+ agents.forEach((agent) => agent.dockerTools.forEach((tool) => tools.add(tool)));
66
+ return Array.from(tools);
67
+ }
68
+ function getUniquePythonTools(agents) {
69
+ const tools = new Set();
70
+ agents.forEach((agent) => agent.pythonTools.forEach((tool) => tools.add(tool)));
71
+ return Array.from(tools);
72
+ }
73
+ function getUniqueRubyTools(agents) {
74
+ const tools = new Set();
75
+ agents.forEach((agent) => agent.rubyTools.forEach((tool) => tools.add(tool)));
76
+ return Array.from(tools);
77
+ }
78
+ function getUniqueSystemTools(agents) {
79
+ const tools = new Set();
80
+ agents.forEach((agent) => agent.systemTools.forEach((tool) => tools.add(tool)));
81
+ return Array.from(tools);
82
+ }
83
+ function getUniqueMcpServers(agents) {
84
+ const servers = new Set();
85
+ agents.forEach((agent) => agent.mcpServers.forEach((server) => servers.add(server)));
86
+ return Array.from(servers);
87
+ }
88
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/config/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface McpServerConfig {
2
+ name: string;
3
+ displayName: string;
4
+ description: string;
5
+ repo: string;
6
+ installMethod: 'uv-tool' | 'uv-pip' | 'clone';
7
+ requiresPrerequisite?: string;
8
+ command: string;
9
+ args?: string[];
10
+ env?: Record<string, string>;
11
+ postInstallNotes?: string[];
12
+ }
13
+ export declare const MCP_SERVERS: Record<string, McpServerConfig>;
14
+ export declare function getMcpServerByName(name: string): McpServerConfig | undefined;
15
+ export declare function getAllMcpServers(): McpServerConfig[];
16
+ //# sourceMappingURL=mcp-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/config/mcp-servers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA2DvD,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE5E;AAED,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAEpD"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_SERVERS = void 0;
4
+ exports.getMcpServerByName = getMcpServerByName;
5
+ exports.getAllMcpServers = getAllMcpServers;
6
+ exports.MCP_SERVERS = {
7
+ 'pwndbg-mcp': {
8
+ name: 'pwndbg-mcp',
9
+ displayName: 'pwndbg MCP',
10
+ description: 'GDB + pwndbg integration for binary exploitation',
11
+ repo: 'https://github.com/bengabay1994/pwndbg-mcp.git',
12
+ installMethod: 'uv-tool',
13
+ requiresPrerequisite: 'pwndbg',
14
+ command: 'pwndbg-mcp',
15
+ },
16
+ 'ghidra-mcp': {
17
+ name: 'ghidra-mcp',
18
+ displayName: 'Ghidra MCP',
19
+ description: 'Ghidra integration for reverse engineering',
20
+ repo: 'https://github.com/LaurieWired/GhidraMCP.git',
21
+ installMethod: 'clone',
22
+ requiresPrerequisite: 'ghidra',
23
+ command: 'python',
24
+ args: ['${MRZERO_DIR}/mcp-servers/GhidraMCP/bridge_mcp_ghidra.py', '--ghidra-server', 'http://127.0.0.1:8080/'],
25
+ postInstallNotes: [
26
+ 'GhidraMCP requires manual Ghidra extension installation:',
27
+ '1. Open Ghidra',
28
+ '2. Go to File → Install Extensions',
29
+ '3. Click the + button',
30
+ '4. Select ~/.mrzero/mcp-servers/GhidraMCP/GhidraMCP*.zip',
31
+ '5. Restart Ghidra and enable the plugin in File → Configure → Developer',
32
+ ],
33
+ },
34
+ 'metasploit-mcp': {
35
+ name: 'metasploit-mcp',
36
+ displayName: 'Metasploit MCP',
37
+ description: 'Metasploit Framework integration',
38
+ repo: 'https://github.com/GH05TCREW/MetasploitMCP.git',
39
+ installMethod: 'clone',
40
+ requiresPrerequisite: 'metasploit',
41
+ command: 'uv',
42
+ args: ['--directory', '${MRZERO_DIR}/mcp-servers/MetasploitMCP', 'run', 'MetasploitMCP.py', '--transport', 'stdio'],
43
+ env: {
44
+ MSF_PASSWORD: 'mrzero',
45
+ },
46
+ postInstallNotes: [
47
+ 'MetasploitMCP requires msfrpcd to be running:',
48
+ 'Start it with: msfrpcd -P mrzero -S -a 127.0.0.1 -p 55553',
49
+ 'The default password is "mrzero" - change MSF_PASSWORD in your config if you use a different one.',
50
+ ],
51
+ },
52
+ 'ida-pro-mcp': {
53
+ name: 'ida-pro-mcp',
54
+ displayName: 'IDA Pro MCP',
55
+ description: 'IDA Pro integration for reverse engineering',
56
+ repo: 'https://github.com/mrexodia/ida-pro-mcp',
57
+ installMethod: 'uv-pip',
58
+ requiresPrerequisite: 'ida-pro',
59
+ command: 'ida-pro-mcp',
60
+ postInstallNotes: [
61
+ 'After installation, run: ida-pro-mcp --install',
62
+ 'This will configure the IDA Pro plugin automatically.',
63
+ ],
64
+ },
65
+ };
66
+ function getMcpServerByName(name) {
67
+ return exports.MCP_SERVERS[name];
68
+ }
69
+ function getAllMcpServers() {
70
+ return Object.values(exports.MCP_SERVERS);
71
+ }
72
+ //# sourceMappingURL=mcp-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/config/mcp-servers.ts"],"names":[],"mappings":";;;AA0EA,gDAEC;AAED,4CAEC;AAnEY,QAAA,WAAW,GAAoC;IAC1D,YAAY,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,gDAAgD;QACtD,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,QAAQ;QAC9B,OAAO,EAAE,YAAY;KACtB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,8CAA8C;QACpD,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,QAAQ;QAC9B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,CAAC,0DAA0D,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;QAC/G,gBAAgB,EAAE;YAChB,0DAA0D;YAC1D,gBAAgB;YAChB,oCAAoC;YACpC,uBAAuB;YACvB,0DAA0D;YAC1D,yEAAyE;SAC1E;KACF;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,gDAAgD;QACtD,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,YAAY;QAClC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,aAAa,EAAE,yCAAyC,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,OAAO,CAAC;QACnH,GAAG,EAAE;YACH,YAAY,EAAE,QAAQ;SACvB;QACD,gBAAgB,EAAE;YAChB,+CAA+C;YAC/C,2DAA2D;YAC3D,mGAAmG;SACpG;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,yCAAyC;QAC/C,aAAa,EAAE,QAAQ;QACvB,oBAAoB,EAAE,SAAS;QAC/B,OAAO,EAAE,aAAa;QACtB,gBAAgB,EAAE;YAChB,gDAAgD;YAChD,uDAAuD;SACxD;KACF;CACF,CAAC;AAEF,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,OAAO,mBAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;AACpC,CAAC"}