circle-ir-ai 2.75.0 → 2.80.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/CHANGELOG.md +283 -0
- package/dist/analysis/pattern-discovery.d.ts.map +1 -1
- package/dist/analysis/pattern-discovery.js +4 -1
- package/dist/analysis/pattern-discovery.js.map +1 -1
- package/dist/security-scan/sink-filters.d.ts +30 -1
- package/dist/security-scan/sink-filters.d.ts.map +1 -1
- package/dist/security-scan/sink-filters.js +239 -4
- package/dist/security-scan/sink-filters.js.map +1 -1
- package/dist/security-scan/source-classifier.d.ts.map +1 -1
- package/dist/security-scan/source-classifier.js +19 -0
- package/dist/security-scan/source-classifier.js.map +1 -1
- package/dist/trust/passes/input-validation.d.ts.map +1 -1
- package/dist/trust/passes/input-validation.js +15 -0
- package/dist/trust/passes/input-validation.js.map +1 -1
- package/dist/utils/file-skip.d.ts +30 -0
- package/dist/utils/file-skip.d.ts.map +1 -1
- package/dist/utils/file-skip.js +42 -0
- package/dist/utils/file-skip.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,289 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.80.0] - 2026-08-01
|
|
9
|
+
|
|
10
|
+
### Changed — bump circle-ir 3.195.0 → 3.197.0
|
|
11
|
+
|
|
12
|
+
Picks up the union/registry work from the 3.195.0 follow-up. Typecheck clean,
|
|
13
|
+
suite 1642 pass + 3 skipped on 3.197.0.
|
|
14
|
+
|
|
15
|
+
**`RULE_DEFINITIONS` is now populated** for the four sink types that previously
|
|
16
|
+
returned the generic CWE-20 placeholder:
|
|
17
|
+
|
|
18
|
+
| sink type | cwe | severityLevel |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| `insecure_storage` | CWE-922 | medium |
|
|
21
|
+
| `prototype_pollution` | CWE-1321 | high |
|
|
22
|
+
| `regex_dos` | CWE-1333 | high |
|
|
23
|
+
| `unsafe_memory` | CWE-119 | high |
|
|
24
|
+
|
|
25
|
+
**Consumer impact — narrower than first predicted.** cognium-ai's
|
|
26
|
+
`verifierCeiling` (`cli/severity-policy.ts`) caps a verifier-inflated finding at
|
|
27
|
+
one tier above `getRuleInfo(type).severityLevel`, but skips any type returning
|
|
28
|
+
the CWE-20 placeholder. Populating the registry moves these four off that path
|
|
29
|
+
and activates the ceiling — however the arithmetic matters: three of the four
|
|
30
|
+
are `high`, whose ceiling is `critical`, so **no demotion occurs**. Only
|
|
31
|
+
`insecure_storage` (`medium` → ceiling `high`) can actually demote a finding,
|
|
32
|
+
and only one that the verifier had inflated to critical.
|
|
33
|
+
|
|
34
|
+
An earlier estimate to upstream said `regex_dos` would be capped. That was
|
|
35
|
+
wrong — it is `high`, so its ceiling is `critical` and it is unaffected.
|
|
36
|
+
|
|
37
|
+
**`SOURCE_TYPES` / `SINK_TYPES` runtime arrays are NOT in 3.197.0.** The
|
|
38
|
+
exhaustive-map follow-up (replacing the hand-copied sets in
|
|
39
|
+
`source-classifier.ts` and `trust/passes/input-validation.ts`) stays pending a
|
|
40
|
+
release that exports them. `DEFAULT_SOURCES` / `DEFAULT_SINKS` are exported and
|
|
41
|
+
could serve as a derivation source, but they are pattern registries rather than
|
|
42
|
+
the type union, so deriving from them would encode a different list than the
|
|
43
|
+
one `TaintSource.type` is checked against. Not worth the mismatch — waiting.
|
|
44
|
+
|
|
45
|
+
**Downstream ordering note.** Bumping `circle-ir` in cognium-ai / circle-pack /
|
|
46
|
+
mcp-server before this package publishes produces a *nested duplicate*: the
|
|
47
|
+
published `circle-ir-ai` pins 3.195.0, so those trees end up with 3.197.0 at top
|
|
48
|
+
level and 3.195.0 under `circle-ir-ai/node_modules`, giving two structurally
|
|
49
|
+
distinct `SourceType` unions and a hard `TS2345` on every `CircleIR` hand-off.
|
|
50
|
+
This package must publish first; the downstream bump then dedupes to one copy.
|
|
51
|
+
|
|
52
|
+
## [2.79.1] - 2026-08-01
|
|
53
|
+
|
|
54
|
+
### Fixed — correction to 2.79.0, plus the browser source types nobody was matching
|
|
55
|
+
|
|
56
|
+
Upstream corrected the scope of circle-ir 3.195.0's rename, and the correction
|
|
57
|
+
invalidates a comment 2.79.0 shipped.
|
|
58
|
+
|
|
59
|
+
**`user_input` is not legacy.** 3.195.0 removed only the *Python* duplicates.
|
|
60
|
+
The **JavaScript plugin emits `user_input` today**, and JavaScript, Go and Rust
|
|
61
|
+
all still emit `env_var`. 2.79.0 described `user_input` as kept "for engines
|
|
62
|
+
< 3.195.0" — which is exactly the framing that invites a future cleanup to
|
|
63
|
+
delete it as dead code and silently break JS-path severity. The comment now says
|
|
64
|
+
the opposite, in the imperative, at both call sites. Upstream has since made
|
|
65
|
+
both values `@deprecated` members of the published union with removal gated on a
|
|
66
|
+
release carrying a Consumer Impact section.
|
|
67
|
+
|
|
68
|
+
**`env_var` was missing from the trust pass.** `INPUT_SOURCES` had `env_input`
|
|
69
|
+
but not `env_var`, so env-sourced input on JavaScript, Go and Rust was not seen
|
|
70
|
+
by `input-validation` at all.
|
|
71
|
+
|
|
72
|
+
**Eleven declared source types were matched nowhere in this package.** Auditing
|
|
73
|
+
the full union — not just the two in the rename — found `cli_arg`,
|
|
74
|
+
`file_upload`, `http_response`, `message_input`, `navigation_param`,
|
|
75
|
+
`storage_input` and `url_param` with zero matches anywhere in `src/`. Every one
|
|
76
|
+
was falling through to `UNKNOWN` and being capped at low outside
|
|
77
|
+
`SINK_SHAPE_SUFFICIENT_CWES`.
|
|
78
|
+
|
|
79
|
+
Four are unambiguous trust boundaries and are now classified as such:
|
|
80
|
+
`url_param`, `navigation_param`, `message_input`, `file_upload`. These are
|
|
81
|
+
textbook DOM-XSS sources — a `location.search` value reaching `innerHTML` is not
|
|
82
|
+
a low-severity finding, and it has been reported as one.
|
|
83
|
+
|
|
84
|
+
Three are deliberately **not** promoted: `storage_input` and `http_response` are
|
|
85
|
+
second-order (attacker-controlled only if something else wrote them first), and
|
|
86
|
+
`cli_arg` is operator-controlled under our library and tool profiles. All three
|
|
87
|
+
are added to the trust pass's `INPUT_SOURCES`, which is about validation
|
|
88
|
+
coverage rather than severity. A test pins the split so a later widening is a
|
|
89
|
+
deliberate act.
|
|
90
|
+
|
|
91
|
+
Note this compounds #256: those unmatched types are predominantly browser/JS
|
|
92
|
+
sources, so the JS/TS path was under-served at the *classification* layer as
|
|
93
|
+
well as the sink-filter layer.
|
|
94
|
+
|
|
95
|
+
7 tests. Suite 1642 pass + 3 skipped.
|
|
96
|
+
|
|
97
|
+
## [2.79.0] - 2026-08-01
|
|
98
|
+
|
|
99
|
+
### Fixed — recall regression from circle-ir 3.195.0's source-type rename
|
|
100
|
+
|
|
101
|
+
circle-ir 3.195.0 renamed two taint source types that were never members of the
|
|
102
|
+
exported `SourceType` union — they reached output through an `as SourceType`
|
|
103
|
+
cast in the plugin merge:
|
|
104
|
+
|
|
105
|
+
| was | now | trigger |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| `user_input` | `io_input` | Python `input()` |
|
|
108
|
+
| `env_var` | `env_input` | Python `os.getenv()` |
|
|
109
|
+
|
|
110
|
+
**This was a silent recall regression, not a cosmetic mismatch.** An unmatched
|
|
111
|
+
source type does not error — it falls through to `UNKNOWN`, and
|
|
112
|
+
`applyClassificationGate` caps `UNKNOWN` at **low** for any CWE outside
|
|
113
|
+
`SINK_SHAPE_SUFFICIENT_CWES`. That set covers CWE-78/89/94/434/502/611/776/798
|
|
114
|
+
but **not** CWE-22, CWE-79 or CWE-918 — so from the moment 3.195.0 landed, a
|
|
115
|
+
Python `input()` flowing to path traversal, XSS or SSRF was quietly demoted
|
|
116
|
+
from critical/high to **low**.
|
|
117
|
+
|
|
118
|
+
Fixes:
|
|
119
|
+
- `source-classifier.ts` — `io_input` added to `TRUST_BOUNDARY_SOURCE_TYPES`,
|
|
120
|
+
restoring the pre-3.195.0 classification for Python `input()`. `user_input`
|
|
121
|
+
is retained for engines < 3.195.0 and for LLM-discovered sources still using
|
|
122
|
+
the older vocabulary.
|
|
123
|
+
- `trust/passes/input-validation.ts` — `io_input` added to `INPUT_SOURCES` so
|
|
124
|
+
the trust pass keeps seeing Python stdin sources.
|
|
125
|
+
- `analysis/pattern-discovery.ts` — stops emitting the off-union `env_var`;
|
|
126
|
+
now `env_input`, which is what every consumer in this package already matches.
|
|
127
|
+
|
|
128
|
+
`env_input` is deliberately **not** added to `TRUST_BOUNDARY_SOURCE_TYPES` — an
|
|
129
|
+
environment variable is not attacker-controlled at a trust boundary in the same
|
|
130
|
+
sense, and the rename must not widen classification. A test pins that.
|
|
131
|
+
|
|
132
|
+
**Deliberately not fixed here:** `llm/prompts/rust.ts` still instructs the model
|
|
133
|
+
to emit `env_var`. Correcting it changes a prompt template, and the #163 B4
|
|
134
|
+
contract requires bumping the `tree-v1` / `verify-v1` cache sentinels in the
|
|
135
|
+
same commit — a global tree-cache and verify-cache invalidation for every user.
|
|
136
|
+
That is not a fair price for a one-word alignment, especially with corpus sweeps
|
|
137
|
+
in flight. It should be batched with the next intentional prompt change.
|
|
138
|
+
|
|
139
|
+
5 tests, including one that pins the *mechanism* (`UNKNOWN` + CWE-22 caps at
|
|
140
|
+
low) so a future change to the gate's shape is visible rather than silent.
|
|
141
|
+
Suite 1640 pass + 3 skipped.
|
|
142
|
+
|
|
143
|
+
## [2.78.0] - 2026-08-01
|
|
144
|
+
|
|
145
|
+
### Fixed — parameterized PreparedStatement + route-resolver FPs (#247 FP-1, FP-3)
|
|
146
|
+
|
|
147
|
+
**FP-1 — `sql_injection` on a parameterized `PreparedStatement`.** The detector
|
|
148
|
+
flagged `prepareStatement(<expr>)` without inspecting whether the argument is a
|
|
149
|
+
`?`-placeholder query. elide's `NamedParamPreparedStatement` rewrites named
|
|
150
|
+
params to `?` and was reported as a critical SQL injection — the canonical
|
|
151
|
+
*safe* parameterized form, where the query structure is fixed before binding.
|
|
152
|
+
|
|
153
|
+
Two shapes are suppressed, both safe by construction:
|
|
154
|
+
|
|
155
|
+
```java
|
|
156
|
+
conn.prepareStatement(namedParamQuery.replaceAll(PARAMETER_PATTERN.pattern(), "?"))
|
|
157
|
+
conn.prepareStatement("SELECT * FROM users WHERE id = ?")
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Everything else keeps firing — concatenation (`"… id = " + userId`),
|
|
161
|
+
`String.format` interpolation, a `replaceAll` substituting a *value* rather than
|
|
162
|
+
a placeholder, and a bare `prepareStatement(sql)` (the variable may have been
|
|
163
|
+
built by concatenation upstream, and this filter only sees the sink line, so
|
|
164
|
+
recall wins).
|
|
165
|
+
|
|
166
|
+
**FP-3 — `path_traversal` on a URL route resolver.** `routeResolver.resolve(…)`
|
|
167
|
+
returns a controller binding, not a file handle, so `../` cannot escape a
|
|
168
|
+
directory that was never involved. 9 findings across elide's `JsonApiEndpoint`
|
|
169
|
+
and `JsonApiController`.
|
|
170
|
+
|
|
171
|
+
Anchored on a `routeResolver`-shaped **receiver**, which is what keeps
|
|
172
|
+
`java.nio` `Path.resolve(userSuppliedName)` — genuinely filesystem — and a
|
|
173
|
+
generic `fileResolver.resolve(userPath)` firing.
|
|
174
|
+
|
|
175
|
+
13 tests, 9 asserting the dangerous forms still fire. Suite 1635 pass + 3
|
|
176
|
+
skipped.
|
|
177
|
+
|
|
178
|
+
**#247 status:** FP-1, FP-2 (2.77.0) and FP-3 are closed. **FP-4 remains** —
|
|
179
|
+
`external_taint_escape` over-firing on ordinary request-param → handler flows,
|
|
180
|
+
the corpus's #1 detector by volume at 30 of 116 kept crit/high. It is not a
|
|
181
|
+
sink-shape problem like the other three: it needs a trust-boundary decision
|
|
182
|
+
about what counts as an escape, so it wants a design pass rather than a pattern.
|
|
183
|
+
|
|
184
|
+
## [2.77.0] - 2026-08-01
|
|
185
|
+
|
|
186
|
+
### Fixed — XSS FP on Spring JSON API responses (#247 FP-2)
|
|
187
|
+
|
|
188
|
+
#172 suppresses XSS when a servlet `response.setContentType("application/json")`
|
|
189
|
+
precedes the write. Spring controllers declare the same contract in two shapes
|
|
190
|
+
it cannot see — an annotation **above** the method, and the ResponseEntity
|
|
191
|
+
builder — and usually via a constant rather than a literal. The media type is
|
|
192
|
+
frequently a `+json` structured suffix, which #172's literal `application/json`
|
|
193
|
+
matcher rejects outright.
|
|
194
|
+
|
|
195
|
+
`yahoo/elide`'s `JsonApiController` hits all three at once:
|
|
196
|
+
|
|
197
|
+
```java
|
|
198
|
+
@PostMapping(produces = { JsonApi.MEDIA_TYPE }) // application/vnd.api+json
|
|
199
|
+
return ResponseEntity.status(response.getStatus())
|
|
200
|
+
.contentType(MediaType.valueOf(JsonApi.MEDIA_TYPE))
|
|
201
|
+
.body(response.getBody());
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Per #247's cross-model comparison this is the **single largest consensus false
|
|
205
|
+
positive in the corpus**: of 16 findings affirmed by all three verifier models
|
|
206
|
+
(gpt-oss-20b, gemma-3-12b, qwen3-coder-30b), **12 are this one file** — which is
|
|
207
|
+
also what establishes the class as detector-side rather than verifier-side.
|
|
208
|
+
|
|
209
|
+
New `hasJsonResponseContractInScope()` recognises:
|
|
210
|
+
- Spring `@(Get|Post|Put|Patch|Delete|Request)Mapping(produces = …)`
|
|
211
|
+
- `ResponseEntity…contentType(…)` committed before the sink
|
|
212
|
+
- the `+json` family — `vnd.api+json`, `hal+json`, `problem+json`,
|
|
213
|
+
`graphql-response+json` (RFC 6839 structured suffixes)
|
|
214
|
+
- JSON expressed as a constant (`JsonApi.MEDIA_TYPE`,
|
|
215
|
+
`MediaType.APPLICATION_JSON_VALUE`), requiring a `json` token in the
|
|
216
|
+
identifier so `Html.MEDIA_TYPE` never qualifies
|
|
217
|
+
|
|
218
|
+
Bounds mirror #172: a resolvable enclosing method is required (missing bounds →
|
|
219
|
+
no suppression, preserving recall), the annotation window is the 12 lines above
|
|
220
|
+
the signature, and the builder scan stops at the sink line — a content type
|
|
221
|
+
committed *after* a write cannot protect it.
|
|
222
|
+
|
|
223
|
+
Suppression of an XSS finding is the highest-risk kind of filter, so the
|
|
224
|
+
disqualifiers are explicit: `text/html`, `TEXT_HTML`, `text/javascript` and
|
|
225
|
+
JSONP anywhere in the expression prevent it firing, and a negotiable
|
|
226
|
+
`produces = { TEXT_HTML_VALUE, APPLICATION_JSON_VALUE }` handler keeps its
|
|
227
|
+
finding because the HTML branch is reachable.
|
|
228
|
+
|
|
229
|
+
12 tests, 8 of them asserting real XSS still fires. Suite 1622 pass + 3 skipped.
|
|
230
|
+
|
|
231
|
+
**Still open on #247:** FP-1 (`sql_injection` on parameterized
|
|
232
|
+
`PreparedStatement`), FP-3 (`path_traversal` on a route resolver), FP-4
|
|
233
|
+
(`external_taint_escape` over-firing on ordinary request→handler flows — the
|
|
234
|
+
corpus's #1 detector by volume at 30 of 116 kept crit/high).
|
|
235
|
+
|
|
236
|
+
## [2.76.0] - 2026-08-01
|
|
237
|
+
|
|
238
|
+
### Added — JS/TS sink-shape suppression (#256) + vendored-tree skip (#251)
|
|
239
|
+
|
|
240
|
+
**#256 — `NON_SINK_PATTERNS` was a Java-only corpus.** Every entry targeted a
|
|
241
|
+
Java construct (`Executor.execute`, JSqlParser, Jackson `readValue`, Gson
|
|
242
|
+
`fromJson`, picocli, hutool `Assert`, `Class.forName`, `Method.invoke`), so
|
|
243
|
+
JS/TS scans shipped with effectively **no** sink-shape suppression and the
|
|
244
|
+
detectors matched method names ubiquitous in ordinary JavaScript — `Map.get` as
|
|
245
|
+
`sql_injection`, `is.Function` as `code_injection`, `String.replace`,
|
|
246
|
+
`setTimeout`.
|
|
247
|
+
|
|
248
|
+
Compounding it, `isKnownNonSink` matched on **sink type alone**, with no
|
|
249
|
+
language scoping, so patterns crossed languages in both directions. Patterns
|
|
250
|
+
now carry an optional `lang` tag; `isKnownNonSink` takes the sink file and
|
|
251
|
+
applies a scoped pattern only to matching extensions.
|
|
252
|
+
|
|
253
|
+
Existing patterns are deliberately left **untagged** (= any language). Retro-
|
|
254
|
+
scoping them would change current suppression behaviour, and at least one — the
|
|
255
|
+
`Executor.execute(runnable)` shape — is legitimately cross-language. This
|
|
256
|
+
change is purely additive.
|
|
257
|
+
|
|
258
|
+
The new JS/TS corpus is narrow on purpose, anchored on shapes that *cannot*
|
|
259
|
+
carry the dangerous form rather than on bare method names:
|
|
260
|
+
|
|
261
|
+
| suppressed | still fires |
|
|
262
|
+
|---|---|
|
|
263
|
+
| `setTimeout(fn, …)` / arrow / function expr | `setTimeout("evil()" + x, 0)` — the string form evals |
|
|
264
|
+
| `is.Function(x)` type guards | `eval(x)`, `new Function(x)` |
|
|
265
|
+
| `cache.get(k)` with no SQL verb on the line | `db.get(\`SELECT … ${id}\`)` |
|
|
266
|
+
| `.replace(/re/…)` / `.replace('lit'…)` | `input.replace(userPattern, userFn)` |
|
|
267
|
+
|
|
268
|
+
**#251 — vendored third-party trees.** #243 (`.min.` names) and #252 (CDN
|
|
269
|
+
mirrors) both key on the filename; the remaining holdouts were vendored
|
|
270
|
+
*bundles* that look like ordinary source and pass every content cap.
|
|
271
|
+
`prettier/lib/parser-*.js` sits under the 1 MB and 50k-line caps yet wedged
|
|
272
|
+
analysis at ~100% CPU for hours — #251 reported **0/45 repos completing**.
|
|
273
|
+
|
|
274
|
+
`isVendoredPath()` skips `node_modules/`, `vendor/`, `third_party/`,
|
|
275
|
+
`bower_components/`, `external/`, plus the `lib/parser-*.js` bundle shape
|
|
276
|
+
(anchored on both the prefix *and* a `lib/` parent, so a first-party
|
|
277
|
+
`src/parser-json.js` is untouched). Opt out with `SKIP_VENDORED=0`.
|
|
278
|
+
|
|
279
|
+
The CPU wedge itself is separately bounded since 2.66.0 — `SCAN_PARSE_ISOLATION=1`
|
|
280
|
+
aborts a pathological parse at the per-file timeout. This is about not spending
|
|
281
|
+
the time at all, and about not attributing third-party findings to the repo.
|
|
282
|
+
|
|
283
|
+
25 tests across both, the majority asserting what must **not** be suppressed or
|
|
284
|
+
skipped — a suppression list fails by hiding real vulnerabilities. Suite 1610
|
|
285
|
+
pass + 3 skipped.
|
|
286
|
+
|
|
287
|
+
**Validation note:** the JS/TS corpus is a first, conservative set derived from
|
|
288
|
+
the shapes reported in #256. Widening it should be driven by the #255/#256
|
|
289
|
+
sweep data rather than intuition.
|
|
290
|
+
|
|
8
291
|
## [2.75.0] - 2026-07-31
|
|
9
292
|
|
|
10
293
|
### Fixed — bound verifier fan-out per file (#252 problem B)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-discovery.d.ts","sourceRoot":"","sources":["../../src/analysis/pattern-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAc,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,GAAG,WAAW,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"pattern-discovery.d.ts","sourceRoot":"","sources":["../../src/analysis/pattern-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAc,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,GAAG,WAAW,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAsHD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CAuBnE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CA+C5E;AA6ND;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,QAAQ,CAA0B;IAE1C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAkB1C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAW1E;;OAEG;IACH,UAAU,CAAC,aAAa,GAAE,MAAY,GAAG,aAAa,EAAE;IAMxD;;OAEG;IACH,QAAQ,CAAC,aAAa,GAAE,MAAY,GAAG,WAAW,EAAE;IAMpD;;OAEG;IACH,8BAA8B,IAAI,iBAAiB,EAAE;IAkBrD;;OAEG;IACH,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE;IAS3F;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,MAAM;CAGf;AAGD,eAAO,MAAM,kBAAkB,cAAqB,CAAC"}
|
|
@@ -20,7 +20,10 @@ const SOURCE_METHOD_PATTERNS = [
|
|
|
20
20
|
{ pattern: /^(next|poll|take|peek)(Element|Value|Line|Message)?$/i, type: 'io_input', confidence: 0.6, reason: 'Iterator/queue source' },
|
|
21
21
|
{ pattern: /^get(Text|Content|Value|Data|Message|Payload)$/i, type: 'io_input', confidence: 0.5, reason: 'Generic data getter' },
|
|
22
22
|
// Environment/Config
|
|
23
|
-
|
|
23
|
+
// `env_var` was never a member of circle-ir's exported `SourceType` union;
|
|
24
|
+
// 3.195.0 removed it from the plugin builtins. `env_input` is the canonical
|
|
25
|
+
// name and is what every consumer in this package already matches on.
|
|
26
|
+
{ pattern: /^(getenv|getProperty|getConfig)/i, type: 'env_input', confidence: 0.7, reason: 'Environment/config access' },
|
|
24
27
|
];
|
|
25
28
|
/** Method name patterns that suggest taint sinks */
|
|
26
29
|
const SINK_METHOD_PATTERNS = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-discovery.js","sourceRoot":"","sources":["../../src/analysis/pattern-discovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pattern-discovery.js","sourceRoot":"","sources":["../../src/analysis/pattern-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
export declare function isPhantomLineSink(code: string | undefined | null): boolean;
|
|
30
30
|
export declare function isRequireOrImportSink(code: string | undefined | null): boolean;
|
|
31
|
-
export declare function isKnownNonSink(code: string | undefined | null, sinkType: string | undefined | null): boolean;
|
|
31
|
+
export declare function isKnownNonSink(code: string | undefined | null, sinkType: string | undefined | null, sinkFile?: string | undefined | null): boolean;
|
|
32
32
|
export declare function isNosqlOnBrowserFile(sinkType: string | undefined | null, sinkFile: string | undefined | null): boolean;
|
|
33
33
|
/**
|
|
34
34
|
* True if the sink line is a browser / WebExtension `.query()` /
|
|
@@ -142,6 +142,35 @@ export declare function isInsideMybatisInterceptor(types: ReadonlyArray<TypeShap
|
|
|
142
142
|
* javascript` + a `?callback=` query). See the regex anchor.
|
|
143
143
|
*/
|
|
144
144
|
export declare function hasJsonContentTypeInScope(sourceCode: string | undefined | null, types: ReadonlyArray<TypeShape> | undefined | null, sinkLine: number | undefined | null): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* cognium-ai#247 FP-2 — true when the enclosing handler declares a JSON
|
|
147
|
+
* response contract, via a Spring `produces` attribute or a
|
|
148
|
+
* `ResponseEntity…contentType(...)` builder call.
|
|
149
|
+
*
|
|
150
|
+
* Why #172 was not enough: it recognises only the servlet
|
|
151
|
+
* `response.setContentType("application/json")` call. Spring controllers
|
|
152
|
+
* declare the contract in an annotation ABOVE the method, or on the
|
|
153
|
+
* ResponseEntity builder, and commonly reference a constant rather than a
|
|
154
|
+
* literal. The elide `JsonApiController` — 12 findings affirmed by all three
|
|
155
|
+
* verifier models in #247's cross-model comparison, the single largest
|
|
156
|
+
* consensus FP cluster in that corpus — does both at once:
|
|
157
|
+
*
|
|
158
|
+
* @PostMapping(produces = { JsonApi.MEDIA_TYPE }) // application/vnd.api+json
|
|
159
|
+
* return ResponseEntity.status(...)
|
|
160
|
+
* .contentType(MediaType.valueOf(JsonApi.MEDIA_TYPE))
|
|
161
|
+
* .body(response.getBody());
|
|
162
|
+
*
|
|
163
|
+
* Bounds mirror #172 deliberately:
|
|
164
|
+
* - requires a resolvable enclosing method; missing bounds → false (recall).
|
|
165
|
+
* - the annotation window is the 12 lines above the method signature, which
|
|
166
|
+
* covers annotation stacks without reaching the previous method's body.
|
|
167
|
+
* - the builder scan stops at the sink line — a content type committed after
|
|
168
|
+
* the write cannot protect it.
|
|
169
|
+
* - an explicit HTML/JS media type anywhere in the expression disqualifies
|
|
170
|
+
* it, so a mixed `produces = { TEXT_HTML, APPLICATION_JSON }` handler keeps
|
|
171
|
+
* firing.
|
|
172
|
+
*/
|
|
173
|
+
export declare function hasJsonResponseContractInScope(sourceCode: string | undefined | null, types: ReadonlyArray<TypeShape> | undefined | null, sinkLine: number | undefined | null): boolean;
|
|
145
174
|
/**
|
|
146
175
|
* True when the sink file is inside a build/CI/docs/example directory
|
|
147
176
|
* or is a well-known build/doc entry file. Returns false for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink-filters.d.ts","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAwBH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAW1E;AA6BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAK9E;
|
|
1
|
+
{"version":3,"file":"sink-filters.d.ts","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -267,8 +267,133 @@ const NON_SINK_PATTERNS = [
|
|
|
267
267
|
sinkType: 'sql_injection',
|
|
268
268
|
ref: 'cluster-3',
|
|
269
269
|
},
|
|
270
|
+
// -------------------------------------------------------------------------
|
|
271
|
+
// cognium-ai#247 FP-1 — parameterized PreparedStatement
|
|
272
|
+
//
|
|
273
|
+
// The detector flags `prepareStatement(<expr>)` without inspecting whether
|
|
274
|
+
// the argument is a `?`-placeholder query. Two shapes are safe BY
|
|
275
|
+
// CONSTRUCTION — the query structure is fixed before binding, and values are
|
|
276
|
+
// bound separately — and both are suppressed here.
|
|
277
|
+
//
|
|
278
|
+
// Everything else still fires. In particular a bare
|
|
279
|
+
// `prepareStatement(sql)` is left alone: the variable may have been built by
|
|
280
|
+
// concatenation upstream, and this filter only sees the sink line.
|
|
281
|
+
// -------------------------------------------------------------------------
|
|
282
|
+
// (A) Named parameters rewritten to `?` — elide's NamedParamPreparedStatement:
|
|
283
|
+
// conn.prepareStatement(namedParamQuery.replaceAll(PATTERN.pattern(), "?"))
|
|
284
|
+
// The replacement literal is exactly "?", so every interpolation point
|
|
285
|
+
// becomes a bind placeholder.
|
|
286
|
+
{
|
|
287
|
+
pattern: /\bprepareStatement\s*\([\s\S]*\.replaceAll\s*\([\s\S]*?,\s*["'`]\?["'`]\s*\)/,
|
|
288
|
+
sinkType: 'sql_injection',
|
|
289
|
+
ref: '#247-FP1',
|
|
290
|
+
},
|
|
291
|
+
// (B) A single string literal containing a `?` placeholder and nothing
|
|
292
|
+
// concatenated onto it. The literal must close before the argument list
|
|
293
|
+
// ends, so `prepareStatement("SELECT … WHERE id = " + id)` cannot match —
|
|
294
|
+
// the `+` falls outside the quoted run and fails the anchor.
|
|
295
|
+
{
|
|
296
|
+
pattern: /\bprepareStatement\s*\(\s*["'`][^"'`]*\?[^"'`]*["'`]\s*(?:,[^)]*)?\)/,
|
|
297
|
+
sinkType: 'sql_injection',
|
|
298
|
+
ref: '#247-FP1',
|
|
299
|
+
},
|
|
300
|
+
// -------------------------------------------------------------------------
|
|
301
|
+
// cognium-ai#247 FP-3 — URL route resolvers mislabeled as path traversal
|
|
302
|
+
//
|
|
303
|
+
// Route route = routeResolver.resolve(MEDIA_TYPE, baseUrl, pathname, …)
|
|
304
|
+
//
|
|
305
|
+
// Resolving an HTTP route is not filesystem access: the result is a
|
|
306
|
+
// controller binding, not a file handle, so `../` cannot escape a directory
|
|
307
|
+
// that was never involved. 9 findings across elide's JsonApiEndpoint and
|
|
308
|
+
// JsonApiController.
|
|
309
|
+
//
|
|
310
|
+
// Anchored on a `routeResolver`-shaped RECEIVER, which is what keeps
|
|
311
|
+
// `Path.resolve(...)` (java.nio — genuinely filesystem) and
|
|
312
|
+
// `resolver.resolve(userPath)` on a file resolver firing.
|
|
313
|
+
// -------------------------------------------------------------------------
|
|
314
|
+
{
|
|
315
|
+
// `[\w$]*` may be empty, so a bare lowercase `routeResolver.resolve(` is
|
|
316
|
+
// matched as well as `this.routeResolver` / `jsonApiRouteResolver`.
|
|
317
|
+
pattern: /\b[\w$]*[Rr]outeResolver\s*\.\s*resolve\s*\(/,
|
|
318
|
+
sinkType: 'path_traversal',
|
|
319
|
+
ref: '#247-FP3',
|
|
320
|
+
},
|
|
321
|
+
// -------------------------------------------------------------------------
|
|
322
|
+
// cognium-ai#256 — JS/TS non-sink corpus.
|
|
323
|
+
//
|
|
324
|
+
// Every pattern above targets a Java construct (Executor.execute,
|
|
325
|
+
// JSqlParser, Jackson readValue, Gson fromJson, picocli, hutool Assert,
|
|
326
|
+
// Class.forName, Method.invoke). There was no JavaScript equivalent, so
|
|
327
|
+
// JS/TS scans shipped with effectively NO sink-shape suppression and the
|
|
328
|
+
// detectors matched method names that are ubiquitous in ordinary JS.
|
|
329
|
+
//
|
|
330
|
+
// These are deliberately narrow. A suppression list fails by hiding real
|
|
331
|
+
// vulnerabilities, so each entry is anchored on a shape that cannot carry
|
|
332
|
+
// the dangerous form — never on a bare method name. Widening this set
|
|
333
|
+
// should be driven by the #255/#256 sweep data, not by intuition.
|
|
334
|
+
// -------------------------------------------------------------------------
|
|
335
|
+
// setTimeout/setInterval are code_injection sinks ONLY in their string form
|
|
336
|
+
// (`setTimeout("evil()", 0)`, which eval()s). A function reference, function
|
|
337
|
+
// expression or arrow cannot inject code, and that is the overwhelmingly
|
|
338
|
+
// common call shape.
|
|
339
|
+
{
|
|
340
|
+
pattern: /\bset(?:Timeout|Interval)\s*\(\s*(?:function\b|async\s+function\b|\(|[A-Za-z_$][\w$]*\s*(?:=>|[,)]))/,
|
|
341
|
+
sinkType: 'code_injection',
|
|
342
|
+
ref: '#256',
|
|
343
|
+
lang: 'js',
|
|
344
|
+
},
|
|
345
|
+
// `is.*` type guards (the `is` / `@sindresorhus/is` family). `is.function(x)`
|
|
346
|
+
// and `is.Function(x)` are predicates; the detector matched on the word
|
|
347
|
+
// `function`/`Function` and called it code injection.
|
|
348
|
+
{
|
|
349
|
+
pattern: /\bis\s*\.\s*[A-Za-z_$][\w$]*\s*\(/,
|
|
350
|
+
sinkType: 'code_injection',
|
|
351
|
+
ref: '#256',
|
|
352
|
+
lang: 'js',
|
|
353
|
+
},
|
|
354
|
+
// Map / Set / WeakMap / cache accessors reported as SQL injection. Anchored
|
|
355
|
+
// on the ABSENCE of any SQL verb on the line — a real `db.get(\`SELECT …\`)`
|
|
356
|
+
// keeps firing because it carries one.
|
|
357
|
+
{
|
|
358
|
+
pattern: /^(?![\s\S]*\b(?:select|insert|update|delete|drop|alter|truncate|from|where|join|union)\b)[\s\S]*\.(?:get|set|has|add|delete|peek|take)\s*\(/i,
|
|
359
|
+
sinkType: 'sql_injection',
|
|
360
|
+
ref: '#256',
|
|
361
|
+
lang: 'js',
|
|
362
|
+
},
|
|
363
|
+
// String.prototype.replace / replaceAll. Replacement cannot execute unless
|
|
364
|
+
// the *replacer* is a function that itself evals, which is a different sink.
|
|
365
|
+
// Restricted to a string/regex first argument so a dynamic-dispatch shape is
|
|
366
|
+
// left alone.
|
|
367
|
+
{
|
|
368
|
+
pattern: /\.\s*replace(?:All)?\s*\(\s*(?:\/|["'`])/,
|
|
369
|
+
sinkType: ['code_injection', 'command_injection'],
|
|
370
|
+
ref: '#256',
|
|
371
|
+
lang: 'js',
|
|
372
|
+
},
|
|
270
373
|
];
|
|
271
|
-
|
|
374
|
+
/**
|
|
375
|
+
* cognium-ai#256 — extensions the `lang: 'js'` patterns apply to.
|
|
376
|
+
*
|
|
377
|
+
* Wider than BROWSER_JS_EXTS on purpose: that set excludes TypeScript because
|
|
378
|
+
* it gates a *browser-context* filter, whereas these are language constructs
|
|
379
|
+
* that behave identically on a TypeScript backend.
|
|
380
|
+
*/
|
|
381
|
+
const JS_TS_EXTS = new Set([
|
|
382
|
+
'.js', '.jsx', '.mjs', '.cjs',
|
|
383
|
+
'.ts', '.tsx', '.mts', '.cts',
|
|
384
|
+
]);
|
|
385
|
+
/** True when `lang` is unset (any language) or matches the file. */
|
|
386
|
+
function patternAppliesToFile(lang, sinkFile) {
|
|
387
|
+
if (!lang)
|
|
388
|
+
return true;
|
|
389
|
+
if (lang === 'js')
|
|
390
|
+
return JS_TS_EXTS.has(fileExtension(sinkFile));
|
|
391
|
+
return true;
|
|
392
|
+
}
|
|
393
|
+
export function isKnownNonSink(code, sinkType,
|
|
394
|
+
// cognium-ai#256 — optional so every existing caller and test keeps working.
|
|
395
|
+
// When absent, language-scoped patterns simply do not apply.
|
|
396
|
+
sinkFile) {
|
|
272
397
|
if (!code || !sinkType)
|
|
273
398
|
return false;
|
|
274
399
|
const trimmed = code.trim();
|
|
@@ -278,7 +403,11 @@ export function isKnownNonSink(code, sinkType) {
|
|
|
278
403
|
const matchesType = Array.isArray(p.sinkType)
|
|
279
404
|
? p.sinkType.includes(sinkType)
|
|
280
405
|
: p.sinkType === sinkType;
|
|
281
|
-
|
|
406
|
+
if (!matchesType)
|
|
407
|
+
return false;
|
|
408
|
+
if (!patternAppliesToFile(p.lang, sinkFile))
|
|
409
|
+
return false;
|
|
410
|
+
return p.pattern.test(trimmed);
|
|
282
411
|
});
|
|
283
412
|
}
|
|
284
413
|
// ---------------------------------------------------------------------------
|
|
@@ -717,6 +846,108 @@ export function hasJsonContentTypeInScope(sourceCode, types, sinkLine) {
|
|
|
717
846
|
return false;
|
|
718
847
|
}
|
|
719
848
|
// ---------------------------------------------------------------------------
|
|
849
|
+
// cognium-ai#247 FP-2 — Spring JSON response contracts
|
|
850
|
+
// ---------------------------------------------------------------------------
|
|
851
|
+
/**
|
|
852
|
+
* JSON-ish media types, including RFC 6839 structured suffixes.
|
|
853
|
+
*
|
|
854
|
+
* #172 recognised only a literal `application/json`, which misses the `+json`
|
|
855
|
+
* family entirely: `application/vnd.api+json` (JSON:API — the elide case in
|
|
856
|
+
* #247), `application/hal+json`, `application/problem+json`,
|
|
857
|
+
* `application/graphql-response+json`. A browser will not render any of these
|
|
858
|
+
* as HTML, so a reflected value in the body cannot fire an XSS payload.
|
|
859
|
+
*
|
|
860
|
+
* Deliberately NOT matched: `text/javascript` / JSONP (executable in a script
|
|
861
|
+
* context), and `application/json-patch…` as a PREFIX rather than a `+json`
|
|
862
|
+
* suffix, kept out for the content-sniffing reason #172 documented.
|
|
863
|
+
*/
|
|
864
|
+
const JSON_MIME_RE = /application\/(?:json\b(?![a-z-])|[\w.-]+\+json\b)/i;
|
|
865
|
+
/**
|
|
866
|
+
* A JSON signal expressed as an identifier rather than a literal — the shape
|
|
867
|
+
* `produces = { JsonApi.MEDIA_TYPE }` takes. Requires a `json` token in the
|
|
868
|
+
* name, so `Html.MEDIA_TYPE` or `TEXT_HTML` never qualifies.
|
|
869
|
+
*/
|
|
870
|
+
const JSON_CONST_RE = /\b[\w$]*json[\w$]*\s*\.\s*[A-Z_][A-Z0-9_]*\b|\bAPPLICATION_JSON[\w$]*\b|\b[A-Z][A-Z0-9_]*JSON[A-Z0-9_]*\b/i;
|
|
871
|
+
/** True when a `produces=` / `.contentType(...)` expression commits to JSON. */
|
|
872
|
+
function expressionCommitsToJson(expr) {
|
|
873
|
+
if (/text\s*\/\s*html|TEXT_HTML|text\s*\/\s*javascript|APPLICATION_JAVASCRIPT/i.test(expr)) {
|
|
874
|
+
return false;
|
|
875
|
+
}
|
|
876
|
+
return JSON_MIME_RE.test(expr) || JSON_CONST_RE.test(expr);
|
|
877
|
+
}
|
|
878
|
+
/** Spring request-mapping annotations that can carry a `produces` attribute. */
|
|
879
|
+
const SPRING_MAPPING_RE = /@(?:Get|Post|Put|Patch|Delete|Request)Mapping\b/;
|
|
880
|
+
/**
|
|
881
|
+
* cognium-ai#247 FP-2 — true when the enclosing handler declares a JSON
|
|
882
|
+
* response contract, via a Spring `produces` attribute or a
|
|
883
|
+
* `ResponseEntity…contentType(...)` builder call.
|
|
884
|
+
*
|
|
885
|
+
* Why #172 was not enough: it recognises only the servlet
|
|
886
|
+
* `response.setContentType("application/json")` call. Spring controllers
|
|
887
|
+
* declare the contract in an annotation ABOVE the method, or on the
|
|
888
|
+
* ResponseEntity builder, and commonly reference a constant rather than a
|
|
889
|
+
* literal. The elide `JsonApiController` — 12 findings affirmed by all three
|
|
890
|
+
* verifier models in #247's cross-model comparison, the single largest
|
|
891
|
+
* consensus FP cluster in that corpus — does both at once:
|
|
892
|
+
*
|
|
893
|
+
* @PostMapping(produces = { JsonApi.MEDIA_TYPE }) // application/vnd.api+json
|
|
894
|
+
* return ResponseEntity.status(...)
|
|
895
|
+
* .contentType(MediaType.valueOf(JsonApi.MEDIA_TYPE))
|
|
896
|
+
* .body(response.getBody());
|
|
897
|
+
*
|
|
898
|
+
* Bounds mirror #172 deliberately:
|
|
899
|
+
* - requires a resolvable enclosing method; missing bounds → false (recall).
|
|
900
|
+
* - the annotation window is the 12 lines above the method signature, which
|
|
901
|
+
* covers annotation stacks without reaching the previous method's body.
|
|
902
|
+
* - the builder scan stops at the sink line — a content type committed after
|
|
903
|
+
* the write cannot protect it.
|
|
904
|
+
* - an explicit HTML/JS media type anywhere in the expression disqualifies
|
|
905
|
+
* it, so a mixed `produces = { TEXT_HTML, APPLICATION_JSON }` handler keeps
|
|
906
|
+
* firing.
|
|
907
|
+
*/
|
|
908
|
+
export function hasJsonResponseContractInScope(sourceCode, types, sinkLine) {
|
|
909
|
+
if (!sourceCode || !types || types.length === 0)
|
|
910
|
+
return false;
|
|
911
|
+
if (sinkLine == null || !Number.isFinite(sinkLine) || sinkLine < 1)
|
|
912
|
+
return false;
|
|
913
|
+
let methodStartLine;
|
|
914
|
+
for (const t of types) {
|
|
915
|
+
if (sinkLine < t.start_line || sinkLine > t.end_line)
|
|
916
|
+
continue;
|
|
917
|
+
for (const m of t.methods ?? []) {
|
|
918
|
+
if (sinkLine >= m.start_line && sinkLine <= m.end_line) {
|
|
919
|
+
methodStartLine = m.start_line;
|
|
920
|
+
break;
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
if (methodStartLine !== undefined)
|
|
924
|
+
break;
|
|
925
|
+
}
|
|
926
|
+
if (methodStartLine === undefined)
|
|
927
|
+
return false;
|
|
928
|
+
const lines = sourceCode.split('\n');
|
|
929
|
+
// (a) Spring annotation stack above the method signature.
|
|
930
|
+
const annStart = Math.max(0, methodStartLine - 1 - 12);
|
|
931
|
+
const annEnd = Math.min(lines.length, methodStartLine);
|
|
932
|
+
const annotationBlock = lines.slice(annStart, annEnd).join('\n');
|
|
933
|
+
if (SPRING_MAPPING_RE.test(annotationBlock) && /\bproduces\s*=/.test(annotationBlock)) {
|
|
934
|
+
const produces = annotationBlock.slice(annotationBlock.search(/\bproduces\s*=/));
|
|
935
|
+
if (expressionCommitsToJson(produces))
|
|
936
|
+
return true;
|
|
937
|
+
}
|
|
938
|
+
// (b) ResponseEntity builder inside the method, before the sink.
|
|
939
|
+
const startIdx = Math.max(0, methodStartLine - 1);
|
|
940
|
+
const endIdx = Math.min(lines.length, sinkLine - 1);
|
|
941
|
+
for (let i = startIdx; i < endIdx; i++) {
|
|
942
|
+
const line = lines[i];
|
|
943
|
+
if (!line || !/\.\s*contentType\s*\(/.test(line))
|
|
944
|
+
continue;
|
|
945
|
+
if (expressionCommitsToJson(line))
|
|
946
|
+
return true;
|
|
947
|
+
}
|
|
948
|
+
return false;
|
|
949
|
+
}
|
|
950
|
+
// ---------------------------------------------------------------------------
|
|
720
951
|
// cognium-ai#173 — build / CI / docs / example script paths
|
|
721
952
|
// ---------------------------------------------------------------------------
|
|
722
953
|
/**
|
|
@@ -824,7 +1055,7 @@ sourceCode) {
|
|
|
824
1055
|
return true;
|
|
825
1056
|
if (isRequireOrImportSink(sinkCode))
|
|
826
1057
|
return true;
|
|
827
|
-
if (isKnownNonSink(sinkCode, sinkType))
|
|
1058
|
+
if (isKnownNonSink(sinkCode, sinkType, sinkFile))
|
|
828
1059
|
return true;
|
|
829
1060
|
// #111: class-aware MyBatis Interceptor suppression. Last of the
|
|
830
1061
|
// pre-#172 checks because it needs `types` + `sinkLine`, both of which
|
|
@@ -838,7 +1069,11 @@ sourceCode) {
|
|
|
838
1069
|
// sink-type check so non-XSS findings never pay the source scan cost.
|
|
839
1070
|
if (sinkType &&
|
|
840
1071
|
JSON_CT_SUPPRESSIBLE_SINK_TYPES.has(sinkType) &&
|
|
841
|
-
hasJsonContentTypeInScope(sourceCode, types, sinkLine)
|
|
1072
|
+
(hasJsonContentTypeInScope(sourceCode, types, sinkLine) ||
|
|
1073
|
+
// cognium-ai#247 FP-2 — Spring `produces=` / ResponseEntity
|
|
1074
|
+
// `.contentType(...)`, including the `+json` suffix family that #172's
|
|
1075
|
+
// literal `application/json` matcher cannot see.
|
|
1076
|
+
hasJsonResponseContractInScope(sourceCode, types, sinkLine))) {
|
|
842
1077
|
return true;
|
|
843
1078
|
}
|
|
844
1079
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink-filters.js","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sink-filters.js","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-classifier.d.ts","sourceRoot":"","sources":["../../src/security-scan/source-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,QAAQ,GACR,oBAAoB,GACpB,aAAa,GACb,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"source-classifier.d.ts","sourceRoot":"","sources":["../../src/security-scan/source-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,QAAQ,GACR,oBAAoB,GACpB,aAAa,GACb,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAoJD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,EAClD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC9B,cAAc,CA0BhB;AA6BD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,EACtC,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,GACtC,oBAAoB,CAqEtB;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,oBAAoB,EACpC,gBAAgB,EAAE,MAAM,EACxB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAgBf"}
|
|
@@ -60,7 +60,26 @@ const TRUST_BOUNDARY_SOURCE_TYPES = new Set([
|
|
|
60
60
|
'http_header',
|
|
61
61
|
'http_cookie',
|
|
62
62
|
'http_path',
|
|
63
|
+
// DO NOT REMOVE `user_input` AS LEGACY. It is emitted by the JavaScript
|
|
64
|
+
// plugin TODAY. circle-ir 3.195.0 removed only the *Python* duplicates, and
|
|
65
|
+
// upstream has since declared `user_input` a `@deprecated` member of the
|
|
66
|
+
// published `SourceType` union whose removal is gated on a release with a
|
|
67
|
+
// called-out Consumer Impact section — not dead compatibility handling.
|
|
63
68
|
'user_input',
|
|
69
|
+
// circle-ir 3.195.0+ — what Python `input()` emits now. Without this the
|
|
70
|
+
// source falls through to UNKNOWN, and `applyClassificationGate` caps
|
|
71
|
+
// UNKNOWN at LOW for every CWE outside SINK_SHAPE_SUFFICIENT_CWES, silently
|
|
72
|
+
// demoting critical/high path-traversal (CWE-22), XSS (CWE-79) and SSRF
|
|
73
|
+
// (CWE-918) findings.
|
|
74
|
+
'io_input',
|
|
75
|
+
// Browser/DOM trust boundaries declared in circle-ir's union but never
|
|
76
|
+
// matched here, so every one of them was hitting the same silent
|
|
77
|
+
// cap-at-low. These are textbook DOM-XSS sources: a `location.search`
|
|
78
|
+
// value reaching `innerHTML` is not a low-severity finding.
|
|
79
|
+
'url_param',
|
|
80
|
+
'navigation_param',
|
|
81
|
+
'message_input',
|
|
82
|
+
'file_upload',
|
|
64
83
|
'external_input',
|
|
65
84
|
'http_request',
|
|
66
85
|
'request_param',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-classifier.js","sourceRoot":"","sources":["../../src/security-scan/source-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AA+CH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAY;IACZ,WAAW;IACX,aAAa;IACb,aAAa;IACb,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,cAAc;CACf,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;IACjC,uBAAuB;IACvB,cAAc;IACd,aAAa;IACb,eAAe;IACf,cAAc;IACd,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,WAAW;IACX,aAAa;IACb,WAAW;IACX,aAAa;IACb,aAAa;IACb,WAAW;CACZ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,YAAY;IACZ,gBAAgB;IAChB,MAAM,EAAE,SAAS;IACjB,YAAY;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,eAAe;IACf,aAAa;IACb,UAAU;IACV,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB,EAAE,eAAe;IACpC,uBAAuB;IACvB,QAAQ;IACR,aAAa;IACb,4BAA4B;IAC5B,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,KAAK;IACL,OAAO;IACP,aAAa;IACb,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,eAAe,GAAa;IAChC,kCAAkC;IAClC,6BAA6B;IAC7B,+CAA+C;IAC/C,aAAa;IACb,6BAA6B;IAC7B,yBAAyB;IACzB,wCAAwC;IACxC,0DAA0D;IAC1D,+BAA+B;IAC/B,gEAAgE;CACjE,CAAC;AAWF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAkD,EAClD,IAA+B;IAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACzD,IAAI,QAA+B,CAAC;IACpC,IAAI,UAAmC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ;YAAE,SAAS;QACvD,6CAA6C;QAC7C,IACE,CAAC,QAAQ;YACT,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,EACvE,CAAC;YACD,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ;gBAAE,SAAS;YACvD,IACE,CAAC,UAAU;gBACX,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,EAC3E,CAAC;gBACD,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,WAA8C,EAC9C,OAAyB;IAEzB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,4DAA4D;QAC5D,MAAM,MAAM,GAAG,GAAG;aACf,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsC,EACtC,KAAuC;IAEvC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,wEAAwE;IACxE,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,IAAI,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAEzE,wEAAwE;IACxE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;IAErC,qEAAqE;IACrE,kCAAkC;IAClC,IACE,aAAa;QACb,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,4BAA4B,CAAC,EAC3E,CAAC;QACD,8DAA8D;QAC9D,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClF,IAAI,KAAK;gBAAE,OAAO,gBAAgB,CAAC;QACrC,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,0BAA0B,CAAC,EAAE,CAAC;YAC/E,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,kEAAkE;IAClE,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,oBAAoB,CAAC;QACxE,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,MAAM,CAAC,QAAQ,IAAI,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,sEAAsE;IACtE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC;QACrC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,kEAAkE;IAClE,uCAAuC;IACvC,IAAI,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,KAAK;YAAE,OAAO,aAAa,CAAC;IAClC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAS;IACjD,QAAQ,EAAI,uBAAuB;IACnC,QAAQ,EAAI,gBAAgB;IAC5B,QAAQ,EAAI,iBAAiB;IAC7B,SAAS,EAAG,2BAA2B;IACvC,SAAS,EAAG,oCAAoC;IAChD,SAAS,EAAG,4BAA4B;IACxC,SAAS,EAAG,wCAAwC;IACpD,SAAS,EAAG,wBAAwB;CACrC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAAoC,EACpC,gBAAwB,EACxB,GAAY;IAEZ,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,oBAAoB;YACvB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,IAAI,GAAG,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YACD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpC,KAAK,gBAAgB,CAAC;QACtB;YACE,OAAO,gBAAgB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"source-classifier.js","sourceRoot":"","sources":["../../src/security-scan/source-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-validation.d.ts","sourceRoot":"","sources":["../../../src/trust/passes/input-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAOrB,yEAAyE;AACzE,QAAA,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"input-validation.d.ts","sourceRoot":"","sources":["../../../src/trust/passes/input-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAOrB,yEAAyE;AACzE,QAAA,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,CA0B7B,CAAC;AAEH,8DAA8D;AAC9D,QAAA,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,CAE9B,CAAC;AACH,QAAA,MAAM,UAAU,EAAE,GAAG,CAAC,MAAM,CAE1B,CAAC;AAMH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC9B;AAgBD,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CA4G1B;AAGD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -20,11 +20,26 @@ const INPUT_SOURCES = new Set([
|
|
|
20
20
|
'http_header',
|
|
21
21
|
'http_cookie',
|
|
22
22
|
'http_body',
|
|
23
|
+
// Still emitted by the JavaScript plugin — not legacy. See the note in
|
|
24
|
+
// source-classifier.ts before removing.
|
|
23
25
|
'user_input',
|
|
26
|
+
// circle-ir 3.195.0+ — Python `input()`.
|
|
27
|
+
'io_input',
|
|
24
28
|
'query_param',
|
|
25
29
|
'form_input',
|
|
26
30
|
'env_input',
|
|
31
|
+
// Still emitted by the JavaScript, Go and Rust plugins — 3.195.0 removed
|
|
32
|
+
// only the Python duplicate. Omitting it meant env-sourced input on three
|
|
33
|
+
// languages was not seen by this pass at all.
|
|
34
|
+
'env_var',
|
|
27
35
|
'file_input',
|
|
36
|
+
// Declared in circle-ir's union but previously unmatched here.
|
|
37
|
+
'url_param',
|
|
38
|
+
'navigation_param',
|
|
39
|
+
'message_input',
|
|
40
|
+
'file_upload',
|
|
41
|
+
'cli_arg',
|
|
42
|
+
'storage_input',
|
|
28
43
|
]);
|
|
29
44
|
/** Sink types classified by severity for unsanitized flows */
|
|
30
45
|
const CRITICAL_SINKS = new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-validation.js","sourceRoot":"","sources":["../../../src/trust/passes/input-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,yEAAyE;AACzE,MAAM,aAAa,GAAgB,IAAI,GAAG,CAAC;IACzC,YAAY;IACZ,cAAc;IACd,aAAa;IACb,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,WAAW;IACX,YAAY;
|
|
1
|
+
{"version":3,"file":"input-validation.js","sourceRoot":"","sources":["../../../src/trust/passes/input-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,36 @@ export declare function isMinifiedFilename(filePath: string): boolean;
|
|
|
80
80
|
export declare const CDN_MIRROR_FLATTENED_RE: RegExp;
|
|
81
81
|
/** Hosts common enough to be worth matching without the `__` marker. */
|
|
82
82
|
export declare const KNOWN_CDN_HOSTS: readonly string[];
|
|
83
|
+
/**
|
|
84
|
+
* cognium-ai#251 — vendored third-party trees.
|
|
85
|
+
*
|
|
86
|
+
* #243 (`.min.` names) and #252 (CDN mirrors) both key on the FILENAME. The
|
|
87
|
+
* remaining holdouts were vendored *bundles* that look like ordinary source by
|
|
88
|
+
* name and pass every content cap: `prettier/lib/parser-*.js` sits under the
|
|
89
|
+
* 1 MB size cap and the 50k line cap, yet wedges analysis at ~100% CPU for
|
|
90
|
+
* hours. #251 reported 0/45 repos completing because of it.
|
|
91
|
+
*
|
|
92
|
+
* The durable signal is not the file, it is the directory: code under
|
|
93
|
+
* `node_modules/`, `vendor/`, `third_party/` or `bower_components/` is not
|
|
94
|
+
* maintained by the repo owner, so findings in it are noise regardless of
|
|
95
|
+
* whether it happens to parse quickly.
|
|
96
|
+
*
|
|
97
|
+
* Note the CPU wedge itself is separately bounded since 2.66.0 — with
|
|
98
|
+
* `SCAN_PARSE_ISOLATION=1` a pathological parse aborts at the per-file
|
|
99
|
+
* timeout instead of holding the scan. This skip is about not spending the
|
|
100
|
+
* time at all, and about not reporting third-party findings as the repo's.
|
|
101
|
+
*
|
|
102
|
+
* Opt out with `SKIP_VENDORED=0`.
|
|
103
|
+
*/
|
|
104
|
+
export declare const VENDORED_DIR_RE: RegExp;
|
|
105
|
+
/**
|
|
106
|
+
* Generated parser bundles that ship inside a library's own `lib/` directory
|
|
107
|
+
* — the specific shape #251 reported. Anchored on the `parser-` prefix AND a
|
|
108
|
+
* `lib/` parent so a first-party `src/parser-json.js` is untouched.
|
|
109
|
+
*/
|
|
110
|
+
export declare const VENDORED_BUNDLE_RE: RegExp;
|
|
111
|
+
/** cognium-ai#251 — true when the path is third-party vendored code. */
|
|
112
|
+
export declare function isVendoredPath(filePath: string): boolean;
|
|
83
113
|
/**
|
|
84
114
|
* cognium-ai#252 — true when the path looks like a mirrored copy of a
|
|
85
115
|
* third-party CDN asset rather than first-party source.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-skip.d.ts","sourceRoot":"","sources":["../../src/utils/file-skip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,IAAI,EAAE,OAAO,CAAC;IACd,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,QAA6C,CAAC;AAE/E,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,uBAAuB,QAC4E,CAAC;AAEjH,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAU5C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"file-skip.d.ts","sourceRoot":"","sources":["../../src/utils/file-skip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,IAAI,EAAE,OAAO,CAAC;IACd,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,QAA6C,CAAC;AAE/E,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,uBAAuB,QAC4E,CAAC;AAEjH,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAU5C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,QAC0E,CAAC;AAEvG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAkD,CAAC;AAElF,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA2E1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWvD"}
|
package/dist/utils/file-skip.js
CHANGED
|
@@ -87,6 +87,41 @@ export const KNOWN_CDN_HOSTS = [
|
|
|
87
87
|
'ajax.aspnetcdn.com',
|
|
88
88
|
'ajax.microsoft.com',
|
|
89
89
|
];
|
|
90
|
+
/**
|
|
91
|
+
* cognium-ai#251 — vendored third-party trees.
|
|
92
|
+
*
|
|
93
|
+
* #243 (`.min.` names) and #252 (CDN mirrors) both key on the FILENAME. The
|
|
94
|
+
* remaining holdouts were vendored *bundles* that look like ordinary source by
|
|
95
|
+
* name and pass every content cap: `prettier/lib/parser-*.js` sits under the
|
|
96
|
+
* 1 MB size cap and the 50k line cap, yet wedges analysis at ~100% CPU for
|
|
97
|
+
* hours. #251 reported 0/45 repos completing because of it.
|
|
98
|
+
*
|
|
99
|
+
* The durable signal is not the file, it is the directory: code under
|
|
100
|
+
* `node_modules/`, `vendor/`, `third_party/` or `bower_components/` is not
|
|
101
|
+
* maintained by the repo owner, so findings in it are noise regardless of
|
|
102
|
+
* whether it happens to parse quickly.
|
|
103
|
+
*
|
|
104
|
+
* Note the CPU wedge itself is separately bounded since 2.66.0 — with
|
|
105
|
+
* `SCAN_PARSE_ISOLATION=1` a pathological parse aborts at the per-file
|
|
106
|
+
* timeout instead of holding the scan. This skip is about not spending the
|
|
107
|
+
* time at all, and about not reporting third-party findings as the repo's.
|
|
108
|
+
*
|
|
109
|
+
* Opt out with `SKIP_VENDORED=0`.
|
|
110
|
+
*/
|
|
111
|
+
export const VENDORED_DIR_RE = /(?:^|\/)(?:node_modules|bower_components|vendor|vendored|third_party|thirdparty|external)(?:\/|$)/i;
|
|
112
|
+
/**
|
|
113
|
+
* Generated parser bundles that ship inside a library's own `lib/` directory
|
|
114
|
+
* — the specific shape #251 reported. Anchored on the `parser-` prefix AND a
|
|
115
|
+
* `lib/` parent so a first-party `src/parser-json.js` is untouched.
|
|
116
|
+
*/
|
|
117
|
+
export const VENDORED_BUNDLE_RE = /(?:^|\/)lib\/parser-[\w.-]+\.(?:js|mjs|cjs)$/i;
|
|
118
|
+
/** cognium-ai#251 — true when the path is third-party vendored code. */
|
|
119
|
+
export function isVendoredPath(filePath) {
|
|
120
|
+
if (process.env.SKIP_VENDORED === '0')
|
|
121
|
+
return false;
|
|
122
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
123
|
+
return VENDORED_DIR_RE.test(normalized) || VENDORED_BUNDLE_RE.test(normalized);
|
|
124
|
+
}
|
|
90
125
|
/**
|
|
91
126
|
* cognium-ai#252 — true when the path looks like a mirrored copy of a
|
|
92
127
|
* third-party CDN asset rather than first-party source.
|
|
@@ -126,6 +161,13 @@ export function preFlightSkip(filePath) {
|
|
|
126
161
|
reason: `mirrored CDN/vendor asset (${filePath.split(/[\\/]/).pop()})`,
|
|
127
162
|
};
|
|
128
163
|
}
|
|
164
|
+
// cognium-ai#251 — vendored third-party trees and generated parser bundles.
|
|
165
|
+
if (isVendoredPath(filePath)) {
|
|
166
|
+
return {
|
|
167
|
+
skip: true,
|
|
168
|
+
reason: `vendored third-party code (${filePath.split(/[\\/]/).pop()})`,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
129
171
|
let stat;
|
|
130
172
|
try {
|
|
131
173
|
stat = fs.statSync(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-skip.js","sourceRoot":"","sources":["../../src/utils/file-skip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-skip.js","sourceRoot":"","sources":["../../src/utils/file-skip.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir-ai",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.80.0",
|
|
4
4
|
"description": "LLM-enhanced SAST analysis built on circle-ir",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"@ax-llm/ax": "^20.0.0",
|
|
99
99
|
"@cognium/project-profile-detect": "^1.1.0",
|
|
100
100
|
"@mastra/core": "^1.18.0",
|
|
101
|
-
"circle-ir": "3.
|
|
101
|
+
"circle-ir": "3.197.0",
|
|
102
102
|
"minimatch": "^10.2.5",
|
|
103
103
|
"p-queue": "^9.1.0"
|
|
104
104
|
},
|