@clear-capabilities/agentic-security-scanner 0.139.1 → 0.141.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +221 -0
  2. package/bin/agentic-security.js +40 -11
  3. package/dist/113.index.js +79 -3
  4. package/dist/178.index.js +1 -1
  5. package/dist/238.index.js +77 -1
  6. package/dist/384.index.js +1 -1
  7. package/dist/435.index.js +12 -0
  8. package/dist/526.index.js +79 -3
  9. package/dist/637.index.js +1 -1
  10. package/dist/agentic-security.mjs +14 -14
  11. package/dist/agentic-security.mjs.sha256 +1 -1
  12. package/dist/compliance-frameworks/ccpa.json +34 -7
  13. package/dist/compliance-frameworks/eu-ai-act.json +65 -14
  14. package/dist/compliance-frameworks/gdpr.json +56 -12
  15. package/dist/compliance-frameworks/hipaa-security-rule.json +68 -15
  16. package/dist/compliance-frameworks/nist-ai-600-1.json +57 -12
  17. package/dist/compliance-frameworks/nist-csf-2.json +78 -16
  18. package/dist/compliance-frameworks/nist-privacy-1-1.json +3 -0
  19. package/dist/compliance-frameworks/owasp-asvs-5.json +91 -20
  20. package/dist/compliance-frameworks/owasp-llm-top-10.json +89 -20
  21. package/package.json +16 -5
  22. package/src/dataflow/catalog.js +61 -0
  23. package/src/engine.js +281 -23
  24. package/src/mcp/tools.js +12 -0
  25. package/src/posture/accuracy-scorecard.js +57 -0
  26. package/src/posture/aibom.js +110 -1
  27. package/src/posture/auditor-walkthrough.js +137 -21
  28. package/src/posture/compliance-frameworks/ccpa.json +34 -7
  29. package/src/posture/compliance-frameworks/eu-ai-act.json +65 -14
  30. package/src/posture/compliance-frameworks/gdpr.json +56 -12
  31. package/src/posture/compliance-frameworks/hipaa-security-rule.json +68 -15
  32. package/src/posture/compliance-frameworks/nist-ai-600-1.json +57 -12
  33. package/src/posture/compliance-frameworks/nist-csf-2.json +78 -16
  34. package/src/posture/compliance-frameworks/nist-privacy-1-1.json +3 -0
  35. package/src/posture/compliance-frameworks/owasp-asvs-5.json +91 -20
  36. package/src/posture/compliance-frameworks/owasp-llm-top-10.json +89 -20
  37. package/src/posture/concurrency-checker.js +42 -5
  38. package/src/posture/coverage-strength.js +182 -0
  39. package/src/posture/epss.js +17 -1
  40. package/src/posture/family-registry.js +103 -0
  41. package/src/posture/family-resolve.js +47 -0
  42. package/src/posture/fix-coverage.js +113 -0
  43. package/src/posture/fix-metrics.js +76 -0
  44. package/src/posture/integrity.js +59 -8
  45. package/src/posture/mcp-rug-pull.js +144 -0
  46. package/src/posture/poc-generator.js +17 -1
  47. package/src/posture/poc-inprocess.js +217 -1
  48. package/src/posture/proof-coverage.js +162 -0
  49. package/src/posture/reachability-filter.js +44 -0
  50. package/src/posture/sbom.js +50 -7
  51. package/src/runScan.js +56 -5
  52. package/src/sast/CLAUDE.md +2 -2
  53. package/src/sast/claude-md-prompt-injection.js +47 -3
  54. package/src/sast/cloud-iam.js +23 -0
  55. package/src/sast/convention-deviation.js +66 -3
  56. package/src/sast/crypto-protocol.js +23 -0
  57. package/src/sast/dapp-frontend.js +20 -0
  58. package/src/sast/iac-cloud-templates.js +337 -0
  59. package/src/sast/k8s-admission.js +27 -0
  60. package/src/sast/ml-supply-chain.js +22 -0
  61. package/src/sast/ruby.js +132 -0
  62. package/src/sast/web3-advanced.js +26 -0
  63. package/src/sca/CLAUDE.md +21 -4
  64. package/src/sca/container.js +18 -1
  65. package/src/sca/dep-confusion.js +69 -3
