blitzstrike 2.4.189 → 2.4.190

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 CHANGED
@@ -5,6 +5,18 @@ 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.190] — 2026-11-03
9
+
10
+ ### Added — 4 anti-false-positive doctrine rules (PentestGPT + xalgorix + Dark-Moon + airecon)
11
+
12
+ - `evidence_grounding` (evidence must be a byte-exact verbatim substring of real tool
13
+ output — never paraphrased or repaired), `proof_standard` (class-matches-mechanism:
14
+ SSRF = server-origin request, XSS = executed not reflected, SQLi = differential delay/
15
+ DB error, IDOR = data returned; a 200/echo/tool-says-vuln is never a confirmed finding;
16
+ reproducibility ≥2/3), `positive_artifact_dispatch` (a fingerprint/plane dispatch needs
17
+ a POSITIVE tell, never the absence of other markers), `never_replay_actionful` (only
18
+ retry no-action failures — never replay a side-effecting attempt).
19
+
8
20
  ## [2.4.189] — 2026-11-03
9
21
 
10
22
  ### Added — 3 doctrine rules (swarm FP filter + red-team gates)
package/dist/index.js CHANGED
@@ -63854,6 +63854,26 @@ var HUNTING_DOCTRINE = [
63854
63854
  id: "phase_ordering",
63855
63855
  title: "Phase Ordering — Informational → Exploitation → Post-Exploitation",
63856
63856
  rule: "Enforce phase ordering so the engagement cannot jump ahead: INFORMATIONAL (recon/discovery) must precede EXPLOITATION (weaponization/impact), which precedes POST-EXPLOITATION (persistence/pivot/lateral). A tool or action from a later phase must be refused while an earlier phase is incomplete — you cannot exploit before you have enumerated, and you cannot pivot before you have a foothold. This is not bureaucracy: it prevents the agent from burning a Metasploit module or a brute-force campaign against a target it has not yet fingerprinted, which is both noisy and self-defeating."
63857
+ },
63858
+ {
63859
+ id: "evidence_grounding",
63860
+ title: "Evidence Must Be a Byte-Exact Quote From Real Tool Output",
63861
+ rule: "Every finding's evidence must be a VERBATIM, contiguous substring of an actual tool receipt — copied byte-for-byte, never invented, paraphrased, or 'repaired'. Before a claim can be confirmed, locate the exact quote in the real command/output/response; if the quote cannot be found in a genuine receipt, downgrade the claim to a hypothesis (progress) or reject it — never let a paraphrased or truncated reconstruction carry a finding. Truncated output can never complete a finding. This is the single strongest anti-hallucination rule: it forces every conclusion to be traceable to a byte that actually appeared."
63862
+ },
63863
+ {
63864
+ id: "proof_standard",
63865
+ title: "A Confirmed Finding Needs a Concrete Outcome — Not a 200, Not a Tool Saying 'Vuln'",
63866
+ rule: "Confirm a finding only when ALL hold: (1) CLASS MATCHES MECHANISM — SSRF means the target's own server made the outbound request; XSS means the script actually EXECUTED, not just reflected; SQLi means extracted data or a DB error or a repeated differential delay; IDOR means protected data was returned or state changed, not a 200 with an empty body. (2) PROOF IS A CONCRETE OUTCOME — a 200/echo/reflection/version-string is NOT an outcome. (3) CVSS MATCHES IMPACT — claim C:H only if you actually obtained sensitive data. (4) NOT BY-DESIGN / NOT ATTACKER-SUPPLIED — a token you yourself placed in the URL cannot be 'stolen'. NEVER a confirmed finding: the endpoint merely exists, a scanner/tool said 'vulnerability', an error message alone, a response-size difference alone, or something observed only once. Reproducibility is required: confirm ≥2 of 3 attempts."
63867
+ },
63868
+ {
63869
+ id: "positive_artifact_dispatch",
63870
+ title: "Positive-Artifact Dispatch — Absence of Markers Is Not a Signal",
63871
+ rule: "When fingerprinting or dispatching a technique/tool based on a signal, require a POSITIVE tell before acting: dispatch the Go-recon path only on a concrete Go marker (a `404 page not found` body, a `/debug/pprof` 200), never on the ABSENCE of other frameworks' markers. Dispatch a cloud/identity/CI-CD/secret plane only on a concrete, VERIFIED artifact (an AKIA key that actually authenticates via `sts get-caller-identity`), never on inference or 'this looks like it could be'. Absence of evidence is not evidence — the negative space is infinite, and routing on it sends the agent chasing ghosts."
63872
+ },
63873
+ {
63874
+ id: "never_replay_actionful",
63875
+ title: "Never Replay an Actionful Attempt — Retry Only What Never Ran",
63876
+ rule: "When retrying a failed step, first determine whether it had SIDE EFFECTS: if a tool/command/request actually executed (an action receipt exists), NEVER replay it — a re-run would duplicate the exploit, burn a brute-force budget, or re-trigger a state change. Only retry a NO-ACTION failure (provider error, timeout before any side-effecting call, interrupted before execution) with a fresh attempt. If an actionful attempt must be revisited, require NEW basis evidence that justifies a different action — not the same command again. This is the one rule that keeps automatic retry from becoming automatic double-tap."
63857
63877
  }
63858
63878
  ];
63859
63879
  var DOMAIN_EXHAUSTION_CHECKLIST = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blitzstrike",
3
- "version": "2.4.189",
3
+ "version": "2.4.190",
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": {