circle-ir-ai 2.76.0 → 2.81.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 CHANGED
@@ -5,6 +5,272 @@ 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.81.0] - 2026-08-02
9
+
10
+ ### Added — exhaustive source-type classification (circle-ir 3.198.0)
11
+
12
+ 3.198.0 exports `SOURCE_TYPES` (25) and `SINK_TYPES` (29) as runtime arrays.
13
+ That closes the follow-up promised upstream: our classification sets are no
14
+ longer hand-copied, and an unhandled source type is now a **test failure**
15
+ instead of a silent severity demotion.
16
+
17
+ Diffing the real list against what we matched found two more gaps of the same
18
+ kind fixed in 2.79.1:
19
+
20
+ - **`http_query` — the HTTP query string — was classified nowhere.** Every
21
+ query-string source was falling through to `UNKNOWN` and being capped at low
22
+ outside `SINK_SHAPE_SUFFICIENT_CWES`. It is now a trust boundary.
23
+ - **`dom_input`** likewise, another DOM-XSS source.
24
+
25
+ And four values we match are **not declared upstream at all**:
26
+ `external_input`, `http_request`, `request_param`, `request_body`. Retained
27
+ deliberately — LLM discovery emits free-form type strings and has been observed
28
+ using them, so removing them would drop LLM-discovered sources to the UNKNOWN
29
+ cap. Now commented as such rather than looking like live union members.
30
+
31
+ New `NON_TRUST_BOUNDARY_SOURCE_TYPES` records the types considered and
32
+ *rejected*, with a rationale per group: environment (operator-controlled),
33
+ second-order (`db_input`, `file_input`, `network_input`, `http_response`,
34
+ `storage_input` — attacker-controlled only if something else wrote them),
35
+ `cli_arg` (operator-controlled under library/tool profiles), and internal
36
+ plumbing (`config_param`, `interprocedural_param`, `plugin_param`,
37
+ `constructor_field`).
38
+
39
+ `tests/source-type-exhaustive.test.ts` asserts the two sets together cover
40
+ `SOURCE_TYPES` exactly, with no overlap. When circle-ir adds a source type, that
41
+ test fails and forces a deliberate decision — the third instance of this failure
42
+ becomes loud instead of silent.
43
+
44
+ Suite 1646 pass + 3 skipped.
45
+
46
+ ## [2.80.0] - 2026-08-01
47
+
48
+ ### Changed — bump circle-ir 3.195.0 → 3.197.0
49
+
50
+ Picks up the union/registry work from the 3.195.0 follow-up. Typecheck clean,
51
+ suite 1642 pass + 3 skipped on 3.197.0.
52
+
53
+ **`RULE_DEFINITIONS` is now populated** for the four sink types that previously
54
+ returned the generic CWE-20 placeholder:
55
+
56
+ | sink type | cwe | severityLevel |
57
+ |---|---|---|
58
+ | `insecure_storage` | CWE-922 | medium |
59
+ | `prototype_pollution` | CWE-1321 | high |
60
+ | `regex_dos` | CWE-1333 | high |
61
+ | `unsafe_memory` | CWE-119 | high |
62
+
63
+ **Consumer impact — narrower than first predicted.** cognium-ai's
64
+ `verifierCeiling` (`cli/severity-policy.ts`) caps a verifier-inflated finding at
65
+ one tier above `getRuleInfo(type).severityLevel`, but skips any type returning
66
+ the CWE-20 placeholder. Populating the registry moves these four off that path
67
+ and activates the ceiling — however the arithmetic matters: three of the four
68
+ are `high`, whose ceiling is `critical`, so **no demotion occurs**. Only
69
+ `insecure_storage` (`medium` → ceiling `high`) can actually demote a finding,
70
+ and only one that the verifier had inflated to critical.
71
+
72
+ An earlier estimate to upstream said `regex_dos` would be capped. That was
73
+ wrong — it is `high`, so its ceiling is `critical` and it is unaffected.
74
+
75
+ **`SOURCE_TYPES` / `SINK_TYPES` runtime arrays are NOT in 3.197.0.** The
76
+ exhaustive-map follow-up (replacing the hand-copied sets in
77
+ `source-classifier.ts` and `trust/passes/input-validation.ts`) stays pending a
78
+ release that exports them. `DEFAULT_SOURCES` / `DEFAULT_SINKS` are exported and
79
+ could serve as a derivation source, but they are pattern registries rather than
80
+ the type union, so deriving from them would encode a different list than the
81
+ one `TaintSource.type` is checked against. Not worth the mismatch — waiting.
82
+
83
+ **Downstream ordering note.** Bumping `circle-ir` in cognium-ai / circle-pack /
84
+ mcp-server before this package publishes produces a *nested duplicate*: the
85
+ published `circle-ir-ai` pins 3.195.0, so those trees end up with 3.197.0 at top
86
+ level and 3.195.0 under `circle-ir-ai/node_modules`, giving two structurally
87
+ distinct `SourceType` unions and a hard `TS2345` on every `CircleIR` hand-off.
88
+ This package must publish first; the downstream bump then dedupes to one copy.
89
+
90
+ ## [2.79.1] - 2026-08-01
91
+
92
+ ### Fixed — correction to 2.79.0, plus the browser source types nobody was matching
93
+
94
+ Upstream corrected the scope of circle-ir 3.195.0's rename, and the correction
95
+ invalidates a comment 2.79.0 shipped.
96
+
97
+ **`user_input` is not legacy.** 3.195.0 removed only the *Python* duplicates.
98
+ The **JavaScript plugin emits `user_input` today**, and JavaScript, Go and Rust
99
+ all still emit `env_var`. 2.79.0 described `user_input` as kept "for engines
100
+ < 3.195.0" — which is exactly the framing that invites a future cleanup to
101
+ delete it as dead code and silently break JS-path severity. The comment now says
102
+ the opposite, in the imperative, at both call sites. Upstream has since made
103
+ both values `@deprecated` members of the published union with removal gated on a
104
+ release carrying a Consumer Impact section.
105
+
106
+ **`env_var` was missing from the trust pass.** `INPUT_SOURCES` had `env_input`
107
+ but not `env_var`, so env-sourced input on JavaScript, Go and Rust was not seen
108
+ by `input-validation` at all.
109
+
110
+ **Eleven declared source types were matched nowhere in this package.** Auditing
111
+ the full union — not just the two in the rename — found `cli_arg`,
112
+ `file_upload`, `http_response`, `message_input`, `navigation_param`,
113
+ `storage_input` and `url_param` with zero matches anywhere in `src/`. Every one
114
+ was falling through to `UNKNOWN` and being capped at low outside
115
+ `SINK_SHAPE_SUFFICIENT_CWES`.
116
+
117
+ Four are unambiguous trust boundaries and are now classified as such:
118
+ `url_param`, `navigation_param`, `message_input`, `file_upload`. These are
119
+ textbook DOM-XSS sources — a `location.search` value reaching `innerHTML` is not
120
+ a low-severity finding, and it has been reported as one.
121
+
122
+ Three are deliberately **not** promoted: `storage_input` and `http_response` are
123
+ second-order (attacker-controlled only if something else wrote them first), and
124
+ `cli_arg` is operator-controlled under our library and tool profiles. All three
125
+ are added to the trust pass's `INPUT_SOURCES`, which is about validation
126
+ coverage rather than severity. A test pins the split so a later widening is a
127
+ deliberate act.
128
+
129
+ Note this compounds #256: those unmatched types are predominantly browser/JS
130
+ sources, so the JS/TS path was under-served at the *classification* layer as
131
+ well as the sink-filter layer.
132
+
133
+ 7 tests. Suite 1642 pass + 3 skipped.
134
+
135
+ ## [2.79.0] - 2026-08-01
136
+
137
+ ### Fixed — recall regression from circle-ir 3.195.0's source-type rename
138
+
139
+ circle-ir 3.195.0 renamed two taint source types that were never members of the
140
+ exported `SourceType` union — they reached output through an `as SourceType`
141
+ cast in the plugin merge:
142
+
143
+ | was | now | trigger |
144
+ |---|---|---|
145
+ | `user_input` | `io_input` | Python `input()` |
146
+ | `env_var` | `env_input` | Python `os.getenv()` |
147
+
148
+ **This was a silent recall regression, not a cosmetic mismatch.** An unmatched
149
+ source type does not error — it falls through to `UNKNOWN`, and
150
+ `applyClassificationGate` caps `UNKNOWN` at **low** for any CWE outside
151
+ `SINK_SHAPE_SUFFICIENT_CWES`. That set covers CWE-78/89/94/434/502/611/776/798
152
+ but **not** CWE-22, CWE-79 or CWE-918 — so from the moment 3.195.0 landed, a
153
+ Python `input()` flowing to path traversal, XSS or SSRF was quietly demoted
154
+ from critical/high to **low**.
155
+
156
+ Fixes:
157
+ - `source-classifier.ts` — `io_input` added to `TRUST_BOUNDARY_SOURCE_TYPES`,
158
+ restoring the pre-3.195.0 classification for Python `input()`. `user_input`
159
+ is retained for engines < 3.195.0 and for LLM-discovered sources still using
160
+ the older vocabulary.
161
+ - `trust/passes/input-validation.ts` — `io_input` added to `INPUT_SOURCES` so
162
+ the trust pass keeps seeing Python stdin sources.
163
+ - `analysis/pattern-discovery.ts` — stops emitting the off-union `env_var`;
164
+ now `env_input`, which is what every consumer in this package already matches.
165
+
166
+ `env_input` is deliberately **not** added to `TRUST_BOUNDARY_SOURCE_TYPES` — an
167
+ environment variable is not attacker-controlled at a trust boundary in the same
168
+ sense, and the rename must not widen classification. A test pins that.
169
+
170
+ **Deliberately not fixed here:** `llm/prompts/rust.ts` still instructs the model
171
+ to emit `env_var`. Correcting it changes a prompt template, and the #163 B4
172
+ contract requires bumping the `tree-v1` / `verify-v1` cache sentinels in the
173
+ same commit — a global tree-cache and verify-cache invalidation for every user.
174
+ That is not a fair price for a one-word alignment, especially with corpus sweeps
175
+ in flight. It should be batched with the next intentional prompt change.
176
+
177
+ 5 tests, including one that pins the *mechanism* (`UNKNOWN` + CWE-22 caps at
178
+ low) so a future change to the gate's shape is visible rather than silent.
179
+ Suite 1640 pass + 3 skipped.
180
+
181
+ ## [2.78.0] - 2026-08-01
182
+
183
+ ### Fixed — parameterized PreparedStatement + route-resolver FPs (#247 FP-1, FP-3)
184
+
185
+ **FP-1 — `sql_injection` on a parameterized `PreparedStatement`.** The detector
186
+ flagged `prepareStatement(<expr>)` without inspecting whether the argument is a
187
+ `?`-placeholder query. elide's `NamedParamPreparedStatement` rewrites named
188
+ params to `?` and was reported as a critical SQL injection — the canonical
189
+ *safe* parameterized form, where the query structure is fixed before binding.
190
+
191
+ Two shapes are suppressed, both safe by construction:
192
+
193
+ ```java
194
+ conn.prepareStatement(namedParamQuery.replaceAll(PARAMETER_PATTERN.pattern(), "?"))
195
+ conn.prepareStatement("SELECT * FROM users WHERE id = ?")
196
+ ```
197
+
198
+ Everything else keeps firing — concatenation (`"… id = " + userId`),
199
+ `String.format` interpolation, a `replaceAll` substituting a *value* rather than
200
+ a placeholder, and a bare `prepareStatement(sql)` (the variable may have been
201
+ built by concatenation upstream, and this filter only sees the sink line, so
202
+ recall wins).
203
+
204
+ **FP-3 — `path_traversal` on a URL route resolver.** `routeResolver.resolve(…)`
205
+ returns a controller binding, not a file handle, so `../` cannot escape a
206
+ directory that was never involved. 9 findings across elide's `JsonApiEndpoint`
207
+ and `JsonApiController`.
208
+
209
+ Anchored on a `routeResolver`-shaped **receiver**, which is what keeps
210
+ `java.nio` `Path.resolve(userSuppliedName)` — genuinely filesystem — and a
211
+ generic `fileResolver.resolve(userPath)` firing.
212
+
213
+ 13 tests, 9 asserting the dangerous forms still fire. Suite 1635 pass + 3
214
+ skipped.
215
+
216
+ **#247 status:** FP-1, FP-2 (2.77.0) and FP-3 are closed. **FP-4 remains** —
217
+ `external_taint_escape` over-firing on ordinary request-param → handler flows,
218
+ the corpus's #1 detector by volume at 30 of 116 kept crit/high. It is not a
219
+ sink-shape problem like the other three: it needs a trust-boundary decision
220
+ about what counts as an escape, so it wants a design pass rather than a pattern.
221
+
222
+ ## [2.77.0] - 2026-08-01
223
+
224
+ ### Fixed — XSS FP on Spring JSON API responses (#247 FP-2)
225
+
226
+ #172 suppresses XSS when a servlet `response.setContentType("application/json")`
227
+ precedes the write. Spring controllers declare the same contract in two shapes
228
+ it cannot see — an annotation **above** the method, and the ResponseEntity
229
+ builder — and usually via a constant rather than a literal. The media type is
230
+ frequently a `+json` structured suffix, which #172's literal `application/json`
231
+ matcher rejects outright.
232
+
233
+ `yahoo/elide`'s `JsonApiController` hits all three at once:
234
+
235
+ ```java
236
+ @PostMapping(produces = { JsonApi.MEDIA_TYPE }) // application/vnd.api+json
237
+ return ResponseEntity.status(response.getStatus())
238
+ .contentType(MediaType.valueOf(JsonApi.MEDIA_TYPE))
239
+ .body(response.getBody());
240
+ ```
241
+
242
+ Per #247's cross-model comparison this is the **single largest consensus false
243
+ positive in the corpus**: of 16 findings affirmed by all three verifier models
244
+ (gpt-oss-20b, gemma-3-12b, qwen3-coder-30b), **12 are this one file** — which is
245
+ also what establishes the class as detector-side rather than verifier-side.
246
+
247
+ New `hasJsonResponseContractInScope()` recognises:
248
+ - Spring `@(Get|Post|Put|Patch|Delete|Request)Mapping(produces = …)`
249
+ - `ResponseEntity…contentType(…)` committed before the sink
250
+ - the `+json` family — `vnd.api+json`, `hal+json`, `problem+json`,
251
+ `graphql-response+json` (RFC 6839 structured suffixes)
252
+ - JSON expressed as a constant (`JsonApi.MEDIA_TYPE`,
253
+ `MediaType.APPLICATION_JSON_VALUE`), requiring a `json` token in the
254
+ identifier so `Html.MEDIA_TYPE` never qualifies
255
+
256
+ Bounds mirror #172: a resolvable enclosing method is required (missing bounds →
257
+ no suppression, preserving recall), the annotation window is the 12 lines above
258
+ the signature, and the builder scan stops at the sink line — a content type
259
+ committed *after* a write cannot protect it.
260
+
261
+ Suppression of an XSS finding is the highest-risk kind of filter, so the
262
+ disqualifiers are explicit: `text/html`, `TEXT_HTML`, `text/javascript` and
263
+ JSONP anywhere in the expression prevent it firing, and a negotiable
264
+ `produces = { TEXT_HTML_VALUE, APPLICATION_JSON_VALUE }` handler keeps its
265
+ finding because the HTML branch is reachable.
266
+
267
+ 12 tests, 8 of them asserting real XSS still fires. Suite 1622 pass + 3 skipped.
268
+
269
+ **Still open on #247:** FP-1 (`sql_injection` on parameterized
270
+ `PreparedStatement`), FP-3 (`path_traversal` on a route resolver), FP-4
271
+ (`external_taint_escape` over-firing on ordinary request→handler flows — the
272
+ corpus's #1 detector by volume at 30 of 116 kept crit/high).
273
+
8
274
  ## [2.76.0] - 2026-08-01
9
275
 
10
276
  ### Added — JS/TS sink-shape suppression (#256) + vendored-tree skip (#251)
@@ -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;AAmHD;;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"}
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
- { pattern: /^(getenv|getProperty|getConfig)/i, type: 'env_var', confidence: 0.7, reason: 'Environment/config access' },
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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"}
@@ -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":"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"}
1
+ {"version":3,"file":"sink-filters.d.ts","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"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"}
@@ -268,6 +268,57 @@ const NON_SINK_PATTERNS = [
268
268
  ref: 'cluster-3',
269
269
  },
270
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
+ // -------------------------------------------------------------------------
271
322
  // cognium-ai#256 — JS/TS non-sink corpus.
272
323
  //
273
324
  // Every pattern above targets a Java construct (Executor.execute,
@@ -795,6 +846,108 @@ export function hasJsonContentTypeInScope(sourceCode, types, sinkLine) {
795
846
  return false;
796
847
  }
797
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
+ // ---------------------------------------------------------------------------
798
951
  // cognium-ai#173 — build / CI / docs / example script paths
799
952
  // ---------------------------------------------------------------------------
800
953
  /**
@@ -916,7 +1069,11 @@ sourceCode) {
916
1069
  // sink-type check so non-XSS findings never pay the source scan cost.
917
1070
  if (sinkType &&
918
1071
  JSON_CT_SUPPRESSIBLE_SINK_TYPES.has(sinkType) &&
919
- 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))) {
920
1077
  return true;
921
1078
  }
922
1079
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"sink-filters.js","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,2BAA2B,CAAC;AACpD,6EAA6E;AAC7E,uEAAuE;AACvE,kEAAkE;AAClE,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAAC,IAA+B;IAC/D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,yDAAyD;IACzD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,+CAA+C;IAC/C,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,sDAAsD;IACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,oBAAoB,GACxB,mEAAmE,CAAC;AAEtE,MAAM,UAAU,qBAAqB,CAAC,IAA+B;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAgFD;;;;GAIG;AACH,MAAM,oBAAoB,GAAG;IAC3B,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,MAAM;IACN,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;CACZ,CAAC;AAEX,MAAM,iBAAiB,GAAqB;IAC1C,uBAAuB;IACvB,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IACnF,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IAE7F,mEAAmE;IACnE,EAAE,OAAO,EAAE,iCAAiC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE;IACzF,EAAE,OAAO,EAAE,2CAA2C,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE;IACnG,EAAE,OAAO,EAAE,4CAA4C,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE;IACpG,8DAA8D;IAC9D,sEAAsE;IACtE,4DAA4D;IAC5D,mEAAmE;IACnE,EAAE,OAAO,EAAE,+DAA+D,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE;IAEvH,4DAA4D;IAC5D,+DAA+D;IAC/D,sEAAsE;IACtE,4DAA4D;IAC5D,gEAAgE;IAChE,2CAA2C;IAC3C,oEAAoE;IACpE,yDAAyD;IACzD,qDAAqD;IACrD;QACE,OAAO,EAAE,+FAA+F;QACxG,QAAQ,EAAE,eAAe;QACzB,GAAG,EAAE,KAAK;KACX;IAED,sDAAsD;IACtD,mEAAmE;IACnE,sEAAsE;IACtE,EAAE,OAAO,EAAE,qDAAqD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC3G,2EAA2E;IAC3E,uDAAuD;IACvD,EAAE,OAAO,EAAE,kDAAkD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE;IACxG,qCAAqC;IACrC,EAAE,OAAO,EAAE,oDAAoD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1G,0DAA0D;IAC1D,EAAE,OAAO,EAAE,6CAA6C,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE;IACnG,4CAA4C;IAC5C,EAAE,OAAO,EAAE,uDAAuD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE;IAE7G,8DAA8D;IAC9D,oEAAoE;IACpE,EAAE,OAAO,EAAE,uCAAuC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC5F,8DAA8D;IAC9D,sEAAsE;IACtE,kDAAkD;IAClD,EAAE,OAAO,EAAE,uDAAuD,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC5G,8EAA8E;IAC9E,EAAE,OAAO,EAAE,qDAAqD,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1G,6DAA6D;IAC7D,sEAAsE;IACtE,2CAA2C;IAC3C,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE;IAErF,4DAA4D;IAC5D,+CAA+C;IAC/C,kDAAkD;IAClD,6DAA6D;IAC7D,iEAAiE;IACjE,qEAAqE;IACrE,iEAAiE;IACjE,oEAAoE;IACpE,gEAAgE;IAChE,kEAAkE;IAClE,uCAAuC;IACvC,EAAE;IACF,qBAAqB;IACrB,+CAA+C;IAC/C,mEAAmE;IACnE,8DAA8D;IAC9D,qEAAqE;IACrE,+DAA+D;IAC/D,gEAAgE;IAChE,yDAAyD;IACzD,EAAE;IACF,kEAAkE;IAClE,iEAAiE;IACjE,mCAAmC;IAEnC,4DAA4D;IAC5D;QACE,OAAO,EACL,iJAAiJ;QACnJ,QAAQ,EAAE,oBAAoB;QAC9B,GAAG,EAAE,MAAM;KACZ;IACD,gCAAgC;IAChC;QACE,OAAO,EACL,iKAAiK;QACnK,QAAQ,EAAE,oBAAoB;QAC9B,GAAG,EAAE,MAAM;KACZ;IACD,0EAA0E;IAC1E;QACE,OAAO,EACL,kIAAkI;QACpI,QAAQ,EAAE,oBAAoB;QAC9B,GAAG,EAAE,MAAM;KACZ;IACD,gCAAgC;IAChC;QACE,OAAO,EACL,wIAAwI;QAC1I,QAAQ,EAAE,oBAAoB;QAC9B,GAAG,EAAE,MAAM;KACZ;IAED,yEAAyE;IACzE,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,qEAAqE;IACrE,mEAAmE;IACnE,iCAAiC;IACjC,EAAE;IACF,8DAA8D;IAC9D,sEAAsE;IACtE,gEAAgE;IAChE,wEAAwE;IACxE,mEAAmE;IACnE,qEAAqE;IACrE,6DAA6D;IAC7D,4DAA4D;IAC5D,4DAA4D;IAC5D,kEAAkE;IAClE,wBAAwB;IACxB,EAAE;IACF,gEAAgE;IAChE,kEAAkE;IAClE,2DAA2D;IAC3D,oEAAoE;IACpE,sEAAsE;IACtE,gEAAgE;IAChE,mDAAmD;IACnD,EAAE;IACF,oEAAoE;IACpE,qCAAqC;IAErC,qDAAqD;IACrD;QACE,OAAO,EACL,sHAAsH;QACxH,QAAQ,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;QAC7C,GAAG,EAAE,WAAW;KACjB;IACD,qEAAqE;IACrE;QACE,OAAO,EAAE,4DAA4D;QACrE,QAAQ,EAAE,eAAe;QACzB,GAAG,EAAE,WAAW;KACjB;IACD,6DAA6D;IAC7D,iEAAiE;IACjE,+DAA+D;IAC/D,iEAAiE;IACjE,oEAAoE;IACpE;QACE,OAAO,EACL,+KAA+K;QACjL,QAAQ,EAAE,eAAe;QACzB,GAAG,EAAE,WAAW;KACjB;IAED,4EAA4E;IAC5E,0CAA0C;IAC1C,EAAE;IACF,kEAAkE;IAClE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,EAAE;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,kEAAkE;IAClE,4EAA4E;IAE5E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,qBAAqB;IACrB;QACE,OAAO,EACL,sGAAsG;QACxG,QAAQ,EAAE,gBAAgB;QAC1B,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,IAAI;KACX;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,sDAAsD;IACtD;QACE,OAAO,EAAE,mCAAmC;QAC5C,QAAQ,EAAE,gBAAgB;QAC1B,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,IAAI;KACX;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,uCAAuC;IACvC;QACE,OAAO,EACL,8IAA8I;QAChJ,QAAQ,EAAE,eAAe;QACzB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,IAAI;KACX;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,cAAc;IACd;QACE,OAAO,EAAE,0CAA0C;QACnD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QACjD,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,IAAI;KACX;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC7B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC9B,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,oBAAoB,CAAC,IAA4B,EAAE,QAAwB;IAClF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAA+B,EAC/B,QAAmC;AACnC,6EAA6E;AAC7E,6DAA6D;AAC7D,QAAoC;IAEpC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC5B,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,yEAAyE;AACzE,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAElF;;;;;;;;;;;;;;GAcG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,IAA+B;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAmC,EACnC,QAAmC;IAEnC,IAAI,QAAQ,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAC;IACpD,eAAe;IACf,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,gBAAgB,GACpB,6LAA6L,CAAC;AAEhM,MAAM,wBAAwB,GAC5B,kDAAkD,CAAC;AAErD,MAAM,qBAAqB,GACzB,+FAA+F,CAAC;AAElG;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAmC,EACnC,QAAmC,EACnC,QAAmC;IAEnC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,sEAAsE;AACtE,uDAAuD;AACvD,0EAA0E;AAC1E,0CAA0C;AAC1C,2EAA2E;AAC3E,4EAA4E;AAE5E;;;mEAGmE;AACnE,MAAM,qBAAqB,GACzB,0EAA0E,CAAC;AAE7E;;yEAEyE;AACzE,MAAM,0BAA0B,GAAG,oCAAoC,CAAC;AAExE;;;wEAGwE;AACxE,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE;gDACgD;AAChD,MAAM,sBAAsB,GAC1B,yFAAyF,CAAC;AAE5F;;;;wDAIwD;AACxD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAmC,EACnC,QAAmC;IAEnC,IAAI,QAAQ,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmC,EACnC,QAAmC;IAEnC,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAmC,EACnC,QAAmC,EACnC,KAAkD,EAClD,QAAmC;IAEnC,IAAI,CAAC,QAAQ,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,gCAAgC;IAChC,IAAI,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACjC,IAAI,QAAQ,GAAG,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC/D,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAChC,iEAAiE;YACjE,mEAAmE;YACnE,6BAA6B;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,mBAAmB;IACnB,aAAa;IACb,UAAU;IACV,mBAAmB;IACnB,kBAAkB;IAClB,wEAAwE;IACxE,qEAAqE;IACrE,qCAAqC;CACtC,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;IAC9C,eAAe;IACf,gBAAgB;IAChB,mBAAmB;CACpB,CAAC,CAAC;AA4BH,MAAM,UAAU,0BAA0B,CACxC,KAAkD,EAClD,QAAmC,EACnC,QAAmC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACjC,IAAI,QAAQ,GAAG,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC/D,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAChC,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,gDAAgD;AAChD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;IAC9C,KAAK;IACL,eAAe;IACf,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,wBAAwB,GAC5B,4DAA4D,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAqC,EACrC,KAAkD,EAClD,QAAmC;IAEnC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjF,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,eAAmC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvD,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC;gBAC/B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,eAAe,KAAK,SAAS;YAAE,MAAM;IAC3C,CAAC;IACD,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEhD,4EAA4E;IAC5E,yEAAyE;IACzE,mBAAmB;IACnB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB;IAC9E,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,0EAA0E;AAC1E,yEAAyE;AACzE,+EAA+E;AAC/E,0EAA0E;AAC1E,4BAA4B;AAC5B,MAAM,mBAAmB,GACvB,wEAAwE,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,mBAAmB,GACvB,uEAAuE,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAmC;IAEnC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,CACL,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;QACpC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAmC,EACnC,QAAmC,EACnC,QAAoC,EACpC,KAAuC,EACvC,QAAwB;AACxB,yEAAyE;AACzE,uEAAuE;AACvE,+CAA+C;AAC/C,UAA0B;IAE1B,IAAI,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,gEAAgE;IAChE,uEAAuE;IACvE,8DAA8D;IAC9D,gCAAgC;IAChC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,kEAAkE;IAClE,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,kEAAkE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,iEAAiE;IACjE,eAAe;IACf,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,yEAAyE;IACzE,sEAAsE;IACtE,2CAA2C;IAC3C,IAAI,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,qEAAqE;IACrE,gEAAgE;IAChE,sEAAsE;IACtE,IACE,QAAQ;QACR,+BAA+B,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC7C,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,EACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"sink-filters.js","sourceRoot":"","sources":["../../src/security-scan/sink-filters.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,38 @@ export interface SourceShape {
80
80
  variable?: string | null;
81
81
  code?: string | null;
82
82
  }
83
+ /**
84
+ * Source `type` field semantic categories that map directly to a trust
85
+ * boundary regardless of surrounding AST context. circle-ir's taint
86
+ * sources are pre-categorized by the engine; when the type is already
87
+ * one of these, classification is unambiguous.
88
+ */
89
+ export declare const TRUST_BOUNDARY_SOURCE_TYPES: Set<string>;
90
+ /**
91
+ * Source types deliberately NOT treated as a trust boundary.
92
+ *
93
+ * This exists so the two sets together cover circle-ir's entire exported
94
+ * `SOURCE_TYPES` array — `tests/source-type-exhaustive.test.ts` asserts it.
95
+ * A source type added upstream then fails a test here instead of silently
96
+ * falling through to `UNKNOWN`, which `applyClassificationGate` caps at low
97
+ * for any CWE outside `SINK_SHAPE_SUFFICIENT_CWES`.
98
+ *
99
+ * That silent fall-through is the exact failure this package absorbed twice:
100
+ * once when 3.195.0 renamed `user_input` → `io_input` (Python findings demoted
101
+ * critical→low), and again when seven declared browser source types turned out
102
+ * to be matched nowhere at all.
103
+ *
104
+ * Rationale per entry:
105
+ * - `env_input` / `env_var` — environment is operator-controlled, not
106
+ * attacker-controlled at a boundary.
107
+ * - `db_input` / `file_input` / `network_input` / `http_response` /
108
+ * `storage_input` — second-order: attacker-controlled only if something
109
+ * else wrote them first, which is a different flow to prove.
110
+ * - `cli_arg` — operator-controlled under our library and tool profiles.
111
+ * - `config_param` / `interprocedural_param` / `plugin_param` /
112
+ * `constructor_field` — internal plumbing, no boundary crossed.
113
+ */
114
+ export declare const NON_TRUST_BOUNDARY_SOURCE_TYPES: Set<string>;
83
115
  interface EnclosingScope {
84
116
  type?: TypeShape;
85
117
  method?: MethodShape;
@@ -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;AAiID,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"}
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;AAMD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,aAgCtC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,+BAA+B,aAa1C,CAAC;AA0GH,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"}
@@ -54,18 +54,77 @@
54
54
  * sources are pre-categorized by the engine; when the type is already
55
55
  * one of these, classification is unambiguous.
56
56
  */
57
- const TRUST_BOUNDARY_SOURCE_TYPES = new Set([
57
+ export const TRUST_BOUNDARY_SOURCE_TYPES = new Set([
58
58
  'http_param',
59
59
  'http_body',
60
60
  'http_header',
61
61
  'http_cookie',
62
62
  'http_path',
63
+ // HTTP query string. Declared upstream since forever and matched here for
64
+ // the first time in 2.81.0 — until then every query-string source fell
65
+ // through to UNKNOWN and was capped at low outside a small CWE allowlist.
66
+ 'http_query',
67
+ // DO NOT REMOVE `user_input` AS LEGACY. The JavaScript plugin emits it
68
+ // TODAY. circle-ir 3.195.0 removed only the *Python* duplicates, and it is a
69
+ // `@deprecated` union member whose removal is gated on a release carrying a
70
+ // Consumer Impact section.
63
71
  'user_input',
72
+ // circle-ir 3.195.0+ — what Python `input()` emits now.
73
+ 'io_input',
74
+ // Browser/DOM trust boundaries. Textbook DOM-XSS sources: a
75
+ // `location.search` value reaching `innerHTML` is not a low finding.
76
+ 'url_param',
77
+ 'navigation_param',
78
+ 'message_input',
79
+ 'file_upload',
80
+ 'dom_input',
81
+ // Not members of circle-ir's `SourceType` union — retained because LLM
82
+ // discovery emits free-form type strings and has been observed using these.
83
+ // Harmless if unmatched; removing them would silently drop LLM-discovered
84
+ // sources to the UNKNOWN cap.
64
85
  'external_input',
65
86
  'http_request',
66
87
  'request_param',
67
88
  'request_body',
68
89
  ]);
90
+ /**
91
+ * Source types deliberately NOT treated as a trust boundary.
92
+ *
93
+ * This exists so the two sets together cover circle-ir's entire exported
94
+ * `SOURCE_TYPES` array — `tests/source-type-exhaustive.test.ts` asserts it.
95
+ * A source type added upstream then fails a test here instead of silently
96
+ * falling through to `UNKNOWN`, which `applyClassificationGate` caps at low
97
+ * for any CWE outside `SINK_SHAPE_SUFFICIENT_CWES`.
98
+ *
99
+ * That silent fall-through is the exact failure this package absorbed twice:
100
+ * once when 3.195.0 renamed `user_input` → `io_input` (Python findings demoted
101
+ * critical→low), and again when seven declared browser source types turned out
102
+ * to be matched nowhere at all.
103
+ *
104
+ * Rationale per entry:
105
+ * - `env_input` / `env_var` — environment is operator-controlled, not
106
+ * attacker-controlled at a boundary.
107
+ * - `db_input` / `file_input` / `network_input` / `http_response` /
108
+ * `storage_input` — second-order: attacker-controlled only if something
109
+ * else wrote them first, which is a different flow to prove.
110
+ * - `cli_arg` — operator-controlled under our library and tool profiles.
111
+ * - `config_param` / `interprocedural_param` / `plugin_param` /
112
+ * `constructor_field` — internal plumbing, no boundary crossed.
113
+ */
114
+ export const NON_TRUST_BOUNDARY_SOURCE_TYPES = new Set([
115
+ 'env_input',
116
+ 'env_var',
117
+ 'db_input',
118
+ 'file_input',
119
+ 'network_input',
120
+ 'http_response',
121
+ 'storage_input',
122
+ 'cli_arg',
123
+ 'config_param',
124
+ 'interprocedural_param',
125
+ 'plugin_param',
126
+ 'constructor_field',
127
+ ]);
69
128
  /**
70
129
  * Annotations on the enclosing method's parameters that mark a
71
130
  * trust-boundary source — even when the source-line code itself
@@ -1 +1 @@
1
- {"version":3,"file":"source-classifier.js","sourceRoot":"","sources":["../../src/security-scan/source-classifier.ts"],"names":[],"mappings":"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"}
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,CAW7B,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"}
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":"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"}
1
+ {"version":3,"file":"input-validation.js","sourceRoot":"","sources":["../../../src/trust/passes/input-validation.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.76.0",
3
+ "version": "2.81.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.195.0",
101
+ "circle-ir": "3.198.0",
102
102
  "minimatch": "^10.2.5",
103
103
  "p-queue": "^9.1.0"
104
104
  },