@clear-capabilities/agentic-security-scanner 0.118.2 → 0.119.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.
- package/CHANGELOG.md +274 -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 +18 -18
- package/dist/agentic-security.mjs.sha256 +1 -1
- package/package.json +13 -8
- package/src/dataflow/CLAUDE.md +1 -1
- package/src/dataflow/catalog.js +50 -11
- package/src/dataflow/engine.js +76 -1
- package/src/dataflow/implicit-flow.js +4 -2
- package/src/dataflow/index.js +9 -4
- package/src/dataflow/proof-gate.js +5 -0
- package/src/dataflow/summaries.js +19 -1
- package/src/engine.js +95 -7
- package/src/ir/parser-go.js +8 -0
- package/src/mcp/tools.js +6 -2
- package/src/posture/fix-history.js +24 -0
- package/src/posture/provenance.js +39 -0
- 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 +50 -0
- package/src/sast/agent-untrusted-flow.js +107 -0
- package/src/sast/api-authz.js +71 -0
- package/src/sast/cross-service.js +98 -0
- package/src/sast/event-entrypoint.js +90 -0
- package/src/sast/iac-terraform.js +107 -0
- package/src/sast/rbac-consistency.js +113 -0
- package/src/sast/wrong-context-sanitizer.js +55 -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/dpia.md +0 -26
- 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/pqc-migration-plan.json +0 -80
- package/src/.agentic-security/pqc-migration-plan.md +0 -32
- package/src/.agentic-security/sbom-history/0775d96ba4cf814520d02760cfb3010760c7684f.json +0 -6
- package/src/.agentic-security/sbom-history/29300441d3460832137a8e51a92b74068cad2f15.json +0 -6
- package/src/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
- package/src/.agentic-security/sbom-history/3d96e2daec97e3226c9679bac6e64a89ca10bfe9.json +0 -6
- package/src/.agentic-security/sbom-history/5f0b136622fce09b469a1a6137c04d5b18652ea4.json +0 -6
- package/src/.agentic-security/sbom-history/64e30595d447b62344d0d9200760269df2095332.json +0 -6
- package/src/.agentic-security/sbom-history/71f3241902c9e7437764e3caa046ba8a3bcdd32a.json +0 -6
- package/src/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
- package/src/.agentic-security/sbom-history/9c93b15e8cf3ff2ddb8cdae92371b82e178b463c.json +0 -6
- package/src/.agentic-security/sbom-history/a3544abf1863d71776b61302ca74d9ead2b26a9f.json +0 -6
- package/src/.agentic-security/sbom-history/dca15abdec43c508aa342db86dc5db8d7f01fbbe.json +0 -6
- package/src/.agentic-security/scan-history.json +0 -12946
- package/src/.agentic-security/streak.json +0 -21
- package/src/.agentic-security/threat-model.json +0 -3702
- package/src/.agentic-security/threat-model.md +0 -118
- package/src/dataflow/.agentic-security/dpia.md +0 -26
- 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/sbom-history/15d7c4d20f9d968ebec29445c9e9b3fc6f74e6a1.json +0 -6
- package/src/dataflow/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
- package/src/dataflow/.agentic-security/sbom-history/73166872888d9ddcbe98645af818ecc7d8917b07.json +0 -6
- package/src/dataflow/.agentic-security/sbom-history/8869fe64035bec0152d92ece961e9369d8637076.json +0 -6
- package/src/dataflow/.agentic-security/sbom-history/9c93b15e8cf3ff2ddb8cdae92371b82e178b463c.json +0 -6
- package/src/dataflow/.agentic-security/sbom-history/b7ac2dada4a9216ccfe8969fc57f988c83f46975.json +0 -6
- package/src/dataflow/.agentic-security/scan-history.json +0 -250
- package/src/dataflow/.agentic-security/streak.json +0 -21
- package/src/dataflow/.agentic-security/threat-model.json +0 -161
- package/src/dataflow/.agentic-security/threat-model.md +0 -43
- package/src/ir/.agentic-security/dpia.md +0 -26
- package/src/ir/.agentic-security/exploit-bundles.json +0 -77
- 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/sbom-history/73166872888d9ddcbe98645af818ecc7d8917b07.json +0 -6
- package/src/ir/.agentic-security/sbom-history/b5f468a158f6a145aedd8680841c106b9809f16b.json +0 -6
- package/src/ir/.agentic-security/scan-history.json +0 -193
- package/src/ir/.agentic-security/streak.json +0 -20
- package/src/ir/.agentic-security/threat-model.json +0 -143
- package/src/ir/.agentic-security/threat-model.md +0 -39
- 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/0724c133d2943c87555695b5b2adcfcfc3373a2d.json +0 -6
- package/src/posture/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
- package/src/posture/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
- package/src/posture/.agentic-security/sbom-history/b7ac2dada4a9216ccfe8969fc57f988c83f46975.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/dpia.md +0 -26
- package/src/report/.agentic-security/sbom-history/7d45b5e03804aac084b4a2b4dc8c6f10107d2005.json +0 -6
- package/src/report/.agentic-security/sbom-history/f94be839aa6a1011f53da016416a561698b8f338.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/dpia.md +0 -26
- 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/pqc-migration-plan.json +0 -65
- package/src/sast/.agentic-security/pqc-migration-plan.md +0 -30
- package/src/sast/.agentic-security/sbom-history/043a7b401c68f5a298c83d4c42e94f118ff2a89a.json +0 -6
- package/src/sast/.agentic-security/sbom-history/0775d96ba4cf814520d02760cfb3010760c7684f.json +0 -6
- package/src/sast/.agentic-security/sbom-history/20d77ad7363a82777d506dedbbb1ecfed52f094a.json +0 -6
- package/src/sast/.agentic-security/sbom-history/29300441d3460832137a8e51a92b74068cad2f15.json +0 -6
- package/src/sast/.agentic-security/sbom-history/3852ad2aa0e50951bed0c930c29d1861aa13d048.json +0 -6
- package/src/sast/.agentic-security/sbom-history/3c6b3205f04e26f7654943d465281d00e0fa395e.json +0 -6
- package/src/sast/.agentic-security/sbom-history/3d96e2daec97e3226c9679bac6e64a89ca10bfe9.json +0 -6
- package/src/sast/.agentic-security/sbom-history/5282502e090013219eb006f7e02d8c983bc29c8e.json +0 -6
- package/src/sast/.agentic-security/sbom-history/5f0b136622fce09b469a1a6137c04d5b18652ea4.json +0 -6
- package/src/sast/.agentic-security/sbom-history/64e30595d447b62344d0d9200760269df2095332.json +0 -6
- package/src/sast/.agentic-security/sbom-history/71f3241902c9e7437764e3caa046ba8a3bcdd32a.json +0 -6
- package/src/sast/.agentic-security/sbom-history/73514b485d4770f3c5ee57d87338bccd1c61d8b7.json +0 -6
- package/src/sast/.agentic-security/sbom-history/96fa584fc3134512237d58aac63d6f3778b0cbcb.json +0 -6
- package/src/sast/.agentic-security/sbom-history/99c372cdc33ecc9dde92960b4ffadf7775860e61.json +0 -6
- package/src/sast/.agentic-security/sbom-history/a3544abf1863d71776b61302ca74d9ead2b26a9f.json +0 -6
- package/src/sast/.agentic-security/sbom-history/a4a34ab8b3d758de2adc8c3dc3e42d4cb0db00a3.json +0 -6
- package/src/sast/.agentic-security/sbom-history/ac236ec3602cfc8fb133f389ec3687e409084673.json +0 -6
- package/src/sast/.agentic-security/sbom-history/b57b3e1292f1f9f0de6c5a34a436e330c78008a3.json +0 -6
- package/src/sast/.agentic-security/sbom-history/dca15abdec43c508aa342db86dc5db8d7f01fbbe.json +0 -6
- package/src/sast/.agentic-security/sbom-history/dcbfd4935922dd165093c08a1003c338eed937c5.json +0 -6
- package/src/sast/.agentic-security/sbom-history/fa017f725615b0293814344c8ef7dfeb06775ca0.json +0 -6
- package/src/sast/.agentic-security/scan-history.json +0 -941
- package/src/sast/.agentic-security/streak.json +0 -22
- package/src/sast/.agentic-security/threat-model.json +0 -816
- package/src/sast/.agentic-security/threat-model.md +0 -91
- 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 +0,0 @@
|
|
|
1
|
-
da76e96762f8d7ee6ac2ee8968d5822c14bee45de513ed9c1d60cf6f6694c261
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"timestamp": "2026-05-28T18:59:26.541Z",
|
|
4
|
-
"label": "scan",
|
|
5
|
-
"total": 15,
|
|
6
|
-
"critical": 0,
|
|
7
|
-
"high": 5,
|
|
8
|
-
"medium": 10,
|
|
9
|
-
"low": 0,
|
|
10
|
-
"kev": 0,
|
|
11
|
-
"ids": [
|
|
12
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
13
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
14
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
15
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
16
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
17
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
18
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
19
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
20
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
21
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
22
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
23
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
24
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
25
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
26
|
-
"toctou-fs:type-stubs.js:48"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"timestamp": "2026-05-28T19:04:00.910Z",
|
|
31
|
-
"label": "scan",
|
|
32
|
-
"total": 15,
|
|
33
|
-
"critical": 0,
|
|
34
|
-
"high": 5,
|
|
35
|
-
"medium": 10,
|
|
36
|
-
"low": 0,
|
|
37
|
-
"kev": 0,
|
|
38
|
-
"ids": [
|
|
39
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
40
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
41
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
42
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
43
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
44
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
45
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
46
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
47
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
48
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
49
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
50
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
51
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
52
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
53
|
-
"toctou-fs:type-stubs.js:48"
|
|
54
|
-
]
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"timestamp": "2026-05-28T19:06:14.172Z",
|
|
58
|
-
"label": "scan",
|
|
59
|
-
"total": 15,
|
|
60
|
-
"critical": 0,
|
|
61
|
-
"high": 5,
|
|
62
|
-
"medium": 10,
|
|
63
|
-
"low": 0,
|
|
64
|
-
"kev": 0,
|
|
65
|
-
"ids": [
|
|
66
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
67
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
68
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
69
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
70
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
71
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
72
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
73
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
74
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
75
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
76
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
77
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
78
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
79
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
80
|
-
"toctou-fs:type-stubs.js:48"
|
|
81
|
-
]
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"timestamp": "2026-05-28T19:06:52.695Z",
|
|
85
|
-
"label": "scan",
|
|
86
|
-
"total": 15,
|
|
87
|
-
"critical": 0,
|
|
88
|
-
"high": 5,
|
|
89
|
-
"medium": 10,
|
|
90
|
-
"low": 0,
|
|
91
|
-
"kev": 0,
|
|
92
|
-
"ids": [
|
|
93
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
94
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
95
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
96
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
97
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
98
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
99
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
100
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
101
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
102
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
103
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
104
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
105
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
106
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
107
|
-
"toctou-fs:type-stubs.js:48"
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"timestamp": "2026-05-28T20:16:46.839Z",
|
|
112
|
-
"label": "scan",
|
|
113
|
-
"total": 15,
|
|
114
|
-
"critical": 0,
|
|
115
|
-
"high": 5,
|
|
116
|
-
"medium": 10,
|
|
117
|
-
"low": 0,
|
|
118
|
-
"kev": 0,
|
|
119
|
-
"ids": [
|
|
120
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
121
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
122
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
123
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
124
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
125
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
126
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
127
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
128
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
129
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
130
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
131
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
132
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
133
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
134
|
-
"toctou-fs:type-stubs.js:48"
|
|
135
|
-
]
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"timestamp": "2026-05-28T21:57:00.566Z",
|
|
139
|
-
"label": "scan",
|
|
140
|
-
"total": 16,
|
|
141
|
-
"critical": 0,
|
|
142
|
-
"high": 5,
|
|
143
|
-
"medium": 11,
|
|
144
|
-
"low": 0,
|
|
145
|
-
"kev": 0,
|
|
146
|
-
"ids": [
|
|
147
|
-
"struct:cpp-preprocessor.js:94:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
148
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
149
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
150
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
151
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
152
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
153
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
154
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
155
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
156
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
157
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
158
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
159
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
160
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
161
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
162
|
-
"toctou-fs:type-stubs.js:48"
|
|
163
|
-
]
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"timestamp": "2026-05-29T06:24:38.526Z",
|
|
167
|
-
"label": "scan",
|
|
168
|
-
"total": 16,
|
|
169
|
-
"critical": 0,
|
|
170
|
-
"high": 5,
|
|
171
|
-
"medium": 11,
|
|
172
|
-
"low": 0,
|
|
173
|
-
"kev": 0,
|
|
174
|
-
"ids": [
|
|
175
|
-
"struct:cpp-preprocessor.js:94:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
176
|
-
"struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
177
|
-
"struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
178
|
-
"struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
179
|
-
"struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
180
|
-
"struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
181
|
-
"struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
182
|
-
"struct:type-stubs.js:190:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
183
|
-
"struct:type-stubs.js:198:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
184
|
-
"struct:type-stubs.js:216:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
185
|
-
"struct:type-stubs.js:245:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
186
|
-
"struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
187
|
-
"struct:type-stubs.js:57:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
188
|
-
"struct:type-stubs.js:58:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
189
|
-
"struct:type-stubs.js:79:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
190
|
-
"toctou-fs:type-stubs.js:48"
|
|
191
|
-
]
|
|
192
|
-
}
|
|
193
|
-
]
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"firstScanDate": "2026-05-28T18:59:26.568Z",
|
|
3
|
-
"lastScanDate": "2026-05-29T06:24:38.574Z",
|
|
4
|
-
"totalScans": 7,
|
|
5
|
-
"daysCleanCritical": 2,
|
|
6
|
-
"lastCleanDate": "2026-05-29",
|
|
7
|
-
"lastCriticalDate": null,
|
|
8
|
-
"hasEverHadCritical": false,
|
|
9
|
-
"bestDaysCleanCritical": 2,
|
|
10
|
-
"totalFindingsAtFirstScan": 16,
|
|
11
|
-
"totalFindingsAtLastScan": 17,
|
|
12
|
-
"totalFixesInferred": 0,
|
|
13
|
-
"lastGrade": "B",
|
|
14
|
-
"bestGrade": "B",
|
|
15
|
-
"launchCheckPassedAt": null,
|
|
16
|
-
"achievements": [
|
|
17
|
-
"first-scan"
|
|
18
|
-
],
|
|
19
|
-
"previousGrade": "B"
|
|
20
|
-
}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"entities": [],
|
|
3
|
-
"boundaries": [],
|
|
4
|
-
"assets": [],
|
|
5
|
-
"threats": [
|
|
6
|
-
{
|
|
7
|
-
"stride": "T",
|
|
8
|
-
"strideLabel": "Tampering",
|
|
9
|
-
"cwe": "CWE-915",
|
|
10
|
-
"family": "mass-assignment",
|
|
11
|
-
"severity": "high",
|
|
12
|
-
"file": "parser-cs.js",
|
|
13
|
-
"vuln": "Mass Assignment (req.body Direct to Model)",
|
|
14
|
-
"finding_id": "struct:parser-cs.js:208:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
15
|
-
"affectsAsset": null,
|
|
16
|
-
"atEntity": null
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"stride": "T",
|
|
20
|
-
"strideLabel": "Tampering",
|
|
21
|
-
"cwe": "CWE-915",
|
|
22
|
-
"family": "mass-assignment",
|
|
23
|
-
"severity": "high",
|
|
24
|
-
"file": "parser-go.js",
|
|
25
|
-
"vuln": "Mass Assignment (req.body Direct to Model)",
|
|
26
|
-
"finding_id": "struct:parser-go.js:253:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
27
|
-
"affectsAsset": null,
|
|
28
|
-
"atEntity": null
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"stride": "T",
|
|
32
|
-
"strideLabel": "Tampering",
|
|
33
|
-
"cwe": "CWE-915",
|
|
34
|
-
"family": "mass-assignment",
|
|
35
|
-
"severity": "high",
|
|
36
|
-
"file": "parser-kt.js",
|
|
37
|
-
"vuln": "Mass Assignment (req.body Direct to Model)",
|
|
38
|
-
"finding_id": "struct:parser-kt.js:207:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
39
|
-
"affectsAsset": null,
|
|
40
|
-
"atEntity": null
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"stride": "T",
|
|
44
|
-
"strideLabel": "Tampering",
|
|
45
|
-
"cwe": "CWE-915",
|
|
46
|
-
"family": "mass-assignment",
|
|
47
|
-
"severity": "high",
|
|
48
|
-
"file": "parser-php.js",
|
|
49
|
-
"vuln": "Mass Assignment (req.body Direct to Model)",
|
|
50
|
-
"finding_id": "struct:parser-php.js:209:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
51
|
-
"affectsAsset": null,
|
|
52
|
-
"atEntity": null
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"stride": "T",
|
|
56
|
-
"strideLabel": "Tampering",
|
|
57
|
-
"cwe": "CWE-915",
|
|
58
|
-
"family": "mass-assignment",
|
|
59
|
-
"severity": "high",
|
|
60
|
-
"file": "parser-rb.js",
|
|
61
|
-
"vuln": "Mass Assignment (req.body Direct to Model)",
|
|
62
|
-
"finding_id": "struct:parser-rb.js:201:Mass_Assignment_(req.body_Direct_to_Model)",
|
|
63
|
-
"affectsAsset": null,
|
|
64
|
-
"atEntity": null
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"stride": "T",
|
|
68
|
-
"strideLabel": "Tampering",
|
|
69
|
-
"cwe": "CWE-400",
|
|
70
|
-
"family": "dos-sync-io",
|
|
71
|
-
"severity": "medium",
|
|
72
|
-
"file": "cpp-preprocessor.js",
|
|
73
|
-
"vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
|
|
74
|
-
"finding_id": "struct:cpp-preprocessor.js:94:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
75
|
-
"affectsAsset": null,
|
|
76
|
-
"atEntity": null
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"stride": "T",
|
|
80
|
-
"strideLabel": "Tampering",
|
|
81
|
-
"cwe": "CWE-400",
|
|
82
|
-
"family": "dos-sync-io",
|
|
83
|
-
"severity": "medium",
|
|
84
|
-
"file": "type-stubs.js",
|
|
85
|
-
"vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
|
|
86
|
-
"finding_id": "struct:type-stubs.js:48:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
87
|
-
"affectsAsset": null,
|
|
88
|
-
"atEntity": null
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"stride": "T",
|
|
92
|
-
"strideLabel": "Tampering",
|
|
93
|
-
"cwe": "CWE-400",
|
|
94
|
-
"family": "dos-sync-io",
|
|
95
|
-
"severity": "medium",
|
|
96
|
-
"file": "parser-py-cst.js",
|
|
97
|
-
"vuln": "Synchronous Blocking I/O (DoS Risk in Server Context)",
|
|
98
|
-
"finding_id": "struct:parser-py-cst.js:91:Synchronous_Blocking_I/O_(DoS_Risk_in_Server_Context)",
|
|
99
|
-
"affectsAsset": null,
|
|
100
|
-
"atEntity": null
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"stride": "I",
|
|
104
|
-
"strideLabel": "Information Disclosure",
|
|
105
|
-
"cwe": "CWE-327",
|
|
106
|
-
"family": "crypto-weak-hash",
|
|
107
|
-
"severity": "medium",
|
|
108
|
-
"file": "parser-py.helper.py",
|
|
109
|
-
"line": 68,
|
|
110
|
-
"vuln": "Weak hash algorithm (MD5 / SHA-1 / MD2 / MD4) used",
|
|
111
|
-
"finding_id": "crypto-weak-hash:parser-py.helper.py:68",
|
|
112
|
-
"affectsAsset": null,
|
|
113
|
-
"atEntity": null
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"stride": "T",
|
|
117
|
-
"strideLabel": "Tampering",
|
|
118
|
-
"cwe": "CWE-367",
|
|
119
|
-
"family": "toctou-file-existence-permission-check-b",
|
|
120
|
-
"severity": "medium",
|
|
121
|
-
"file": "type-stubs.js",
|
|
122
|
-
"line": 48,
|
|
123
|
-
"vuln": "TOCTOU: file existence/permission check before open",
|
|
124
|
-
"finding_id": "toctou-fs:type-stubs.js:48",
|
|
125
|
-
"affectsAsset": null,
|
|
126
|
-
"atEntity": null
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"stride": "T",
|
|
130
|
-
"strideLabel": "Tampering",
|
|
131
|
-
"cwe": "CWE-176",
|
|
132
|
-
"family": "path-normalization",
|
|
133
|
-
"severity": "medium",
|
|
134
|
-
"file": "universal-ir.js",
|
|
135
|
-
"line": 93,
|
|
136
|
-
"vuln": "Path Normalization Gap — extension extraction without null-byte/traversal sanitization",
|
|
137
|
-
"finding_id": "path-norm:universal-ir.js:93",
|
|
138
|
-
"affectsAsset": null,
|
|
139
|
-
"atEntity": null
|
|
140
|
-
}
|
|
141
|
-
],
|
|
142
|
-
"attackTrees": []
|
|
143
|
-
}
|
|
@@ -1,39 +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 (10)
|
|
23
|
-
|
|
24
|
-
- [high] **mass-assignment** (CWE-915) at `parser-cs.js:undefined` — Mass Assignment (req.body Direct to Model)
|
|
25
|
-
- [high] **mass-assignment** (CWE-915) at `parser-go.js:undefined` — Mass Assignment (req.body Direct to Model)
|
|
26
|
-
- [high] **mass-assignment** (CWE-915) at `parser-kt.js:undefined` — Mass Assignment (req.body Direct to Model)
|
|
27
|
-
- [high] **mass-assignment** (CWE-915) at `parser-php.js:undefined` — Mass Assignment (req.body Direct to Model)
|
|
28
|
-
- [high] **mass-assignment** (CWE-915) at `parser-rb.js:undefined` — Mass Assignment (req.body Direct to Model)
|
|
29
|
-
- [medium] **dos-sync-io** (CWE-400) at `cpp-preprocessor.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
|
|
30
|
-
- [medium] **dos-sync-io** (CWE-400) at `type-stubs.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
|
|
31
|
-
- [medium] **dos-sync-io** (CWE-400) at `parser-py-cst.js:undefined` — Synchronous Blocking I/O (DoS Risk in Server Context)
|
|
32
|
-
- [medium] **toctou-file-existence-permission-check-b** (CWE-367) at `type-stubs.js:48` — TOCTOU: file existence/permission check before open
|
|
33
|
-
- [medium] **path-normalization** (CWE-176) at `universal-ir.js:93` — Path Normalization Gap — extension extraction without null-byte/traversal sanitization
|
|
34
|
-
|
|
35
|
-
### Information Disclosure (1)
|
|
36
|
-
|
|
37
|
-
- [medium] **crypto-weak-hash** (CWE-327) at `parser-py.helper.py:68` — Weak hash algorithm (MD5 / SHA-1 / MD2 / MD4) used
|
|
38
|
-
|
|
39
|
-
## Attack trees
|