@clear-capabilities/agentic-security-scanner 0.86.0 → 0.119.1
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 +660 -0
- package/bin/agentic-security.js +78 -1
- package/dist/178.index.js +1 -1
- package/dist/384.index.js +1 -1
- package/dist/415.index.js +90 -0
- package/dist/444.index.js +89 -0
- package/dist/503.index.js +288 -0
- package/dist/637.index.js +15 -1
- package/dist/838.index.js +1 -1
- package/dist/985.index.js +5 -1
- package/dist/agentic-security.mjs +84 -84
- package/dist/agentic-security.mjs.sha256 +1 -1
- package/package.json +21 -10
- package/src/dataflow/CLAUDE.md +18 -6
- package/src/dataflow/catalog.js +59 -11
- package/src/dataflow/engine.js +106 -5
- package/src/dataflow/implicit-flow.js +4 -2
- package/src/dataflow/index.js +17 -4
- package/src/dataflow/proof-gate.js +100 -0
- package/src/dataflow/summaries.js +63 -6
- package/src/engine.js +292 -10
- package/src/ir/CLAUDE.md +1 -0
- package/src/ir/callgraph.js +12 -1
- package/src/ir/parser-go.js +8 -0
- package/src/ir/tree-sitter-loader.js +108 -0
- package/src/mcp/tools.js +6 -2
- package/src/posture/corpus-status.js +74 -0
- package/src/posture/coverage-report.js +113 -0
- package/src/posture/fix-history.js +24 -0
- package/src/posture/holdout-eval.js +57 -0
- package/src/posture/provenance.js +39 -0
- package/src/posture/router.js +33 -3
- package/src/posture/sca-verdict.js +130 -0
- package/src/posture/secret-history.js +72 -0
- package/src/pr-delta.js +13 -0
- package/src/report/index.js +67 -0
- package/src/sast/CLAUDE.md +9 -3
- package/src/sast/agent-untrusted-flow.js +107 -0
- package/src/sast/api-authz.js +71 -0
- package/src/sast/code-injection-multilang.js +117 -0
- package/src/sast/cross-service.js +98 -0
- package/src/sast/crypto-protocol.js +43 -1
- package/src/sast/csharp-structural.js +65 -0
- package/src/sast/csharp.js +3 -0
- package/src/sast/csrf.js +24 -3
- package/src/sast/csv-injection.js +84 -0
- package/src/sast/event-entrypoint.js +90 -0
- package/src/sast/frontend-hygiene.js +106 -0
- package/src/sast/go-structural.js +60 -0
- package/src/sast/iac-terraform.js +107 -0
- package/src/sast/java-structural.js +81 -0
- package/src/sast/js-framework-structural.js +115 -0
- package/src/sast/kotlin.js +72 -0
- package/src/sast/ldap-injection.js +73 -17
- package/src/sast/open-redirect.js +47 -5
- package/src/sast/php.js +35 -0
- package/src/sast/python-structural.js +83 -0
- package/src/sast/rbac-consistency.js +113 -0
- package/src/sast/redos-nfa.js +75 -0
- package/src/sast/response-splitting.js +48 -19
- package/src/sast/ruby.js +38 -0
- package/src/sast/secret-concat.js +60 -0
- package/src/sast/ssrf-cloud-metadata.js +13 -0
- package/src/sast/stored-taint.js +88 -0
- package/src/sast/tree-sitter-sinks.js +62 -0
- package/src/sast/weak-password-hash.js +28 -0
- package/src/sast/weak-randomness.js +46 -5
- package/src/sast/wrong-context-sanitizer.js +149 -0
- package/src/sast/xpath-injection.js +30 -6
- package/src/sast/xss-reflected-multilang.js +116 -0
- package/src/sast/xxe.js +67 -0
- package/src/sca/image-packages.js +74 -0
- package/src/sca/import-reachability.js +271 -0
- package/src/sca/install-script-analysis.js +82 -0
- package/bin/.agentic-security/findings.json +0 -1907
- package/bin/.agentic-security/last-scan.json +0 -1907
- package/bin/.agentic-security/last-scan.json.sig +0 -1
- package/bin/.agentic-security/scan-history.json +0 -166
- package/bin/.agentic-security/streak.json +0 -20
- package/src/.agentic-security/findings.json +0 -117732
- package/src/.agentic-security/last-scan.json +0 -117732
- package/src/.agentic-security/last-scan.json.sig +0 -1
- package/src/.agentic-security/scan-history.json +0 -12946
- package/src/.agentic-security/streak.json +0 -21
- package/src/dataflow/.agentic-security/findings.json +0 -6086
- package/src/dataflow/.agentic-security/last-scan.json +0 -6086
- package/src/dataflow/.agentic-security/last-scan.json.sig +0 -1
- package/src/dataflow/.agentic-security/scan-history.json +0 -250
- package/src/dataflow/.agentic-security/streak.json +0 -21
- package/src/ir/.agentic-security/findings.json +0 -4011
- package/src/ir/.agentic-security/last-scan.json +0 -4011
- package/src/ir/.agentic-security/last-scan.json.sig +0 -1
- package/src/ir/.agentic-security/scan-history.json +0 -193
- package/src/ir/.agentic-security/streak.json +0 -20
- package/src/mcp/.agentic-security/findings.json +0 -8632
- package/src/mcp/.agentic-security/last-scan.json +0 -8632
- package/src/mcp/.agentic-security/last-scan.json.sig +0 -1
- package/src/mcp/.agentic-security/scan-history.json +0 -331
- package/src/mcp/.agentic-security/streak.json +0 -20
- package/src/posture/.agentic-security/dpia.md +0 -26
- package/src/posture/.agentic-security/findings.json +0 -77181
- package/src/posture/.agentic-security/last-scan.json +0 -77181
- package/src/posture/.agentic-security/last-scan.json.sig +0 -1
- package/src/posture/.agentic-security/pqc-migration-plan.json +0 -65
- package/src/posture/.agentic-security/pqc-migration-plan.md +0 -30
- package/src/posture/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
- package/src/posture/.agentic-security/scan-history.json +0 -8904
- package/src/posture/.agentic-security/streak.json +0 -21
- package/src/posture/.agentic-security/threat-model.json +0 -2038
- package/src/posture/.agentic-security/threat-model.md +0 -73
- package/src/posture/compliance-frameworks/.agentic-security/findings.json +0 -80
- package/src/posture/compliance-frameworks/.agentic-security/last-scan.json +0 -80
- package/src/posture/compliance-frameworks/.agentic-security/last-scan.json.sig +0 -1
- package/src/posture/compliance-frameworks/.agentic-security/scan-history.json +0 -90
- package/src/posture/compliance-frameworks/.agentic-security/streak.json +0 -22
- package/src/report/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
- package/src/report/.agentic-security/threat-model.json +0 -7
- package/src/report/.agentic-security/threat-model.md +0 -22
- package/src/sast/.agentic-security/findings.json +0 -6154
- package/src/sast/.agentic-security/last-scan.json +0 -6154
- package/src/sast/.agentic-security/last-scan.json.sig +0 -1
- package/src/sast/.agentic-security/scan-history.json +0 -941
- package/src/sast/.agentic-security/streak.json +0 -22
- package/src/sca/.agentic-security/findings.json +0 -7460
- package/src/sca/.agentic-security/last-scan.json +0 -7460
- package/src/sca/.agentic-security/last-scan.json.sig +0 -1
- package/src/sca/.agentic-security/scan-history.json +0 -113
- package/src/sca/.agentic-security/streak.json +0 -21
|
@@ -1,73 +0,0 @@
|
|
|
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
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"scanId": "aeb3cf41-7bb6-49c6-b4ae-b126e5afd726",
|
|
3
|
-
"startedAt": "2026-05-29T21:02:56.188Z",
|
|
4
|
-
"durationMs": 15,
|
|
5
|
-
"scanned": {
|
|
6
|
-
"files": 0,
|
|
7
|
-
"lines": 0
|
|
8
|
-
},
|
|
9
|
-
"findings": [],
|
|
10
|
-
"bundles": [],
|
|
11
|
-
"routes": [],
|
|
12
|
-
"components": [],
|
|
13
|
-
"suppressedCount": 0,
|
|
14
|
-
"blastRadiusSignals": {
|
|
15
|
-
"industry": "generic",
|
|
16
|
-
"industryConfidence": "low",
|
|
17
|
-
"jurisdictions": [],
|
|
18
|
-
"controls": [],
|
|
19
|
-
"estimatedUsers": 50,
|
|
20
|
-
"revenueIndicator": "pre-revenue",
|
|
21
|
-
"hasStripe": false,
|
|
22
|
-
"hasAuth": false,
|
|
23
|
-
"hasUserTable": false,
|
|
24
|
-
"hasPII": false,
|
|
25
|
-
"hasPHI": false,
|
|
26
|
-
"hasS3": false
|
|
27
|
-
},
|
|
28
|
-
"_v3": {
|
|
29
|
-
"counterfactual": {
|
|
30
|
-
"spofControls": [],
|
|
31
|
-
"note": "no-controls-detected"
|
|
32
|
-
},
|
|
33
|
-
"threatModel": {
|
|
34
|
-
"summary": {
|
|
35
|
-
"assetCount": 0,
|
|
36
|
-
"boundaryCount": 0,
|
|
37
|
-
"strideCounts": {
|
|
38
|
-
"spoofing": 0,
|
|
39
|
-
"tampering": 0,
|
|
40
|
-
"repudiation": 0,
|
|
41
|
-
"informationDisclosure": 0,
|
|
42
|
-
"denialOfService": 0,
|
|
43
|
-
"elevationOfPrivilege": 0
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"assets": [],
|
|
47
|
-
"trustBoundaries": [],
|
|
48
|
-
"stride": {
|
|
49
|
-
"spoofing": [],
|
|
50
|
-
"tampering": [],
|
|
51
|
-
"repudiation": [],
|
|
52
|
-
"informationDisclosure": [],
|
|
53
|
-
"denialOfService": [],
|
|
54
|
-
"elevationOfPrivilege": []
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"trustBoundaryDiagram": {
|
|
58
|
-
"mermaid": "flowchart LR\n INTERNET((Internet))\n APP[\"Application\"]\n classDef sev_critical fill:#ffcccc,stroke:#a00,stroke-width:2px;\n classDef sev_high fill:#ffe0b2,stroke:#c60,stroke-width:2px;\n classDef sev_medium fill:#fff3cd,stroke:#a80;\n classDef sev_low fill:#e8eaf6,stroke:#557;",
|
|
59
|
-
"nodes": [
|
|
60
|
-
{
|
|
61
|
-
"id": "INTERNET",
|
|
62
|
-
"kind": "external",
|
|
63
|
-
"label": "Internet"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"id": "APP",
|
|
67
|
-
"kind": "app",
|
|
68
|
-
"label": "Application"
|
|
69
|
-
}
|
|
70
|
-
],
|
|
71
|
-
"edges": [],
|
|
72
|
-
"decorations": []
|
|
73
|
-
},
|
|
74
|
-
"calibrationDrift": {
|
|
75
|
-
"alarms": [],
|
|
76
|
-
"note": "no-feedback-data"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"annotatorErrors": []
|
|
80
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"scanId": "aeb3cf41-7bb6-49c6-b4ae-b126e5afd726",
|
|
3
|
-
"startedAt": "2026-05-29T21:02:56.188Z",
|
|
4
|
-
"durationMs": 15,
|
|
5
|
-
"scanned": {
|
|
6
|
-
"files": 0,
|
|
7
|
-
"lines": 0
|
|
8
|
-
},
|
|
9
|
-
"findings": [],
|
|
10
|
-
"bundles": [],
|
|
11
|
-
"routes": [],
|
|
12
|
-
"components": [],
|
|
13
|
-
"suppressedCount": 0,
|
|
14
|
-
"blastRadiusSignals": {
|
|
15
|
-
"industry": "generic",
|
|
16
|
-
"industryConfidence": "low",
|
|
17
|
-
"jurisdictions": [],
|
|
18
|
-
"controls": [],
|
|
19
|
-
"estimatedUsers": 50,
|
|
20
|
-
"revenueIndicator": "pre-revenue",
|
|
21
|
-
"hasStripe": false,
|
|
22
|
-
"hasAuth": false,
|
|
23
|
-
"hasUserTable": false,
|
|
24
|
-
"hasPII": false,
|
|
25
|
-
"hasPHI": false,
|
|
26
|
-
"hasS3": false
|
|
27
|
-
},
|
|
28
|
-
"_v3": {
|
|
29
|
-
"counterfactual": {
|
|
30
|
-
"spofControls": [],
|
|
31
|
-
"note": "no-controls-detected"
|
|
32
|
-
},
|
|
33
|
-
"threatModel": {
|
|
34
|
-
"summary": {
|
|
35
|
-
"assetCount": 0,
|
|
36
|
-
"boundaryCount": 0,
|
|
37
|
-
"strideCounts": {
|
|
38
|
-
"spoofing": 0,
|
|
39
|
-
"tampering": 0,
|
|
40
|
-
"repudiation": 0,
|
|
41
|
-
"informationDisclosure": 0,
|
|
42
|
-
"denialOfService": 0,
|
|
43
|
-
"elevationOfPrivilege": 0
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"assets": [],
|
|
47
|
-
"trustBoundaries": [],
|
|
48
|
-
"stride": {
|
|
49
|
-
"spoofing": [],
|
|
50
|
-
"tampering": [],
|
|
51
|
-
"repudiation": [],
|
|
52
|
-
"informationDisclosure": [],
|
|
53
|
-
"denialOfService": [],
|
|
54
|
-
"elevationOfPrivilege": []
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"trustBoundaryDiagram": {
|
|
58
|
-
"mermaid": "flowchart LR\n INTERNET((Internet))\n APP[\"Application\"]\n classDef sev_critical fill:#ffcccc,stroke:#a00,stroke-width:2px;\n classDef sev_high fill:#ffe0b2,stroke:#c60,stroke-width:2px;\n classDef sev_medium fill:#fff3cd,stroke:#a80;\n classDef sev_low fill:#e8eaf6,stroke:#557;",
|
|
59
|
-
"nodes": [
|
|
60
|
-
{
|
|
61
|
-
"id": "INTERNET",
|
|
62
|
-
"kind": "external",
|
|
63
|
-
"label": "Internet"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"id": "APP",
|
|
67
|
-
"kind": "app",
|
|
68
|
-
"label": "Application"
|
|
69
|
-
}
|
|
70
|
-
],
|
|
71
|
-
"edges": [],
|
|
72
|
-
"decorations": []
|
|
73
|
-
},
|
|
74
|
-
"calibrationDrift": {
|
|
75
|
-
"alarms": [],
|
|
76
|
-
"note": "no-feedback-data"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"annotatorErrors": []
|
|
80
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ccd53b45945cf534ddf095b46bb3a987246676e48f0308cf01946295f9d3e448
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"timestamp": "2026-05-29T21:01:01.146Z",
|
|
4
|
-
"label": "scan",
|
|
5
|
-
"total": 0,
|
|
6
|
-
"critical": 0,
|
|
7
|
-
"high": 0,
|
|
8
|
-
"medium": 0,
|
|
9
|
-
"low": 0,
|
|
10
|
-
"kev": 0,
|
|
11
|
-
"ids": []
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"timestamp": "2026-05-29T21:01:20.024Z",
|
|
15
|
-
"label": "scan",
|
|
16
|
-
"total": 0,
|
|
17
|
-
"critical": 0,
|
|
18
|
-
"high": 0,
|
|
19
|
-
"medium": 0,
|
|
20
|
-
"low": 0,
|
|
21
|
-
"kev": 0,
|
|
22
|
-
"ids": []
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"timestamp": "2026-05-29T21:01:41.003Z",
|
|
26
|
-
"label": "scan",
|
|
27
|
-
"total": 0,
|
|
28
|
-
"critical": 0,
|
|
29
|
-
"high": 0,
|
|
30
|
-
"medium": 0,
|
|
31
|
-
"low": 0,
|
|
32
|
-
"kev": 0,
|
|
33
|
-
"ids": []
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"timestamp": "2026-05-29T21:01:56.122Z",
|
|
37
|
-
"label": "scan",
|
|
38
|
-
"total": 0,
|
|
39
|
-
"critical": 0,
|
|
40
|
-
"high": 0,
|
|
41
|
-
"medium": 0,
|
|
42
|
-
"low": 0,
|
|
43
|
-
"kev": 0,
|
|
44
|
-
"ids": []
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"timestamp": "2026-05-29T21:02:10.982Z",
|
|
48
|
-
"label": "scan",
|
|
49
|
-
"total": 0,
|
|
50
|
-
"critical": 0,
|
|
51
|
-
"high": 0,
|
|
52
|
-
"medium": 0,
|
|
53
|
-
"low": 0,
|
|
54
|
-
"kev": 0,
|
|
55
|
-
"ids": []
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"timestamp": "2026-05-29T21:02:27.759Z",
|
|
59
|
-
"label": "scan",
|
|
60
|
-
"total": 0,
|
|
61
|
-
"critical": 0,
|
|
62
|
-
"high": 0,
|
|
63
|
-
"medium": 0,
|
|
64
|
-
"low": 0,
|
|
65
|
-
"kev": 0,
|
|
66
|
-
"ids": []
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"timestamp": "2026-05-29T21:02:44.397Z",
|
|
70
|
-
"label": "scan",
|
|
71
|
-
"total": 0,
|
|
72
|
-
"critical": 0,
|
|
73
|
-
"high": 0,
|
|
74
|
-
"medium": 0,
|
|
75
|
-
"low": 0,
|
|
76
|
-
"kev": 0,
|
|
77
|
-
"ids": []
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"timestamp": "2026-05-29T21:02:56.203Z",
|
|
81
|
-
"label": "scan",
|
|
82
|
-
"total": 0,
|
|
83
|
-
"critical": 0,
|
|
84
|
-
"high": 0,
|
|
85
|
-
"medium": 0,
|
|
86
|
-
"low": 0,
|
|
87
|
-
"kev": 0,
|
|
88
|
-
"ids": []
|
|
89
|
-
}
|
|
90
|
-
]
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"firstScanDate": "2026-05-29T21:01:01.152Z",
|
|
3
|
-
"lastScanDate": "2026-05-29T21:02:56.210Z",
|
|
4
|
-
"totalScans": 8,
|
|
5
|
-
"daysCleanCritical": 1,
|
|
6
|
-
"lastCleanDate": "2026-05-29",
|
|
7
|
-
"lastCriticalDate": null,
|
|
8
|
-
"hasEverHadCritical": false,
|
|
9
|
-
"bestDaysCleanCritical": 1,
|
|
10
|
-
"totalFindingsAtFirstScan": 0,
|
|
11
|
-
"totalFindingsAtLastScan": 0,
|
|
12
|
-
"totalFixesInferred": 0,
|
|
13
|
-
"lastGrade": "A+",
|
|
14
|
-
"bestGrade": "A+",
|
|
15
|
-
"launchCheckPassedAt": null,
|
|
16
|
-
"achievements": [
|
|
17
|
-
"first-scan",
|
|
18
|
-
"grade-a",
|
|
19
|
-
"grade-a-plus"
|
|
20
|
-
],
|
|
21
|
-
"previousGrade": "A+"
|
|
22
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|