@clear-capabilities/agentic-security-scanner 0.134.0 → 0.136.2

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 (93) hide show
  1. package/CHANGELOG.md +196 -0
  2. package/bin/agentic-security-audit.js +2 -1
  3. package/bin/agentic-security-consistency.js +2 -1
  4. package/bin/agentic-security.js +269 -44
  5. package/dist/113.index.js +6 -6
  6. package/dist/117.index.js +3 -1
  7. package/dist/178.index.js +1 -1
  8. package/dist/220.index.js +5 -3
  9. package/dist/238.index.js +4 -4
  10. package/dist/317.index.js +270 -0
  11. package/dist/384.index.js +1 -1
  12. package/dist/435.index.js +13 -7
  13. package/dist/513.index.js +7 -3
  14. package/dist/526.index.js +6 -6
  15. package/dist/637.index.js +1 -1
  16. package/dist/675.index.js +7 -5
  17. package/dist/839.index.js +4 -3
  18. package/dist/905.index.js +1173 -0
  19. package/dist/agentic-security.mjs +14 -14
  20. package/dist/agentic-security.mjs.sha256 +1 -1
  21. package/dist/compliance-frameworks/ccpa.json +32 -0
  22. package/dist/compliance-frameworks/eu-ai-act.json +51 -0
  23. package/dist/compliance-frameworks/gdpr.json +45 -0
  24. package/dist/compliance-frameworks/hipaa-security-rule.json +56 -0
  25. package/dist/compliance-frameworks/nist-ai-600-1.json +51 -0
  26. package/dist/compliance-frameworks/nist-csf-2.json +73 -0
  27. package/dist/compliance-frameworks/nist-privacy-1-1.json +846 -0
  28. package/dist/compliance-frameworks/owasp-asvs-5.json +79 -0
  29. package/dist/compliance-frameworks/owasp-llm-top-10.json +69 -0
  30. package/package.json +9 -5
  31. package/src/badge.js +2 -1
  32. package/src/dataflow/cross-service-taint.js +2 -1
  33. package/src/dataflow/ifds-precise.js +6 -4
  34. package/src/dataflow/incremental.js +7 -5
  35. package/src/discovery/CLAUDE.md +10 -0
  36. package/src/discovery/index.js +175 -3
  37. package/src/discovery/llm-invoke.js +90 -1
  38. package/src/discovery/memory.js +163 -0
  39. package/src/engine.js +45 -8
  40. package/src/integrations/tickets.js +7 -6
  41. package/src/ir/ir-stats.js +1 -1
  42. package/src/ir/parser-cpp.js +1 -1
  43. package/src/leaderboard.js +3 -2
  44. package/src/llm-validator/consistency.js +6 -2
  45. package/src/llm-validator/index.js +1 -2
  46. package/src/mcp/audit.js +2 -1
  47. package/src/mcp/tools.js +4 -3
  48. package/src/posture/CLAUDE.md +26 -1
  49. package/src/posture/accuracy-scorecard.js +59 -1
  50. package/src/posture/agents-memory.js +5 -3
  51. package/src/posture/auditor-walkthrough.js +9 -7
  52. package/src/posture/auth-posture-import.js +5 -4
  53. package/src/posture/compliance-frameworks/nist-privacy-1-1.json +846 -0
  54. package/src/posture/compliance-policy.js +7 -9
  55. package/src/posture/custom-rules.js +7 -5
  56. package/src/posture/cve-alert-daemon.js +6 -5
  57. package/src/posture/dep-add-guard.js +2 -1
  58. package/src/posture/deterministic.js +3 -2
  59. package/src/posture/evidence-bundle.js +246 -0
  60. package/src/posture/exploitability-probability.js +2 -1
  61. package/src/posture/feature-flags.js +3 -2
  62. package/src/posture/findings-memory.js +3 -3
  63. package/src/posture/fix-history.js +5 -2
  64. package/src/posture/fix-metrics.js +5 -5
  65. package/src/posture/fix-plan.js +2 -1
  66. package/src/posture/grader-calibration.js +3 -4
  67. package/src/posture/intent-context.js +2 -1
  68. package/src/posture/learning.js +4 -3
  69. package/src/posture/license-attributions.js +5 -7
  70. package/src/posture/license-graph.js +2 -1
  71. package/src/posture/license-policy.js +2 -1
  72. package/src/posture/model-rescan.js +4 -3
  73. package/src/posture/network-policy-import.js +3 -2
  74. package/src/posture/pqc-migration-plan.js +7 -5
  75. package/src/posture/pr-augment.js +8 -5
  76. package/src/posture/privacy-framework.js +262 -0
  77. package/src/posture/risk-dollars.js +2 -2
  78. package/src/posture/router.js +5 -4
  79. package/src/posture/ruleset-version.js +2 -2
  80. package/src/posture/runtime-correlation.js +2 -1
  81. package/src/posture/sbom-diff.js +12 -3
  82. package/src/posture/sca-policy.js +7 -4
  83. package/src/posture/scan-checkpoint.js +15 -0
  84. package/src/posture/state-dir.js +34 -0
  85. package/src/posture/telemetry-ingest.js +4 -3
  86. package/src/posture/threat-model-auto.js +4 -1
  87. package/src/posture/threat-model-grounding.js +11 -1
  88. package/src/posture/time-to-fix.js +3 -2
  89. package/src/posture/triage-memory.js +3 -2
  90. package/src/posture/waf-ingest.js +6 -5
  91. package/src/posture/watch-mode.js +4 -3
  92. package/src/sast/code-injection-multilang.js +29 -0
  93. package/src/sca/dep-confusion.js +2 -1
