blitzstrike 2.4.77 → 2.4.78
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 +13 -0
- package/dist/index.js +6 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ 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.78] — 2026-09-17
|
|
9
|
+
|
|
10
|
+
### Fixed — taint-engine sanitizer name collision (whole-class FN)
|
|
11
|
+
|
|
12
|
+
- The Python taint adapter neutralized every identifier inside a sanitizer call
|
|
13
|
+
(e.g. `int(os.environ.get("PORT", "5000"))` neutralized the method name `get`
|
|
14
|
+
for sql_execution/command_execution). Because taint state is keyed by name, that
|
|
15
|
+
polluted the `get` in `request.args.get(...)` elsewhere and wrongly suppressed
|
|
16
|
+
real findings (labs20 f-string SQLi went undetected). Sanitizers now only
|
|
17
|
+
neutralize VALUE arguments, skipping dotted-chain receiver/method names and
|
|
18
|
+
string literals. Python f-string SQLi (`request.args.get -> f"{var}" -> execute`)
|
|
19
|
+
is now caught.
|
|
20
|
+
|
|
8
21
|
## [2.4.77] — 2026-09-17
|
|
9
22
|
|
|
10
23
|
### Changed — SQLi Node/Python coverage + missing_authz root-path precision
|
package/dist/index.js
CHANGED
|
@@ -56908,9 +56908,13 @@ var pythonAdapter = {
|
|
|
56908
56908
|
sinks.push({ variable: v, kind, line: lineOf(n), cwe });
|
|
56909
56909
|
}
|
|
56910
56910
|
for (const [re, kinds] of PY_SANITIZERS) {
|
|
56911
|
-
if (re.test(full))
|
|
56912
|
-
for (const v of argVars)
|
|
56911
|
+
if (re.test(full)) {
|
|
56912
|
+
for (const v of argVars) {
|
|
56913
|
+
if (new RegExp(`\\b${v}\\s*[.(]`).test(full))
|
|
56914
|
+
continue;
|
|
56913
56915
|
sanitizers.push({ variable: v, neutralizes: kinds, line: lineOf(n) });
|
|
56916
|
+
}
|
|
56917
|
+
}
|
|
56914
56918
|
}
|
|
56915
56919
|
calls.push({ name: callee, args: argVars, line: lineOf(n) });
|
|
56916
56920
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.78",
|
|
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": {
|