@@ -1 +1 @@
1
- 6644269053578a17693b6dbb13795c1195ddf4faf6816063d8fb5e33c78bdbae agentic-security.mjs
1
+ deeb49d41f22000f35683bc1e9dc2c2368c4b79af6272740c5e96cece4732475 agentic-security.mjs
@@ -4,29 +4,56 @@
4
4
  "publisher": "California Legislature",
5
5
  "license": "California statute (public)",
6
6
  "url": "https://leginfo.legislature.ca.gov/faces/codes_displayText.xhtml?division=3.&part=4.&lawCode=CIV&title=1.81.5",
7
+ "scope": "SELECTIVE SUBSET. 4 of the CCPA/CPRA obligations, chosen because a code scanner can produce evidence for them. The statute is far broader; the majority of its duties (notice, consumer request handling, contracts, retention policy) are organisational and are NOT represented here. Absence of a control is not a statement of compliance.",
8
+ "controlsDigest": "ebc1f708c329ab42",
9
+ "controlCount": 4,
7
10
  "controls": [
8
11
  {
9
12
  "id": "§1798.100",
10
13
  "summary": "Consumer right to know — businesses inform consumers about categories of personal info collected.",
11
- "evidence": ["DPIA artifact lists every PII field with file:line provenance."],
12
- "mapsTo": ["module:privacy-taint"]
14
+ "codeTestable": "partial",
15
+ "evidence": [
16
+ "DPIA artifact lists every PII field with file:line provenance."
17
+ ],
18
+ "mapsTo": [
19
+ "module:privacy-taint"
20
+ ]
13
21
  },
14
22
  {
15
23
  "id": "§1798.105",
16
24
  "summary": "Right to delete — businesses comply with verified deletion requests.",
17
- "evidence": ["No data-exposure findings on PII storage paths."]
25
+ "codeTestable": "no",
26
+ "evidence": [
27
+ "No data-exposure findings on PII storage paths."
28
+ ]
18
29
  },
19
30
  {
20
31
  "id": "§1798.150",
21
32
  "summary": "Civil action for security breach affecting personal information.",
22
- "evidence": ["Crypto findings cleared on PII handling code.", "TLS pinning checks pass."],
23
- "mapsTo": ["family:crypto-weak-cipher", "family:crypto-tls-version", "family:crypto-tls-no-verify"]
33
+ "codeTestable": "yes",
34
+ "evidence": [
35
+ "Crypto findings cleared on PII handling code.",
36
+ "TLS pinning checks pass."
37
+ ],
38
+ "mapsTo": [
39
+ "family:crypto-weak-cipher",
40
+ "family:crypto-tls-version",
41
+ "family:crypto-tls-no-verify"
42
+ ]
24
43
  },
25
44
  {
26
45
  "id": "§1798.81.5",
27
46
  "summary": "Reasonable security procedures and practices.",
28
- "evidence": ["No critical findings on user-data endpoints.", "Auth-missing zero on PII paths."],
29
- "mapsTo": ["family:auth-missing", "family:authz", "family:hardcoded-secret"]
47
+ "codeTestable": "yes",
48
+ "evidence": [
49
+ "No critical findings on user-data endpoints.",
50
+ "Auth-missing zero on PII paths."
51
+ ],
52
+ "mapsTo": [
53
+ "family:auth-missing",
54
+ "family:authz",
55
+ "family:hardcoded-secret"
56
+ ]
30
57
  }
31
58
  ]
32
59
  }
@@ -4,48 +4,99 @@
4
4
  "publisher": "European Parliament & Council",
5
5
  "license": "EU law (Official Journal)",
6
6
  "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
