blitzstrike 2.4.162 → 2.4.163

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,16 @@ 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.163] — 2026-10-11
9
+
10
+ ### Added — cookie discovery in live_recon (hint-free injection surface)
11
+
12
+ - `live_recon` now reports cookies as name+value pairs (`cookies` field) parsed
13
+ from the Set-Cookie header(s), plus a next-step telling the LLM to probe each
14
+ with `blind_sqli_confirm`/`blind_sqli_extract`. Cookies (e.g. PortSwigger's
15
+ `TrackingId`) are a first-class injection surface invisible to URL/param scans;
16
+ this lets the LLM discover a cookie-based blind-SQLi point WITHOUT the lab hint.
17
+
8
18
  ## [2.4.162] — 2026-10-11
9
19
 
10
20
  ### Added — binary-search extraction + marker oracle (blind SQLi)
package/dist/index.js CHANGED
@@ -37159,6 +37159,26 @@ function extractParams(urls) {
37159
37159
  }
37160
37160
  return [...params];
37161
37161
  }
37162
+ function extractCookieNames(headers) {
37163
+ const sc = headers["set-cookie"] ?? "";
37164
+ if (!sc)
37165
+ return [];
37166
+ const out = [];
37167
+ const seen = new Set;
37168
+ for (const part of sc.split(",")) {
37169
+ const seg = part.trim().split(";")[0].trim();
37170
+ const eq = seg.indexOf("=");
37171
+ if (eq <= 0)
37172
+ continue;
37173
+ const name = seg.slice(0, eq).trim();
37174
+ const value = seg.slice(eq + 1).trim();
37175
+ if (/^[A-Za-z0-9_.-]+$/.test(name) && !seen.has(name)) {
37176
+ seen.add(name);
37177
+ out.push({ name, value });
37178
+ }
37179
+ }
37180
+ return out;
37181
+ }
37162
37182
  async function subdomainEnum(domain) {
37163
37183
  const out = new Set;
37164
37184
  try {
@@ -37481,6 +37501,7 @@ async function liveRecon(target, includeActive = false) {
37481
37501
  const allUrls = [...links, ...scripts, ...robots, ...sitemap];
37482
37502
  const crawl = { links, scripts, endpoints: [...new Set(allUrls)], robots, sitemap, count: allUrls.length };
37483
37503
  const params = extractParams(allUrls);
37504
+ const cookies = extractCookieNames(root.headers);
37484
37505
  const [subRes, dnsRes, waybackRes, apiRes] = await Promise.all([
37485
37506
  subdomainEnum(host),
37486
37507
  dnsBrute(host),
@@ -37519,6 +37540,8 @@ async function liveRecon(target, includeActive = false) {
37519
37540
  nextSteps.push(`Found ${crawl.endpoints.length} endpoints — feed them to taint_file/blitz_scan for source analysis, or strike_verify for live validation.`);
37520
37541
  if (params.length > 0)
37521
37542
  nextSteps.push(`Discovered input params: ${params.join(", ")} — these are attack-surface entry points; fuzz them with payload_lookup after scope confirms.`);
37543
+ if (cookies.length > 0)
37544
+ nextSteps.push(`Discovered cookies: ${cookies.map((c) => c.name).join(", ")} — cookies are a first-class injection surface (blind SQLi / XSS / auth) invisible to URL/param scans; probe each with blind_sqli_confirm + blind_sqli_extract (cookie= param).`);
37522
37545
  if (subdomains.length > 0)
37523
37546
  nextSteps.push(`Found ${subdomains.length} subdomains — each is a separate scope surface; enumerate further with fofa_search.`);
37524
37547
  if (dnsFindings.length > 0)
@@ -37545,6 +37568,7 @@ async function liveRecon(target, includeActive = false) {
37545
37568
  suggested_surfaces: surfaces.map((s) => ({ id: s.id, name: s.name, high_value_tests: s.high_value_tests, matched_fingerprints: s.hits })),
37546
37569
  crawl,
37547
37570
  params,
37571
+ cookies,
37548
37572
  subdomains,
37549
37573
  dns_findings: dnsFindings,
37550
37574
  wayback_urls: wayback,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blitzstrike",
3
- "version": "2.4.162",
3
+ "version": "2.4.163",
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": {