@bengabay94/mrzero 0.2.0-alpha.3 → 0.2.2-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.
package/README.md CHANGED
@@ -96,7 +96,13 @@ To use a different password, update the `MSF_PASSWORD` environment variable in y
96
96
 
97
97
  ### With Claude Code
98
98
 
99
- After installation, restart Claude Code. The agents are available globally.
99
+ Launch Claude Code through MrZero to enable the security tools:
100
+
101
+ ```bash
102
+ mrzero claude
103
+ ```
104
+
105
+ The agents are available globally and can use all MrZero tools.
100
106
 
101
107
  **Switch agents:** Press `Tab` to cycle through available agents
102
108
 
@@ -107,7 +113,13 @@ After installation, restart Claude Code. The agents are available globally.
107
113
 
108
114
  ### With OpenCode
109
115
 
110
- After installation, restart OpenCode. The agents are configured automatically.
116
+ Launch OpenCode through MrZero to enable the security tools:
117
+
118
+ ```bash
119
+ mrzero opencode
120
+ ```
121
+
122
+ The agents are configured automatically and can use all MrZero tools.
111
123
 
112
124
  **Switch agents:** Press `Tab` to cycle through agents
113
125
 
@@ -116,6 +128,11 @@ After installation, restart OpenCode. The agents are configured automatically.
116
128
  @MrZeroVulnHunterOS find vulnerabilities in this codebase
