@clear-capabilities/agentic-security-scanner 0.118.2 → 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.
Files changed (155) hide show
  1. package/CHANGELOG.md +256 -0
  2. package/bin/agentic-security.js +78 -1
  3. package/dist/178.index.js +1 -1
  4. package/dist/384.index.js +1 -1
  5. package/dist/415.index.js +90 -0
  6. package/dist/444.index.js +89 -0
  7. package/dist/503.index.js +288 -0
  8. package/dist/637.index.js +15 -1
  9. package/dist/838.index.js +1 -1
  10. package/dist/985.index.js +5 -1
  11. package/dist/agentic-security.mjs +18 -18
  12. package/dist/agentic-security.mjs.sha256 +1 -1
  13. package/package.json +13 -8
  14. package/src/dataflow/CLAUDE.md +1 -1
  15. package/src/dataflow/catalog.js +50 -11
  16. package/src/dataflow/engine.js +76 -1
  17. package/src/dataflow/implicit-flow.js +4 -2
  18. package/src/dataflow/index.js +9 -4
  19. package/src/dataflow/proof-gate.js +5 -0
  20. package/src/dataflow/summaries.js +19 -1
  21. package/src/engine.js +95 -7
  22. package/src/ir/parser-go.js +8 -0
  23. package/src/mcp/tools.js +6 -2
  24. package/src/posture/fix-history.js +24 -0
  25. package/src/posture/provenance.js +39 -0
  26. package/src/posture/sca-verdict.js +130 -0
  27. package/src/posture/secret-history.js +72 -0
  28. package/src/pr-delta.js +13 -0
  29. package/src/report/index.js +50 -0
  30. package/src/sast/agent-untrusted-flow.js +107 -0
  31. package/src/sast/api-authz.js +71 -0
  32. package/src/sast/cross-service.js +98 -0
  33. package/src/sast/event-entrypoint.js +90 -0
  34. package/src/sast/iac-terraform.js +107 -0
  35. package/src/sast/rbac-consistency.js +113 -0
  36. package/src/sast/wrong-context-sanitizer.js +55 -0
  37. package/src/sca/image-packages.js +74 -0
  38. package/src/sca/import-reachability.js +271 -0
  39. package/src/sca/install-script-analysis.js +82 -0
  40. package/bin/.agentic-security/findings.json +0 -1907
  41. package/bin/.agentic-security/last-scan.json +0 -1907
  42. package/bin/.agentic-security/last-scan.json.sig +0 -1
  43. package/bin/.agentic-security/scan-history.json +0 -166
  44. package/bin/.agentic-security/streak.json +0 -20
  45. package/src/.agentic-security/dpia.md +0 -26
  46. package/src/.agentic-security/findings.json +0 -117732
  47. package/src/.agentic-security/last-scan.json +0 -117732
  48. package/src/.agentic-security/last-scan.json.sig +0 -1
  49. package/src/.agentic-security/pqc-migration-plan.json +0 -80
  50. package/src/.agentic-security/pqc-migration-plan.md +0 -32
  51. package/src/.agentic-security/sbom-history/0775d96ba4cf814520d02760cfb3010760c7684f.json +0 -6
  52. package/src/.agentic-security/sbom-history/29300441d3460832137a8e51a92b74068cad2f15.json +0 -6
  53. package/src/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
  54. package/src/.agentic-security/sbom-history/3d96e2daec97e3226c9679bac6e64a89ca10bfe9.json +0 -6
  55. package/src/.agentic-security/sbom-history/5f0b136622fce09b469a1a6137c04d5b18652ea4.json +0 -6
  56. package/src/.agentic-security/sbom-history/64e30595d447b62344d0d9200760269df2095332.json +0 -6
  57. package/src/.agentic-security/sbom-history/71f3241902c9e7437764e3caa046ba8a3bcdd32a.json +0 -6
  58. package/src/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
  59. package/src/.agentic-security/sbom-history/9c93b15e8cf3ff2ddb8cdae92371b82e178b463c.json +0 -6
  60. package/src/.agentic-security/sbom-history/a3544abf1863d71776b61302ca74d9ead2b26a9f.json +0 -6
  61. package/src/.agentic-security/sbom-history/dca15abdec43c508aa342db86dc5db8d7f01fbbe.json +0 -6
  62. package/src/.agentic-security/scan-history.json +0 -12946
  63. package/src/.agentic-security/streak.json +0 -21
  64. package/src/.agentic-security/threat-model.json +0 -3702
  65. package/src/.agentic-security/threat-model.md +0 -118
  66. package/src/dataflow/.agentic-security/dpia.md +0 -26
  67. package/src/dataflow/.agentic-security/findings.json +0 -6086
  68. package/src/dataflow/.agentic-security/last-scan.json +0 -6086
  69. package/src/dataflow/.agentic-security/last-scan.json.sig +0 -1
  70. package/src/dataflow/.agentic-security/sbom-history/15d7c4d20f9d968ebec29445c9e9b3fc6f74e6a1.json +0 -6
  71. package/src/dataflow/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
  72. package/src/dataflow/.agentic-security/sbom-history/73166872888d9ddcbe98645af818ecc7d8917b07.json +0 -6
  73. package/src/dataflow/.agentic-security/sbom-history/8869fe64035bec0152d92ece961e9369d8637076.json +0 -6
  74. package/src/dataflow/.agentic-security/sbom-history/9c93b15e8cf3ff2ddb8cdae92371b82e178b463c.json +0 -6
  75. package/src/dataflow/.agentic-security/sbom-history/b7ac2dada4a9216ccfe8969fc57f988c83f46975.json +0 -6
  76. package/src/dataflow/.agentic-security/scan-history.json +0 -250
  77. package/src/dataflow/.agentic-security/streak.json +0 -21
  78. package/src/dataflow/.agentic-security/threat-model.json +0 -161
  79. package/src/dataflow/.agentic-security/threat-model.md +0 -43
  80. package/src/ir/.agentic-security/dpia.md +0 -26
  81. package/src/ir/.agentic-security/exploit-bundles.json +0 -77
  82. package/src/ir/.agentic-security/findings.json +0 -4011
  83. package/src/ir/.agentic-security/last-scan.json +0 -4011
  84. package/src/ir/.agentic-security/last-scan.json.sig +0 -1
  85. package/src/ir/.agentic-security/sbom-history/73166872888d9ddcbe98645af818ecc7d8917b07.json +0 -6
  86. package/src/ir/.agentic-security/sbom-history/b5f468a158f6a145aedd8680841c106b9809f16b.json +0 -6
  87. package/src/ir/.agentic-security/scan-history.json +0 -193
  88. package/src/ir/.agentic-security/streak.json +0 -20
  89. package/src/ir/.agentic-security/threat-model.json +0 -143
  90. package/src/ir/.agentic-security/threat-model.md +0 -39
  91. package/src/mcp/.agentic-security/findings.json +0 -8632
  92. package/src/mcp/.agentic-security/last-scan.json +0 -8632
  93. package/src/mcp/.agentic-security/last-scan.json.sig +0 -1
  94. package/src/mcp/.agentic-security/scan-history.json +0 -331
  95. package/src/mcp/.agentic-security/streak.json +0 -20
  96. package/src/posture/.agentic-security/dpia.md +0 -26
  97. package/src/posture/.agentic-security/findings.json +0 -77181
  98. package/src/posture/.agentic-security/last-scan.json +0 -77181
  99. package/src/posture/.agentic-security/last-scan.json.sig +0 -1
  100. package/src/posture/.agentic-security/pqc-migration-plan.json +0 -65
  101. package/src/posture/.agentic-security/pqc-migration-plan.md +0 -30
  102. package/src/posture/.agentic-security/sbom-history/0724c133d2943c87555695b5b2adcfcfc3373a2d.json +0 -6
  103. package/src/posture/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
  104. package/src/posture/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
  105. package/src/posture/.agentic-security/sbom-history/b7ac2dada4a9216ccfe8969fc57f988c83f46975.json +0 -6
  106. package/src/posture/.agentic-security/scan-history.json +0 -8904
  107. package/src/posture/.agentic-security/streak.json +0 -21
  108. package/src/posture/.agentic-security/threat-model.json +0 -2038
  109. package/src/posture/.agentic-security/threat-model.md +0 -73
  110. package/src/posture/compliance-frameworks/.agentic-security/findings.json +0 -80
  111. package/src/posture/compliance-frameworks/.agentic-security/last-scan.json +0 -80
  112. package/src/posture/compliance-frameworks/.agentic-security/last-scan.json.sig +0 -1
  113. package/src/posture/compliance-frameworks/.agentic-security/scan-history.json +0 -90
  114. package/src/posture/compliance-frameworks/.agentic-security/streak.json +0 -22
  115. package/src/report/.agentic-security/dpia.md +0 -26
  116. package/src/report/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
  117. package/src/report/.agentic-security/sbom-history/f94be839aa6a1011f53da016416a561698b8f338.json +0 -6
  118. package/src/report/.agentic-security/threat-model.json +0 -7
  119. package/src/report/.agentic-security/threat-model.md +0 -22
  120. package/src/sast/.agentic-security/dpia.md +0 -26
  121. package/src/sast/.agentic-security/findings.json +0 -6154
  122. package/src/sast/.agentic-security/last-scan.json +0 -6154
  123. package/src/sast/.agentic-security/last-scan.json.sig +0 -1
  124. package/src/sast/.agentic-security/pqc-migration-plan.json +0 -65
  125. package/src/sast/.agentic-security/pqc-migration-plan.md +0 -30
  126. package/src/sast/.agentic-security/sbom-history/043a7b401c68f5a298c83d4c42e94f118ff2a89a.json +0 -6
  127. package/src/sast/.agentic-security/sbom-history/0775d96ba4cf814520d02760cfb3010760c7684f.json +0 -6
  128. package/src/sast/.agentic-security/sbom-history/20d77ad7363a82777d506dedbbb1ecfed52f094a.json +0 -6
  129. package/src/sast/.agentic-security/sbom-history/29300441d3460832137a8e51a92b74068cad2f15.json +0 -6
  130. package/src/sast/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
  131. package/src/sast/.agentic-security/sbom-history/3c6b3205f04e26f7654943d465281d00e0fa395e.json +0 -6
  132. package/src/sast/.agentic-security/sbom-history/3d96e2daec97e3226c9679bac6e64a89ca10bfe9.json +0 -6
  133. package/src/sast/.agentic-security/sbom-history/5282502e090013219eb006f7e02d8c983bc29c8e.json +0 -6
  134. package/src/sast/.agentic-security/sbom-history/5f0b136622fce09b469a1a6137c04d5b18652ea4.json +0 -6
  135. package/src/sast/.agentic-security/sbom-history/64e30595d447b62344d0d9200760269df2095332.json +0 -6
  136. package/src/sast/.agentic-security/sbom-history/71f3241902c9e7437764e3caa046ba8a3bcdd32a.json +0 -6
  137. package/src/sast/.agentic-security/sbom-history/73514b485d4770f3c5ee57d87338bccd1c61d8b7.json +0 -6
  138. package/src/sast/.agentic-security/sbom-history/96fa584fc3134512237d58aac63d6f3778b0cbcb.json +0 -6
  139. package/src/sast/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
  140. package/src/sast/.agentic-security/sbom-history/a3544abf1863d71776b61302ca74d9ead2b26a9f.json +0 -6
  141. package/src/sast/.agentic-security/sbom-history/a4a34ab8b3d758de2adc8c3dc3e42d4cb0db00a3.json +0 -6
  142. package/src/sast/.agentic-security/sbom-history/ac236ec3602cfc8fb133f389ec3687e409084673.json +0 -6
  143. package/src/sast/.agentic-security/sbom-history/b57b3e1292f1f9f0de6c5a34a436e330c78008a3.json +0 -6
  144. package/src/sast/.agentic-security/sbom-history/dca15abdec43c508aa342db86dc5db8d7f01fbbe.json +0 -6
  145. package/src/sast/.agentic-security/sbom-history/dcbfd4935922dd165093c08a1003c338eed937c5.json +0 -6
  146. package/src/sast/.agentic-security/sbom-history/fa017f725615b0293814344c8ef7dfeb06775ca0.json +0 -6
  147. package/src/sast/.agentic-security/scan-history.json +0 -941
  148. package/src/sast/.agentic-security/streak.json +0 -22
  149. package/src/sast/.agentic-security/threat-model.json +0 -816
  150. package/src/sast/.agentic-security/threat-model.md +0 -91
  151. package/src/sca/.agentic-security/findings.json +0 -7460
  152. package/src/sca/.agentic-security/last-scan.json +0 -7460
  153. package/src/sca/.agentic-security/last-scan.json.sig +0 -1
  154. package/src/sca/.agentic-security/scan-history.json +0 -113
  155. package/src/sca/.agentic-security/streak.json +0 -21
