circle-ir 3.90.1 → 3.91.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.
|
@@ -63,9 +63,34 @@
|
|
|
63
63
|
* filtering), so ship 1's Java-only scope does not affect Python /
|
|
64
64
|
* Node / Go / Rust / Bash analysis.
|
|
65
65
|
*
|
|
66
|
+
* # Deferred heuristic gaps (cognium-dev#136 audit)
|
|
67
|
+
*
|
|
68
|
+
* The 22-repo audit also surfaced three patterns that do NOT fit the
|
|
69
|
+
* classifier surface (which sees only `MethodInfo` + `TypeInfo`
|
|
70
|
+
* shape, no body AST, no call graph, no lambda-scope tracking) and
|
|
71
|
+
* are routed to other components:
|
|
72
|
+
*
|
|
73
|
+
* - **Builder / fluent-setter chains** (`this.x = x; return this;`
|
|
74
|
+
* identity-return hop) — body-shape concern. Noise reduction is
|
|
75
|
+
* the job of cross-file finding-coalescing (cognium-dev#143), not
|
|
76
|
+
* tier classification. The setter itself is correctly TIER_3.
|
|
77
|
+
*
|
|
78
|
+
* - **Lambda-captured params** (`Stream.map(s -> someSink(s))`) — in
|
|
79
|
+
* the current IR, lambdas live inside the enclosing method's body
|
|
80
|
+
* and are not separately represented as `MethodInfo` records, so
|
|
81
|
+
* they already inherit the enclosing method's tier without any
|
|
82
|
+
* classifier change. If the IR ever lifts lambdas into standalone
|
|
83
|
+
* method records, a follow-up should propagate the parent tier.
|
|
84
|
+
*
|
|
85
|
+
* - **`Callable` / `Runnable` posted to `ExecutorService`** — pure
|
|
86
|
+
* Tier 2 call-graph reachability concern (the TIER_1 method posts
|
|
87
|
+
* the `Runnable`, which becomes reachable in a worker thread).
|
|
88
|
+
* Reserved for the deferred Tier 2 ship; see `ctx.callGraph`.
|
|
89
|
+
*
|
|
66
90
|
* # Reference
|
|
67
91
|
*
|
|
68
92
|
* - cognium-dev#128 — entry-point-anchored taint sources.
|
|
93
|
+
* - cognium-dev#136 — Tier 1 heuristic gaps audit (this update).
|
|
69
94
|
* - `taint-matcher.ts:218-237` — speculative source emission site.
|
|
70
95
|
* - `interprocedural-pass.ts:137-146` — engine's awareness comment.
|
|
71
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-point-detection.d.ts","sourceRoot":"","sources":["../../src/analysis/entry-point-detection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"entry-point-detection.d.ts","sourceRoot":"","sources":["../../src/analysis/entry-point-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM9D,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,cAAc,CAAC;AAEnB,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyRD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,aAAa,EAAE,QAAQ,GAAG,SAAS,EACnC,GAAG,EAAE,iBAAiB,GACrB,cAAc,CAsChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,aAAa,EAAE,QAAQ,GAAG,SAAS,EACnC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAKT"}
|
|
@@ -63,9 +63,34 @@
|
|
|
63
63
|
* filtering), so ship 1's Java-only scope does not affect Python /
|
|
64
64
|
* Node / Go / Rust / Bash analysis.
|
|
65
65
|
*
|
|
66
|
+
* # Deferred heuristic gaps (cognium-dev#136 audit)
|
|
67
|
+
*
|
|
68
|
+
* The 22-repo audit also surfaced three patterns that do NOT fit the
|
|
69
|
+
* classifier surface (which sees only `MethodInfo` + `TypeInfo`
|
|
70
|
+
* shape, no body AST, no call graph, no lambda-scope tracking) and
|
|
71
|
+
* are routed to other components:
|
|
72
|
+
*
|
|
73
|
+
* - **Builder / fluent-setter chains** (`this.x = x; return this;`
|
|
74
|
+
* identity-return hop) — body-shape concern. Noise reduction is
|
|
75
|
+
* the job of cross-file finding-coalescing (cognium-dev#143), not
|
|
76
|
+
* tier classification. The setter itself is correctly TIER_3.
|
|
77
|
+
*
|
|
78
|
+
* - **Lambda-captured params** (`Stream.map(s -> someSink(s))`) — in
|
|
79
|
+
* the current IR, lambdas live inside the enclosing method's body
|
|
80
|
+
* and are not separately represented as `MethodInfo` records, so
|
|
81
|
+
* they already inherit the enclosing method's tier without any
|
|
82
|
+
* classifier change. If the IR ever lifts lambdas into standalone
|
|
83
|
+
* method records, a follow-up should propagate the parent tier.
|
|
84
|
+
*
|
|
85
|
+
* - **`Callable` / `Runnable` posted to `ExecutorService`** — pure
|
|
86
|
+
* Tier 2 call-graph reachability concern (the TIER_1 method posts
|
|
87
|
+
* the `Runnable`, which becomes reachable in a worker thread).
|
|
88
|
+
* Reserved for the deferred Tier 2 ship; see `ctx.callGraph`.
|
|
89
|
+
*
|
|
66
90
|
* # Reference
|
|
67
91
|
*
|
|
68
92
|
* - cognium-dev#128 — entry-point-anchored taint sources.
|
|
93
|
+
* - cognium-dev#136 — Tier 1 heuristic gaps audit (this update).
|
|
69
94
|
* - `taint-matcher.ts:218-237` — speculative source emission site.
|
|
70
95
|
* - `interprocedural-pass.ts:137-146` — engine's awareness comment.
|
|
71
96
|
*/
|
|
@@ -113,12 +138,34 @@ const TIER_1_METHOD_ANNOTATIONS = new Set([
|
|
|
113
138
|
]);
|
|
114
139
|
/**
|
|
115
140
|
* Class-level annotations that make every public method of the class
|
|
116
|
-
* a Tier 1 entry point. Spring MVC / JAX-RS / Servlet 3 conventions
|
|
141
|
+
* a Tier 1 entry point. Spring MVC / JAX-RS / Servlet 3 conventions,
|
|
142
|
+
* plus Spring stereotype beans (`@Service` / `@Repository` /
|
|
143
|
+
* `@Component`) per cognium-dev#136.
|
|
144
|
+
*
|
|
145
|
+
* # Why @Service/@Repository/@Component are Tier 1 (#136)
|
|
146
|
+
*
|
|
147
|
+
* The 22-repo harness audit (2026-06-22) found that scanning a
|
|
148
|
+
* library jar containing `@Service` / `@Repository` / `@Component`
|
|
149
|
+
* stereotypes WITHOUT the `@RestController` that invokes them caused
|
|
150
|
+
* the classifier to fall through to TIER_3 and drop every speculative
|
|
151
|
+
* `interprocedural_param` source — including legitimate ones at the
|
|
152
|
+
* business-layer trust boundary that callers actually rely on. For a
|
|
153
|
+
* SAST tool scanning library jars, the stereotype IS the visible
|
|
154
|
+
* trust boundary: callers across the (unseen) controller seam must
|
|
155
|
+
* validate at the stereotype's parameter list. Recall-positive,
|
|
156
|
+
* precision-acceptable: the library-facade short-circuit (step 2,
|
|
157
|
+
* `*Util` / template-package / JDK-facade-implements) still trumps,
|
|
158
|
+
* so a stereotype accidentally placed on a `*Util` class stays
|
|
159
|
+
* TIER_3.
|
|
117
160
|
*/
|
|
118
161
|
const TIER_1_CLASS_ANNOTATIONS = new Set([
|
|
119
162
|
// Spring MVC
|
|
120
163
|
'RestController',
|
|
121
164
|
'Controller',
|
|
165
|
+
// Spring stereotype beans (#136 — see header)
|
|
166
|
+
'Service',
|
|
167
|
+
'Repository',
|
|
168
|
+
'Component',
|
|
122
169
|
// JAX-RS resource class
|
|
123
170
|
'Path',
|
|
124
171
|
// Servlet 3.0 annotation-based servlet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-point-detection.js","sourceRoot":"","sources":["../../src/analysis/entry-point-detection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"entry-point-detection.js","sourceRoot":"","sources":["../../src/analysis/entry-point-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -25300,6 +25300,10 @@ var TIER_1_CLASS_ANNOTATIONS = /* @__PURE__ */ new Set([
|
|
|
25300
25300
|
// Spring MVC
|
|
25301
25301
|
"RestController",
|
|
25302
25302
|
"Controller",
|
|
25303
|
+
// Spring stereotype beans (#136 — see header)
|
|
25304
|
+
"Service",
|
|
25305
|
+
"Repository",
|
|
25306
|
+
"Component",
|
|
25303
25307
|
// JAX-RS resource class
|
|
25304
25308
|
"Path",
|
|
25305
25309
|
// Servlet 3.0 annotation-based servlet
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.91.0",
|
|
4
4
|
"description": "High-performance Static Application Security Testing (SAST) library for detecting security vulnerabilities through taint analysis",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|