@clear-capabilities/agentic-security-scanner 0.84.1 → 0.86.0

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.
@@ -0,0 +1,73 @@
1
+ # Threat Model (auto-generated)
2
+
3
+ Generated by agentic-security on 2026-05-30.
4
+
5
+ This threat model is derived from static analysis of the current codebase and is regenerated on every scan. It is intended as a working artifact, not a finished compliance document.
6
+
7
+ ## Entities + boundaries
8
+
9
+ ```mermaid
10
+ flowchart TB
11
+ subgraph External
12
+ route_GET__api_users_2["http-route: GET /api/users/2"]
13
+ route_GET__api_admin_users["http-route: GET /api/admin/users"]
14
+ route_GET__api_health["http-route: GET /api/health"]
15
+ end
16
+ subgraph Application
17
+ end
18
+ External --> route_GET__api_users_2
19
+ External --> route_GET__api_admin_users
20
+ External --> route_GET__api_health
21
+ ```
22
+
23
+ ## Assets
24
+
25
+
26
+ ## STRIDE threats
27
+
28
+ ### Tampering (148)
29
+
30
+ - [medium] **dos-sync-io** (CWE-400) at `deploy-platform.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
31
+ - [low] **mass-assignment** (CWE-915) at `integrity.js:undefined` — Mass Assignment (req.body Direct to Model)
32
+ - [low] **dos-sync-io** (CWE-400) at `agents-memory.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
33
+ - [low] **dos-sync-io** (CWE-400) at `api-contract.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
34
+ - [low] **dos-sync-io** (CWE-400) at `auditor-walkthrough.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
35
+ - [low] **dos-sync-io** (CWE-400) at `auth-posture-import.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
36
+ - [low] **dos-sync-io** (CWE-400) at `blast-radius.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
37
+ - [low] **dos-sync-io** (CWE-400) at `calibration-drift.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
38
+ - [low] **dos-sync-io** (CWE-400) at `calibration.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
39
+ - [low] **dos-sync-io** (CWE-400) at `compliance-policy.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
40
+ - [low] **dos-sync-io** (CWE-400) at `cross-repo-memory.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
41
+ - [low] **dos-sync-io** (CWE-400) at `custom-rules.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
42
+ - [low] **dos-sync-io** (CWE-400) at `cve-alert-daemon.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
43
+ - [low] **dos-sync-io** (CWE-400) at `cve-lookup.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
44
+ - [low] **dos-sync-io** (CWE-400) at `dep-add-guard.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
45
+ - [low] **dos-sync-io** (CWE-400) at `deterministic.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
46
+ - [low] **dos-sync-io** (CWE-400) at `epss.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
47
+ - [low] **dos-sync-io** (CWE-400) at `exploitability-probability.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
48
+ - [low] **dos-sync-io** (CWE-400) at `feature-flags.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
49
+ - [low] **dos-sync-io** (CWE-400) at `federated-learning.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
50
+ - [low] **dos-sync-io** (CWE-400) at `findings-memory.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
51
+ - [low] **dos-sync-io** (CWE-400) at `fix-history.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
52
+ - [low] **dos-sync-io** (CWE-400) at `fix-plan.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
53
+ - [low] **dos-sync-io** (CWE-400) at `fix-style-mirror.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
54
+ - [low] **dos-sync-io** (CWE-400) at `fix-verify-loop.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
55
+ - … and 123 more
56
+
57
+ ### Information Disclosure (5)
58
+
59
+ - [low] **ssrf** (CWE-918) at `attack-playbooks.js:72` — SSRF: explicit reference to cloud instance-metadata endpoint
60
+ - [low] **ssrf** (CWE-918) at `defender-agent.js:41` — SSRF: explicit reference to cloud instance-metadata endpoint
61
+ - [low] **ssrf** (CWE-918) at `flow-narration.js:24` — SSRF: explicit reference to cloud instance-metadata endpoint
62
+ - [low] **pqc-migration** (CWE-327) at `rule-pack-signing.js:187` — Pre-quantum ED25519 (ed25519) — replace with ML-DSA-65 before CRQC arrives
63
+ - [low] **ssrf** (CWE-918) at `verifier.js:55` — SSRF: explicit reference to cloud instance-metadata endpoint
64
+
65
+ ### Elevation of Privilege (5)
66
+
67
+ - [low] **ssrf** (CWE-918) at `attack-playbooks.js:72` — SSRF: explicit reference to cloud instance-metadata endpoint
68
+ - [low] **prototype-pollution** (CWE-1321) at `adversarial-self-test.js:60` — Prototype Pollution: Direct write to __proto__ / constructor.prototype
69
+ - [low] **ssrf** (CWE-918) at `defender-agent.js:41` — SSRF: explicit reference to cloud instance-metadata endpoint
70
+ - [low] **ssrf** (CWE-918) at `flow-narration.js:24` — SSRF: explicit reference to cloud instance-metadata endpoint
71
+ - [low] **ssrf** (CWE-918) at `verifier.js:55` — SSRF: explicit reference to cloud instance-metadata endpoint
72
+
73
+ ## Attack trees
@@ -230,7 +230,7 @@ export function renderWalkthrough(fw, evaluation, opts = {}) {
230
230
  lines.push('');
231
231
  }
