@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 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/installer/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare function pullDockerImage(): Promise<boolean>;
2
+ export declare function buildDockerImage(): Promise<boolean>;
3
+ export declare function ensureDockerImage(): Promise<boolean>;
4
+ export declare function createWrapperScript(toolName: string): Promise<boolean>;
5
+ export declare function createAllWrappers(tools: string[]): Promise<void>;
6
+ export declare function removeWrappers(tools: string[]): Promise<void>;
7
+ export declare function removeDockerImage(): Promise<boolean>;
8
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"AA2BA,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAYxD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CA8BzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8C5E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtE;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D"}
@@ -0,0 +1,197 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.pullDockerImage = pullDockerImage;
37
+ exports.buildDockerImage = buildDockerImage;
38
+ exports.ensureDockerImage = ensureDockerImage;
39
+ exports.createWrapperScript = createWrapperScript;
40
+ exports.createAllWrappers = createAllWrappers;
41
+ exports.removeWrappers = removeWrappers;
42
+ exports.removeDockerImage = removeDockerImage;
43
+ const fs = __importStar(require("fs"));
44
+ const path = __importStar(require("path"));
45
+ const shell_js_1 = require("../utils/shell.js");
46
+ const logger_js_1 = require("../utils/logger.js");
47
+ const platform_js_1 = require("../utils/platform.js");
48
+ const tools_js_1 = require("../config/tools.js");
49
+ const WRAPPER_TEMPLATE = `#!/bin/bash
50
+ # MrZero wrapper for {{TOOL_NAME}}
51
+ # Transparently runs {{TOOL_NAME}} in Docker container
52
+
53
+ MRZERO_IMAGE="${tools_js_1.DOCKER_IMAGE}"
54
+
55
+ # Check if Docker is running
56
+ if ! docker info > /dev/null 2>&1; then
57
+ echo "Error: Docker is not running. Please start Docker first." >&2
58
+ exit 1
59
+ fi
60
+
61
+ # Run the tool in container with current directory mounted
62
+ docker run --rm -it \\
63
+ -v "$(pwd)":/workspace \\
64
+ -w /workspace \\
65
+ "$MRZERO_IMAGE" \\
66
+ "{{TOOL_COMMAND}} $*"
67
+ `;
68
+ async function pullDockerImage() {
69
+ logger_js_1.logger.step(`Pulling Docker image: ${tools_js_1.DOCKER_IMAGE}`);
70
+ const code = await (0, shell_js_1.runWithOutput)('docker', ['pull', tools_js_1.DOCKER_IMAGE]);
71
+ if (code === 0) {
72
+ logger_js_1.logger.success(`Docker image pulled successfully`);
73
+ return true;
74
+ }
75
+ else {
76
+ logger_js_1.logger.warning(`Failed to pull image, will try to build locally`);
77
+ return false;
78
+ }
79
+ }
80
+ async function buildDockerImage() {
81
+ const dockerfilePath = path.join(__dirname, '..', '..', 'docker', 'Dockerfile');
82
+ // Check if Dockerfile exists (when running from source)
83
+ if (!fs.existsSync(dockerfilePath)) {
84
+ // Try to find it in the npm package location
85
+ const npmDockerfile = path.join(__dirname, '..', '..', '..', 'docker', 'Dockerfile');
86
+ if (!fs.existsSync(npmDockerfile)) {
87
+ logger_js_1.logger.error('Dockerfile not found. Cannot build image.');
88
+ return false;
89
+ }
90
+ }
91
+ logger_js_1.logger.step(`Building Docker image: ${tools_js_1.DOCKER_IMAGE}`);
92
+ const buildContext = path.dirname(dockerfilePath);
93
+ const code = await (0, shell_js_1.runWithOutput)('docker', [
94
+ 'build',
95
+ '-t', tools_js_1.DOCKER_IMAGE,
96
+ '-f', dockerfilePath,
97
+ buildContext,
98
+ ]);
99
+ if (code === 0) {
100
+ logger_js_1.logger.success(`Docker image built successfully`);
101
+ return true;
102
+ }
103
+ else {
104
+ logger_js_1.logger.error(`Failed to build Docker image`);
105
+ return false;
106
+ }
107
+ }
108
+ async function ensureDockerImage() {
109
+ // First try to pull the image
110
+ const pulled = await pullDockerImage();
111
+ if (pulled)
112
+ return true;
113
+ // If pull fails, try to build locally
114
+ return await buildDockerImage();
115
+ }
116
+ async function createWrapperScript(toolName) {
117
+ const tool = tools_js_1.DOCKER_TOOLS[toolName];
118
+ if (!tool) {
119
+ logger_js_1.logger.error(`Unknown tool: ${toolName}`);
120
+ return false;
121
+ }
122
+ const wrappersDir = (0, platform_js_1.getWrappersDir)();
123
+ const wrapperPath = path.join(wrappersDir, tool.wrapperName || toolName);
124
+ // Ensure wrappers directory exists
125
+ fs.mkdirSync(wrappersDir, { recursive: true });
126
+ // Generate wrapper content
127
+ let toolCommand = toolName;
128
+ // Some tools need special handling
129
+ switch (toolName) {
130
+ case 'joern':
131
+ toolCommand = 'joern';
132
+ break;
133
+ case 'codeql':
134
+ toolCommand = 'codeql';
135
+ break;
136
+ case 'linguist':
137
+ toolCommand = 'github-linguist';
138
+ break;
139
+ case 'tree-sitter':
140
+ toolCommand = 'python3 -m tree_sitter';
141
+ break;
142
+ default:
143
+ toolCommand = toolName;
144
+ }
145
+ const wrapperContent = WRAPPER_TEMPLATE
146
+ .replace(/{{TOOL_NAME}}/g, toolName)
147
+ .replace(/{{TOOL_COMMAND}}/g, toolCommand);
148
+ try {
149
+ fs.writeFileSync(wrapperPath, wrapperContent, { mode: 0o755 });
150
+ logger_js_1.logger.success(`Created wrapper: ${wrapperPath}`);
151
+ return true;
152
+ }
153
+ catch (error) {
154
+ logger_js_1.logger.error(`Failed to create wrapper for ${toolName}: ${error}`);
155
+ return false;
156
+ }
157
+ }
158
+ async function createAllWrappers(tools) {
159
+ logger_js_1.logger.header('Installing CLI wrappers');
160
+ const wrappersDir = (0, platform_js_1.getWrappersDir)();
161
+ logger_js_1.logger.info(`Wrappers directory: ${wrappersDir}`);
162
+ for (const tool of tools) {
163
+ await createWrapperScript(tool);
164
+ }
165
+ // Check if wrappers dir is in PATH
166
+ const pathEnv = process.env.PATH || '';
167
+ if (!pathEnv.includes(wrappersDir)) {
168
+ logger_js_1.logger.blank();
169
+ logger_js_1.logger.warning(`${wrappersDir} is not in your PATH`);
170
+ logger_js_1.logger.info(`Add this to your shell config (~/.bashrc or ~/.zshrc):`);
171
+ logger_js_1.logger.info(` export PATH="$HOME/.local/bin:$PATH"`);
172
+ }
173
+ }
174
+ async function removeWrappers(tools) {
175
+ const wrappersDir = (0, platform_js_1.getWrappersDir)();
176
+ for (const tool of tools) {
177
+ const wrapperPath = path.join(wrappersDir, tool);
178
+ if (fs.existsSync(wrapperPath)) {
179
+ try {
180
+ fs.unlinkSync(wrapperPath);
181
+ logger_js_1.logger.success(`Removed wrapper: ${tool}`);
182
+ }
183
+ catch (error) {
184
+ logger_js_1.logger.warning(`Failed to remove wrapper: ${tool}`);
185
+ }
186
+ }
187
+ }
188
+ }
189
+ async function removeDockerImage() {
190
+ const result = await (0, shell_js_1.exec)(`docker rmi ${tools_js_1.DOCKER_IMAGE}`);
191
+ if (result.code === 0) {
192
+ logger_js_1.logger.success(`Removed Docker image: ${tools_js_1.DOCKER_IMAGE}`);
193
+ return true;
194
+ }
195
+ return false;
196
+ }
197
+ //# sourceMappingURL=docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,0CAYC;AAED,4CA8BC;AAED,8CAOC;AAED,kDA8CC;AAED,8CAkBC;AAED,wCAcC;AAED,8CAOC;AA7KD,uCAAyB;AACzB,2CAA6B;AAC7B,gDAAwD;AACxD,kDAA4C;AAC5C,sDAAgF;AAChF,iDAAgE;AAEhE,MAAM,gBAAgB,GAAG;;;;gBAIT,uBAAY;;;;;;;;;;;;;;CAc3B,CAAC;AAEK,KAAK,UAAU,eAAe;IACnC,kBAAM,CAAC,IAAI,CAAC,yBAAyB,uBAAY,EAAE,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,uBAAY,CAAC,CAAC,CAAC;IAEnE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,kBAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,kBAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEhF,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,kBAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,kBAAM,CAAC,IAAI,CAAC,0BAA0B,uBAAY,EAAE,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE;QACzC,OAAO;QACP,IAAI,EAAE,uBAAY;QAClB,IAAI,EAAE,cAAc;QACpB,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,kBAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,kBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,sCAAsC;IACtC,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,IAAI,GAAG,uBAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,kBAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC;IAEzE,mCAAmC;IACnC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,2BAA2B;IAC3B,IAAI,WAAW,GAAG,QAAQ,CAAC;IAE3B,mCAAmC;IACnC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,WAAW,GAAG,OAAO,CAAC;YACtB,MAAM;QACR,KAAK,QAAQ;YACX,WAAW,GAAG,QAAQ,CAAC;YACvB,MAAM;QACR,KAAK,UAAU;YACb,WAAW,GAAG,iBAAiB,CAAC;YAChC,MAAM;QACR,KAAK,aAAa;YAChB,WAAW,GAAG,wBAAwB,CAAC;YACvC,MAAM;QACR;YACE,WAAW,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB;SACpC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SACnC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,kBAAM,CAAC,OAAO,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,KAAe;IACrD,kBAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IACrC,kBAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,kBAAM,CAAC,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,OAAO,CAAC,GAAG,WAAW,sBAAsB,CAAC,CAAC;QACrD,kBAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,kBAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,KAAe;IAClD,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC3B,kBAAM,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kBAAM,CAAC,OAAO,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,eAAI,EAAC,cAAc,uBAAY,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,kBAAM,CAAC,OAAO,CAAC,yBAAyB,uBAAY,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface McpInstallResult {
2
+ name: string;
3
+ installed: boolean;
4
+ skipped: boolean;
5
+ reason?: string;
6
+ postInstallNotes?: string[];
7
+ }
8
+ export declare function installMcpServer(serverName: string): Promise<McpInstallResult>;
9
+ export declare function installAllMcpServers(servers: string[]): Promise<McpInstallResult[]>;
10
+ export declare function uninstallMcpServer(serverName: string): Promise<boolean>;
11
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/installer/mcp.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAgOD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwCpF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAYzF;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC7E"}
@@ -0,0 +1,317 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.installMcpServer = installMcpServer;
37
+ exports.installAllMcpServers = installAllMcpServers;
38
+ exports.uninstallMcpServer = uninstallMcpServer;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ const shell_js_1 = require("../utils/shell.js");
42
+ const logger_js_1 = require("../utils/logger.js");
43
+ const platform_js_1 = require("../utils/platform.js");
44
+ const mcp_servers_js_1 = require("../config/mcp-servers.js");
45
+ const detector_js_1 = require("./detector.js");
46
+ async function checkPrerequisite(serverName) {
47
+ const server = mcp_servers_js_1.MCP_SERVERS[serverName];
48
+ if (!server?.requiresPrerequisite) {
49
+ return { met: true };
50
+ }
51
+ switch (server.requiresPrerequisite) {
52
+ case 'pwndbg': {
53
+ const status = await (0, detector_js_1.detectPwndbg)();
54
+ if (!status.installed) {
55
+ return { met: false, reason: 'pwndbg is not installed' };
56
+ }
57
+ return { met: true };
58
+ }
59
+ case 'ghidra': {
60
+ const status = await (0, detector_js_1.detectGhidra)();
61
+ if (!status.installed) {
62
+ return { met: false, reason: 'Ghidra is not installed' };
63
+ }
64
+ return { met: true };
65
+ }
66
+ case 'metasploit': {
67
+ const status = await (0, detector_js_1.detectMetasploit)();
68
+ if (!status.installed) {
69
+ return { met: false, reason: 'Metasploit is not installed' };
70
+ }
71
+ return { met: true };
72
+ }
73
+ case 'ida-pro': {
74
+ const status = await (0, detector_js_1.detectIdaPro)();
75
+ if (!status.installed) {
76
+ return { met: false, reason: 'IDA Pro is not installed' };
77
+ }
78
+ return { met: true };
79
+ }
80
+ default:
81
+ return { met: true };
82
+ }
83
+ }
84
+ async function installPwndbgMcp() {
85
+ const server = mcp_servers_js_1.MCP_SERVERS['pwndbg-mcp'];
86
+ const mcpDir = (0, platform_js_1.getMcpServersDir)();
87
+ const repoPath = path.join(mcpDir, 'pwndbg-mcp');
88
+ logger_js_1.logger.step(`Installing ${server.displayName}...`);
89
+ // Clone the repo
90
+ fs.mkdirSync(mcpDir, { recursive: true });
91
+ if (fs.existsSync(repoPath)) {
92
+ logger_js_1.logger.info('Repository already exists, pulling latest...');
93
+ const pullResult = await (0, shell_js_1.exec)('git pull', { cwd: repoPath });
94
+ if (pullResult.code !== 0) {
95
+ logger_js_1.logger.warning('Failed to pull updates, using existing version');
96
+ }
97
+ }
98
+ else {
99
+ const cloneResult = await (0, shell_js_1.exec)(`git clone ${server.repo} ${repoPath}`);
100
+ if (cloneResult.code !== 0) {
101
+ return {
102
+ name: server.name,
103
+ installed: false,
104
+ skipped: false,
105
+ reason: `Failed to clone repository: ${cloneResult.stderr}`,
106
+ };
107
+ }
108
+ }
109
+ // Install using uv tool install
110
+ const installResult = await (0, shell_js_1.exec)(`uv tool install .`, { cwd: repoPath });
111
+ if (installResult.code !== 0) {
112
+ // Try alternative method
113
+ const altResult = await (0, shell_js_1.exec)(`uv pip install .`, { cwd: repoPath });
114
+ if (altResult.code !== 0) {
115
+ return {
116
+ name: server.name,
117
+ installed: false,
118
+ skipped: false,
119
+ reason: `Failed to install: ${installResult.stderr}`,
120
+ };
121
+ }
122
+ }
123
+ logger_js_1.logger.success(`Installed ${server.displayName}`);
124
+ return {
125
+ name: server.name,
126
+ installed: true,
127
+ skipped: false,
128
+ };
129
+ }
130
+ async function installGhidraMcp() {
131
+ const server = mcp_servers_js_1.MCP_SERVERS['ghidra-mcp'];
132
+ const mcpDir = (0, platform_js_1.getMcpServersDir)();
133
+ const repoPath = path.join(mcpDir, 'GhidraMCP');
134
+ logger_js_1.logger.step(`Installing ${server.displayName}...`);
135
+ fs.mkdirSync(mcpDir, { recursive: true });
136
+ if (fs.existsSync(repoPath)) {
137
+ logger_js_1.logger.info('Repository already exists, pulling latest...');
138
+ await (0, shell_js_1.exec)('git pull', { cwd: repoPath });
139
+ }
140
+ else {
141
+ const cloneResult = await (0, shell_js_1.exec)(`git clone ${server.repo} ${repoPath}`);
142
+ if (cloneResult.code !== 0) {
143
+ return {
144
+ name: server.name,
145
+ installed: false,
146
+ skipped: false,
147
+ reason: `Failed to clone repository: ${cloneResult.stderr}`,
148
+ };
149
+ }
150
+ }
151
+ // Install Python dependencies
152
+ const reqFile = path.join(repoPath, 'requirements.txt');
153
+ if (fs.existsSync(reqFile)) {
154
+ const pipResult = await (0, shell_js_1.exec)(`uv pip install -r requirements.txt`, { cwd: repoPath });
155
+ if (pipResult.code !== 0) {
156
+ logger_js_1.logger.warning(`Failed to install Python dependencies: ${pipResult.stderr}`);
157
+ }
158
+ }
159
+ // Download latest release for Ghidra extension
160
+ logger_js_1.logger.info('Downloading Ghidra extension...');
161
+ const releaseResult = await (0, shell_js_1.exec)(`curl -s https://api.github.com/repos/LaurieWired/GhidraMCP/releases/latest | grep "browser_download_url.*zip" | cut -d '"' -f 4 | head -1`);
162
+ if (releaseResult.code === 0 && releaseResult.stdout.trim()) {
163
+ const downloadUrl = releaseResult.stdout.trim();
164
+ const zipPath = path.join(repoPath, 'GhidraMCP-extension.zip');
165
+ await (0, shell_js_1.exec)(`curl -sSL "${downloadUrl}" -o "${zipPath}"`);
166
+ }
167
+ logger_js_1.logger.success(`Installed ${server.displayName}`);
168
+ return {
169
+ name: server.name,
170
+ installed: true,
171
+ skipped: false,
172
+ postInstallNotes: server.postInstallNotes,
173
+ };
174
+ }
175
+ async function installMetasploitMcp() {
176
+ const server = mcp_servers_js_1.MCP_SERVERS['metasploit-mcp'];
177
+ const mcpDir = (0, platform_js_1.getMcpServersDir)();
178
+ const repoPath = path.join(mcpDir, 'MetasploitMCP');
179
+ logger_js_1.logger.step(`Installing ${server.displayName}...`);
180
+ fs.mkdirSync(mcpDir, { recursive: true });
181
+ if (fs.existsSync(repoPath)) {
182
+ logger_js_1.logger.info('Repository already exists, pulling latest...');
183
+ await (0, shell_js_1.exec)('git pull', { cwd: repoPath });
184
+ }
185
+ else {
186
+ const cloneResult = await (0, shell_js_1.exec)(`git clone ${server.repo} ${repoPath}`);
187
+ if (cloneResult.code !== 0) {
188
+ return {
189
+ name: server.name,
190
+ installed: false,
191
+ skipped: false,
192
+ reason: `Failed to clone repository: ${cloneResult.stderr}`,
193
+ };
194
+ }
195
+ }
196
+ // Install Python dependencies
197
+ const reqFile = path.join(repoPath, 'requirements.txt');
198
+ if (fs.existsSync(reqFile)) {
199
+ const pipResult = await (0, shell_js_1.exec)(`uv pip install -r requirements.txt`, { cwd: repoPath });
200
+ if (pipResult.code !== 0) {
201
+ logger_js_1.logger.warning(`Failed to install Python dependencies: ${pipResult.stderr}`);
202
+ }
203
+ }
204
+ logger_js_1.logger.success(`Installed ${server.displayName}`);
205
+ return {
206
+ name: server.name,
207
+ installed: true,
208
+ skipped: false,
209
+ postInstallNotes: server.postInstallNotes,
210
+ };
211
+ }
212
+ async function installIdaProMcp() {
213
+ const server = mcp_servers_js_1.MCP_SERVERS['ida-pro-mcp'];
214
+ logger_js_1.logger.step(`Installing ${server.displayName}...`);
215
+ // Install via pip from GitHub
216
+ const installResult = await (0, shell_js_1.exec)(`uv pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip`);
217
+ if (installResult.code !== 0) {
218
+ return {
219
+ name: server.name,
220
+ installed: false,
221
+ skipped: false,
222
+ reason: `Failed to install: ${installResult.stderr}`,
223
+ };
224
+ }
225
+ // Run the install command to set up the IDA plugin
226
+ logger_js_1.logger.info('Configuring IDA Pro plugin...');
227
+ const configResult = await (0, shell_js_1.exec)('ida-pro-mcp --install');
228
+ if (configResult.code !== 0) {
229
+ logger_js_1.logger.warning('Failed to auto-configure IDA plugin. You may need to run: ida-pro-mcp --install');
230
+ }
231
+ logger_js_1.logger.success(`Installed ${server.displayName}`);
232
+ return {
233
+ name: server.name,
234
+ installed: true,
235
+ skipped: false,
236
+ postInstallNotes: server.postInstallNotes,
237
+ };
238
+ }
239
+ async function installMcpServer(serverName) {
240
+ const server = mcp_servers_js_1.MCP_SERVERS[serverName];
241
+ if (!server) {
242
+ return {
243
+ name: serverName,
244
+ installed: false,
245
+ skipped: true,
246
+ reason: `Unknown MCP server: ${serverName}`,
247
+ };
248
+ }
249
+ // Check prerequisite
250
+ const prereq = await checkPrerequisite(serverName);
251
+ if (!prereq.met) {
252
+ logger_js_1.logger.warning(`Skipping ${server.displayName}: ${prereq.reason}`);
253
+ return {
254
+ name: server.name,
255
+ installed: false,
256
+ skipped: true,
257
+ reason: prereq.reason,
258
+ };
259
+ }
260
+ switch (serverName) {
261
+ case 'pwndbg-mcp':
262
+ return installPwndbgMcp();
263
+ case 'ghidra-mcp':
264
+ return installGhidraMcp();
265
+ case 'metasploit-mcp':
266
+ return installMetasploitMcp();
267
+ case 'ida-pro-mcp':
268
+ return installIdaProMcp();
269
+ default:
270
+ return {
271
+ name: serverName,
272
+ installed: false,
273
+ skipped: true,
274
+ reason: `No installer implemented for: ${serverName}`,
275
+ };
276
+ }
277
+ }
278
+ async function installAllMcpServers(servers) {
279
+ if (servers.length === 0)
280
+ return [];
281
+ logger_js_1.logger.header('Installing MCP servers');
282
+ const results = [];
283
+ for (const server of servers) {
284
+ const result = await installMcpServer(server);
285
+ results.push(result);
286
+ }
287
+ return results;
288
+ }
289
+ async function uninstallMcpServer(serverName) {
290
+ const mcpDir = (0, platform_js_1.getMcpServersDir)();
291
+ const serverDirs = {
292
+ 'pwndbg-mcp': 'pwndbg-mcp',
293
+ 'ghidra-mcp': 'GhidraMCP',
294
+ 'metasploit-mcp': 'MetasploitMCP',
295
+ };
296
+ const dirName = serverDirs[serverName];
297
+ if (dirName) {
298
+ const serverPath = path.join(mcpDir, dirName);
299
+ if (fs.existsSync(serverPath)) {
300
+ fs.rmSync(serverPath, { recursive: true, force: true });
301
+ logger_js_1.logger.success(`Removed ${serverName}`);
302
+ return true;
303
+ }
304
+ }
305
+ // For pip-installed servers
306
+ if (serverName === 'ida-pro-mcp') {
307
+ await (0, shell_js_1.exec)('uv pip uninstall -y ida-pro-mcp');
308
+ logger_js_1.logger.success(`Removed ${serverName}`);
309
+ return true;
310
+ }
311
+ if (serverName === 'pwndbg-mcp') {
312
+ await (0, shell_js_1.exec)('uv tool uninstall pwndbg-mcp');
313
+ return true;
314
+ }
315
+ return false;
316
+ }
317
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/installer/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type Platform = 'claude-code' | 'opencode';
2
+ export declare function configureClaudeCode(mcpServers: string[], agents: string[]): Promise<void>;
3
+ export declare function configureOpenCode(mcpServers: string[], agents: string[]): Promise<void>;
4
+ export declare function configurePlatform(platform: Platform, mcpServers: string[], agents: string[]): Promise<void>;
5
+ export declare function removeAgentsFromPlatform(platform: Platform, agents: string[]): Promise<void>;
6
+ export declare function removeMcpServersFromPlatform(platform: Platform, mcpServers: string[]): Promise<void>;
7
+ //# sourceMappingURL=platforms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/installer/platforms.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC;AAiElD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}