7
+ "scope": "SELECTIVE SUBSET. 7 obligations drawn from the high-risk-system and GPAI articles where a code signal exists. The Act is far broader; conformity assessment, registration, human oversight and post-market monitoring are organisational and are NOT represented here.",
8
+ "controlsDigest": "16d15998a686a19b",
9
+ "controlCount": 7,
7
10
  "controls": [
8
11
  {
9
12
  "id": "Art.9",
10
13
  "summary": "Risk management system — continuous, iterative risk identification and mitigation.",
11
- "evidence": ["Threat model artifact (.agentic-security/threat-model.{json,md}).", "Continuous scan history present."],
12
- "mapsTo": ["module:threat-model-auto", "module:scan-history"]
14
+ "codeTestable": "partial",
15
+ "evidence": [
16
+ "Threat model artifact (.agentic-security/threat-model.{json,md}).",
17
+ "Continuous scan history present."
18
+ ],
19
+ "mapsTo": [
20
+ "module:threat-model-auto",
21
+ "module:scan-history"
22
+ ]
13
23
  },
14
24
  {
15
25
  "id": "Art.10",
16
26
  "summary": "Data governance — training/validation data is relevant, representative, and bias-checked.",
17
- "evidence": ["No training-data-pii findings.", "DPIA artifact for any PII handling."],
18
- "mapsTo": ["family:training-data-pii", "family:pii-exposure"]
27
+ "codeTestable": "yes",
28
+ "evidence": [
29
+ "No training-data-pii findings.",
30
+ "DPIA artifact for any PII handling."
31
+ ],
32
+ "mapsTo": [
33
+ "family:training-data-pii",
34
+ "family:pii-exposure"
35
+ ]
19
36
  },
20
37
  {
21
38
  "id": "Art.11",
22
39
  "summary": "Technical documentation — system architecture, components, training procedures documented.",
23
- "evidence": ["AIBOM artifact at .agentic-security/aibom.json.", "Threat model + DPIA + compliance-evidence present."],
24
- "mapsTo": ["module:aibom", "module:threat-model-auto", "module:compliance-policy"]
40
+ "codeTestable": "partial",
41
+ "evidence": [
42
+ "AIBOM artifact at .agentic-security/aibom.json.",
43
+ "Threat model + DPIA + compliance-evidence present."
44
+ ],
45
+ "mapsTo": [
46
+ "module:aibom",
47
+ "module:threat-model-auto",
48
+ "module:compliance-policy"
49
+ ]
25
50
  },
26
51
  {
27
52
  "id": "Art.12",
28
53
  "summary": "Record-keeping — automatic logging of system events for traceability.",
29
- "evidence": ["MCP audit log .agentic-security/mcp-audit.log present.", "Scan history retained."],
30
- "mapsTo": ["module:mcp-audit", "module:scan-history"]
54
+ "codeTestable": "partial",
55
+ "evidence": [
56
+ "MCP audit log .agentic-security/mcp-audit.log present.",
57
+ "Scan history retained."
58
+ ],
59
+ "mapsTo": [
60
+ "module:mcp-audit",
61
+ "module:scan-history"
62
+ ]
31
63
  },
32
64
  {
33
65
  "id": "Art.13",
34
66
  "summary": "Transparency — instructions for use enable users to interpret the system's output correctly.",
35
- "evidence": ["why-fired annotation surfaces detection provenance on every finding."],
36
- "mapsTo": ["module:why-fired"]
67
+ "codeTestable": "partial",
68
+ "evidence": [
69
+ "why-fired annotation surfaces detection provenance on every finding."
70
+ ],
71
+ "mapsTo": [
72
+ "module:why-fired"
73
+ ]
37
74
  },
38
75
  {
39
76
  "id": "Art.14",
40
77
  "summary": "Human oversight — system permits humans to override / interrupt.",
41
- "evidence": ["Fix application requires confirm:true.", "Bodyguard hook can refuse risky edits."],
42
- "mapsTo": ["module:pre-edit-bodyguard", "module:apply-fix"]
78
+ "codeTestable": "partial",
79
+ "evidence": [
80
+ "Fix application requires confirm:true.",
81
+ "Bodyguard hook can refuse risky edits."
82
+ ],
83
+ "mapsTo": [
84
+ "module:pre-edit-bodyguard",
85
+ "module:apply-fix"
86
+ ]
43
87
  },
44
88
  {
45
89
  "id": "Art.15",
46
90
  "summary": "Accuracy, robustness, cybersecurity — appropriate level of accuracy and resilience.",
47
- "evidence": ["Calibration + held-out evaluation present (.agentic-security/calibration-seed.json).", "OWASP Benchmark regression gate."],
48
- "mapsTo": ["module:calibration", "module:holdout-eval"]
91
+ "codeTestable": "partial",
92
+ "evidence": [
93
+ "Calibration + held-out evaluation present (.agentic-security/calibration-seed.json).",
94
+ "OWASP Benchmark regression gate."
95
+ ],
96
+ "mapsTo": [
97
+ "module:calibration",
98
+ "module:holdout-eval"
99
+ ]
49
100
  }
50
101
  ]
