circle-ir 3.158.0 → 3.159.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/dist/analysis/passes/cross-file-pass.d.ts.map +1 -1
- package/dist/analysis/passes/cross-file-pass.js +44 -2
- package/dist/analysis/passes/cross-file-pass.js.map +1 -1
- package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
- package/dist/analysis/passes/language-sources-pass.js +79 -0
- package/dist/analysis/passes/language-sources-pass.js.map +1 -1
- package/dist/browser/circle-ir.js +37 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-file-pass.d.ts","sourceRoot":"","sources":["../../../src/analysis/passes/cross-file-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EAKd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjE,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,8CAA8C;IAC9C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,GAAG,CACD,YAAY,EAAE,YAAY;IAC1B,2EAA2E;IAC3E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAClC,OAAO,GAAE,oBAAyB,GACjC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"cross-file-pass.d.ts","sourceRoot":"","sources":["../../../src/analysis/passes/cross-file-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EAKd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjE,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,8CAA8C;IAC9C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,GAAG,CACD,YAAY,EAAE,YAAY;IAC1B,2EAA2E;IAC3E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAClC,OAAO,GAAE,oBAAyB,GACjC,mBAAmB;CA+QvB"}
|
|
@@ -221,15 +221,57 @@ export class CrossFilePass {
|
|
|
221
221
|
});
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
+
// --- 2b. Sanitizer post-filter (cognium-dev #239 C4 residual — 3.159.0)
|
|
225
|
+
// ---------------------------------------------------------------------
|
|
226
|
+
// The per-file `TaintPropagationPass` already consults sanitizers, but
|
|
227
|
+
// the cross-file phases (1 direct, 2 interprocedural, 3 field-binding,
|
|
228
|
+
// 4 aliasing) build flows from raw source/sink coordinates without
|
|
229
|
+
// consulting either file's sanitizers. When the same source and sink
|
|
230
|
+
// live in the same file (a legitimate output shape when the cross-file
|
|
231
|
+
// resolver picks up a chain that never actually escapes the file), a
|
|
232
|
+
// sanitizer between them was previously ignored — producing an
|
|
233
|
+
// "intra-file" FP surface via the cross-file result.
|
|
234
|
+
//
|
|
235
|
+
// Filter is two-tier:
|
|
236
|
+
// - Same-file paths: drop when any sanitizer between source.line and
|
|
237
|
+
// sink.line covers sink.type.
|
|
238
|
+
// - Cross-file paths: drop when a sanitizer AT sink.line covers
|
|
239
|
+
// sink.type in the sink-file's IR (mirrors InterproceduralPass).
|
|
240
|
+
const filteredTaintPaths = taintPaths.filter(tp => {
|
|
241
|
+
const sinkIR = projectGraph.getIR(tp.sink.file);
|
|
242
|
+
if (!sinkIR)
|
|
243
|
+
return true;
|
|
244
|
+
const sinkTypeStr = tp.sink.type;
|
|
245
|
+
if (tp.source.file === tp.sink.file) {
|
|
246
|
+
const lo = Math.min(tp.source.line, tp.sink.line);
|
|
247
|
+
const hi = Math.max(tp.source.line, tp.sink.line);
|
|
248
|
+
for (const san of sinkIR.taint.sanitizers ?? []) {
|
|
249
|
+
if (san.line < lo || san.line > hi)
|
|
250
|
+
continue;
|
|
251
|
+
if (san.sanitizes.includes(sinkTypeStr)) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return true;
|
|
256
|
+
}
|
|
257
|
+
for (const san of sinkIR.taint.sanitizers ?? []) {
|
|
258
|
+
if (san.line !== tp.sink.line)
|
|
259
|
+
continue;
|
|
260
|
+
if (san.sanitizes.includes(sinkTypeStr)) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return true;
|
|
265
|
+
});
|
|
224
266
|
// --- 3. Type hierarchy --------------------------------------------------
|
|
225
267
|
const typeHierarchy = projectGraph.typeHierarchy.toTypeHierarchyData();
|
|
226
268
|
logger.info('cross-file: complete', {
|
|
227
269
|
totalMs: Date.now() - startMs,
|
|
228
|
-
paths:
|
|
270
|
+
paths: filteredTaintPaths.length,
|
|
229
271
|
crossFileCalls: crossFileCalls.length,
|
|
230
272
|
budgetExceeded: exceeded,
|
|
231
273
|
});
|
|
232
|
-
const result = { crossFileCalls, taintPaths, typeHierarchy };
|
|
274
|
+
const result = { crossFileCalls, taintPaths: filteredTaintPaths, typeHierarchy };
|
|
233
275
|
if (exceeded)
|
|
234
276
|
result.budgetExceeded = true;
|
|
235
277
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-file-pass.js","sourceRoot":"","sources":["../../../src/analysis/passes/cross-file-pass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cross-file-pass.js","sourceRoot":"","sources":["../../../src/analysis/passes/cross-file-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-sources-pass.d.ts","sourceRoot":"","sources":["../../../src/analysis/passes/language-sources-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAwB,WAAW,EAAO,MAAM,sBAAsB,CAAC;AAC3H,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAqB9E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0C/B,CAAC;AAiCF,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B;;;;OAIG;IACH,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAMD,qBAAa,mBAAoB,YAAW,YAAY,CAAC,qBAAqB,CAAC;IAC7E,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IAExC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,qBAAqB;
|
|
1
|
+
{"version":3,"file":"language-sources-pass.d.ts","sourceRoot":"","sources":["../../../src/analysis/passes/language-sources-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -425,6 +425,9 @@ export class LanguageSourcesPass {
|
|
|
425
425
|
additionalSanitizers.push(...findJavaSafeJsonParseSanitizers(code));
|
|
426
426
|
// Sprint 76 (#216 Pattern B): Java inline sanitizer recognition.
|
|
427
427
|
additionalSanitizers.push(...findJavaPathNormalizeStartsWithGuardSanitizers(code));
|
|
428
|
+
// #239 C4 residual (3.159.0): Path.getFileName() strips path
|
|
429
|
+
// components — canonical path-traversal sanitizer.
|
|
430
|
+
additionalSanitizers.push(...findJavaPathGetFileNameSanitizers(code));
|
|
428
431
|
additionalSanitizers.push(...findJavaInlineCrlfStripLogSanitizers(code));
|
|
429
432
|
// Sprint 77a (#216 Pattern X): argv-form exec sanitizer.
|
|
430
433
|
additionalSanitizers.push(...findJavaArgvFormExecSanitizers(code));
|
|
@@ -3601,6 +3604,82 @@ function findJavaPathNormalizeStartsWithGuardSanitizers(code) {
|
|
|
3601
3604
|
}
|
|
3602
3605
|
return sanitizers;
|
|
3603
3606
|
}
|
|
3607
|
+
/**
|
|
3608
|
+
* Java: `Path.getFileName()` path-traversal sanitizer (cognium-dev #239
|
|
3609
|
+
* C4 residual — 3.159.0).
|
|
3610
|
+
*
|
|
3611
|
+
* `java.nio.file.Path.getFileName()` returns the *last* name in the
|
|
3612
|
+
* path (the leaf filename) as a fresh `Path`. Any path-separator
|
|
3613
|
+
* content — including `..`/`../` traversal payloads — is stripped
|
|
3614
|
+
* because those are separators, not filename characters. Chained with
|
|
3615
|
+
* `.toString()` this is the canonical Java stanza for "keep only the
|
|
3616
|
+
* user-supplied filename, discard any directory prefix":
|
|
3617
|
+
*
|
|
3618
|
+
* String leaf = Paths.get(request.getParameter("f"))
|
|
3619
|
+
* .getFileName().toString();
|
|
3620
|
+
* Path target = Paths.get(BASE, leaf); // safe
|
|
3621
|
+
*
|
|
3622
|
+
* Recognition is conservative and receiver-anchored: the `.getFileName()`
|
|
3623
|
+
* call must be chained directly onto `Paths.get(...)` or `Path.of(...)`
|
|
3624
|
+
* to distinguish this sanitizer from the *taint source* case of
|
|
3625
|
+
* `Part.getFileName()` (Servlet multipart) / `MultipartFile.getFileName()`
|
|
3626
|
+
* (Spring) / `MimeBodyPart.getFileName()` (Jakarta Mail), all of which
|
|
3627
|
+
* return the attacker-supplied filename and stay tainted.
|
|
3628
|
+
*
|
|
3629
|
+
* Emits a `path_traversal` + `external_taint_escape` sanitizer on the
|
|
3630
|
+
* assignment line and on every subsequent line that references the
|
|
3631
|
+
* bound variable (mirrors the `normalize()+startsWith()` emitter shape).
|
|
3632
|
+
*/
|
|
3633
|
+
function findJavaPathGetFileNameSanitizers(code) {
|
|
3634
|
+
const sanitizers = [];
|
|
3635
|
+
const lines = code.split('\n');
|
|
3636
|
+
// <var> = <rhs> where <rhs> contains `.getFileName()` and the chain
|
|
3637
|
+
// that produced its receiver starts with `Paths.get(` or `Path.of(`.
|
|
3638
|
+
// Two-step match keeps the regex simple and avoids nested-paren
|
|
3639
|
+
// counting on the argument to `Paths.get(...)` (which routinely
|
|
3640
|
+
// wraps another call such as `request.getParameter("f")`).
|
|
3641
|
+
const assignmentRe = /^\s*(?:(?:final\s+)?[A-Za-z_][\w.<>?,\s\[\]]*?\s+)?([A-Za-z_]\w*)\s*=\s*(.+?);\s*$/;
|
|
3642
|
+
const rhsHasGetFileNameRe = /\.\s*getFileName\s*\(\s*\)/;
|
|
3643
|
+
const rhsHasPathsChainRe = /\b(?:Paths\s*\.\s*get|Path\s*\.\s*of)\s*\(/;
|
|
3644
|
+
const candidates = [];
|
|
3645
|
+
for (let i = 0; i < lines.length; i++) {
|
|
3646
|
+
const m = assignmentRe.exec(lines[i]);
|
|
3647
|
+
if (!m)
|
|
3648
|
+
continue;
|
|
3649
|
+
const rhs = m[2];
|
|
3650
|
+
if (!rhsHasGetFileNameRe.test(rhs))
|
|
3651
|
+
continue;
|
|
3652
|
+
if (!rhsHasPathsChainRe.test(rhs))
|
|
3653
|
+
continue;
|
|
3654
|
+
candidates.push({ line: i + 1, boundVar: m[1] });
|
|
3655
|
+
}
|
|
3656
|
+
if (candidates.length === 0)
|
|
3657
|
+
return sanitizers;
|
|
3658
|
+
for (const c of candidates) {
|
|
3659
|
+
sanitizers.push({
|
|
3660
|
+
type: 'java_path_get_filename',
|
|
3661
|
+
method: 'getFileName',
|
|
3662
|
+
line: c.line,
|
|
3663
|
+
sanitizes: ['path_traversal', 'external_taint_escape'],
|
|
3664
|
+
});
|
|
3665
|
+
// Emit on every subsequent line that references the sanitized
|
|
3666
|
+
// variable so the sink-site line also carries the sanitizer
|
|
3667
|
+
// stamp (covers `Paths.get(BASE, leaf)`, `Files.newOutputStream(...)`,
|
|
3668
|
+
// `new File(BASE, leaf)`, etc.).
|
|
3669
|
+
const varRefRe = new RegExp(`\\b${c.boundVar}\\b`);
|
|
3670
|
+
for (let l = c.line; l < lines.length; l++) {
|
|
3671
|
+
if (!varRefRe.test(lines[l]))
|
|
3672
|
+
continue;
|
|
3673
|
+
sanitizers.push({
|
|
3674
|
+
type: 'java_path_get_filename',
|
|
3675
|
+
method: 'getFileName',
|
|
3676
|
+
line: l + 1,
|
|
3677
|
+
sanitizes: ['path_traversal', 'external_taint_escape'],
|
|
3678
|
+
});
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
return sanitizers;
|
|
3682
|
+
}
|
|
3604
3683
|
/**
|
|
3605
3684
|
* Java: inline CRLF/tab-strip wrapper at log-call site (cognium-dev
|
|
3606
3685
|
* #216 Sprint 76 Pattern B).
|