circle-ir 3.115.0 → 3.117.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.
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAQb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA2b1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,EAokDtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA+QhD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAM9C;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA8F5C,CAAC"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAQb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA2b1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,EAokDtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA6RhD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAM9C;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA8F5C,CAAC"}
@@ -2037,6 +2037,14 @@ export const DEFAULT_SANITIZERS = [
2037
2037
  { method: 'escapeshellcmd', removes: ['command_injection'] },
2038
2038
  // Deserialization
2039
2039
  { method: 'setObjectInputFilter', class: 'ObjectInputStream', removes: ['deserialization'] },
2040
+ // Regex consumption — passing tainted text to a compiled `Pattern.matcher()`
2041
+ // does not constitute a wrong-sphere escape: the matcher walks the string
2042
+ // in-process and produces match-state (booleans, captured groups, counts),
2043
+ // not a network/file/process exit. Class-agnostic so it covers receivers
2044
+ // that are Pattern-typed variables (e.g. `DIGITS.matcher(text)`). Sprint 60
2045
+ // (#113 FP-52). Note: this only suppresses the synthetic CWE-668 fallback;
2046
+ // real injection sinks downstream of the matched text still apply.
2047
+ { method: 'matcher', removes: ['external_taint_escape'] },
2040
2048
  // =========================================================================
2041
2049
  // Node.js / JavaScript Sanitizers
2042
2050
  // =========================================================================
@@ -2072,7 +2080,12 @@ export const DEFAULT_SANITIZERS = [
2072
2080
  { method: 'contains', removes: ['external_taint_escape'] },
2073
2081
  { method: 'indexOf', removes: ['external_taint_escape'] },
2074
2082
  // Path sanitization
2075
- { method: 'basename', class: 'path', removes: ['path_traversal'] },
2083
+ // Sprint 60 (#113 FP-46): include external_taint_escape `path.basename()`
2084
+ // strips directory components and returns only the leaf filename, so a
2085
+ // tainted-but-basenamed value can no longer carry a traversal payload into
2086
+ // a downstream `fs.open*` / `fs.write*` call. Mirrors Go `filepath.Base`
2087
+ // (line 2187) which already includes external_taint_escape.
2088
+ { method: 'basename', class: 'path', removes: ['path_traversal', 'external_taint_escape'] },
2076
2089
  { method: 'normalize', class: 'path', removes: ['path_traversal'] },
2077
2090
  { method: 'resolve', class: 'path', removes: ['path_traversal'] },
2078
2091
  // SQL - parameterized queries (mysql, pg)