51
102
  }
@@ -4,42 +4,86 @@
4
4
  "publisher": "European Parliament & Council",
5
5
  "license": "EU law (Official Journal)",
6
6
  "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj",
7
+ "scope": "SELECTIVE SUBSET. 6 articles where a code scanner can produce evidence (security of processing, data minimisation, DPIA inputs). GDPR has 99 articles; lawful basis, data-subject rights, transfers and records of processing are organisational and are NOT represented here.",
8
+ "controlsDigest": "749f9dad2b5657cb",
9
+ "controlCount": 6,
7
10
  "controls": [
8
11
  {
9
12
  "id": "Art.5",
10
13
  "summary": "Principles relating to processing of personal data (lawfulness, fairness, transparency, purpose limitation, data minimization, accuracy, storage limitation, integrity, accountability).",
11
- "evidence": ["DPIA artifact at .agentic-security/dpia.md.", "PII fields enumerated by the privacy-taint module."],
12
- "mapsTo": ["family:pii-exposure", "module:privacy-taint"]
14
+ "codeTestable": "yes",
15
+ "evidence": [
16
+ "DPIA artifact at .agentic-security/dpia.md.",
17
+ "PII fields enumerated by the privacy-taint module."
18
+ ],
19
+ "mapsTo": [
20
+ "family:pii-exposure",
21
+ "module:privacy-taint"
22
+ ]
13
23
  },
14
24
  {
15
25
  "id": "Art.25",
16
26
  "summary": "Data protection by design and by default.",
17
- "evidence": ["Threat model produced before code.", "PII annotation runs at scan time, not as an afterthought."],
18
- "mapsTo": ["module:threat-model-auto", "module:privacy-taint"]
27
+ "codeTestable": "partial",
28
+ "evidence": [
29
+ "Threat model produced before code.",
30
+ "PII annotation runs at scan time, not as an afterthought."
31
+ ],
32
+ "mapsTo": [
33
+ "module:threat-model-auto",
34
+ "module:privacy-taint"
35
+ ]
19
36
  },
20
37
  {
21
38
  "id": "Art.30",
22
39
  "summary": "Records of processing activities — controller maintains a register.",
23
- "evidence": ["DPIA + privacy-taint annotations cover each PII field with file:line provenance."],
24
- "mapsTo": ["module:privacy-taint"]
40
+ "codeTestable": "partial",
41
+ "evidence": [
42
+ "DPIA + privacy-taint annotations cover each PII field with file:line provenance."
43
+ ],
44
+ "mapsTo": [
45
+ "module:privacy-taint"
46
+ ]
25
47
  },
26
48
  {
27
49
  "id": "Art.32",
28
50
  "summary": "Security of processing — appropriate technical and organizational measures.",
29
- "evidence": ["Zero open critical crypto findings.", "Auth-missing findings zero on user-data endpoints.", "TLS pinning checks pass."],
30
- "mapsTo": ["family:crypto-weak-cipher", "family:crypto-tls-version", "family:crypto-tls-no-verify", "family:auth-missing"]
51
+ "codeTestable": "yes",
52
+ "evidence": [
53
+ "Zero open critical crypto findings.",
54
+ "Auth-missing findings zero on user-data endpoints.",
55
+ "TLS pinning checks pass."
56
+ ],
57
+ "mapsTo": [
58
+ "family:crypto-weak-cipher",
59
+ "family:crypto-tls-version",
60
+ "family:crypto-tls-no-verify",
61
+ "family:auth-missing"
62
+ ]
31
63
  },
32
64
  {
33
65
  "id": "Art.33",
34
66
  "summary": "Notification of personal data breach to the supervisory authority within 72 hours.",
35
- "evidence": ["Fix history retained.", "Audit log preserves the breach-window evidence."],
36
- "mapsTo": ["module:fix-history", "module:mcp-audit"]
67
+ "codeTestable": "partial",
68
+ "evidence": [
69
+ "Fix history retained.",
70
+ "Audit log preserves the breach-window evidence."
71
+ ],
72
+ "mapsTo": [
73
+ "module:fix-history",
74
+ "module:mcp-audit"
75
+ ]
37
76
  },
38
77
  {
39
78
  "id": "Art.35",
40
79
  "summary": "Data protection impact assessment (DPIA) for high-risk processing.",
41
- "evidence": ["DPIA artifact present at .agentic-security/dpia.md."],
42
- "mapsTo": ["module:privacy-taint:emitDpiaArtifact"]
80
+ "codeTestable": "partial",
81
+ "evidence": [
82
+ "DPIA artifact present at .agentic-security/dpia.md."
83
+ ],
84
+ "mapsTo": [
85
+ "module:privacy-taint:emitDpiaArtifact"
86
+ ]
43
87
  }
44
88
  ]