@@ -1 +0,0 @@
1
- c5c255f3078afcb3abb37615903b8ab5c7f13f82bd33a5089398909530ab25e9
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "15d7c4d20f9d968ebec29445c9e9b3fc6f74e6a1",
3
- "ts": "2026-05-31T15:22:34.931Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "3852ad2aa0e50951bed0c930c29d1861aa13d048",
3
- "ts": "2026-05-31T18:39:51.074Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "73166872888d9ddcbe98645af818ecc7d8917b07",
3
- "ts": "2026-05-31T15:37:46.482Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "8869fe64035bec0152d92ece961e9369d8637076",
3
- "ts": "2026-05-31T13:34:26.146Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "9c93b15e8cf3ff2ddb8cdae92371b82e178b463c",
3
- "ts": "2026-05-31T04:45:23.979Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sha": "b7ac2dada4a9216ccfe8969fc57f988c83f46975",
3
- "ts": "2026-05-31T05:26:44.996Z",
4
- "componentCount": 0,
5
- "components": []
6
- }
@@ -1,250 +0,0 @@
1
- [
2
- {
3
- "timestamp": "2026-05-28T21:51:05.438Z",
4
- "label": "scan",
5
- "total": 13,
6
- "critical": 0,
7
- "high": 0,
8
- "medium": 13,
9
- "low": 0,
10
- "kev": 0,
11
- "ids": [
12
- "ssrf-meta-hardcoded:catalog.js:538",
13
- "ssrf-meta-hardcoded:exploit-prover.js:33",
14
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
15
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
16
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
17
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
18
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
19
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
20
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
21
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
22
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
23
- "toctou-fs:incremental.js:50",
24
- "toctou-fs:incremental.js:68"
25
- ]
26
- },
27
- {
28
- "timestamp": "2026-05-28T21:58:02.385Z",
29
- "label": "scan",
30
- "total": 13,
31
- "critical": 0,
32
- "high": 0,
33
- "medium": 13,
34
- "low": 0,
35
- "kev": 0,
36
- "ids": [
37
- "ssrf-meta-hardcoded:catalog.js:538",
38
- "ssrf-meta-hardcoded:exploit-prover.js:33",
39
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
40
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
41
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
42
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
43
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
44
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
45
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
46
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
47
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
48
- "toctou-fs:incremental.js:50",
49
- "toctou-fs:incremental.js:68"
50
- ]
51
- },
52
- {
53
- "timestamp": "2026-05-29T06:25:27.255Z",
54
- "label": "scan",
55
- "total": 17,
56
- "critical": 0,
57
- "high": 0,
58
- "medium": 17,
59
- "low": 0,
60
- "kev": 0,
61
- "ids": [
62
- "ssrf-meta-hardcoded:catalog.js:538",
63
- "ssrf-meta-hardcoded:exploit-prover.js:33",
64
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
65
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
66
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
67
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
68
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
69
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
70
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
71
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
72
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
73
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
74
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
75
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
76
- "toctou-fs:ifds-precise.js:177",
77
- "toctou-fs:incremental.js:50",
78
- "toctou-fs:incremental.js:68"
79
- ]
80
- },
81
- {
82
- "timestamp": "2026-05-29T06:26:15.864Z",
83
- "label": "scan",
84
- "total": 17,
85
- "critical": 0,
86
- "high": 0,
87
- "medium": 17,
88
- "low": 0,
89
- "kev": 0,
90
- "ids": [
91
- "ssrf-meta-hardcoded:catalog.js:538",
92
- "ssrf-meta-hardcoded:exploit-prover.js:33",
93
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
94
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
95
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
96
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
97
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
98
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
99
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
100
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
101
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
102
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
103
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
104
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
105
- "toctou-fs:ifds-precise.js:177",
106
- "toctou-fs:incremental.js:50",
107
- "toctou-fs:incremental.js:68"
108
- ]
109
- },
110
- {
111
- "timestamp": "2026-05-29T06:26:55.369Z",
112
- "label": "scan",
113
- "total": 23,
114
- "critical": 0,
115
- "high": 0,
116
- "medium": 23,
117
- "low": 0,
118
- "kev": 0,
119
- "ids": [
120
- "ssrf-meta-hardcoded:catalog.js:538",
121
- "ssrf-meta-hardcoded:exploit-prover.js:33",
122
- "struct:cross-service-taint.js:53:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
123
- "struct:cross-service-taint.js:55:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
124
- "struct:cross-service-taint.js:97:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
125
- "struct:cross-service-taint.js:98:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
126
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
127
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
128
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
129
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
130
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
131
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
132
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
133
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
134
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
135
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
136
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
137
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
138
- "toctou-fs:cross-service-taint.js:53",
139
- "toctou-fs:cross-service-taint.js:97",
140
- "toctou-fs:ifds-precise.js:177",
141
- "toctou-fs:incremental.js:50",
142
- "toctou-fs:incremental.js:68"
143
- ]
144
- },
145
- {
146
- "timestamp": "2026-05-29T06:31:00.224Z",
147
- "label": "scan",
148
- "total": 23,
149
- "critical": 0,
150
- "high": 0,
151
- "medium": 23,
152
- "low": 0,
153
- "kev": 0,
154
- "ids": [
155
- "ssrf-meta-hardcoded:catalog.js:538",
156
- "ssrf-meta-hardcoded:exploit-prover.js:33",
157
- "struct:cross-service-taint.js:53:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
158
- "struct:cross-service-taint.js:55:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
159
- "struct:cross-service-taint.js:97:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
160
- "struct:cross-service-taint.js:98:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
161
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
162
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
163
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
164
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
165
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
166
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
167
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
168
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
169
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
170
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
171
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
172
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
173
- "toctou-fs:cross-service-taint.js:53",
174
- "toctou-fs:cross-service-taint.js:97",
175
- "toctou-fs:ifds-precise.js:177",
176
- "toctou-fs:incremental.js:50",
177
- "toctou-fs:incremental.js:68"
178
- ]
179
- },
180
- {
181
- "timestamp": "2026-05-29T06:32:47.791Z",
182
- "label": "scan",
183
- "total": 23,
184
- "critical": 0,
185
- "high": 0,
186
- "medium": 23,
187
- "low": 0,
188
- "kev": 0,
189
- "ids": [
190
- "ssrf-meta-hardcoded:catalog.js:538",
191
- "ssrf-meta-hardcoded:exploit-prover.js:33",
192
- "struct:cross-service-taint.js:53:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
193
- "struct:cross-service-taint.js:55:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
194
- "struct:cross-service-taint.js:97:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
195
- "struct:cross-service-taint.js:98:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
196
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
197
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
198
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
199
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
200
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
201
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
202
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
203
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
204
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
205
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
206
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
207
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
208
- "toctou-fs:cross-service-taint.js:53",
209
- "toctou-fs:cross-service-taint.js:97",
210
- "toctou-fs:ifds-precise.js:177",
211
- "toctou-fs:incremental.js:50",
212
- "toctou-fs:incremental.js:68"
213
- ]
214
- },
215
- {
216
- "timestamp": "2026-05-29T06:49:36.287Z",
217
- "label": "scan",
218
- "total": 23,
219
- "critical": 0,
220
- "high": 0,
221
- "medium": 23,
222
- "low": 0,
223
- "kev": 0,
224
- "ids": [
225
- "ssrf-meta-hardcoded:catalog.js:538",
226
- "ssrf-meta-hardcoded:exploit-prover.js:33",
227
- "struct:cross-service-taint.js:53:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
228
- "struct:cross-service-taint.js:55:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
229
- "struct:cross-service-taint.js:97:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
230
- "struct:cross-service-taint.js:98:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
231
- "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
232
- "struct:ifds-precise.js:179:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
233
- "struct:ifds-precise.js:206:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
234
- "struct:incremental.js:203:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
235
- "struct:incremental.js:204:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
236
- "struct:incremental.js:209:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
237
- "struct:incremental.js:220:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
238
- "struct:incremental.js:223:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
239
- "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
240
- "struct:incremental.js:51:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
241
- "struct:incremental.js:68:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
242
- "struct:incremental.js:69:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
243
- "toctou-fs:cross-service-taint.js:53",
244
- "toctou-fs:cross-service-taint.js:97",
245
- "toctou-fs:ifds-precise.js:177",
246
- "toctou-fs:incremental.js:50",
247
- "toctou-fs:incremental.js:68"
248
- ]
249
- }
250
- ]
@@ -1,21 +0,0 @@
1
- {
2
- "firstScanDate": "2026-05-28T21:51:05.470Z",
3
- "lastScanDate": "2026-05-29T06:49:36.319Z",
4
- "totalScans": 8,
5
- "daysCleanCritical": 2,
6
- "lastCleanDate": "2026-05-29",
7
- "lastCriticalDate": null,
8
- "hasEverHadCritical": false,
9
- "bestDaysCleanCritical": 2,
10
- "totalFindingsAtFirstScan": 17,
11
- "totalFindingsAtLastScan": 30,
12
- "totalFixesInferred": 0,
13
- "lastGrade": "A",
14
- "bestGrade": "A",
15
- "launchCheckPassedAt": null,
16
- "achievements": [
17
- "first-scan",
18
- "grade-a"
19
- ],
20
- "previousGrade": "A"
21
- }
@@ -1,161 +0,0 @@
1
- {
2
- "entities": [],
3
- "boundaries": [],
4
- "assets": [],
5
- "threats": [
6
- {
7
- "stride": "T",
8
- "strideLabel": "Tampering",
9
- "cwe": "CWE-400",
10
- "family": "dos-sync-io",
11
- "severity": "medium",
12
- "file": "cross-service-taint.js",
13
- "vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
14
- "finding_id": "struct:cross-service-taint.js:53:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
15
- "affectsAsset": null,
16
- "atEntity": null
17
- },
18
- {
19
- "stride": "T",
20
- "strideLabel": "Tampering",
21
- "cwe": "CWE-400",
22
- "family": "dos-sync-io",
23
- "severity": "medium",
24
- "file": "ifds-precise.js",
25
- "vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
26
- "finding_id": "struct:ifds-precise.js:177:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
27
- "affectsAsset": null,
28
- "atEntity": null
29
- },
30
- {
31
- "stride": "T",
32
- "strideLabel": "Tampering",
33
- "cwe": "CWE-400",
34
- "family": "dos-sync-io",
35
- "severity": "medium",
36
- "file": "incremental.js",
37
- "vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
38
- "finding_id": "struct:incremental.js:50:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
39
- "affectsAsset": null,
40
- "atEntity": null
41
- },
42
- {
43
- "stride": "I",
44
- "strideLabel": "Information Disclosure",
45
- "cwe": "CWE-918",
46
- "family": "ssrf",
47
- "severity": "medium",
48
- "file": "catalog.js",
49
- "line": 547,
50
- "vuln": "SSRF: explicit reference to cloud instance-metadata endpoint",
51
- "finding_id": "ssrf-meta-hardcoded:catalog.js:547",
52
- "affectsAsset": null,
53
- "atEntity": null
54
- },
55
- {
56
- "stride": "E",
57
- "strideLabel": "Elevation of Privilege",
58
- "cwe": "CWE-918",
59
- "family": "ssrf",
60
- "severity": "medium",
61
- "file": "catalog.js",
62
- "line": 547,
63
- "vuln": "SSRF: explicit reference to cloud instance-metadata endpoint",
64
- "finding_id": "ssrf-meta-hardcoded:catalog.js:547",
65
- "affectsAsset": null,
66
- "atEntity": null
67
- },
68
- {
69
- "stride": "T",
70
- "strideLabel": "Tampering",
71
- "cwe": "CWE-367",
72
- "family": "toctou-file-existence-permission-check-b",
73
- "severity": "medium",
74
- "file": "cross-service-taint.js",
75
- "line": 53,
76
- "vuln": "TOCTOU: file existence/permission check before open",
77
- "finding_id": "toctou-fs:cross-service-taint.js:53",
78
- "affectsAsset": null,
79
- "atEntity": null
80
- },
81
- {
82
- "stride": "T",
83
- "strideLabel": "Tampering",
84
- "cwe": "CWE-367",
85
- "family": "toctou-file-existence-permission-check-b",
86
- "severity": "medium",
87
- "file": "cross-service-taint.js",
88
- "line": 97,
89
- "vuln": "TOCTOU: file existence/permission check before open",
90
- "finding_id": "toctou-fs:cross-service-taint.js:97",
91
- "affectsAsset": null,
92
- "atEntity": null
93
- },
94
- {
95
- "stride": "I",
96
- "strideLabel": "Information Disclosure",
97
- "cwe": "CWE-918",
98
- "family": "ssrf",
99
- "severity": "medium",
100
- "file": "exploit-prover.js",
101
- "line": 33,
102
- "vuln": "SSRF: explicit reference to cloud instance-metadata endpoint",
103
- "finding_id": "ssrf-meta-hardcoded:exploit-prover.js:33",
104
- "affectsAsset": null,
105
- "atEntity": null
106
- },
107
- {
108
- "stride": "E",
109
- "strideLabel": "Elevation of Privilege",
110
- "cwe": "CWE-918",
111
- "family": "ssrf",
112
- "severity": "medium",
113
- "file": "exploit-prover.js",
114
- "line": 33,
115
- "vuln": "SSRF: explicit reference to cloud instance-metadata endpoint",
116
- "finding_id": "ssrf-meta-hardcoded:exploit-prover.js:33",
117
- "affectsAsset": null,
118
- "atEntity": null
119
- },
120
- {
121
- "stride": "T",
122
- "strideLabel": "Tampering",
123
- "cwe": "CWE-367",
124
- "family": "toctou-file-existence-permission-check-b",
125
- "severity": "medium",
126
- "file": "ifds-precise.js",
127
- "line": 177,
128
- "vuln": "TOCTOU: file existence/permission check before open",
129
- "finding_id": "toctou-fs:ifds-precise.js:177",
130
- "affectsAsset": null,
131
- "atEntity": null
132
- },
133
- {
134
- "stride": "T",
135
- "strideLabel": "Tampering",
136
- "cwe": "CWE-367",
137
- "family": "toctou-file-existence-permission-check-b",
138
- "severity": "medium",
139
- "file": "incremental.js",
140
- "line": 50,
141
- "vuln": "TOCTOU: file existence/permission check before open",
142
- "finding_id": "toctou-fs:incremental.js:50",
143
- "affectsAsset": null,
144
- "atEntity": null
145
- },
146
- {
147
- "stride": "T",
148
- "strideLabel": "Tampering",
149
- "cwe": "CWE-367",
150
- "family": "toctou-file-existence-permission-check-b",
151
- "severity": "medium",
152
- "file": "incremental.js",
153
- "line": 68,
154
- "vuln": "TOCTOU: file existence/permission check before open",
155
- "finding_id": "toctou-fs:incremental.js:68",
156
- "affectsAsset": null,
157
- "atEntity": null
158
- }
159
- ],
160
- "attackTrees": []
161
- }
@@ -1,43 +0,0 @@
1
- # Threat Model (auto-generated)
2
-
3
- Generated by agentic-security on 2026-05-31.
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
- ### Tampering (8)
23
-
24
- - [medium] **dos-sync-io** (CWE-400) at `cross-service-taint.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
25
- - [medium] **dos-sync-io** (CWE-400) at `ifds-precise.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
26
- - [medium] **dos-sync-io** (CWE-400) at `incremental.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
27
- - [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `cross-service-taint.js:53` — TOCTOU: file existence/permission check before open
28
- - [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `cross-service-taint.js:97` — TOCTOU: file existence/permission check before open
29
- - [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `ifds-precise.js:177` — TOCTOU: file existence/permission check before open
30
- - [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `incremental.js:50` — TOCTOU: file existence/permission check before open
31
- - [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `incremental.js:68` — TOCTOU: file existence/permission check before open
32
-
33
- ### Information Disclosure (2)
34
-
35
- - [medium] **ssrf** (CWE-918) at `catalog.js:547` — SSRF: explicit reference to cloud instance-metadata endpoint
36
- - [medium] **ssrf** (CWE-918) at `exploit-prover.js:33` — SSRF: explicit reference to cloud instance-metadata endpoint
37
-
38
- ### Elevation of Privilege (2)
39
-
40
- - [medium] **ssrf** (CWE-918) at `catalog.js:547` — SSRF: explicit reference to cloud instance-metadata endpoint
41
- - [medium] **ssrf** (CWE-918) at `exploit-prover.js:33` — SSRF: explicit reference to cloud instance-metadata endpoint
42
-
43
- ## Attack trees
@@ -1,26 +0,0 @@
1
- # Data Protection Impact Assessment (DPIA)
2
-
3
- Generated by agentic-security scanner on 2026-05-31.
4
-
5
- This is an automated DPIA scaffold derived from static analysis.
6
- It must be reviewed and completed by a privacy officer before use.
7
-
8
- ## Data classes identified
9
-
10
- ## Privacy-related findings
11
-
12
- | Severity | File:Line | Class → Sink | Description |
13
- |---|---|---|---|
14
-
15
- ## Regulatory framework mapping
16
-
17
- - **GDPR Art. 35** — DPIA required when processing is likely to result in high risk to data subjects.
18
- - **CCPA §1798.130** — Notice + access rights for collected personal information.
19
-
20
- ## Reviewer checklist
21
-
22
- - [ ] Confirm each PII field's collection has a documented lawful basis
23
- - [ ] Confirm retention period for each class is documented
24
- - [ ] Confirm DSAR (data subject access request) workflow exists
25
- - [ ] Confirm encryption at rest + in transit for each class
26
- - [ ] Confirm logging of PII access for audit (where applicable)
@@ -1,77 +0,0 @@
1
- {
2
- "struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)": {
3
- "family": "mass-assignment",
4
- "exploitable": "unknown",
5
- "pocs": {
6
- "curl": null
7
- },
8
- "tests": {
9
- "jest": null,
10
- "pytest": null
11
- },
12
- "remediation": {
13
- "summary": "no template for this family yet — manual review required"
14
- },
15
- "stub": true
16
- },
17
- "struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)": {
18
- "family": "mass-assignment",
19
- "exploitable": "unknown",
20
- "pocs": {
21
- "curl": null
22
- },
23
- "tests": {
24
- "jest": null,
25
- "pytest": null
26
- },
27
- "remediation": {
28
- "summary": "no template for this family yet — manual review required"
29
- },
30
- "stub": true
31
- },
32
- "struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)": {
33
- "family": "mass-assignment",
34
- "exploitable": "unknown",
35
- "pocs": {
36
- "curl": null
37
- },
38
- "tests": {
39
- "jest": null,
40
- "pytest": null
41
- },
42
- "remediation": {
43
- "summary": "no template for this family yet — manual review required"
44
- },
45
- "stub": true
46
- },
47
- "struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)": {
48
- "family": "mass-assignment",
49
- "exploitable": "unknown",
50
- "pocs": {
51
- "curl": null
52
- },
53
- "tests": {
54
- "jest": null,
55
- "pytest": null
56
- },
57
- "remediation": {
58
- "summary": "no template for this family yet — manual review required"
59
- },
60
- "stub": true
61
- },
62
- "struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)": {
63
- "family": "mass-assignment",
64
- "exploitable": "unknown",
65
- "pocs": {
66
- "curl": null
67
- },
68
- "tests": {
69
- "jest": null,
70
- "pytest": null
71
- },
72
- "remediation": {
73
- "summary": "no template for this family yet — manual review required"
74
- },
75
- "stub": true
76
- }
77
- }