@bengabay94/mrzero 0.2.0-alpha.2 → 0.2.1-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 +19 -2
- package/dist/config/tools.d.ts +1 -1
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +1 -4
- package/dist/config/tools.js.map +1 -1
- package/dist/installer/docker.d.ts.map +1 -1
- package/dist/installer/docker.js +49 -20
- package/dist/installer/docker.js.map +1 -1
- package/docker/Dockerfile +6 -3
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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:
|
package/dist/config/tools.d.ts
CHANGED
|
@@ -12,5 +12,5 @@ export declare const DOCKER_TOOLS: Record<string, ToolConfig>;
|
|
|
12
12
|
export declare const PYTHON_TOOLS: Record<string, ToolConfig>;
|
|
13
13
|
export declare const RUBY_TOOLS: Record<string, ToolConfig>;
|
|
14
14
|
export declare const SYSTEM_TOOLS: Record<string, ToolConfig>;
|
|
15
|
-
export declare const DOCKER_IMAGE:
|
|
15
|
+
export declare const DOCKER_IMAGE = "ghcr.io/bengabay1994/mrzero-tools:latest";
|
|
16
16
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAyFnD,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAM,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAM,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAwBnD,CAAC;AAEF,eAAO,MAAM,YAAY,6CAA6C,CAAC"}
|
package/dist/config/tools.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DOCKER_IMAGE = exports.SYSTEM_TOOLS = exports.RUBY_TOOLS = exports.PYTHON_TOOLS = exports.DOCKER_TOOLS = void 0;
|
|
4
|
-
const platform_js_1 = require("../utils/platform.js");
|
|
5
4
|
exports.DOCKER_TOOLS = {
|
|
6
5
|
// Static Analysis Tools
|
|
7
6
|
opengrep: {
|
|
@@ -121,7 +120,5 @@ exports.SYSTEM_TOOLS = {
|
|
|
121
120
|
installCommand: 'sudo apt-get install -y checksec',
|
|
122
121
|
},
|
|
123
122
|
};
|
|
124
|
-
|
|
125
|
-
const dockerTag = version === 'latest' ? 'latest' : `v${version}`;
|
|
126
|
-
exports.DOCKER_IMAGE = `ghcr.io/bengabay1994/mrzero-tools:${dockerTag}`;
|
|
123
|
+
exports.DOCKER_IMAGE = 'ghcr.io/bengabay1994/mrzero-tools:latest';
|
|
127
124
|
//# sourceMappingURL=tools.js.map
|
package/dist/config/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":"AAqDA,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"}
|
package/dist/installer/docker.js
CHANGED
|
@@ -59,11 +59,36 @@ 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
|
-
|
|
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
|
+
docker run --rm \\
|
|
65
|
+
--entrypoint "" \\
|
|
63
66
|
-v "$(pwd)":/workspace \\
|
|
64
67
|
-w /workspace \\
|
|
65
68
|
"$MRZERO_IMAGE" \\
|
|
66
|
-
|
|
69
|
+
{{TOOL_COMMAND}} "$@"
|
|
70
|
+
`;
|
|
71
|
+
// Special wrapper for linguist which needs git safe.directory config
|
|
72
|
+
const LINGUIST_WRAPPER_TEMPLATE = `#!/bin/bash
|
|
73
|
+
# MrZero wrapper for linguist
|
|
74
|
+
# Transparently runs github-linguist in Docker container
|
|
75
|
+
|
|
76
|
+
MRZERO_IMAGE="${tools_js_1.DOCKER_IMAGE}"
|
|
77
|
+
|
|
78
|
+
# Check if Docker is running
|
|
79
|
+
if ! docker info > /dev/null 2>&1; then
|
|
80
|
+
echo "Error: Docker is not running. Please start Docker first." >&2
|
|
81
|
+
exit 1
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
# Run linguist in container with current directory mounted
|
|
85
|
+
# Note: We configure git safe.directory to allow linguist to analyze mounted repos
|
|
86
|
+
docker run --rm \\
|
|
87
|
+
--entrypoint "" \\
|
|
88
|
+
-v "$(pwd)":/workspace \\
|
|
89
|
+
-w /workspace \\
|
|
90
|
+
"$MRZERO_IMAGE" \\
|
|
91
|
+
bash -c 'git config --global --add safe.directory /workspace 2>/dev/null; github-linguist "$@"' _ "$@"
|
|
67
92
|
`;
|
|
68
93
|
async function pullDockerImage() {
|
|
69
94
|
logger_js_1.logger.step(`Pulling Docker image: ${tools_js_1.DOCKER_IMAGE}`);
|
|
@@ -124,25 +149,29 @@ async function createWrapperScript(toolName) {
|
|
|
124
149
|
const wrapperPath = path.join(wrappersDir, wrapperName);
|
|
125
150
|
// Ensure wrappers directory exists
|
|
126
151
|
fs.mkdirSync(wrappersDir, { recursive: true });
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
152
|
+
let wrapperContent;
|
|
153
|
+
// Linguist needs special handling for git safe.directory
|
|
154
|
+
if (toolName === 'linguist') {
|
|
155
|
+
wrapperContent = LINGUIST_WRAPPER_TEMPLATE;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Generate wrapper content for other tools
|
|
159
|
+
let toolCommand = wrapperName;
|
|
160
|
+
// Some tools need special command names
|
|
161
|
+
switch (toolName) {
|
|
162
|
+
case 'joern':
|
|
163
|
+
toolCommand = 'joern';
|
|
164
|
+
break;
|
|
165
|
+
case 'codeql':
|
|
166
|
+
toolCommand = 'codeql';
|
|
167
|
+
break;
|
|
168
|
+
default:
|
|
169
|
+
toolCommand = wrapperName;
|
|
170
|
+
}
|
|
171
|
+
wrapperContent = WRAPPER_TEMPLATE
|
|
172
|
+
.replace(/{{TOOL_NAME}}/g, wrapperName)
|
|
173
|
+
.replace(/{{TOOL_COMMAND}}/g, toolCommand);
|
|
142
174
|
}
|
|
143
|
-
const wrapperContent = WRAPPER_TEMPLATE
|
|
144
|
-
.replace(/{{TOOL_NAME}}/g, wrapperName)
|
|
145
|
-
.replace(/{{TOOL_COMMAND}}/g, toolCommand);
|
|
146
175
|
try {
|
|
147
176
|
fs.writeFileSync(wrapperPath, wrapperContent, { mode: 0o755 });
|
|
148
177
|
logger_js_1.logger.success(`Created wrapper: ${wrapperPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/installer/docker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/installer/docker.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
|
-
#
|
|
139
|
-
|
|
140
|
-
CMD ["
|
|
141
|
+
# No entrypoint - commands are passed directly
|
|
142
|
+
# This allows: docker run image gitleaks --help
|
|
143
|
+
CMD ["/bin/bash"]
|