blitzstrike 2.4.20 → 2.4.21
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/CHANGELOG.md +11 -0
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ All notable changes to Blitz Strike are documented here.
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
|
|
8
|
+
## [2.4.21] — 2026-09-14
|
|
9
|
+
|
|
10
|
+
### Security — eliminate the last shell-interpolation sites
|
|
11
|
+
|
|
12
|
+
- `hasCommand` (catalog) + `which` (cli) checked `command -v ${cmd}` with
|
|
13
|
+
`shell: true`. Hardened: the command is now passed as a positional `$1` to
|
|
14
|
+
`sh -c 'command -v "$1"'` — zero user-controlled shell text anywhere.
|
|
15
|
+
- Full re-audit: 0 remaining `shell: true` + dynamic/interpolated argument.
|
|
16
|
+
The 8 remaining `shell: true` calls all run STATIC, trusted commands
|
|
17
|
+
(catalog install/check strings), never user input.
|
|
18
|
+
|
|
8
19
|
## [2.4.20] — 2026-09-14
|
|
9
20
|
|
|
10
21
|
### Security — command-injection fixes (self-audit)
|
package/dist/index.js
CHANGED
|
@@ -7414,7 +7414,7 @@ function provisionMissingToolchains() {
|
|
|
7414
7414
|
return missing;
|
|
7415
7415
|
}
|
|
7416
7416
|
function hasCommand(cmd) {
|
|
7417
|
-
return spawnSync(
|
|
7417
|
+
return spawnSync("sh", ["-c", 'command -v "$1" >/dev/null 2>&1', "sh", cmd], { timeout: 8000 }).status === 0;
|
|
7418
7418
|
}
|
|
7419
7419
|
function requiredToolchain(cmd) {
|
|
7420
7420
|
if (/^\s*go\s+install\b/.test(cmd))
|
|
@@ -15728,7 +15728,7 @@ import { homedir as homedir7 } from "node:os";
|
|
|
15728
15728
|
import { fileURLToPath as fileURLToPath12 } from "node:url";
|
|
15729
15729
|
import { spawnSync as spawnSync5 } from "node:child_process";
|
|
15730
15730
|
function which(cmd) {
|
|
15731
|
-
return spawnSync5(
|
|
15731
|
+
return spawnSync5("sh", ["-c", 'command -v "$1" >/dev/null 2>&1', "sh", cmd]).status === 0;
|
|
15732
15732
|
}
|
|
15733
15733
|
function installedCount() {
|
|
15734
15734
|
const tools = loadTools();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.21",
|
|
4
4
|
"description": "Blitz Strike — a universal MCP security-audit toolbelt. BLITZ sweeps the attack surface, EAGLE-EYE traces source-to-sink, STRIKE verifies live. 57 attack chains, 130-tool catalog, intelligence data layer. One server, every agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|