circle-ir 3.177.0 → 3.179.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/config-loader.d.ts.map +1 -1
- package/dist/analysis/config-loader.js +16 -0
- package/dist/analysis/config-loader.js.map +1 -1
- package/dist/analysis/dependency-versions.d.ts +214 -0
- package/dist/analysis/dependency-versions.d.ts.map +1 -0
- package/dist/analysis/dependency-versions.js +352 -0
- package/dist/analysis/dependency-versions.js.map +1 -0
- package/dist/analysis/note-coalescer.d.ts +46 -0
- package/dist/analysis/note-coalescer.d.ts.map +1 -0
- package/dist/analysis/note-coalescer.js +106 -0
- package/dist/analysis/note-coalescer.js.map +1 -0
- package/dist/analysis/passes/deserialization-safety-gate-pass.d.ts +60 -0
- package/dist/analysis/passes/deserialization-safety-gate-pass.d.ts.map +1 -0
- package/dist/analysis/passes/deserialization-safety-gate-pass.js +165 -0
- package/dist/analysis/passes/deserialization-safety-gate-pass.js.map +1 -0
- package/dist/analysis/taint-matcher.d.ts.map +1 -1
- package/dist/analysis/taint-matcher.js +18 -0
- package/dist/analysis/taint-matcher.js.map +1 -1
- package/dist/analyzer.d.ts +56 -0
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +21 -1
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +259 -1
- package/dist/core/circle-ir-core.cjs +21 -0
- package/dist/core/circle-ir-core.js +21 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -12874,6 +12874,16 @@ var DEFAULT_SINKS = [
|
|
|
12874
12874
|
{ method: "format", class: "String", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12875
12875
|
{ method: "format", class: "Formatter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12876
12876
|
{ method: "printf", class: "System.out", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12877
|
+
// cognium-dev #264 — extend the Java format-string surface.
|
|
12878
|
+
// MessageFormat.format(pattern, args) — same receiver-family as String.format
|
|
12879
|
+
// but on the java.text side. PrintStream/PrintWriter.{printf,format} —
|
|
12880
|
+
// arbitrary streams (not just System.out) also honour format-string
|
|
12881
|
+
// specifiers, so a tainted first arg is a genuine CWE-134 sink.
|
|
12882
|
+
{ method: "format", class: "MessageFormat", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12883
|
+
{ method: "printf", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12884
|
+
{ method: "format", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12885
|
+
{ method: "printf", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12886
|
+
{ method: "format", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12877
12887
|
// NOTE: Python `userFmt.format(...)` and `userFmt % args` require
|
|
12878
12888
|
// receiver-taint or operator-LHS-taint tracking — the format string is the
|
|
12879
12889
|
// receiver, not an argument. Deferred to Sprint 6 (#86 follow-up).
|
|
@@ -12885,6 +12895,12 @@ var DEFAULT_SINKS = [
|
|
|
12885
12895
|
{ method: "Printf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12886
12896
|
{ method: "Errorf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12887
12897
|
{ method: "Fprintf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [1], languages: ["go"] },
|
|
12898
|
+
// cognium-dev #264 — Go stdlib `log` package format-string entry points.
|
|
12899
|
+
// log.Printf / Fatalf / Panicf take the format string at arg[0]; tainted
|
|
12900
|
+
// format string reaches the same fmt.Sprintf machinery internally.
|
|
12901
|
+
{ method: "Printf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12902
|
+
{ method: "Fatalf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12903
|
+
{ method: "Panicf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12888
12904
|
// CRLF / HTTP response splitting (CWE-113) — Sprint 6, #86.
|
|
12889
12905
|
// Node.js / Express response header / cookie sinks. The header *name* (arg 0)
|
|
12890
12906
|
// is also CRLF-sensitive but is almost always a string literal; we model
|
|
@@ -15072,6 +15088,11 @@ function calculateSinkConfidence(call, pattern) {
|
|
|
15072
15088
|
if (pattern.class && call.receiver) {
|
|
15073
15089
|
if (receiverMightBeClass(call.receiver, pattern.class)) {
|
|
15074
15090
|
confidence += 0.1;
|
|
15091
|
+
const receiverLc = call.receiver.toLowerCase();
|
|
15092
|
+
const classLc = pattern.class.toLowerCase();
|
|
15093
|
+
if (call.receiver === pattern.class || receiverLc === classLc) {
|
|
15094
|
+
confidence += 0.05;
|
|
15095
|
+
}
|
|
15075
15096
|
}
|
|
15076
15097
|
}
|
|
15077
15098
|
if (pattern.severity === "critical") {
|
|
@@ -20505,6 +20526,49 @@ function applyLibraryApiSurfaceDowngrade(findings) {
|
|
|
20505
20526
|
});
|
|
20506
20527
|
}
|
|
20507
20528
|
|
|
20529
|
+
// src/analysis/note-coalescer.ts
|
|
20530
|
+
function coalesceNoteLevelFindings(findings) {
|
|
20531
|
+
if (findings.length < 2) return [...findings];
|
|
20532
|
+
const groups = /* @__PURE__ */ new Map();
|
|
20533
|
+
const order = [];
|
|
20534
|
+
for (const f of findings) {
|
|
20535
|
+
const key = `${f.file}\0${f.line}`;
|
|
20536
|
+
const bucket = groups.get(key);
|
|
20537
|
+
if (bucket) {
|
|
20538
|
+
bucket.push(f);
|
|
20539
|
+
} else {
|
|
20540
|
+
groups.set(key, [f]);
|
|
20541
|
+
order.push(key);
|
|
20542
|
+
}
|
|
20543
|
+
}
|
|
20544
|
+
const out2 = [];
|
|
20545
|
+
for (const key of order) {
|
|
20546
|
+
const bucket = groups.get(key);
|
|
20547
|
+
if (bucket.length === 1) {
|
|
20548
|
+
out2.push(bucket[0]);
|
|
20549
|
+
continue;
|
|
20550
|
+
}
|
|
20551
|
+
const allNote = bucket.every((f) => f.level === "note");
|
|
20552
|
+
if (!allNote) {
|
|
20553
|
+
for (const f of bucket) out2.push(f);
|
|
20554
|
+
continue;
|
|
20555
|
+
}
|
|
20556
|
+
const uniqueRuleIds = new Set(bucket.map((f) => f.rule_id));
|
|
20557
|
+
if (uniqueRuleIds.size < 2) {
|
|
20558
|
+
for (const f of bucket) out2.push(f);
|
|
20559
|
+
continue;
|
|
20560
|
+
}
|
|
20561
|
+
const sorted = [...bucket].sort((a, b) => a.rule_id.localeCompare(b.rule_id));
|
|
20562
|
+
const primary = sorted[0];
|
|
20563
|
+
const additional = sorted.slice(1).map((f) => f.rule_id).concat(...sorted.map((f) => f.labels ?? []));
|
|
20564
|
+
const uniqueLabels = Array.from(new Set(additional)).filter(
|
|
20565
|
+
(l) => l !== primary.rule_id
|
|
20566
|
+
);
|
|
20567
|
+
out2.push({ ...primary, labels: uniqueLabels });
|
|
20568
|
+
}
|
|
20569
|
+
return out2;
|
|
20570
|
+
}
|
|
20571
|
+
|
|
20508
20572
|
// src/analysis/entry-point-detection.ts
|
|
20509
20573
|
var TIER_1_METHOD_ANNOTATIONS = /* @__PURE__ */ new Set([
|
|
20510
20574
|
// Spring MVC
|
|
@@ -32797,6 +32861,197 @@ var SinkSemanticsPass = class {
|
|
|
32797
32861
|
}
|
|
32798
32862
|
};
|
|
32799
32863
|
|
|
32864
|
+
// src/analysis/dependency-versions.ts
|
|
32865
|
+
function resolveFastjsonFromPom(pomXml) {
|
|
32866
|
+
if (!pomXml) return null;
|
|
32867
|
+
const propMatch = pomXml.match(/<fastjson\.version>\s*([^<\s]+)\s*<\/fastjson\.version>/);
|
|
32868
|
+
if (propMatch) {
|
|
32869
|
+
const version = propMatch[1];
|
|
32870
|
+
return { version, noneAutotype: /_noneautotype/i.test(version) };
|
|
32871
|
+
}
|
|
32872
|
+
const depRe = /<dependency>[\s\S]*?<\/dependency>/g;
|
|
32873
|
+
let m;
|
|
32874
|
+
while ((m = depRe.exec(pomXml)) !== null) {
|
|
32875
|
+
const block = m[0];
|
|
32876
|
+
const gid = block.match(/<groupId>\s*([^<\s]+)\s*<\/groupId>/)?.[1];
|
|
32877
|
+
const aid = block.match(/<artifactId>\s*([^<\s]+)\s*<\/artifactId>/)?.[1];
|
|
32878
|
+
if (gid !== "com.alibaba") continue;
|
|
32879
|
+
if (aid !== "fastjson" && aid !== "fastjson2") continue;
|
|
32880
|
+
const ver = block.match(/<version>\s*([^<\s]+)\s*<\/version>/)?.[1];
|
|
32881
|
+
if (!ver) continue;
|
|
32882
|
+
if (/^\$\{/.test(ver)) return null;
|
|
32883
|
+
return { version: ver, noneAutotype: /_noneautotype/i.test(ver) };
|
|
32884
|
+
}
|
|
32885
|
+
return null;
|
|
32886
|
+
}
|
|
32887
|
+
function resolveFastjsonFromGradle(buildGradle) {
|
|
32888
|
+
if (!buildGradle) return null;
|
|
32889
|
+
const directRe = /['"(]\s*com\.alibaba:fastjson:([^'"$\s)]+)\s*['")]/;
|
|
32890
|
+
const direct = buildGradle.match(directRe);
|
|
32891
|
+
if (direct) {
|
|
32892
|
+
const version2 = direct[1];
|
|
32893
|
+
return { version: version2, noneAutotype: /_noneautotype/i.test(version2) };
|
|
32894
|
+
}
|
|
32895
|
+
const propRefRe = /['"(]\s*com\.alibaba:fastjson:\$\{?([A-Za-z_][A-Za-z0-9_]*)\}?\s*['")]/;
|
|
32896
|
+
const propRef = buildGradle.match(propRefRe);
|
|
32897
|
+
if (!propRef) return null;
|
|
32898
|
+
const propName = propRef[1];
|
|
32899
|
+
const defRe = new RegExp(
|
|
32900
|
+
`\\b${propName}\\s*[=:]\\s*['"]([^'"\\s]+)['"]`
|
|
32901
|
+
);
|
|
32902
|
+
const def = buildGradle.match(defRe);
|
|
32903
|
+
if (!def) return null;
|
|
32904
|
+
const version = def[1];
|
|
32905
|
+
return { version, noneAutotype: /_noneautotype/i.test(version) };
|
|
32906
|
+
}
|
|
32907
|
+
function resolvePyYamlFromRequirements(requirementsTxt) {
|
|
32908
|
+
if (!requirementsTxt) return null;
|
|
32909
|
+
for (const rawLine of requirementsTxt.split(/\r?\n/)) {
|
|
32910
|
+
const line = rawLine.replace(/#.*$/, "").trim();
|
|
32911
|
+
if (!line) continue;
|
|
32912
|
+
if (line.startsWith("-")) continue;
|
|
32913
|
+
const m = line.match(
|
|
32914
|
+
/^(pyyaml)\s*(==|>=|~=|>|===)\s*(\d+(?:\.\d+)*)/i
|
|
32915
|
+
);
|
|
32916
|
+
if (!m) continue;
|
|
32917
|
+
const version = m[3];
|
|
32918
|
+
return { version, safeByDefault: isPyYamlVersionSafeByDefault(version) };
|
|
32919
|
+
}
|
|
32920
|
+
return null;
|
|
32921
|
+
}
|
|
32922
|
+
function resolvePyYamlFromPyproject(pyprojectToml) {
|
|
32923
|
+
if (!pyprojectToml) return null;
|
|
32924
|
+
const poetryLine = pyprojectToml.match(
|
|
32925
|
+
/^\s*(pyyaml)\s*=\s*"([\^~=<>]*)(\d+(?:\.\d+)*)"/im
|
|
32926
|
+
);
|
|
32927
|
+
if (poetryLine) {
|
|
32928
|
+
const version = poetryLine[3];
|
|
32929
|
+
return { version, safeByDefault: isPyYamlVersionSafeByDefault(version) };
|
|
32930
|
+
}
|
|
32931
|
+
const poetryTable = pyprojectToml.match(
|
|
32932
|
+
/^\s*(pyyaml)\s*=\s*\{[^}]*\bversion\s*=\s*"([\^~=<>]*)(\d+(?:\.\d+)*)"/im
|
|
32933
|
+
);
|
|
32934
|
+
if (poetryTable) {
|
|
32935
|
+
const version = poetryTable[3];
|
|
32936
|
+
return { version, safeByDefault: isPyYamlVersionSafeByDefault(version) };
|
|
32937
|
+
}
|
|
32938
|
+
const pep621 = pyprojectToml.match(
|
|
32939
|
+
/"(pyyaml)\s*(==|>=|~=|>|===)\s*(\d+(?:\.\d+)*)/i
|
|
32940
|
+
);
|
|
32941
|
+
if (pep621) {
|
|
32942
|
+
const version = pep621[3];
|
|
32943
|
+
return { version, safeByDefault: isPyYamlVersionSafeByDefault(version) };
|
|
32944
|
+
}
|
|
32945
|
+
return null;
|
|
32946
|
+
}
|
|
32947
|
+
function isPyYamlVersionSafeByDefault(version) {
|
|
32948
|
+
const parts2 = version.split(".").map((s) => Number.parseInt(s, 10));
|
|
32949
|
+
if (parts2.length === 0 || !Number.isFinite(parts2[0])) return false;
|
|
32950
|
+
return parts2[0] >= 6;
|
|
32951
|
+
}
|
|
32952
|
+
function fileHasUnsafePyYamlLoader(sourceLines, sinkLine) {
|
|
32953
|
+
const start2 = Math.max(0, sinkLine - 1);
|
|
32954
|
+
const end = Math.min(sourceLines.length, start2 + 10);
|
|
32955
|
+
const unsafeRe = /\bLoader\s*=\s*(?:yaml\s*\.\s*)?(?:Loader|UnsafeLoader|FullLoader)\b/;
|
|
32956
|
+
for (let i2 = start2; i2 < end; i2++) {
|
|
32957
|
+
const ln = sourceLines[i2] ?? "";
|
|
32958
|
+
if (unsafeRe.test(ln)) return true;
|
|
32959
|
+
const stripped = ln.trim();
|
|
32960
|
+
if (i2 > start2 && (stripped === ")" || stripped.endsWith(")"))) {
|
|
32961
|
+
return false;
|
|
32962
|
+
}
|
|
32963
|
+
}
|
|
32964
|
+
return false;
|
|
32965
|
+
}
|
|
32966
|
+
function fileReenablesFastjsonAutotype(source) {
|
|
32967
|
+
if (!source) return false;
|
|
32968
|
+
return /\bsetAutoTypeSupport\s*\(\s*true\b/.test(source);
|
|
32969
|
+
}
|
|
32970
|
+
function fileEnablesJacksonPolymorphism(source) {
|
|
32971
|
+
if (!source) return false;
|
|
32972
|
+
if (/\benableDefaultTyping\s*\(/.test(source)) return true;
|
|
32973
|
+
if (/\bactivateDefaultTyping\s*\(/.test(source)) return true;
|
|
32974
|
+
if (/@JsonTypeInfo\b/.test(source)) return true;
|
|
32975
|
+
return false;
|
|
32976
|
+
}
|
|
32977
|
+
function fileConfiguresSnakeYamlSafely(source) {
|
|
32978
|
+
if (!source) return false;
|
|
32979
|
+
if (/\bnew\s+SafeConstructor\s*\(/.test(source)) return true;
|
|
32980
|
+
if (/\bSafeConstructor\s+\w+\s*=/.test(source)) return true;
|
|
32981
|
+
return false;
|
|
32982
|
+
}
|
|
32983
|
+
|
|
32984
|
+
// src/analysis/passes/deserialization-safety-gate-pass.ts
|
|
32985
|
+
var FASTJSON_METHODS = /* @__PURE__ */ new Set(["parseObject", "parse"]);
|
|
32986
|
+
var FASTJSON_CLASSES = /* @__PURE__ */ new Set(["JSON", "JSONObject"]);
|
|
32987
|
+
var JACKSON_METHODS = /* @__PURE__ */ new Set(["readValue", "convertValue", "treeToValue"]);
|
|
32988
|
+
var JACKSON_CLASSES = /* @__PURE__ */ new Set(["ObjectMapper", "ObjectReader"]);
|
|
32989
|
+
var SNAKEYAML_METHODS = /* @__PURE__ */ new Set(["load", "loadAs", "loadAll"]);
|
|
32990
|
+
var SNAKEYAML_CLASSES = /* @__PURE__ */ new Set(["Yaml"]);
|
|
32991
|
+
var PYYAML_METHODS = /* @__PURE__ */ new Set(["load"]);
|
|
32992
|
+
var PYYAML_CLASSES = /* @__PURE__ */ new Set(["yaml"]);
|
|
32993
|
+
var DeserializationSafetyGatePass = class {
|
|
32994
|
+
constructor(dependencyContext) {
|
|
32995
|
+
this.dependencyContext = dependencyContext;
|
|
32996
|
+
}
|
|
32997
|
+
dependencyContext;
|
|
32998
|
+
name = "deserialization-safety-gate";
|
|
32999
|
+
category = "security";
|
|
33000
|
+
run(ctx) {
|
|
33001
|
+
const { graph, language, code } = ctx;
|
|
33002
|
+
if (language !== "java" && language !== "python") {
|
|
33003
|
+
return { droppedFastjson: 0, droppedJackson: 0, droppedSnakeYaml: 0, droppedPyYaml: 0 };
|
|
33004
|
+
}
|
|
33005
|
+
const sinks = ctx.hasResult("sink-filter") ? ctx.getResult("sink-filter").sinks : graph.ir.taint.sinks;
|
|
33006
|
+
const pomXml = this.dependencyContext?.java?.pomXml;
|
|
33007
|
+
const buildGradle = this.dependencyContext?.java?.buildGradle;
|
|
33008
|
+
const fastjson = (pomXml ? resolveFastjsonFromPom(pomXml) : null) ?? (buildGradle ? resolveFastjsonFromGradle(buildGradle) : null);
|
|
33009
|
+
const fastjsonHardened = fastjson?.noneAutotype === true && !fileReenablesFastjsonAutotype(code);
|
|
33010
|
+
const jacksonSafe = !fileEnablesJacksonPolymorphism(code);
|
|
33011
|
+
const snakeYamlSafe = fileConfiguresSnakeYamlSafely(code);
|
|
33012
|
+
const requirementsTxt = this.dependencyContext?.python?.requirementsTxt;
|
|
33013
|
+
const pyprojectToml = this.dependencyContext?.python?.pyprojectToml;
|
|
33014
|
+
const pyYaml = (requirementsTxt ? resolvePyYamlFromRequirements(requirementsTxt) : null) ?? (pyprojectToml ? resolvePyYamlFromPyproject(pyprojectToml) : null);
|
|
33015
|
+
const pyYamlSafeByDefault = pyYaml?.safeByDefault === true;
|
|
33016
|
+
let sourceLines = null;
|
|
33017
|
+
const getSourceLines = () => {
|
|
33018
|
+
if (sourceLines === null) sourceLines = code.split("\n");
|
|
33019
|
+
return sourceLines;
|
|
33020
|
+
};
|
|
33021
|
+
let droppedFastjson = 0;
|
|
33022
|
+
let droppedJackson = 0;
|
|
33023
|
+
let droppedSnakeYaml = 0;
|
|
33024
|
+
let droppedPyYaml = 0;
|
|
33025
|
+
const kept = sinks.filter((sink) => {
|
|
33026
|
+
if (sink.type !== "deserialization") return true;
|
|
33027
|
+
if (!sink.method) return true;
|
|
33028
|
+
if (fastjsonHardened && FASTJSON_METHODS.has(sink.method) && (sink.class === void 0 || FASTJSON_CLASSES.has(sink.class))) {
|
|
33029
|
+
droppedFastjson++;
|
|
33030
|
+
return false;
|
|
33031
|
+
}
|
|
33032
|
+
if (jacksonSafe && JACKSON_METHODS.has(sink.method) && sink.class !== void 0 && JACKSON_CLASSES.has(sink.class)) {
|
|
33033
|
+
droppedJackson++;
|
|
33034
|
+
return false;
|
|
33035
|
+
}
|
|
33036
|
+
if (snakeYamlSafe && SNAKEYAML_METHODS.has(sink.method) && sink.class !== void 0 && SNAKEYAML_CLASSES.has(sink.class)) {
|
|
33037
|
+
droppedSnakeYaml++;
|
|
33038
|
+
return false;
|
|
33039
|
+
}
|
|
33040
|
+
if (language === "python" && pyYamlSafeByDefault && PYYAML_METHODS.has(sink.method) && (sink.class === void 0 || PYYAML_CLASSES.has(sink.class)) && !fileHasUnsafePyYamlLoader(getSourceLines(), sink.line)) {
|
|
33041
|
+
droppedPyYaml++;
|
|
33042
|
+
return false;
|
|
33043
|
+
}
|
|
33044
|
+
return true;
|
|
33045
|
+
});
|
|
33046
|
+
const totalDropped = droppedFastjson + droppedJackson + droppedSnakeYaml + droppedPyYaml;
|
|
33047
|
+
if (totalDropped > 0) {
|
|
33048
|
+
sinks.length = 0;
|
|
33049
|
+
sinks.push(...kept);
|
|
33050
|
+
}
|
|
33051
|
+
return { droppedFastjson, droppedJackson, droppedSnakeYaml, droppedPyYaml };
|
|
33052
|
+
}
|
|
33053
|
+
};
|
|
33054
|
+
|
|
32800
33055
|
// src/analysis/passes/cli-main-reflection-suppress-pass.ts
|
|
32801
33056
|
var REFLECTION_SINK_METHODS = /* @__PURE__ */ new Set([
|
|
32802
33057
|
"forName",
|
|
@@ -42892,6 +43147,8 @@ async function analyze(code, filePath, language, options = {}) {
|
|
|
42892
43147
|
pipeline.add(new MyBatisAnnotationSqlSinkPass());
|
|
42893
43148
|
pipeline.add(new SinkFilterPass());
|
|
42894
43149
|
if (!disabledPasses.has("sink-semantics")) pipeline.add(new SinkSemanticsPass());
|
|
43150
|
+
if (!disabledPasses.has("deserialization-safety-gate"))
|
|
43151
|
+
pipeline.add(new DeserializationSafetyGatePass(options.dependencyContext));
|
|
42895
43152
|
if (!disabledPasses.has("cli-main-reflection-suppress"))
|
|
42896
43153
|
pipeline.add(new CliMainReflectionSuppressPass());
|
|
42897
43154
|
if (!disabledPasses.has("library-profile-sink-gate"))
|
|
@@ -43003,9 +43260,10 @@ async function analyze(code, filePath, language, options = {}) {
|
|
|
43003
43260
|
downgradedFindings,
|
|
43004
43261
|
makeProfileResolver(options.projectProfile)
|
|
43005
43262
|
);
|
|
43263
|
+
const coalescedFindings = coalesceNoteLevelFindings(profiledFindings);
|
|
43006
43264
|
const cappedFindings = applyPerFileFindingCap(
|
|
43007
43265
|
filePath,
|
|
43008
|
-
|
|
43266
|
+
coalescedFindings,
|
|
43009
43267
|
options.perFileFindingCap ?? DEFAULT_PER_FILE_FINDING_CAP
|
|
43010
43268
|
);
|
|
43011
43269
|
return {
|
|
@@ -12269,6 +12269,16 @@ var DEFAULT_SINKS = [
|
|
|
12269
12269
|
{ method: "format", class: "String", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12270
12270
|
{ method: "format", class: "Formatter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12271
12271
|
{ method: "printf", class: "System.out", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12272
|
+
// cognium-dev #264 — extend the Java format-string surface.
|
|
12273
|
+
// MessageFormat.format(pattern, args) — same receiver-family as String.format
|
|
12274
|
+
// but on the java.text side. PrintStream/PrintWriter.{printf,format} —
|
|
12275
|
+
// arbitrary streams (not just System.out) also honour format-string
|
|
12276
|
+
// specifiers, so a tainted first arg is a genuine CWE-134 sink.
|
|
12277
|
+
{ method: "format", class: "MessageFormat", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12278
|
+
{ method: "printf", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12279
|
+
{ method: "format", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12280
|
+
{ method: "printf", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12281
|
+
{ method: "format", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12272
12282
|
// NOTE: Python `userFmt.format(...)` and `userFmt % args` require
|
|
12273
12283
|
// receiver-taint or operator-LHS-taint tracking — the format string is the
|
|
12274
12284
|
// receiver, not an argument. Deferred to Sprint 6 (#86 follow-up).
|
|
@@ -12280,6 +12290,12 @@ var DEFAULT_SINKS = [
|
|
|
12280
12290
|
{ method: "Printf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12281
12291
|
{ method: "Errorf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12282
12292
|
{ method: "Fprintf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [1], languages: ["go"] },
|
|
12293
|
+
// cognium-dev #264 — Go stdlib `log` package format-string entry points.
|
|
12294
|
+
// log.Printf / Fatalf / Panicf take the format string at arg[0]; tainted
|
|
12295
|
+
// format string reaches the same fmt.Sprintf machinery internally.
|
|
12296
|
+
{ method: "Printf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12297
|
+
{ method: "Fatalf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12298
|
+
{ method: "Panicf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12283
12299
|
// CRLF / HTTP response splitting (CWE-113) — Sprint 6, #86.
|
|
12284
12300
|
// Node.js / Express response header / cookie sinks. The header *name* (arg 0)
|
|
12285
12301
|
// is also CRLF-sensitive but is almost always a string literal; we model
|
|
@@ -14372,6 +14388,11 @@ function calculateSinkConfidence(call, pattern) {
|
|
|
14372
14388
|
if (pattern.class && call.receiver) {
|
|
14373
14389
|
if (receiverMightBeClass(call.receiver, pattern.class)) {
|
|
14374
14390
|
confidence += 0.1;
|
|
14391
|
+
const receiverLc = call.receiver.toLowerCase();
|
|
14392
|
+
const classLc = pattern.class.toLowerCase();
|
|
14393
|
+
if (call.receiver === pattern.class || receiverLc === classLc) {
|
|
14394
|
+
confidence += 0.05;
|
|
14395
|
+
}
|
|
14375
14396
|
}
|
|
14376
14397
|
}
|
|
14377
14398
|
if (pattern.severity === "critical") {
|
|
@@ -12203,6 +12203,16 @@ var DEFAULT_SINKS = [
|
|
|
12203
12203
|
{ method: "format", class: "String", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12204
12204
|
{ method: "format", class: "Formatter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12205
12205
|
{ method: "printf", class: "System.out", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12206
|
+
// cognium-dev #264 — extend the Java format-string surface.
|
|
12207
|
+
// MessageFormat.format(pattern, args) — same receiver-family as String.format
|
|
12208
|
+
// but on the java.text side. PrintStream/PrintWriter.{printf,format} —
|
|
12209
|
+
// arbitrary streams (not just System.out) also honour format-string
|
|
12210
|
+
// specifiers, so a tainted first arg is a genuine CWE-134 sink.
|
|
12211
|
+
{ method: "format", class: "MessageFormat", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12212
|
+
{ method: "printf", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12213
|
+
{ method: "format", class: "PrintStream", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12214
|
+
{ method: "printf", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12215
|
+
{ method: "format", class: "PrintWriter", type: "format_string", cwe: "CWE-134", severity: "high", arg_positions: [0], languages: ["java"] },
|
|
12206
12216
|
// NOTE: Python `userFmt.format(...)` and `userFmt % args` require
|
|
12207
12217
|
// receiver-taint or operator-LHS-taint tracking — the format string is the
|
|
12208
12218
|
// receiver, not an argument. Deferred to Sprint 6 (#86 follow-up).
|
|
@@ -12214,6 +12224,12 @@ var DEFAULT_SINKS = [
|
|
|
12214
12224
|
{ method: "Printf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12215
12225
|
{ method: "Errorf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12216
12226
|
{ method: "Fprintf", class: "fmt", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [1], languages: ["go"] },
|
|
12227
|
+
// cognium-dev #264 — Go stdlib `log` package format-string entry points.
|
|
12228
|
+
// log.Printf / Fatalf / Panicf take the format string at arg[0]; tainted
|
|
12229
|
+
// format string reaches the same fmt.Sprintf machinery internally.
|
|
12230
|
+
{ method: "Printf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12231
|
+
{ method: "Fatalf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12232
|
+
{ method: "Panicf", class: "log", type: "format_string", cwe: "CWE-134", severity: "medium", arg_positions: [0], languages: ["go"] },
|
|
12217
12233
|
// CRLF / HTTP response splitting (CWE-113) — Sprint 6, #86.
|
|
12218
12234
|
// Node.js / Express response header / cookie sinks. The header *name* (arg 0)
|
|
12219
12235
|
// is also CRLF-sensitive but is almost always a string literal; we model
|
|
@@ -14306,6 +14322,11 @@ function calculateSinkConfidence(call, pattern) {
|
|
|
14306
14322
|
if (pattern.class && call.receiver) {
|
|
14307
14323
|
if (receiverMightBeClass(call.receiver, pattern.class)) {
|
|
14308
14324
|
confidence += 0.1;
|
|
14325
|
+
const receiverLc = call.receiver.toLowerCase();
|
|
14326
|
+
const classLc = pattern.class.toLowerCase();
|
|
14327
|
+
if (call.receiver === pattern.class || receiverLc === classLc) {
|
|
14328
|
+
confidence += 0.05;
|
|
14329
|
+
}
|
|
14309
14330
|
}
|
|
14310
14331
|
}
|
|
14311
14332
|
if (pattern.severity === "critical") {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -512,6 +512,30 @@ export interface SastFinding {
|
|
|
512
512
|
* kept and never dropped by the require-entry-path gate.
|
|
513
513
|
*/
|
|
514
514
|
entryPathTier?: 'tier1-entry-point' | 'tier2-reachable' | 'tier3-library-api' | 'unknown';
|
|
515
|
+
/**
|
|
516
|
+
* Additional rule identifiers that were coalesced into this finding at
|
|
517
|
+
* the same `(file, line)` location (added 3.178.0, cognium-dev #143).
|
|
518
|
+
*
|
|
519
|
+
* Present only when the note-level coalescer folded two or more
|
|
520
|
+
* `level === 'note'` findings sharing the same `(file, line)` into
|
|
521
|
+
* a single record. The primary `rule_id` is kept as-is; the additional
|
|
522
|
+
* co-located rule_ids appear here.
|
|
523
|
+
*
|
|
524
|
+
* Consumers that key on `rule_id` continue to work unchanged. Consumers
|
|
525
|
+
* that want to surface every co-located rule (SARIF `properties`,
|
|
526
|
+
* text-formatter badges, dashboards) should read both `rule_id` and
|
|
527
|
+
* `labels` and union them.
|
|
528
|
+
*
|
|
529
|
+
* Empirical basis: the OWASP-Benchmark instrumentation capture on
|
|
530
|
+
* cognium-dev#145 recorded 5,481 `(file, line)` locations (31.3% of
|
|
531
|
+
* files) hit by ≥ 2 distinct advisory rules — most commonly
|
|
532
|
+
* `missing-public-doc + naming-convention` and
|
|
533
|
+
* `missing-csp-frame-ancestors + missing-x-frame-options`. Coalescing
|
|
534
|
+
* cuts advisory-bucket cardinality by ~30% without losing any
|
|
535
|
+
* rule-hit information. HIGH-severity findings are never coalesced
|
|
536
|
+
* (measured 0 co-locations at HIGH in the same capture).
|
|
537
|
+
*/
|
|
538
|
+
labels?: string[];
|
|
515
539
|
}
|
|
516
540
|
/**
|
|
517
541
|
* Category of a software metric, aligned with ISO/IEC 25010:2023
|