@clear-capabilities/agentic-security-scanner 0.76.1 → 0.78.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.
- package/bin/.agentic-security/findings.json +320 -9
- package/bin/.agentic-security/last-scan.json +320 -9
- package/bin/.agentic-security/last-scan.json.sig +1 -1
- package/bin/.agentic-security/scan-history.json +17 -377
- package/bin/.agentic-security/streak.json +11 -16
- package/bin/agentic-security.js +33 -2
- package/dist/178.index.js +1 -1
- package/dist/384.index.js +1 -1
- package/dist/637.index.js +1 -1
- package/dist/718.index.js +106 -0
- package/dist/824.index.js +126 -0
- package/dist/838.index.js +1 -1
- package/dist/agentic-security.mjs +32 -32
- package/dist/agentic-security.mjs.sha256 +1 -1
- package/package.json +7 -7
- package/src/.agentic-security/findings.json +5731 -3933
- package/src/.agentic-security/last-scan.json +5731 -3933
- package/src/.agentic-security/last-scan.json.sig +1 -1
- package/src/.agentic-security/scan-history.json +2533 -887
- package/src/.agentic-security/streak.json +11 -16
- package/src/dataflow/.agentic-security/findings.json +52 -24
- package/src/dataflow/.agentic-security/last-scan.json +52 -24
- package/src/dataflow/.agentic-security/last-scan.json.sig +1 -1
- package/src/dataflow/.agentic-security/scan-history.json +101 -134
- package/src/dataflow/.agentic-security/streak.json +8 -10
- package/src/dataflow/async-sequencing.js +16 -7
- package/src/dataflow/builtin-summaries.js +131 -0
- package/src/dataflow/catalog.js +107 -0
- package/src/dataflow/cross-repo.js +75 -1
- package/src/dataflow/engine.js +129 -0
- package/src/dataflow/implicit-flow.js +24 -6
- package/src/dataflow/stub-aware-filter.js +69 -11
- package/src/dataflow/summaries.js +28 -3
- package/src/engine-parallel.js +70 -0
- package/src/engine.js +165 -15
- package/src/ir/.agentic-security/findings.json +757 -16
- package/src/ir/.agentic-security/last-scan.json +757 -16
- package/src/ir/.agentic-security/last-scan.json.sig +1 -1
- package/src/ir/.agentic-security/scan-history.json +545 -138
- package/src/ir/.agentic-security/streak.json +11 -13
- package/src/ir/index.js +22 -1
- package/src/ir/parser-go.js +403 -0
- package/src/ir/parser-js.js +2 -0
- package/src/ir/parser-php.js +330 -0
- package/src/ir/parser-py.helper.py +137 -11
- package/src/ir/parser-rb.js +309 -0
- package/src/posture/.agentic-security/findings.json +407 -84
- package/src/posture/.agentic-security/last-scan.json +407 -84
- package/src/posture/.agentic-security/last-scan.json.sig +1 -1
- package/src/posture/.agentic-security/scan-history.json +16 -4923
- package/src/posture/.agentic-security/streak.json +10 -14
- package/src/posture/calibration.js +14 -0
- package/src/posture/triage.js +13 -0
- package/src/report/.agentic-security/findings.json +6 -5
- package/src/report/.agentic-security/last-scan.json +6 -5
- package/src/report/.agentic-security/last-scan.json.sig +1 -1
- package/src/report/.agentic-security/scan-history.json +3 -300
- package/src/report/.agentic-security/streak.json +7 -8
- package/src/report/index.js +23 -2
- package/src/sast/.agentic-security/findings.json +195 -56
- package/src/sast/.agentic-security/last-scan.json +195 -56
- package/src/sast/.agentic-security/last-scan.json.sig +1 -1
- package/src/sast/.agentic-security/scan-history.json +14 -394
- package/src/sast/.agentic-security/streak.json +10 -13
- package/src/sast/cache-poisoning.js +77 -0
- package/src/sast/comparison-safety.js +73 -0
- package/src/sast/db-taint.js +54 -0
- package/src/sast/graphql.js +127 -0
- package/src/sast/llm-stored-prompt.js +57 -0
- package/src/sast/mutation-xss.js +43 -0
- package/src/sast/nosql-injection.js +5 -0
- package/src/sast/null-byte-injection.js +76 -0
- package/src/sast/redos-nfa.js +338 -0
- package/src/sast/sensitive-data-logging.js +73 -0
- package/src/sast/weak-password-hash.js +77 -0
- package/src/sast/weak-randomness.js +100 -0
- package/src/sca/.agentic-security/findings.json +502 -11
- package/src/sca/.agentic-security/last-scan.json +502 -11
- package/src/sca/.agentic-security/last-scan.json.sig +1 -1
- package/src/sca/.agentic-security/scan-history.json +19 -1
- package/src/sca/.agentic-security/streak.json +6 -6
- package/src/sca/llm-function-extract.js +107 -0
- package/src/sca/vendor-detect.js +91 -0
- package/dist/218.index.js +0 -793
- package/dist/601.index.js +0 -1038
- package/dist/634.index.js +0 -1892
- package/src/integrations/.agentic-security/findings.json +0 -1504
- package/src/integrations/.agentic-security/last-scan.json +0 -1504
- package/src/integrations/.agentic-security/scan-history.json +0 -40
- package/src/integrations/.agentic-security/streak.json +0 -21
- package/src/llm-validator/.agentic-security/findings.json +0 -1891
- package/src/llm-validator/.agentic-security/last-scan.json +0 -1891
- package/src/llm-validator/.agentic-security/last-scan.json.sig +0 -1
- package/src/llm-validator/.agentic-security/scan-history.json +0 -168
- package/src/llm-validator/.agentic-security/streak.json +0 -20
- package/src/lsp/.agentic-security/findings.json +0 -28
- package/src/lsp/.agentic-security/last-scan.json +0 -28
- package/src/lsp/.agentic-security/scan-history.json +0 -79
- package/src/lsp/.agentic-security/streak.json +0 -22
- package/src/mcp/.agentic-security/findings.json +0 -8403
- package/src/mcp/.agentic-security/last-scan.json +0 -8403
- package/src/mcp/.agentic-security/last-scan.json.sig +0 -1
- package/src/mcp/.agentic-security/scan-history.json +0 -1182
- package/src/mcp/.agentic-security/streak.json +0 -22
- package/src/sast/bench-shape/.agentic-security/findings.json +0 -28
- package/src/sast/bench-shape/.agentic-security/last-scan.json +0 -28
- package/src/sast/bench-shape/.agentic-security/scan-history.json +0 -24
- package/src/sast/bench-shape/.agentic-security/streak.json +0 -22
|
@@ -1,255 +1,6 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"timestamp": "2026-05-
|
|
4
|
-
"label": "scan",
|
|
5
|
-
"total": 1,
|
|
6
|
-
"critical": 0,
|
|
7
|
-
"high": 0,
|
|
8
|
-
"medium": 1,
|
|
9
|
-
"low": 0,
|
|
10
|
-
"kev": 0,
|
|
11
|
-
"ids": [
|
|
12
|
-
"toctou-fs:agentic-security.js:1105"
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"timestamp": "2026-05-19T18:33:28.315Z",
|
|
17
|
-
"label": "scan",
|
|
18
|
-
"total": 1,
|
|
19
|
-
"critical": 0,
|
|
20
|
-
"high": 0,
|
|
21
|
-
"medium": 1,
|
|
22
|
-
"low": 0,
|
|
23
|
-
"kev": 0,
|
|
24
|
-
"ids": [
|
|
25
|
-
"toctou-fs:agentic-security.js:1105"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"timestamp": "2026-05-19T22:20:41.048Z",
|
|
30
|
-
"label": "scan",
|
|
31
|
-
"total": 3,
|
|
32
|
-
"critical": 0,
|
|
33
|
-
"high": 0,
|
|
34
|
-
"medium": 3,
|
|
35
|
-
"low": 0,
|
|
36
|
-
"kev": 0,
|
|
37
|
-
"ids": [
|
|
38
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
39
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
40
|
-
"toctou-fs:agentic-security.js:1105"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"timestamp": "2026-05-19T22:27:05.052Z",
|
|
45
|
-
"label": "scan",
|
|
46
|
-
"total": 4,
|
|
47
|
-
"critical": 0,
|
|
48
|
-
"high": 0,
|
|
49
|
-
"medium": 4,
|
|
50
|
-
"low": 0,
|
|
51
|
-
"kev": 0,
|
|
52
|
-
"ids": [
|
|
53
|
-
"toctou-fs:agentic-security-audit.js:53",
|
|
54
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
55
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
56
|
-
"toctou-fs:agentic-security.js:1105"
|
|
57
|
-
]
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"timestamp": "2026-05-19T22:59:58.518Z",
|
|
61
|
-
"label": "scan",
|
|
62
|
-
"total": 4,
|
|
63
|
-
"critical": 0,
|
|
64
|
-
"high": 0,
|
|
65
|
-
"medium": 4,
|
|
66
|
-
"low": 0,
|
|
67
|
-
"kev": 0,
|
|
68
|
-
"ids": [
|
|
69
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
70
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
71
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
72
|
-
"toctou-fs:agentic-security.js:1105"
|
|
73
|
-
]
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"timestamp": "2026-05-19T23:00:22.780Z",
|
|
77
|
-
"label": "scan",
|
|
78
|
-
"total": 4,
|
|
79
|
-
"critical": 0,
|
|
80
|
-
"high": 0,
|
|
81
|
-
"medium": 4,
|
|
82
|
-
"low": 0,
|
|
83
|
-
"kev": 0,
|
|
84
|
-
"ids": [
|
|
85
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
86
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
87
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
88
|
-
"toctou-fs:agentic-security.js:1105"
|
|
89
|
-
]
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"timestamp": "2026-05-19T23:44:16.929Z",
|
|
93
|
-
"label": "scan",
|
|
94
|
-
"total": 4,
|
|
95
|
-
"critical": 0,
|
|
96
|
-
"high": 0,
|
|
97
|
-
"medium": 4,
|
|
98
|
-
"low": 0,
|
|
99
|
-
"kev": 0,
|
|
100
|
-
"ids": [
|
|
101
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
102
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
103
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
104
|
-
"toctou-fs:agentic-security.js:1105"
|
|
105
|
-
]
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"timestamp": "2026-05-19T23:44:23.410Z",
|
|
109
|
-
"label": "scan",
|
|
110
|
-
"total": 4,
|
|
111
|
-
"critical": 0,
|
|
112
|
-
"high": 0,
|
|
113
|
-
"medium": 4,
|
|
114
|
-
"low": 0,
|
|
115
|
-
"kev": 0,
|
|
116
|
-
"ids": [
|
|
117
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
118
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
119
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
120
|
-
"toctou-fs:agentic-security.js:1105"
|
|
121
|
-
]
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"timestamp": "2026-05-20T03:55:11.940Z",
|
|
125
|
-
"label": "scan",
|
|
126
|
-
"total": 4,
|
|
127
|
-
"critical": 0,
|
|
128
|
-
"high": 0,
|
|
129
|
-
"medium": 4,
|
|
130
|
-
"low": 0,
|
|
131
|
-
"kev": 0,
|
|
132
|
-
"ids": [
|
|
133
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
134
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
135
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
136
|
-
"toctou-fs:agentic-security.js:1105"
|
|
137
|
-
]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"timestamp": "2026-05-20T03:55:17.682Z",
|
|
141
|
-
"label": "scan",
|
|
142
|
-
"total": 4,
|
|
143
|
-
"critical": 0,
|
|
144
|
-
"high": 0,
|
|
145
|
-
"medium": 4,
|
|
146
|
-
"low": 0,
|
|
147
|
-
"kev": 0,
|
|
148
|
-
"ids": [
|
|
149
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
150
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
151
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
152
|
-
"toctou-fs:agentic-security.js:1105"
|
|
153
|
-
]
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"timestamp": "2026-05-20T04:58:44.060Z",
|
|
157
|
-
"label": "scan",
|
|
158
|
-
"total": 4,
|
|
159
|
-
"critical": 0,
|
|
160
|
-
"high": 0,
|
|
161
|
-
"medium": 4,
|
|
162
|
-
"low": 0,
|
|
163
|
-
"kev": 0,
|
|
164
|
-
"ids": [
|
|
165
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
166
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
167
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
168
|
-
"toctou-fs:agentic-security.js:1105"
|
|
169
|
-
]
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"timestamp": "2026-05-20T04:58:56.341Z",
|
|
173
|
-
"label": "scan",
|
|
174
|
-
"total": 4,
|
|
175
|
-
"critical": 0,
|
|
176
|
-
"high": 0,
|
|
177
|
-
"medium": 4,
|
|
178
|
-
"low": 0,
|
|
179
|
-
"kev": 0,
|
|
180
|
-
"ids": [
|
|
181
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
182
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
183
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
184
|
-
"toctou-fs:agentic-security.js:1105"
|
|
185
|
-
]
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"timestamp": "2026-05-20T05:13:43.297Z",
|
|
189
|
-
"label": "scan",
|
|
190
|
-
"total": 4,
|
|
191
|
-
"critical": 0,
|
|
192
|
-
"high": 0,
|
|
193
|
-
"medium": 4,
|
|
194
|
-
"low": 0,
|
|
195
|
-
"kev": 0,
|
|
196
|
-
"ids": [
|
|
197
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
198
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
199
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
200
|
-
"toctou-fs:agentic-security.js:1105"
|
|
201
|
-
]
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"timestamp": "2026-05-20T05:34:26.018Z",
|
|
205
|
-
"label": "scan",
|
|
206
|
-
"total": 4,
|
|
207
|
-
"critical": 0,
|
|
208
|
-
"high": 0,
|
|
209
|
-
"medium": 4,
|
|
210
|
-
"low": 0,
|
|
211
|
-
"kev": 0,
|
|
212
|
-
"ids": [
|
|
213
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
214
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
215
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
216
|
-
"toctou-fs:agentic-security.js:1105"
|
|
217
|
-
]
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"timestamp": "2026-05-20T05:34:33.300Z",
|
|
221
|
-
"label": "scan",
|
|
222
|
-
"total": 4,
|
|
223
|
-
"critical": 0,
|
|
224
|
-
"high": 0,
|
|
225
|
-
"medium": 4,
|
|
226
|
-
"low": 0,
|
|
227
|
-
"kev": 0,
|
|
228
|
-
"ids": [
|
|
229
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
230
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
231
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
232
|
-
"toctou-fs:agentic-security.js:1105"
|
|
233
|
-
]
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"timestamp": "2026-05-20T12:41:04.981Z",
|
|
237
|
-
"label": "scan",
|
|
238
|
-
"total": 4,
|
|
239
|
-
"critical": 0,
|
|
240
|
-
"high": 0,
|
|
241
|
-
"medium": 4,
|
|
242
|
-
"low": 0,
|
|
243
|
-
"kev": 0,
|
|
244
|
-
"ids": [
|
|
245
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
246
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
247
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
248
|
-
"toctou-fs:agentic-security.js:1105"
|
|
249
|
-
]
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"timestamp": "2026-05-20T12:41:11.169Z",
|
|
3
|
+
"timestamp": "2026-05-26T04:00:10.464Z",
|
|
253
4
|
"label": "scan",
|
|
254
5
|
"total": 4,
|
|
255
6
|
"critical": 0,
|
|
@@ -261,11 +12,11 @@
|
|
|
261
12
|
"toctou-fs:agentic-security-audit.js:55",
|
|
262
13
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
263
14
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
264
|
-
"toctou-fs:agentic-security.js:
|
|
15
|
+
"toctou-fs:agentic-security.js:1108"
|
|
265
16
|
]
|
|
266
17
|
},
|
|
267
18
|
{
|
|
268
|
-
"timestamp": "2026-05-
|
|
19
|
+
"timestamp": "2026-05-26T04:00:56.905Z",
|
|
269
20
|
"label": "scan",
|
|
270
21
|
"total": 4,
|
|
271
22
|
"critical": 0,
|
|
@@ -277,11 +28,11 @@
|
|
|
277
28
|
"toctou-fs:agentic-security-audit.js:55",
|
|
278
29
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
279
30
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
280
|
-
"toctou-fs:agentic-security.js:
|
|
31
|
+
"toctou-fs:agentic-security.js:1108"
|
|
281
32
|
]
|
|
282
33
|
},
|
|
283
34
|
{
|
|
284
|
-
"timestamp": "2026-05-
|
|
35
|
+
"timestamp": "2026-05-26T04:02:41.681Z",
|
|
285
36
|
"label": "scan",
|
|
286
37
|
"total": 4,
|
|
287
38
|
"critical": 0,
|
|
@@ -293,11 +44,11 @@
|
|
|
293
44
|
"toctou-fs:agentic-security-audit.js:55",
|
|
294
45
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
295
46
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
296
|
-
"toctou-fs:agentic-security.js:
|
|
47
|
+
"toctou-fs:agentic-security.js:1108"
|
|
297
48
|
]
|
|
298
49
|
},
|
|
299
50
|
{
|
|
300
|
-
"timestamp": "2026-05-
|
|
51
|
+
"timestamp": "2026-05-27T01:03:34.318Z",
|
|
301
52
|
"label": "scan",
|
|
302
53
|
"total": 4,
|
|
303
54
|
"critical": 0,
|
|
@@ -309,11 +60,11 @@
|
|
|
309
60
|
"toctou-fs:agentic-security-audit.js:55",
|
|
310
61
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
311
62
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
312
|
-
"toctou-fs:agentic-security.js:
|
|
63
|
+
"toctou-fs:agentic-security.js:1109"
|
|
313
64
|
]
|
|
314
65
|
},
|
|
315
66
|
{
|
|
316
|
-
"timestamp": "2026-05-
|
|
67
|
+
"timestamp": "2026-05-27T01:05:45.968Z",
|
|
317
68
|
"label": "scan",
|
|
318
69
|
"total": 4,
|
|
319
70
|
"critical": 0,
|
|
@@ -325,11 +76,11 @@
|
|
|
325
76
|
"toctou-fs:agentic-security-audit.js:55",
|
|
326
77
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
327
78
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
328
|
-
"toctou-fs:agentic-security.js:
|
|
79
|
+
"toctou-fs:agentic-security.js:1114"
|
|
329
80
|
]
|
|
330
81
|
},
|
|
331
82
|
{
|
|
332
|
-
"timestamp": "2026-05-
|
|
83
|
+
"timestamp": "2026-05-27T11:21:25.101Z",
|
|
333
84
|
"label": "scan",
|
|
334
85
|
"total": 4,
|
|
335
86
|
"critical": 0,
|
|
@@ -341,135 +92,24 @@
|
|
|
341
92
|
"toctou-fs:agentic-security-audit.js:55",
|
|
342
93
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
343
94
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
344
|
-
"toctou-fs:agentic-security.js:
|
|
95
|
+
"toctou-fs:agentic-security.js:1116"
|
|
345
96
|
]
|
|
346
97
|
},
|
|
347
98
|
{
|
|
348
|
-
"timestamp": "2026-05-
|
|
99
|
+
"timestamp": "2026-05-27T11:23:11.242Z",
|
|
349
100
|
"label": "scan",
|
|
350
|
-
"total":
|
|
101
|
+
"total": 5,
|
|
351
102
|
"critical": 0,
|
|
352
103
|
"high": 0,
|
|
353
|
-
"medium":
|
|
354
|
-
"low": 0,
|
|
355
|
-
"kev": 0,
|
|
356
|
-
"ids": [
|
|
357
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
358
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
359
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
360
|
-
"toctou-fs:agentic-security.js:1105"
|
|
361
|
-
]
|
|
362
|
-
},
|
|
363
|
-
{
|
|
364
|
-
"timestamp": "2026-05-20T19:30:22.196Z",
|
|
365
|
-
"label": "scan",
|
|
366
|
-
"total": 4,
|
|
367
|
-
"critical": 0,
|
|
368
|
-
"high": 0,
|
|
369
|
-
"medium": 4,
|
|
370
|
-
"low": 0,
|
|
371
|
-
"kev": 0,
|
|
372
|
-
"ids": [
|
|
373
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
374
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
375
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
376
|
-
"toctou-fs:agentic-security.js:1105"
|
|
377
|
-
]
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"timestamp": "2026-05-20T19:32:44.938Z",
|
|
381
|
-
"label": "scan",
|
|
382
|
-
"total": 4,
|
|
383
|
-
"critical": 0,
|
|
384
|
-
"high": 0,
|
|
385
|
-
"medium": 4,
|
|
386
|
-
"low": 0,
|
|
387
|
-
"kev": 0,
|
|
388
|
-
"ids": [
|
|
389
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
390
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
391
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
392
|
-
"toctou-fs:agentic-security.js:1105"
|
|
393
|
-
]
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
"timestamp": "2026-05-20T20:02:44.607Z",
|
|
397
|
-
"label": "scan",
|
|
398
|
-
"total": 4,
|
|
399
|
-
"critical": 0,
|
|
400
|
-
"high": 0,
|
|
401
|
-
"medium": 4,
|
|
402
|
-
"low": 0,
|
|
403
|
-
"kev": 0,
|
|
404
|
-
"ids": [
|
|
405
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
406
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
407
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
408
|
-
"toctou-fs:agentic-security.js:1105"
|
|
409
|
-
]
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
"timestamp": "2026-05-20T21:21:28.677Z",
|
|
413
|
-
"label": "scan",
|
|
414
|
-
"total": 4,
|
|
415
|
-
"critical": 0,
|
|
416
|
-
"high": 0,
|
|
417
|
-
"medium": 4,
|
|
418
|
-
"low": 0,
|
|
419
|
-
"kev": 0,
|
|
420
|
-
"ids": [
|
|
421
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
422
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
423
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
424
|
-
"toctou-fs:agentic-security.js:1105"
|
|
425
|
-
]
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
"timestamp": "2026-05-20T21:28:34.802Z",
|
|
429
|
-
"label": "scan",
|
|
430
|
-
"total": 4,
|
|
431
|
-
"critical": 0,
|
|
432
|
-
"high": 0,
|
|
433
|
-
"medium": 4,
|
|
434
|
-
"low": 0,
|
|
435
|
-
"kev": 0,
|
|
436
|
-
"ids": [
|
|
437
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
438
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
439
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
440
|
-
"toctou-fs:agentic-security.js:1105"
|
|
441
|
-
]
|
|
442
|
-
},
|
|
443
|
-
{
|
|
444
|
-
"timestamp": "2026-05-21T15:57:04.808Z",
|
|
445
|
-
"label": "scan",
|
|
446
|
-
"total": 4,
|
|
447
|
-
"critical": 0,
|
|
448
|
-
"high": 0,
|
|
449
|
-
"medium": 4,
|
|
450
|
-
"low": 0,
|
|
451
|
-
"kev": 0,
|
|
452
|
-
"ids": [
|
|
453
|
-
"toctou-fs:agentic-security-audit.js:55",
|
|
454
|
-
"toctou-fs:agentic-security-consistency.js:44",
|
|
455
|
-
"toctou-fs:agentic-security-consistency.js:66",
|
|
456
|
-
"toctou-fs:agentic-security.js:1105"
|
|
457
|
-
]
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"timestamp": "2026-05-21T16:13:41.128Z",
|
|
461
|
-
"label": "scan",
|
|
462
|
-
"total": 4,
|
|
463
|
-
"critical": 0,
|
|
464
|
-
"high": 0,
|
|
465
|
-
"medium": 4,
|
|
104
|
+
"medium": 5,
|
|
466
105
|
"low": 0,
|
|
467
106
|
"kev": 0,
|
|
468
107
|
"ids": [
|
|
469
108
|
"toctou-fs:agentic-security-audit.js:55",
|
|
470
109
|
"toctou-fs:agentic-security-consistency.js:44",
|
|
471
110
|
"toctou-fs:agentic-security-consistency.js:66",
|
|
472
|
-
"toctou-fs:agentic-security.js:
|
|
111
|
+
"toctou-fs:agentic-security.js:1136",
|
|
112
|
+
"toctou-fs:agentic-security.js:362"
|
|
473
113
|
]
|
|
474
114
|
}
|
|
475
115
|
]
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"firstScanDate": "2026-05-
|
|
3
|
-
"lastScanDate": "2026-05-
|
|
4
|
-
"totalScans":
|
|
5
|
-
"daysCleanCritical":
|
|
6
|
-
"lastCleanDate": "2026-05-
|
|
2
|
+
"firstScanDate": "2026-05-26T04:00:10.482Z",
|
|
3
|
+
"lastScanDate": "2026-05-27T11:23:11.268Z",
|
|
4
|
+
"totalScans": 7,
|
|
5
|
+
"daysCleanCritical": 2,
|
|
6
|
+
"lastCleanDate": "2026-05-27",
|
|
7
7
|
"lastCriticalDate": null,
|
|
8
8
|
"hasEverHadCritical": false,
|
|
9
|
-
"bestDaysCleanCritical":
|
|
10
|
-
"totalFindingsAtFirstScan":
|
|
11
|
-
"totalFindingsAtLastScan":
|
|
12
|
-
"totalFixesInferred":
|
|
9
|
+
"bestDaysCleanCritical": 2,
|
|
10
|
+
"totalFindingsAtFirstScan": 11,
|
|
11
|
+
"totalFindingsAtLastScan": 13,
|
|
12
|
+
"totalFixesInferred": 0,
|
|
13
13
|
"lastGrade": "A-",
|
|
14
|
-
"bestGrade": "A
|
|
14
|
+
"bestGrade": "A-",
|
|
15
15
|
"launchCheckPassedAt": null,
|
|
16
16
|
"achievements": [
|
|
17
|
-
"first-
|
|
18
|
-
"first-scan",
|
|
19
|
-
"grade-a",
|
|
20
|
-
"grade-a-plus",
|
|
21
|
-
"scan-veteran-100",
|
|
22
|
-
"scan-veteran-25"
|
|
17
|
+
"first-scan"
|
|
23
18
|
],
|
|
24
19
|
"previousGrade": "A-"
|
|
25
20
|
}
|
package/bin/agentic-security.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
import * as fs from 'node:fs';
|
|
5
5
|
import * as fsp from 'node:fs/promises';
|
|
6
6
|
import * as path from 'node:path';
|
|
7
|
+
import { createRequire } from 'node:module';
|
|
8
|
+
const __require = createRequire(import.meta.url);
|
|
9
|
+
const PKG_VERSION = __require('../package.json').version;
|
|
7
10
|
import { signLastScan as _signLastScan, verifyLastScan as _verifyLastScanShared } from '../src/posture/integrity.js';
|
|
8
11
|
import { runScan } from '../src/runScan.js';
|
|
9
12
|
import { toJSON, toMarkdown, toSARIF, toSTIX, toCSV, toJUnit, toCLI, toCLIByProfile, toShipVerdict, toProTable, toHTML, toSummary, exitCodeFor, normalizeFindings } from '../src/report/index.js';
|
|
@@ -103,6 +106,9 @@ Options:
|
|
|
103
106
|
--no-network Skip OSV/registry queries (offline mode)
|
|
104
107
|
--pr [ref] Diff-aware: scan only files changed since ref (auto-detects PR base)
|
|
105
108
|
--deterministic Reproducible scan: stable sort, no-network, lockfile-checked
|
|
109
|
+
--incremental Reuse taint summaries from prior scans (speeds up deep mode in CI)
|
|
110
|
+
--set-baseline Save current findings as baseline (suppresses pre-existing issues)
|
|
111
|
+
--since-baseline Only show findings NOT in the saved baseline
|
|
106
112
|
--no-epss Skip EPSS exploit-prediction enrichment (default: enabled)
|
|
107
113
|
--no-blast-radius Skip blast-radius / cost framing (default: enabled)
|
|
108
114
|
--verbose Include fix bodies + taxonomy in CLI output
|
|
@@ -137,7 +143,7 @@ function printBanner(args) {
|
|
|
137
143
|
BOLD: '\x1b[1m',
|
|
138
144
|
RESET: '\x1b[0m',
|
|
139
145
|
} : { FROG:'', DEEP:'', CREAM:'', DIM:'', BOLD:'', RESET:'' };
|
|
140
|
-
const v =
|
|
146
|
+
const v = PKG_VERSION;
|
|
141
147
|
const compact = !args.flags.full;
|
|
142
148
|
if (compact) {
|
|
143
149
|
const lines = [
|
|
@@ -314,6 +320,11 @@ async function cmdScan(args) {
|
|
|
314
320
|
}
|
|
315
321
|
}
|
|
316
322
|
|
|
323
|
+
// --incremental : reuse taint summaries from prior scans for faster deep mode.
|
|
324
|
+
if (args.flags['incremental'] || process.env.AGENTIC_SECURITY_INCREMENTAL === '1') {
|
|
325
|
+
process.env.AGENTIC_SECURITY_INCREMENTAL = '1';
|
|
326
|
+
}
|
|
327
|
+
|
|
317
328
|
// --pr [ref] : friendlier alias for --changed-since that auto-detects the PR
|
|
318
329
|
// base ref (GitHub/GitLab/Buildkite/Bitbucket env vars) when no value is given.
|
|
319
330
|
let changedSince = args.flags['changed-since'] || null;
|
|
@@ -338,6 +349,26 @@ async function cmdScan(args) {
|
|
|
338
349
|
if (only === 'secrets') { scan.findings = []; scan.supplyChain = []; }
|
|
339
350
|
}
|
|
340
351
|
|
|
352
|
+
// --set-baseline: save current findings as baseline for future --since-baseline filtering
|
|
353
|
+
const baselinePath = path.join(target || '.', '.agentic-security', 'baseline.json');
|
|
354
|
+
if (args.flags['set-baseline']) {
|
|
355
|
+
const { normalizeFindings } = await import('../src/report/index.js');
|
|
356
|
+
const baselineIds = new Set(normalizeFindings(scan).map(f => f.stableId || f.id));
|
|
357
|
+
fs.mkdirSync(path.dirname(baselinePath), { recursive: true });
|
|
358
|
+
fs.writeFileSync(baselinePath, JSON.stringify({ ids: [...baselineIds], createdAt: new Date().toISOString(), count: baselineIds.size }, null, 2));
|
|
359
|
+
process.stderr.write(`[baseline] saved ${baselineIds.size} findings as baseline\n`);
|
|
360
|
+
}
|
|
361
|
+
// --since-baseline: filter out findings that existed in the saved baseline
|
|
362
|
+
if (args.flags['since-baseline'] && fs.existsSync(baselinePath)) {
|
|
363
|
+
try {
|
|
364
|
+
const baseline = JSON.parse(fs.readFileSync(baselinePath, 'utf8'));
|
|
365
|
+
const baselineSet = new Set(baseline.ids || []);
|
|
366
|
+
const before = scan.findings.length;
|
|
367
|
+
scan.findings = (scan.findings || []).filter(f => !baselineSet.has(f.stableId || f.id));
|
|
368
|
+
process.stderr.write(`[baseline] filtered ${before - scan.findings.length} baseline findings, ${scan.findings.length} new\n`);
|
|
369
|
+
} catch { /* baseline file unreadable, skip */ }
|
|
370
|
+
}
|
|
371
|
+
|
|
341
372
|
// 0.9.0 Feat-18: --scorecard flag enables OSSF Scorecard enrichment
|
|
342
373
|
if (args.flags['scorecard']) process.env.AGENTIC_SECURITY_SCORECARD = '1';
|
|
343
374
|
|
|
@@ -1665,7 +1696,7 @@ async function main() {
|
|
|
1665
1696
|
}
|
|
1666
1697
|
process.exit(0);
|
|
1667
1698
|
}
|
|
1668
|
-
case 'version': console.log(
|
|
1699
|
+
case 'version': console.log(`agentic-security ${PKG_VERSION} · created by ClearCapabilities.Com`); process.exit(0);
|
|
1669
1700
|
case 'banner': { printBanner(args); process.exit(0); }
|
|
1670
1701
|
case 'harness': process.exit(await cmdHarness(args));
|
|
1671
1702
|
case 'scan-baseline': process.exit(await cmdScanBaseline(args));
|
package/dist/178.index.js
CHANGED
|
@@ -13,7 +13,7 @@ export const modules = {
|
|
|
13
13
|
/* harmony import */ var node_child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1421);
|
|
14
14
|
/* harmony import */ var node_fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3024);
|
|
15
15
|
/* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6760);
|
|
16
|
-
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
16
|
+
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8636);
|
|
17
17
|
// Time-travel + counterfactual scanning (v0.68).
|
|
18
18
|
//
|
|
19
19
|
// Two new modes that exploit the pure-input shape of runFullScan:
|
package/dist/384.index.js
CHANGED
|
@@ -8,7 +8,7 @@ export const modules = {
|
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ scanCredentials: () => (/* reexport safe */ _engine_js__WEBPACK_IMPORTED_MODULE_0__.Sv)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8636);
|
|
12
12
|
// Secrets submodule view of the engine — credential + entropy + TODO scanning.
|
|
13
13
|
|
|
14
14
|
|
package/dist/637.index.js
CHANGED
|
@@ -10,7 +10,7 @@ export const modules = {
|
|
|
10
10
|
/* harmony export */ renderPrDeltaText: () => (/* binding */ renderPrDeltaText)
|
|
11
11
|
/* harmony export */ });
|
|
12
12
|
/* harmony import */ var node_child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1421);
|
|
13
|
-
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13
|
+
/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8636);
|
|
14
14
|
// Shadowscan / security-DELTA on PR (v0.72).
|
|
15
15
|
//
|
|
16
16
|
// Most SAST PR-comment integrations show absolute counts — "12 findings
|