45
89
  }
@@ -4,53 +4,106 @@
4
4
  "publisher": "US Department of Health and Human Services",
5
5
  "license": "US Federal regulation (public)",
6
6
  "url": "https://www.ecfr.gov/current/title-45/subtitle-A/subchapter-C/part-164",
7
+ "scope": "SELECTIVE SUBSET. 8 of the Security Rule technical safeguards. Administrative and physical safeguards are outside what a code scanner can observe and are NOT represented here.",
8
+ "controlsDigest": "a99f9c4015ffbf72",
9
+ "controlCount": 8,
7
10
  "controls": [
8
11
  {
9
12
  "id": "§164.308(a)(1)",
10
13
  "summary": "Security management process — risk analysis and risk management.",
11
- "evidence": ["Scan history under .agentic-security/scan-history/.", "Triage transitions logged."],
12
- "mapsTo": ["module:scan-history", "module:triage"]
14
+ "codeTestable": "partial",
15
+ "evidence": [
16
+ "Scan history under .agentic-security/scan-history/.",
17
+ "Triage transitions logged."
18
+ ],
19
+ "mapsTo": [
20
+ "module:scan-history",
21
+ "module:triage"
22
+ ]
13
23
  },
14
24
  {
15
25
  "id": "§164.308(a)(3)",
16
26
  "summary": "Workforce security — authorization and supervision of access.",
17
- "evidence": ["Zero auth-missing on PHI endpoints.", "IAM policy reviewed via cloud-iam scanner."],
18
- "mapsTo": ["family:auth-missing", "family:iam-overpermissive"]
27
+ "codeTestable": "yes",
28
+ "evidence": [
29
+ "Zero auth-missing on PHI endpoints.",
30
+ "IAM policy reviewed via cloud-iam scanner."
31
+ ],
32
+ "mapsTo": [
33
+ "family:auth-missing",
34
+ "family:iam-overpermissive"
35
+ ]
19
36
  },
20
37
  {
21
38
  "id": "§164.308(a)(4)",
22
39
  "summary": "Information access management — minimum necessary access.",
23
- "evidence": ["Zero open findings in family idor / authz / k8s-rbac-cluster-admin."],
24
- "mapsTo": ["family:idor", "family:authz", "family:k8s-rbac-cluster-admin"]
40
+ "codeTestable": "yes",
41
+ "evidence": [
42
+ "Zero open findings in family idor / authz / k8s-rbac-cluster-admin."
43
+ ],
44
+ "mapsTo": [
45
+ "family:idor",
46
+ "family:authz",
47
+ "family:k8s-rbac-cluster-admin"
48
+ ]
25
49
  },
26
50
  {
27
51
  "id": "§164.308(a)(5)",
28
52
  "summary": "Security awareness and training.",
29
- "evidence": ["CLAUDE.md / AGENTS.md documents the project's security defaults."]
53
+ "codeTestable": "no",
54
+ "evidence": [
55
+ "CLAUDE.md / AGENTS.md documents the project's security defaults."
56
+ ]
30
57
  },
31
58
  {
32
59
  "id": "§164.312(a)(1)",
33
60
  "summary": "Technical safeguards — access control (unique user identification, automatic logoff, encryption/decryption).",
34
- "evidence": ["Zero hardcoded-secret findings.", "Crypto findings cleared on PHI handling code."],
35
- "mapsTo": ["family:hardcoded-secret", "family:crypto-weak-cipher"]
61
+ "codeTestable": "yes",
62
+ "evidence": [
63
+ "Zero hardcoded-secret findings.",
64
+ "Crypto findings cleared on PHI handling code."
65
+ ],
66
+ "mapsTo": [
67
+ "family:hardcoded-secret",
68
+ "family:crypto-weak-cipher"
69
+ ]
36
70
  },
37
71
  {
38
72
  "id": "§164.312(b)",
39
73
  "summary": "Audit controls — record and examine activity in systems containing PHI.",
40
- "evidence": ["MCP audit log + fix history present and hash-chained."],
41
- "mapsTo": ["module:mcp-audit", "module:fix-history"]
74
+ "codeTestable": "partial",
75
+ "evidence": [
76
+ "MCP audit log + fix history present and hash-chained."
77
+ ],
78
+ "mapsTo": [
79
+ "module:mcp-audit",
80
+ "module:fix-history"
81
+ ]
42
82
  },
43
83
  {
44
84
  "id": "§164.312(c)",
45
85
  "summary": "Integrity — PHI not altered or destroyed in an unauthorized manner.",
46
- "evidence": ["last-scan.json HMAC integrity check passing.", "Sigstore provenance verified for ML model files (if opt-in)."],
47
- "mapsTo": ["module:integrity", "module:sigstore-verify"]
86
+ "codeTestable": "partial",
87
+ "evidence": [
88
+ "last-scan.json HMAC integrity check passing.",
89
+ "Sigstore provenance verified for ML model files (if opt-in)."
90
+ ],
91
+ "mapsTo": [
92
+ "module:integrity",
93
+ "module:sigstore-verify"
94
+ ]
48
95
  },
49
96
  {
50
97
  "id": "§164.312(e)",
51
98
  "summary": "Transmission security — PHI in transit is protected.",
52
- "evidence": ["Zero TLS-no-verify / TLS-version findings."],
53
- "mapsTo": ["family:crypto-tls-no-verify", "family:crypto-tls-version"]
99
+ "codeTestable": "yes",
100
+ "evidence": [
101
+ "Zero TLS-no-verify / TLS-version findings."
102
+ ],
103
+ "mapsTo": [
104
+ "family:crypto-tls-no-verify",
105
+ "family:crypto-tls-version"
106
+ ]
54
107
  }
55
108
  ]