117
129
  ```
118
130
 
131
+ > **Note:** When using OpenCode's interactive bash mode (the `!` prefix), the MrZero tools
132
+ > may not be visible in your PATH. However, the AI agents have full access to all tools
133
+ > when they execute bash commands. If you need to run a tool manually in bash mode,
134
+ > use the full path: `~/.local/bin/mrzero-tools/<tool-name>`
135
+
119
136
  ## Verify Installation
120
137
 
121
138
  Check what's installed:
@@ -9,7 +9,7 @@ tools:
9
9
  bash: true
10
10
  ---
11
11
 
12
- You are MrZeroMapper, an elite offensive security researcher and attack surface analyst specializing in comprehensive security assessment of open-source codebases. Your expertise lies in identifying attack vectors, mapping data flow, and uncovering potential exploitation points where attackers can control inputs. You are not required to find vulnerabilities
12
+ You are MrZeroMapper, an elite offensive security researcher and attack surface analyst specializing in comprehensive security assessment of open-source codebases. Your expertise lies in identifying entry points where external data enters the application, mapping data flow paths, and documenting where attackers could potentially control inputs. You are not required to find vulnerabilities.
13
13
 
14
14
  ## Your Core Responsibilities
15
15
 
@@ -28,7 +28,7 @@ You are MrZeroMapper, an elite offensive security researcher and attack surface
28
28
  - Validation and sanitization mechanisms (or lack thereof)
29
29
  - Data flow through the application
30
30
  - Trust boundaries and privilege contexts
31
- - Downstream impact of malicious input
31
+ - Where the input data flows to (sinks) within the application
32
32
 
33
33
  {{SECTION_TOOL_ASSISTED_START}}
34
34
  3. **Tool-Assisted Analysis**: Leverage the following security tools when available on the local system:
@@ -65,6 +65,12 @@ You are MrZeroMapper, an elite offensive security researcher and attack surface
65
65
  {{TOOL_USAGE_BEARER}}
66
66
  {{SECTION_TOOL_EXECUTION_END}}
67
67
 
68
+ ### Phase 3: Input Flow Analysis
69
+ - Trace data flow from input sources to where they are processed
70
+ - Identify authentication and authorization entry points
71
+ - Document where user-controlled data interacts with sensitive operations
72
+ - Map file upload, parsing, and deserialization entry points
73
+
68
74
  ### Phase 4: Attack Vector Classification
69
75
  For each identified attack vector, document:
70
76
  - **Vector ID**: Unique identifier (e.g., AV-001)
@@ -79,7 +85,7 @@ Create a professional, well-structured Markdown report with:
79
85
  # Attack Surface Analysis Report: <Target Name>
80
86
 
81
87
  ## Executive Summary
82
- [High-level overview of findings, critical attack vectors, high-potential vulnerabilities attack vectors]
88
+ [High-level overview of identified input points and attack surface areas]
83
89
 
84
90
  ## Codebase Overview
85
91
  - **Repository**: [URL/Path]
@@ -128,7 +134,7 @@ Create a professional, well-structured Markdown report with:
128
134
  {{SECTION_TOOL_RESULTS_END}}
129
135
 
130
136
  ## Conclusion
131
- [Overall attack surface assessment and recommendations on where to find vulnerabilities and bugs]
137
+ [Overall attack surface assessment and summary of key input points that warrant further security review]
132
138
 
133
139
  ## Appendix
134
140
  - Tool versions and configurations used
@@ -139,14 +145,13 @@ Create a professional, well-structured Markdown report with:
139
145
  ## Your Decision-Making Framework
140
146
 
141
147
  **When encountering ambiguity:**
142
- - Better to over-report than miss a critical vector
148
+ - Better to document more input points than miss potential entry points
143
149
  - If tool execution fails, document the failure and proceed without it.
144
150
 
145
151
  **Quality Control:**
146
- - Verify that each reported attack vector is actually reachable in the code
147
- - Eliminate false positives by manually reviewing tool output
152
+ - Verify that each reported input point is actually reachable in the code
148
153
  - Ensure code snippets in the report are accurate and contextual
149
- - Cross-reference findings across multiple tools for validation
154
+ - Cross-reference entry points identified by multiple tools
150
155
 
151
156
  **Escalation Strategy:**
152
157
  - If the codebase is too large to analyze in one session, focus on 1 section/logical-area inside it.
@@ -166,7 +171,7 @@ Create a professional, well-structured Markdown report with:
166
171
  - Use precise technical language appropriate for security professionals
167
172
  - Include actual code examples, not pseudocode
168
173
  - Cite specific file paths, line numbers, and function names
169
- - Organize findings logically from most to least vulnerability potential
174
+ - Organize findings logically by input type or component area
170
175
 
171
176
  ## Important Constraints
172
177
 
@@ -23,9 +23,9 @@ exports.TOOL_STRINGS = {
23
23
  // ============================================================================
24
24
  MrZeroMapperOS: {
25
25
  opengrep: {
26
- TOOL_LIST_OPENGREP: ' - **opengrep**: Pattern-based code analysis for vulnerability detection',
27
- TOOL_USAGE_OPENGREP: '- Execute opengrep with security rulesets for the detected languages',
28
- TOOL_RESULTS_OPENGREP: `### opengrep
26
+ TOOL_LIST_OPENGREP: ' - **opengrep** (semgrep-compatible): Pattern-based code analysis for identifying input handling patterns. Use `opengrep` command, NOT semgrep',
27
+ TOOL_USAGE_OPENGREP: '- Execute opengrep (NOT semgrep) with security rulesets for the detected languages',
28
+ TOOL_RESULTS_OPENGREP: `### opengrep (semgrep-compatible scanner)
29
29
  [Summary of pattern-based findings]`,
30
30
  },