232
232
  if (ev.status === 'absent' || ev.status === 'partial') {
233
- lines.push(`**Remediation:** address the bullet(s) above, then re-run \`/auditor-walkthrough ${fw.id}\` to update this report.`);
233
+ lines.push(`**Remediation:** address the bullet(s) above, then re-run \`/compliance --walkthrough ${fw.id}\` to update this report.`);
234
234
  lines.push('');
235
235
  }
236
236
  }
@@ -141,7 +141,7 @@ export function augmentPrBody(scanRoot, opts = {}) {
141
141
  lines.push('');
142
142
 
143
143
  if (!baseline) {
144
- lines.push(`> Baseline against \`${baselineRef}\` not found — showing the full current scan as added. Run \`/pr-augment --persist-baseline ${baselineRef}\` from \`${baselineRef}\` to enable diff mode.`);
144
+ lines.push(`> Baseline against \`${baselineRef}\` not found — showing the full current scan as added. Run \`/compliance --pr --persist-baseline ${baselineRef}\` from \`${baselineRef}\` to enable diff mode.`);
145
145
  lines.push('');
146
146
  }
147
147
 
@@ -7,8 +7,8 @@
7
7
  // Decision tree (cheap, no scan):
8
8
  // - No prior scan? → run /scan first
9
9
  // - Prior scan, criticals open? → run /fix --all --critical
10
- // - Prior scan, highs open? → /fix --all --high OR /show-findings
11
- // - Prior scan, only mediums? → /report-card
10
+ // - Prior scan, highs open? → /fix --all --high OR /triage --show
11
+ // - Prior scan, only mediums? → /posture --report-card
12
12
  // - All clean? → /security-badge (celebrate + share)
13
13
  // - Pre-deploy intent (--launch flag, or no scan in 7 days)? → /launch-check
14
14
  //
@@ -71,7 +71,7 @@ export function decide({ scanRoot, intent }) {
71
71
  if (sev.high > 0) {
72
72
  return {
73
73
  action: 'review-high',
74
- command: 'claude /show-findings',
74
+ command: 'claude /triage --show',
75
75
  reason: `${sev.high} high finding(s). Review and triage before fixing.`,
76
76
  };
77
77
  }
@@ -85,7 +85,7 @@ export function decide({ scanRoot, intent }) {
85
85
  if (sev.medium > 0) {
86
86
  return {
87
87
  action: 'report-card',
88
- command: 'claude /report-card',
88
+ command: 'claude /posture --report-card',
89
89
  reason: `Only mediums remain. Get a letter-grade snapshot and pick what's worth fixing.`,
90
90
  };
91
91
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sha": "7d45b5e03804aac084b4a2b4dc8c6f10107d2005",
3
+ "ts": "2026-05-30T05:08:01.641Z",
4
+ "componentCount": 0,
5
+ "components": []
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "entities": [],
3
+ "boundaries": [],
4
+ "assets": [],
5
+ "threats": [],
6
+ "attackTrees": []
7
+ }
@@ -0,0 +1,22 @@
1
+ # Threat Model (auto-generated)
2
+
3
+ Generated by agentic-security on 2026-05-30.
4
+
5
+ This threat model is derived from static analysis of the current codebase and is regenerated on every scan. It is intended as a working artifact, not a finished compliance document.
6
+
7
+ ## Entities + boundaries
8
+
9
+ ```mermaid
10
+ flowchart TB
11
+ subgraph External
12
+ end
13
+ subgraph Application
14
+ end
15
+ ```
16
+
17
+ ## Assets
18
+
19
+
20
+ ## STRIDE threats
21
+
22
+ ## Attack trees
@@ -973,7 +973,7 @@ export function toShipVerdict(scan, options = {}) {
973
973
  // CONFIRMED: surface validator-confirmed criticals as a trust signal —
974
974
  // distinguishes "tool said so" from "tool built a PoC and it ran."
975
975
  if (confirmedCount > 0) {
976
- lines.push(c(` ✓ ${confirmedCount} CONFIRMED (PoC built by /validate-findings)`, '\x1b[1;32m'));
976
+ lines.push(c(` ✓ ${confirmedCount} CONFIRMED (PoC built by /triage --validate)`, '\x1b[1;32m'));
977
977
  }
978
978
  lines.push('');
979
979