@@ -1 +1 @@
1
- c30ab141dd65e53a762c16c7683bfc3195b677107a838a83fcfae541f0fe5e0e agentic-security.mjs
1
+ b66b38a74c6d14bcf4a30fad910739e3cb83c455f7bf0ae6ca76a1487f598f1a agentic-security.mjs
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "ccpa",
3
+ "name": "California Consumer Privacy Act (Cal. Civ. Code §1798.100 et seq.)",
4
+ "publisher": "California Legislature",
5
+ "license": "California statute (public)",
6
+ "url": "https://leginfo.legislature.ca.gov/faces/codes_displayText.xhtml?division=3.&part=4.&lawCode=CIV&title=1.81.5",
7
+ "controls": [
8
+ {
9
+ "id": "§1798.100",
10
+ "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"]
13
+ },
14
+ {
15
+ "id": "§1798.105",
16
+ "summary": "Right to delete — businesses comply with verified deletion requests.",
17
+ "evidence": ["No data-exposure findings on PII storage paths."]
18
+ },
19
+ {
20
+ "id": "§1798.150",
21
+ "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"]
24
+ },
25
+ {
26
+ "id": "§1798.81.5",
27
+ "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"]
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "id": "eu-ai-act",
3
+ "name": "EU Artificial Intelligence Act (Regulation 2024/1689)",
4
+ "publisher": "European Parliament & Council",
5
+ "license": "EU law (Official Journal)",
6
+ "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
7
+ "controls": [
8
+ {
9
+ "id": "Art.9",
10
+ "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"]
13
+ },
14
+ {
15
+ "id": "Art.10",
16
+ "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"]
19
+ },
20
+ {
21
+ "id": "Art.11",
22
+ "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"]
25
+ },
26
+ {
27
+ "id": "Art.12",
28
+ "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"]
31
+ },
32
+ {
33
+ "id": "Art.13",
34
+ "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"]
37
+ },
38
+ {
39
+ "id": "Art.14",
40
+ "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"]
43
+ },
44
+ {
45
+ "id": "Art.15",
46
+ "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"]
49
+ }
50
+ ]
51
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "id": "gdpr",
3
+ "name": "General Data Protection Regulation (EU 2016/679)",
4
+ "publisher": "European Parliament & Council",
5
+ "license": "EU law (Official Journal)",
6
+ "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj",
7
+ "controls": [
8
+ {
9
+ "id": "Art.5",
10
+ "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"]
13
+ },
14
+ {
15
+ "id": "Art.25",
16
+ "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"]
19
+ },
20
+ {
21
+ "id": "Art.30",
22
+ "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"]
25
+ },
26
+ {
27
+ "id": "Art.32",
28
+ "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"]
31
+ },
32
+ {
33
+ "id": "Art.33",
34
+ "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"]
37
+ },
38
+ {
39
+ "id": "Art.35",
40
+ "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"]
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "hipaa-security-rule",
3
+ "name": "HIPAA Security Rule (45 CFR Part 164, Subparts C & E)",
4
+ "publisher": "US Department of Health and Human Services",
5
+ "license": "US Federal regulation (public)",
6
+ "url": "https://www.ecfr.gov/current/title-45/subtitle-A/subchapter-C/part-164",
7
+ "controls": [
8
+ {
9
+ "id": "§164.308(a)(1)",
10
+ "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"]
13
+ },
14
+ {
15
+ "id": "§164.308(a)(3)",
16
+ "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"]
19
+ },
20
+ {
21
+ "id": "§164.308(a)(4)",
22
+ "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"]
25
+ },
26
+ {
27
+ "id": "§164.308(a)(5)",
28
+ "summary": "Security awareness and training.",
29
+ "evidence": ["CLAUDE.md / AGENTS.md documents the project's security defaults."]
30
+ },
31
+ {
32
+ "id": "§164.312(a)(1)",
33
+ "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"]
36
+ },
37
+ {
38
+ "id": "§164.312(b)",
39
+ "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"]
42
+ },
43
+ {
44
+ "id": "§164.312(c)",
45
+ "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"]
48
+ },
49
+ {
50
+ "id": "§164.312(e)",
51
+ "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"]
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "id": "nist-ai-600-1",
3
+ "name": "NIST AI 600-1 — Generative AI Profile",
4
+ "publisher": "NIST",
5
+ "license": "public-domain (US Federal publication)",
6
+ "url": "https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf",
7
+ "controls": [
8
+ {
9
+ "id": "GV-1.1-001",
10
+ "function": "GOVERN",
11
+ "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"]
14
+ },
15
+ {
16
+ "id": "MP-2.3-002",
17
+ "function": "MAP",
18
+ "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"]
21
+ },
22
+ {
23
+ "id": "MS-2.1-001",
24
+ "function": "MEASURE",
25
+ "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"]
28
+ },
29
+ {
30
+ "id": "MG-3.2-005",
31
+ "function": "MANAGE",
32
+ "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"]
35
+ },
36
+ {
37
+ "id": "MG-4.1-001",
38
+ "function": "MANAGE",
39
+ "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"]
42
+ },
43
+ {
44
+ "id": "MG-2.4-001",
45
+ "function": "MANAGE",
46
+ "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"]
49
+ }
50
+ ]
51
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "id": "nist-csf-2",
3
+ "name": "NIST Cybersecurity Framework 2.0",
4
+ "publisher": "NIST",
5
+ "license": "public-domain (US Federal publication)",
6
+ "url": "https://www.nist.gov/cyberframework",
7
+ "controls": [
8
+ {
9
+ "id": "GV.PO",
10
+ "function": "GOVERN",
11
+ "category": "Policy",
12
+ "summary": "Organizational cybersecurity policy is established, communicated, and enforced.",
13
+ "evidence": ["Repo contains CLAUDE.md / SECURITY.md / .agentic-security/sca-policy.yml that documents the project's security policy.", "Triage decisions reference an organizational policy."],
14
+ "mapsTo": ["family:hardcoded-secret", "family:license-graph"]
15
+ },
16
+ {
17
+ "id": "ID.AM",
18
+ "function": "IDENTIFY",
19
+ "category": "Asset Management",
20
+ "summary": "Assets (hardware, software, data) are inventoried.",
21
+ "evidence": [".agentic-security/sbom-history/*.json snapshots present.", "ATTRIBUTIONS.md generated."],
22
+ "mapsTo": ["module:sbom-diff", "module:license-attributions"]
23
+ },
24
+ {
25
+ "id": "ID.RA",
26
+ "function": "IDENTIFY",
27
+ "category": "Risk Assessment",
28
+ "summary": "Vulnerabilities and threats are identified.",
29
+ "evidence": ["Regular scan history under .agentic-security/scan-history/.", "ATT&CK / ATLAS technique mapping on findings."],
30
+ "mapsTo": ["module:attack-taxonomy", "module:exploitability-probability"]
31
+ },
32
+ {
33
+ "id": "PR.AA",
34
+ "function": "PROTECT",
35
+ "category": "Identity Management & Access Control",
36
+ "summary": "Access to assets is limited to authorized users.",
37
+ "evidence": ["Zero open critical findings in family auth-missing / authz / iam-overpermissive on the current scan."],
38
+ "mapsTo": ["family:auth-missing", "family:authz", "family:iam-overpermissive", "family:k8s-rbac-cluster-admin"]
39
+ },
40
+ {
41
+ "id": "PR.DS",
42
+ "function": "PROTECT",
43
+ "category": "Data Security",
44
+ "summary": "Data is managed consistent with the organization's risk strategy.",
45
+ "evidence": ["No critical/high crypto findings.", "DPIA artifact present (.agentic-security/dpia.md) when handling PII."],
46
+ "mapsTo": ["family:crypto-tls-version", "family:crypto-tls-no-verify", "family:crypto-weak-cipher", "family:pii-exposure"]
47
+ },
48
+ {
49
+ "id": "DE.CM",
50
+ "function": "DETECT",
51
+ "category": "Continuous Monitoring",
52
+ "summary": "Anomalous activity, indicators of compromise are monitored.",
53
+ "evidence": ["Watch mode artifacts at .agentic-security/watch-status.{md,json}.", "CVE-alert daemon configured."],
54
+ "mapsTo": ["module:watch-mode", "module:cve-alert-daemon"]
55
+ },
56
+ {
57
+ "id": "RS.AN",
58
+ "function": "RESPOND",
59
+ "category": "Analysis",
60
+ "summary": "Notifications from detection systems are investigated.",
61
+ "evidence": ["Triage transitions logged in triage.json.", "Triage-memory entries with reasons."],
62
+ "mapsTo": ["module:triage", "module:triage-memory"]
63
+ },
64
+ {
65
+ "id": "RC.RP",
66
+ "function": "RECOVER",
67
+ "category": "Recovery Planning",
68
+ "summary": "Recovery plans are executed and improved after an incident.",
69
+ "evidence": ["Fix history under .agentic-security/fix-history/log.json.", "Verifier outcomes recorded."],
70
+ "mapsTo": ["module:fix-history", "module:verifier"]
71
+ }
72
+ ]
73
+ }