31
31
  gitleaks: {
@@ -61,7 +61,7 @@ exports.TOOL_STRINGS = {
61
61
  // ============================================================================
62
62
  MrZeroVulnHunterOS: {
63
63
  opengrep: {
64
- TOOL_DESC_OPENGREP: `**Opengrep**: Use for pattern-based detection of common vulnerability patterns across multiple languages. Excellent for finding injection flaws, authentication issues, and cryptographic mistakes.`,
64
+ TOOL_DESC_OPENGREP: `**opengrep** (semgrep-compatible, use \`opengrep\` command NOT semgrep): Use for pattern-based detection of common vulnerability patterns across multiple languages. Supports semgrep rule syntax. Excellent for finding injection flaws, authentication issues, and cryptographic mistakes.`,
65
65
  },
66
66
  codeql: {
67
67
  TOOL_DESC_CODEQL: `**CodeQL**: Deploy for deep semantic analysis and data flow tracking. Use to trace attacker-controlled input through the codebase to sensitive sinks.`,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-strings.js","sourceRoot":"","sources":["../../src/config/tool-strings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AA6HH,kDAEC;AAKD,wCAEC;AAKD,sCAGC;AApIY,QAAA,YAAY,GAAqC;IAC5D,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAC/E,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,kBAAkB,EAAE,4EAA4E;YAChG,mBAAmB,EAAE,sEAAsE;YAC3F,qBAAqB,EAAE;oCACO;SAC/B;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,sEAAsE;YAC1F,qBAAqB,EAAE;sCACS;SACjC;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,iEAAiE;YACnF,iBAAiB,EAAE,8EAA8E;YACjG,mBAAmB,EAAE;uCACY;SAClC;QACD,KAAK,EAAE;YACL,eAAe,EAAE,iEAAiE;YAClF,gBAAgB,EAAE,qDAAqD;YACvE,kBAAkB,EAAE;0CACgB;SACrC;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,yEAAyE;YAC3F,iBAAiB,EAAE,sDAAsD;YACzE,mBAAmB,EAAE;0CACe;SACrC;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,yEAAyE;YAC7F,mBAAmB,EAAE,mDAAmD;SACzE;KACF;IAED,+EAA+E;IAC/E,mDAAmD;IACnD,+EAA+E;IAC/E,kBAAkB,EAAE;QAClB,QAAQ,EAAE;YACR,kBAAkB,EAAE,qMAAqM;SAC1N;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,uJAAuJ;SAC1K;QACD,KAAK,EAAE;YACL,eAAe,EAAE,6JAA6J;SAC/K;QACD,KAAK,EAAE;YACL,eAAe,EAAE,qLAAqL;SACvM;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,4HAA4H;SACjJ;QACD,OAAO,EAAE;YACP,iBAAiB,EAAE,sKAAsK;SAC1L;QACD,KAAK,EAAE;YACL,eAAe,EAAE,wHAAwH;SAC1I;KACF;IAED,+EAA+E;IAC/E,qDAAqD;IACrD,+EAA+E;IAC/E,sBAAsB,EAAE;QACtB,YAAY;QACZ,QAAQ,EAAE;YACR,kBAAkB,EAAE,+EAA+E;YACnG,mBAAmB,EAAE,iEAAiE;SACvF;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,6DAA6D;YAC/E,iBAAiB,EAAE,6FAA6F;SACjH;QACD,UAAU,EAAE;YACV,mBAAmB,EAAE,qDAAqD;SAC3E;QACD,+CAA+C;QAC/C,QAAQ,EAAE;YACR,kBAAkB,EAAE,8EAA8E;SACnG;QACD,cAAc;QACd,YAAY,EAAE;YACZ,gBAAgB,EAAE,sFAAsF;YACxG,iBAAiB,EAAE,mCAAmC;YACtD,iBAAiB,EAAE;;;;;;;OAOlB;SACF;QACD,YAAY,EAAE;YACZ,gBAAgB,EAAE,oEAAoE;SACvF;QACD,gBAAgB,EAAE;YAChB,oBAAoB,EAAE,wFAAwF;SAC/G;QACD,aAAa,EAAE;YACb,aAAa,EAAE,kFAAkF;SAClG;KACF;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,oBAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAiB,EAAE,QAAgB;IAChE,OAAO,oBAAY,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB;IAC7C,MAAM,YAAY,GAAG,oBAAY,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"tool-strings.js","sourceRoot":"","sources":["../../src/config/tool-strings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AA6HH,kDAEC;AAKD,wCAEC;AAKD,sCAGC;AApIY,QAAA,YAAY,GAAqC;IAC5D,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAC/E,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,kBAAkB,EAAE,kJAAkJ;YACtK,mBAAmB,EAAE,oFAAoF;YACzG,qBAAqB,EAAE;oCACO;SAC/B;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,sEAAsE;YAC1F,qBAAqB,EAAE;sCACS;SACjC;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,iEAAiE;YACnF,iBAAiB,EAAE,8EAA8E;YACjG,mBAAmB,EAAE;uCACY;SAClC;QACD,KAAK,EAAE;YACL,eAAe,EAAE,iEAAiE;YAClF,gBAAgB,EAAE,qDAAqD;YACvE,kBAAkB,EAAE;0CACgB;SACrC;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,yEAAyE;YAC3F,iBAAiB,EAAE,sDAAsD;YACzE,mBAAmB,EAAE;0CACe;SACrC;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,yEAAyE;YAC7F,mBAAmB,EAAE,mDAAmD;SACzE;KACF;IAED,+EAA+E;IAC/E,mDAAmD;IACnD,+EAA+E;IAC/E,kBAAkB,EAAE;QAClB,QAAQ,EAAE;YACR,kBAAkB,EAAE,8RAA8R;SACnT;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,uJAAuJ;SAC1K;QACD,KAAK,EAAE;YACL,eAAe,EAAE,6JAA6J;SAC/K;QACD,KAAK,EAAE;YACL,eAAe,EAAE,qLAAqL;SACvM;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,4HAA4H;SACjJ;QACD,OAAO,EAAE;YACP,iBAAiB,EAAE,sKAAsK;SAC1L;QACD,KAAK,EAAE;YACL,eAAe,EAAE,wHAAwH;SAC1I;KACF;IAED,+EAA+E;IAC/E,qDAAqD;IACrD,+EAA+E;IAC/E,sBAAsB,EAAE;QACtB,YAAY;QACZ,QAAQ,EAAE;YACR,kBAAkB,EAAE,+EAA+E;YACnG,mBAAmB,EAAE,iEAAiE;SACvF;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,6DAA6D;YAC/E,iBAAiB,EAAE,6FAA6F;SACjH;QACD,UAAU,EAAE;YACV,mBAAmB,EAAE,qDAAqD;SAC3E;QACD,+CAA+C;QAC/C,QAAQ,EAAE;YACR,kBAAkB,EAAE,8EAA8E;SACnG;QACD,cAAc;QACd,YAAY,EAAE;YACZ,gBAAgB,EAAE,sFAAsF;YACxG,iBAAiB,EAAE,mCAAmC;YACtD,iBAAiB,EAAE;;;;;;;OAOlB;SACF;QACD,YAAY,EAAE;YACZ,gBAAgB,EAAE,oEAAoE;SACvF;QACD,gBAAgB,EAAE;YAChB,oBAAoB,EAAE,wFAAwF;SAC/G;QACD,aAAa,EAAE;YACb,aAAa,EAAE,kFAAkF;SAClG;KACF;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,oBAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAiB,EAAE,QAAgB;IAChE,OAAO,oBAAY,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB;IAC7C,MAAM,YAAY,GAAG,oBAAY,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC"}
@@ -1 +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,CA4C5E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtE;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"AA4DA,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,CAgD5E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtE;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D"}
@@ -59,11 +59,43 @@ if ! docker info > /dev/null 2>&1; then
59
59
  fi
60
60
 
61
61
  # Run the tool in container with current directory mounted
62
- docker run --rm -it \\
62
+ # Note: We don't use -t (TTY) as these tools are run non-interactively by AI agents
63
+ # Note: --entrypoint "" overrides any ENTRYPOINT in the image for direct command execution
64
+ # Note: --network host uses host networking for proper DNS resolution and internet access
65
+ # Note: PYTHONIOENCODING=utf-8 fixes encoding issues with some Python-based tools
66
+ docker run --rm \\
67
+ --network host \\
68
+ --entrypoint "" \\
69
+ -e PYTHONIOENCODING=utf-8 \\
63
70
  -v "$(pwd)":/workspace \\
64
71
  -w /workspace \\
65
72
  "$MRZERO_IMAGE" \\
66
- "{{TOOL_COMMAND}} $*"
73
+ {{TOOL_COMMAND}} "$@"
74
+ `;
75
+ // Special wrapper for linguist which needs git safe.directory config
76
+ const LINGUIST_WRAPPER_TEMPLATE = `#!/bin/bash
77
+ # MrZero wrapper for linguist
78
+ # Transparently runs github-linguist in Docker container
79
+
80
+ MRZERO_IMAGE="${tools_js_1.DOCKER_IMAGE}"
81
+
82
+ # Check if Docker is running
83
+ if ! docker info > /dev/null 2>&1; then
84
+ echo "Error: Docker is not running. Please start Docker first." >&2
85
+ exit 1
86
+ fi
87
+
88
+ # Run linguist in container with current directory mounted
89
+ # Note: We configure git safe.directory to allow linguist to analyze mounted repos
90
+ # Note: --network host uses host networking for proper DNS resolution
91
+ docker run --rm \\
92
+ --network host \\
93
+ --entrypoint "" \\
94
+ -e PYTHONIOENCODING=utf-8 \\
95
+ -v "$(pwd)":/workspace \\
96
+ -w /workspace \\
97
+ "$MRZERO_IMAGE" \\
98
+ bash -c 'git config --global --add safe.directory /workspace 2>/dev/null; github-linguist "$@"' _ "$@"
67
99
  `;
68
100
  async function pullDockerImage() {
69
101
  logger_js_1.logger.step(`Pulling Docker image: ${tools_js_1.DOCKER_IMAGE}`);
@@ -124,25 +156,29 @@ async function createWrapperScript(toolName) {
124
156
  const wrapperPath = path.join(wrappersDir, wrapperName);
125
157
  // Ensure wrappers directory exists
126
158
  fs.mkdirSync(wrappersDir, { recursive: true });
127
- // Generate wrapper content
128
- let toolCommand = wrapperName;
129
- // Some tools need special handling
130
- switch (toolName) {
131
- case 'joern':
132
- toolCommand = 'joern';
133
- break;
134
- case 'codeql':
135
- toolCommand = 'codeql';
136
- break;
137
- case 'linguist':
138
- toolCommand = 'github-linguist';
139
- break;
140
- default:
141
- toolCommand = wrapperName;
159
+ let wrapperContent;
160
+ // Linguist needs special handling for git safe.directory
161
+ if (toolName === 'linguist') {
162
+ wrapperContent = LINGUIST_WRAPPER_TEMPLATE;
163
+ }
164
+ else {
165
+ // Generate wrapper content for other tools
166
+ let toolCommand = wrapperName;
167
+ // Some tools need special command names
168
+ switch (toolName) {
169
+ case 'joern':
170
+ toolCommand = 'joern';
171
+ break;
172
+ case 'codeql':
173
+ toolCommand = 'codeql';
174
+ break;
175
+ default:
176
+ toolCommand = wrapperName;
177
+ }
178
+ wrapperContent = WRAPPER_TEMPLATE
179
+ .replace(/{{TOOL_NAME}}/g, wrapperName)
180
+ .replace(/{{TOOL_COMMAND}}/g, toolCommand);
142
181
  }
143
- const wrapperContent = WRAPPER_TEMPLATE
144
- .replace(/{{TOOL_NAME}}/g, wrapperName)
145
- .replace(/{{TOOL_COMMAND}}/g, toolCommand);
146
182
  try {
147
183
  fs.writeFileSync(wrapperPath, wrapperContent, { mode: 0o755 });
148
184
  logger_js_1.logger.success(`Created wrapper: ${wrapperPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/installer/launcher.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsCzD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C"}
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/installer/launcher.ts"],"names":[],"mappings":"AA+DA;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsCzD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C"}
@@ -54,30 +54,34 @@ function downloadFile(url, dest) {
54
54
  return;
55
55
  }
56
56
  const protocol = currentUrl.startsWith('https') ? https : require('http');
57
- protocol.get(currentUrl, (response) => {
57
+ const req = protocol.get(currentUrl, (response) => {
58
58
  // Handle redirects
59
59
  if (response.statusCode === 302 || response.statusCode === 301) {
60
60
  const redirectUrl = response.headers.location;
61
+ // Consume and discard the response body to free up the socket
62
+ response.resume();
61
63
  if (redirectUrl) {
62
64
  request(redirectUrl, redirectCount + 1);
63
65
  return;
64
66
  }
65
67
  }
66
68
  if (response.statusCode !== 200) {
69
+ response.resume(); // Consume response to free socket
67
70
  fs.unlink(dest, () => { });
68
71
  reject(new Error(`HTTP ${response.statusCode}: Failed to download`));
69
72
  return;
70
73
  }
71
74
  response.pipe(file);
72
75
  file.on('finish', () => {
73
- file.close();
74
- resolve();
76
+ file.close(() => resolve());
75
77
  });
76
78
  file.on('error', (err) => {
79
+ file.close();
77
80
  fs.unlink(dest, () => { });
78
81
  reject(err);
79
82
  });
80
- }).on('error', (err) => {
83
+ });
84
+ req.on('error', (err) => {
81
85
  fs.unlink(dest, () => { });
82
86
  reject(err);
83
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/installer/launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/installer/launcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../../src/installer/template-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AA8MD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,aAAa,GACrB,MAAM,CAwBR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI3D"}
1
+ {"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../../src/installer/template-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAmPD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,aAAa,GACrB,MAAM,CAwBR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI3D"}
@@ -139,16 +139,46 @@ function removeEmptySections(originalContent, renderedContent) {
139
139
  return result;
140
140
  }
141
141
  /**
142
- * Clean up excessive blank lines (more than 2 consecutive blank lines -> 2)
142
+ * Clean up excessive blank lines and empty placeholder lines
143
143
  */
144
144
  function cleanupWhitespace(content) {
145
- // Replace 3+ consecutive newlines with 2 newlines
146
- let result = content.replace(/\n{3,}/g, '\n\n');
147
- // Remove trailing whitespace from lines
148
- result = result.split('\n').map(line => line.trimEnd()).join('\n');
145
+ // Split into lines for processing
146
+ const lines = content.split('\n');
147
+ const result = [];
148
+ for (let i = 0; i < lines.length; i++) {
149
+ const line = lines[i];
150
+ const trimmedLine = line.trim();
151
+ // If line has content, keep it (with trailing whitespace removed)
152
+ if (trimmedLine.length > 0) {
153
+ result.push(line.trimEnd());
154
+ continue;
155
+ }
156
+ // Line is empty/whitespace - decide if we should keep it
157
+ // Don't add empty line if the previous result line is also empty
158
+ // (this collapses multiple consecutive empty lines into one)
159
+ if (result.length > 0 && result[result.length - 1].trim().length === 0) {
160
+ continue;
161
+ }
162
+ // Check if we're inside a list context (previous line starts with list marker)
163
+ // and next non-empty line also starts with list marker
164
+ // If so, skip this empty line as it breaks the list
165
+ const prevLine = result.length > 0 ? result[result.length - 1] : '';
166
+ const nextNonEmptyLine = lines.slice(i + 1).find(l => l.trim().length > 0) || '';
167
+ const listPatterns = [/^\s*-\s/, /^\s*\d+\.\s/, /^\s*\*\s/]; // -, 1., *
168
+ const prevIsList = listPatterns.some(p => p.test(prevLine));
169
+ const nextIsList = listPatterns.some(p => p.test(nextNonEmptyLine));
170
+ // If both prev and next are list items, skip this empty line
171
+ if (prevIsList && nextIsList) {
172
+ continue;
173
+ }
174
+ // Keep single empty lines for paragraph separation
175
+ result.push('');
176
+ }
149
177
  // Ensure file ends with single newline
150
- result = result.trimEnd() + '\n';
151
- return result;
178
+ while (result.length > 0 && result[result.length - 1] === '') {
179
+ result.pop();
180
+ }
181
+ return result.join('\n') + '\n';
152
182
  }
153
183
  /**
154
184
  * Get the replacement string for a placeholder
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../src/installer/template-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../src/installer/template-renderer.ts"],"names":[],"mappings":"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"}
package/docker/Dockerfile CHANGED
@@ -132,9 +132,12 @@ RUN gem install one_gadget
132
132
  # ============================================
133
133
  RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
134
134
 
135
+ # Configure git to trust mounted workspaces (needed for linguist)
136
+ RUN git config --global --add safe.directory '*'
137
+
135
138
  # Set working directory for scanning
136
139
  WORKDIR /workspace
137
140
 
138
- # Default entrypoint - can be overridden
139
- ENTRYPOINT ["/bin/bash", "-c"]
140
- CMD ["echo 'MrZero Tools Container - use specific tool commands'"]
141
+ # No entrypoint - commands are passed directly
142
+ # This allows: docker run image gitleaks --help
143
+ CMD ["/bin/bash"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bengabay94/mrzero",
3
- "version": "0.2.0-alpha.3",
3
+ "version": "0.2.2-alpha.1",
4
4
  "description": "AI-powered security research agents for vulnerability hunting and exploit development",
5
5
  "main": "dist/index.js",
6
6
  "bin": {