56
109
  }
@@ -4,48 +4,93 @@
4
4
  "publisher": "NIST",
5
5
  "license": "public-domain (US Federal publication)",
6
6
  "url": "https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf",
7
+ "scope": "SELECTIVE SUBSET. 6 actions from the Generative AI Profile with a code-observable signal. The profile is far larger; governance, provenance and incident-response actions are organisational and are NOT represented here. The full control catalogue is built and gated separately by scripts/nist-compliance/build-catalog.py.",
8
+ "controlsDigest": "a6ad567713796b05",
9
+ "controlCount": 6,
7
10
  "controls": [
8
11
  {
9
12
  "id": "GV-1.1-001",
10
13
  "function": "GOVERN",
11
14
  "summary": "Document and disseminate AI policies, processes, and procedures.",
12
- "evidence": ["CLAUDE.md / SECURITY.md present.", ".agentic-security/compliance.policy.yml present."],
13
- "mapsTo": ["module:compliance-policy"]
15
+ "codeTestable": "partial",
16
+ "evidence": [
17
+ "CLAUDE.md / SECURITY.md present.",
18
+ ".agentic-security/compliance.policy.yml present."
19
+ ],
20
+ "mapsTo": [
21
+ "module:compliance-policy"
22
+ ]
14
23
  },
15
24
  {
16
25
  "id": "MP-2.3-002",
17
26
  "function": "MAP",
18
27
  "summary": "Identify and document GAI risks (CBRN, confabulation, harmful bias, prompt injection, IP, etc.).",
19
- "evidence": ["Threat model artifact.", "Attack-taxonomy ATLAS mappings on findings."],
20
- "mapsTo": ["module:threat-model-auto", "module:attack-taxonomy"]
28
+ "codeTestable": "partial",
29
+ "evidence": [
30
+ "Threat model artifact.",
31
+ "Attack-taxonomy ATLAS mappings on findings."
32
+ ],
33
+ "mapsTo": [
34
+ "module:threat-model-auto",
35
+ "module:attack-taxonomy"
36
+ ]
21
37
  },
22
38
  {
23
39
  "id": "MS-2.1-001",
24
40
  "function": "MEASURE",
25
41
  "summary": "Continuously monitor GAI system for risks identified during the MAP function.",
26
- "evidence": ["Watch mode artifacts.", "Continuous scan history."],
27
- "mapsTo": ["module:watch-mode", "module:scan-history"]
42
+ "codeTestable": "partial",
43
+ "evidence": [
44
+ "Watch mode artifacts.",
45
+ "Continuous scan history."
46
+ ],
47
+ "mapsTo": [
48
+ "module:watch-mode",
49
+ "module:scan-history"
50
+ ]
28
51
  },
29
52
  {
30
53
  "id": "MG-3.2-005",
31
54
  "function": "MANAGE",
32
55
  "summary": "Manage GAI risks tied to prompt injection.",
33
- "evidence": ["Zero open critical findings in family prompt-injection / llm-app-security."],
34
- "mapsTo": ["family:prompt-injection", "family:llm-app-security"]
56
+ "codeTestable": "yes",
57
+ "evidence": [
58
+ "Zero open critical findings in family prompt-injection / llm-app-security."
59
+ ],
60
+ "mapsTo": [
61
+ "family:prompt-injection",
62
+ "family:llm-app-security"
63
+ ]
35
64
  },
36
65
  {
37
66
  "id": "MG-4.1-001",
38
67
  "function": "MANAGE",
39
68
  "summary": "Establish processes for managing GAI supply chain risks.",
40
- "evidence": ["No mlflow-untrusted-uri / hf-datasets-rce / streaming-dataset-url findings.", "AIBOM artifact present."],
41
- "mapsTo": ["family:mlflow-untrusted-uri", "family:hf-datasets-rce", "family:streaming-dataset-url", "module:aibom"]
69
+ "codeTestable": "yes",
70
+ "evidence": [
71
+ "No mlflow-untrusted-uri / hf-datasets-rce / streaming-dataset-url findings.",
72
+ "AIBOM artifact present."
73
+ ],
74
+ "mapsTo": [
75
+ "family:mlflow-untrusted-uri",
76
+ "family:hf-datasets-rce",
77
+ "family:streaming-dataset-url",
78
+ "module:aibom"
79
+ ]
42
80
  },
43
81
  {
44
82
  "id": "MG-2.4-001",
45
83
  "function": "MANAGE",
46
84
  "summary": "Establish content provenance / authenticity controls.",
47
- "evidence": ["Sigstore provenance opt-in configured for model loads.", "ATTRIBUTIONS.md generated."],
48
- "mapsTo": ["module:sigstore-verify", "module:license-attributions"]
85
+ "codeTestable": "partial",
86
+ "evidence": [
87
+ "Sigstore provenance opt-in configured for model loads.",
88
+ "ATTRIBUTIONS.md generated."
89
+ ],
90
+ "mapsTo": [
91
+ "module:sigstore-verify",
92
+ "module:license-attributions"
93
+ ]
49
94
  }
50
95
  ]
51
96
  }