circle-ir 4.9.15 → 4.9.17

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.
@@ -25732,6 +25732,77 @@ var GoPlugin = class extends BaseLanguagePlugin {
25732
25732
  severity: "high",
25733
25733
  argPositions: [0]
25734
25734
  },
25735
+ // cognium-dev#374 — the Go CWE-22 sink set was `os.Open` / `os.ReadFile`
25736
+ // / `os.WriteFile` only, which misses the ones the Cisco
25737
+ // vuln-localization Go corpus actually uses. Counting the file-opening
25738
+ // calls across its CWE-22 ground-truth files:
25739
+ //
25740
+ // filepath.Join 21 · os.Stat 14 · filepath.Clean 11 · os.Create 9
25741
+ // os.OpenFile 8 · os.Open 6 · os.RemoveAll 4 · os.Remove 3
25742
+ // ioutil.WriteFile 2 · ioutil.ReadFile 2
25743
+ //
25744
+ // `os.Create` and `os.OpenFile` together outnumber `os.Open` nearly
25745
+ // 3:1 and were not sinks at all, so an attacker-controlled path reaching
25746
+ // a file CREATE was silent while the same path reaching a file OPEN was
25747
+ // reported. Adding them is consistent with the `os.Open` entry that has
25748
+ // always been here rather than a new policy.
25749
+ {
25750
+ method: "Create",
25751
+ class: "os",
25752
+ type: "path_traversal",
25753
+ cwe: "CWE-22",
25754
+ severity: "high",
25755
+ argPositions: [0]
25756
+ },
25757
+ {
25758
+ method: "OpenFile",
25759
+ class: "os",
25760
+ type: "path_traversal",
25761
+ cwe: "CWE-22",
25762
+ severity: "high",
25763
+ argPositions: [0]
25764
+ },
25765
+ // Destructive path operations: a traversal here deletes outside the
25766
+ // intended root, which is strictly worse than reading.
25767
+ {
25768
+ method: "Remove",
25769
+ class: "os",
25770
+ type: "path_traversal",
25771
+ cwe: "CWE-22",
25772
+ severity: "high",
25773
+ argPositions: [0]
25774
+ },
25775
+ {
25776
+ method: "RemoveAll",
25777
+ class: "os",
25778
+ type: "path_traversal",
25779
+ cwe: "CWE-22",
25780
+ severity: "high",
25781
+ argPositions: [0]
25782
+ },
25783
+ // Pre-1.16 spellings. Still pervasive in the corpus, and `io/ioutil` is
25784
+ // deprecated rather than removed.
25785
+ {
25786
+ method: "ReadFile",
25787
+ class: "ioutil",
25788
+ type: "path_traversal",
25789
+ cwe: "CWE-22",
25790
+ severity: "high",
25791
+ argPositions: [0]
25792
+ },
25793
+ {
25794
+ method: "WriteFile",
25795
+ class: "ioutil",
25796
+ type: "path_traversal",
25797
+ cwe: "CWE-22",
25798
+ severity: "high",
25799
+ argPositions: [0]
25800
+ },
25801
+ // NOTE: `os.Stat` is deliberately NOT a sink despite appearing 14 times.
25802
+ // It returns metadata only, so a traversal there discloses existence
25803
+ // rather than content — a weaker finding that would fire on every
25804
+ // path-validation helper that stats before opening, including the
25805
+ // correct ones. Left out until there is corpus evidence it pays.
25735
25806
  // XSS (writing to http.ResponseWriter without escaping)
25736
25807
  {
25737
25808
  method: "Fprintf",
@@ -27136,6 +27207,8 @@ var LanguageSourcesPass = class {
27136
27207
  additionalSources.push(...findCSharpBindingAttributeSources(code, language));
27137
27208
  additionalSources.push(...findCSharpMinimalApiSources(code, language));
27138
27209
  additionalSources.push(...findGoArgvSources(code, language));
27210
+ additionalSources.push(...findGoArchiveEntrySources(code, language));
27211
+ additionalSources.push(...findGoMultipartUploadSources(code, language));
27139
27212
  const jsDOMSinks = findJavaScriptDOMSinks(code, language);
27140
27213
  for (const s of jsDOMSinks) {
27141
27214
  const alreadyExists = additionalSinks.some((x) => x.line === s.line && x.cwe === s.cwe);
@@ -27208,6 +27281,7 @@ var LanguageSourcesPass = class {
27208
27281
  if (language === "go") {
27209
27282
  additionalSanitizers.push(...findGoMapAllowlistGuardSanitizers(code));
27210
27283
  additionalSanitizers.push(...findGoHtmlTemplateImportSanitizers(code));
27284
+ additionalSanitizers.push(...findGoPathContainmentGuardSanitizers(code));
27211
27285
  const goMisconfigFindings = findGoPatternFindings(code, graph.ir.meta.file);
27212
27286
  for (const finding of goMisconfigFindings) {
27213
27287
  ctx.addFinding(finding);
@@ -27822,6 +27896,96 @@ function findGoArgvSources(sourceCode, language) {
27822
27896
  }
27823
27897
  return sources;
27824
27898
  }
27899
+ function findGoArchiveEntrySources(sourceCode, language) {
27900
+ if (language !== "go") return [];
27901
+ if (!/\bimport\b[\s\S]{0,400}?archive\/(?:zip|tar)|"archive\/(?:zip|tar)"/.test(sourceCode)) return [];
27902
+ const sources = [];
27903
+ const lines = sourceCode.split("\n");
27904
+ const entryVars = /* @__PURE__ */ new Set();
27905
+ const zipRange = /\bfor\b[^;{]*?,\s*([A-Za-z_]\w*)\s*:?=\s*range\s+[A-Za-z_][\w.]*\.File\b/;
27906
+ const tarNext = /\b([A-Za-z_]\w*)\s*,\s*[A-Za-z_]\w*\s*:?=\s*[A-Za-z_][\w.]*\.Next\s*\(\s*\)/;
27907
+ for (const line of lines) {
27908
+ const z = zipRange.exec(line);
27909
+ if (z) entryVars.add(z[1]);
27910
+ const t = tarNext.exec(line);
27911
+ if (t) entryVars.add(t[1]);
27912
+ }
27913
+ if (entryVars.size === 0) return sources;
27914
+ const assignRe = /^\s*(?:var\s+)?([A-Za-z_]\w*)\s*(?::?=|=)\s*(.+?)\s*$/;
27915
+ for (let i2 = 0; i2 < lines.length; i2++) {
27916
+ const m = assignRe.exec(lines[i2]);
27917
+ if (!m) continue;
27918
+ const [, lhs, rhs] = m;
27919
+ let matched = null;
27920
+ for (const v of entryVars) {
27921
+ if (new RegExp(`(?<![\\w.])${v}\\s*\\.\\s*Name\\b`).test(rhs)) {
27922
+ matched = v;
27923
+ break;
27924
+ }
27925
+ }
27926
+ if (!matched) continue;
27927
+ const lineNumber = i2 + 1;
27928
+ if (sources.some((sc) => sc.line === lineNumber && sc.variable === lhs)) continue;
27929
+ sources.push({
27930
+ type: "file_input",
27931
+ location: `${lhs} derived from archive entry name ${matched}.Name (Zip/Tar Slip)`,
27932
+ severity: "high",
27933
+ line: lineNumber,
27934
+ confidence: 0.9,
27935
+ variable: lhs
27936
+ });
27937
+ }
27938
+ return sources;
27939
+ }
27940
+ function findGoMultipartUploadSources(sourceCode, language) {
27941
+ if (language !== "go") return [];
27942
+ if (!/\.\s*(?:FormFile|MultipartForm|MultipartReader)\b/.test(sourceCode)) return [];
27943
+ const sources = [];
27944
+ const lines = sourceCode.split("\n");
27945
+ const headerVars = /* @__PURE__ */ new Set();
27946
+ const formFileRe = /\b[A-Za-z_]\w*\s*,\s*([A-Za-z_]\w*)\s*(?:,\s*[A-Za-z_]\w*\s*)?:?=\s*[A-Za-z_][\w.]*\.\s*FormFile\s*\(/;
27947
+ for (let i2 = 0; i2 < lines.length; i2++) {
27948
+ const m = formFileRe.exec(lines[i2]);
27949
+ if (!m) continue;
27950
+ const v = m[1];
27951
+ if (v === "_") continue;
27952
+ headerVars.add(v);
27953
+ sources.push({
27954
+ type: "http_param",
27955
+ location: `${v}.Filename from r.FormFile (client-supplied upload filename)`,
27956
+ severity: "high",
27957
+ line: i2 + 1,
27958
+ confidence: 0.9,
27959
+ variable: v
27960
+ });
27961
+ }
27962
+ const assignRe = /^\s*(?:var\s+)?([A-Za-z_]\w*)\s*(?::?=|=)\s*(.+?)\s*$/;
27963
+ for (let i2 = 0; i2 < lines.length; i2++) {
27964
+ const m = assignRe.exec(lines[i2]);
27965
+ if (!m) continue;
27966
+ const [, lhs, rhs] = m;
27967
+ if (lhs === "_") continue;
27968
+ let matched = null;
27969
+ for (const v of headerVars) {
27970
+ if (new RegExp(`(?<![\\w.])${v}\\s*\\.\\s*Filename\\b`).test(rhs)) {
27971
+ matched = v;
27972
+ break;
27973
+ }
27974
+ }
27975
+ if (!matched) continue;
27976
+ const lineNumber = i2 + 1;
27977
+ if (sources.some((sc) => sc.line === lineNumber && sc.variable === lhs)) continue;
27978
+ sources.push({
27979
+ type: "http_param",
27980
+ location: `${lhs} derived from upload filename ${matched}.Filename`,
27981
+ severity: "high",
27982
+ line: lineNumber,
27983
+ confidence: 0.9,
27984
+ variable: lhs
27985
+ });
27986
+ }
27987
+ return sources;
27988
+ }
27825
27989
  function findCSharpRequestSources(sourceCode, language) {
27826
27990
  if (language !== "csharp") return [];
27827
27991
  const sources = [];
@@ -29165,6 +29329,41 @@ function findGoMapAllowlistGuardSanitizers(code) {
29165
29329
  }
29166
29330
  return sanitizers;
29167
29331
  }
29332
+ function findGoPathContainmentGuardSanitizers(code) {
29333
+ const sanitizers = [];
29334
+ const lines = code.split("\n");
29335
+ const REJECT = /\b(?:continue|break|return|panic|fmt\.Errorf|errors\.New)\b/;
29336
+ const guarded = /* @__PURE__ */ new Map();
29337
+ for (let i2 = 0; i2 < lines.length; i2++) {
29338
+ const line = lines[i2];
29339
+ const hp = /if\s*!\s*strings\s*\.\s*HasPrefix\s*\(\s*([A-Za-z_]\w*)\s*,/.exec(line);
29340
+ if (hp && guardRejects(lines, i2, REJECT, 4)) {
29341
+ if (!guarded.has(hp[1])) guarded.set(hp[1], i2 + 1);
29342
+ continue;
29343
+ }
29344
+ const rel = /([A-Za-z_]\w*)\s*,\s*[A-Za-z_]\w*\s*:?=\s*filepath\s*\.\s*Rel\s*\(\s*[A-Za-z_]\w*\s*,\s*([A-Za-z_]\w*)\s*\)/.exec(line);
29345
+ if (rel) {
29346
+ const window2 = lines.slice(i2, i2 + 5).join("\n");
29347
+ if (/\.\./.test(window2) && REJECT.test(window2)) {
29348
+ if (!guarded.has(rel[2])) guarded.set(rel[2], i2 + 1);
29349
+ }
29350
+ }
29351
+ }
29352
+ if (guarded.size === 0) return sanitizers;
29353
+ for (const [name2, guardLine] of guarded) {
29354
+ const useRe = new RegExp(`(?<![\\w.])${name2}(?![\\w])`);
29355
+ for (let l = guardLine; l < lines.length; l++) {
29356
+ if (!useRe.test(lines[l])) continue;
29357
+ sanitizers.push({
29358
+ type: "go_path_containment_guard",
29359
+ method: "strings.HasPrefix",
29360
+ line: l + 1,
29361
+ sanitizes: ["path_traversal"]
29362
+ });
29363
+ }
29364
+ }
29365
+ return sanitizers;
29366
+ }
29168
29367
  function findGoHtmlTemplateImportSanitizers(code) {
29169
29368
  const sanitizers = [];
29170
29369
  const hasHtmlTemplate = /["\s]html\/template["\s]/.test(code);
@@ -33592,7 +33791,7 @@ var LibraryProfileSourceGatePass = class {
33592
33791
  droppedByType: {}
33593
33792
  };
33594
33793
  }
33595
- const sources = graph.ir.taint.sources;
33794
+ const sources = ctx.hasResult("sink-filter") ? ctx.getResult("sink-filter").sources : graph.ir.taint.sources;
33596
33795
  if (sources.length === 0) {
33597
33796
  return {
33598
33797
  profile,
@@ -33602,17 +33801,12 @@ var LibraryProfileSourceGatePass = class {
33602
33801
  };
33603
33802
  }
33604
33803
  const droppedByType = {};
33605
- const kept = [];
33606
33804
  for (const src of sources) {
33607
33805
  if (SPECULATIVE_SOURCE_TYPES.has(src.type)) {
33608
33806
  droppedByType[src.type] = (droppedByType[src.type] ?? 0) + 1;
33609
- continue;
33610
33807
  }
33611
- kept.push(src);
33612
33808
  }
33613
- const dropped = sources.length - kept.length;
33614
- sources.length = 0;
33615
- sources.push(...kept);
33809
+ const dropped = 0;
33616
33810
  return {
33617
33811
  profile,
33618
33812
  applied: true,
@@ -36454,7 +36648,7 @@ var LibraryProfileCwe22PathGatePass = class {
36454
36648
  droppedBySourceType: {}
36455
36649
  };
36456
36650
  }
36457
- const flows = graph.ir.taint.flows;
36651
+ const flows = ctx.hasResult("interprocedural") ? ctx.getResult("interprocedural").additionalFlows : graph.ir.taint.flows;
36458
36652
  if (!flows || flows.length === 0) {
36459
36653
  return {
36460
36654
  profile,
@@ -36464,19 +36658,18 @@ var LibraryProfileCwe22PathGatePass = class {
36464
36658
  };
36465
36659
  }
36466
36660
  const droppedBySourceType = {};
36467
- const kept = [];
36661
+ let tagged = 0;
36468
36662
  for (const flow of flows) {
36469
36663
  if (flow.sink_type === "path_traversal" && CWE22_SPECULATIVE_SOURCE_TYPES.has(flow.source_type)) {
36470
36664
  droppedBySourceType[flow.source_type] = (droppedBySourceType[flow.source_type] ?? 0) + 1;
36471
- continue;
36665
+ const tags = flow.tags ?? [];
36666
+ if (!tags.includes(LIBRARY_API_SURFACE_TAG)) {
36667
+ flow.tags = [...tags, LIBRARY_API_SURFACE_TAG];
36668
+ }
36669
+ tagged++;
36472
36670
  }
36473
- kept.push(flow);
36474
- }
36475
- const dropped = flows.length - kept.length;
36476
- if (dropped > 0) {
36477
- flows.length = 0;
36478
- flows.push(...kept);
36479
36671
  }
36672
+ const dropped = tagged;
36480
36673
  return {
36481
36674
  profile,
36482
36675
  applied: true,
@@ -36634,6 +36827,56 @@ var TaintPropagationPass = class {
36634
36827
  flows.push(f);
36635
36828
  return true;
36636
36829
  };
36830
+ if (ctx.language === "python" && typeof ctx.code === "string") {
36831
+ const pyTainted = buildPythonTaintedVars(ctx.code);
36832
+ if (pyTainted.size > 0) {
36833
+ for (const v of findPythonTrustBoundaryViolations(ctx.code, pyTainted)) {
36834
+ const sink = sinks.find((sk) => sk.line === v.sinkLine && sk.type === "trust_boundary");
36835
+ if (!sink) continue;
36836
+ const src = sources.find((sc) => sc.line === v.sourceLine) ?? sources.filter((sc) => sc.line <= v.sinkLine).sort((a, b) => b.line - a.line)[0];
36837
+ if (!src) continue;
36838
+ if (constProp.unreachableLines.has(v.sinkLine)) continue;
36839
+ pushIfNew({
36840
+ source_line: src.line,
36841
+ sink_line: v.sinkLine,
36842
+ source_type: src.type,
36843
+ sink_type: "trust_boundary",
36844
+ path: [
36845
+ { variable: src.variable ?? "session_key", line: src.line, type: "source" },
36846
+ { variable: src.variable ?? "session_key", line: v.sinkLine, type: "sink" }
36847
+ ],
36848
+ confidence: (src.confidence ?? 1) * (sink.confidence ?? 1),
36849
+ sanitized: false
36850
+ });
36851
+ }
36852
+ }
36853
+ }
36854
+ if (ctx.language === "python" && typeof ctx.code === "string") {
36855
+ const pyTainted = buildPythonTaintedVars(ctx.code);
36856
+ if (pyTainted.size > 0) {
36857
+ const xssSanitizerLines = sanitizers.filter((sa) => sa.sanitizes.includes("xss")).map((sa) => sa.line);
36858
+ for (const rx of findPythonReturnXSSSinks(ctx.code, pyTainted)) {
36859
+ if (constProp.unreachableLines.has(rx.sinkLine)) continue;
36860
+ const sink = sinks.find((sk) => sk.line === rx.sinkLine && sk.type === "xss");
36861
+ if (!sink) continue;
36862
+ const src = sources.filter((sc) => sc.line <= rx.sinkLine).sort((a, b) => b.line - a.line)[0];
36863
+ if (!src) continue;
36864
+ if (xssSanitizerLines.some((l) => l >= src.line && l <= rx.sinkLine)) continue;
36865
+ pushIfNew({
36866
+ source_line: src.line,
36867
+ sink_line: rx.sinkLine,
36868
+ source_type: src.type,
36869
+ sink_type: "xss",
36870
+ path: [
36871
+ { variable: src.variable ?? "response", line: src.line, type: "source" },
36872
+ { variable: src.variable ?? "response", line: rx.sinkLine, type: "sink" }
36873
+ ],
36874
+ confidence: (src.confidence ?? 1) * (sink.confidence ?? 1),
36875
+ sanitized: false
36876
+ });
36877
+ }
36878
+ }
36879
+ }
36637
36880
  const arrayFlows = detectArrayElementFlows(calls, sources, sinks, constProp.taintedArrayElements, constProp.unreachableLines, types) ?? [];
36638
36881
  for (const f of arrayFlows) {
36639
36882
  pushIfNew(f);
@@ -47027,8 +47270,6 @@ async function analyze(code, filePath, language, options = {}) {
47027
47270
  pipeline.add(new ConstantPropagationPass(tree));
47028
47271
  pipeline.add(new LanguageSourcesPass());
47029
47272
  if (!disabledPasses.has("source-semantics")) pipeline.add(new SourceSemanticsPass());
47030
- if (!disabledPasses.has("library-profile-source-gate"))
47031
- pipeline.add(new LibraryProfileSourceGatePass());
47032
47273
  if (!disabledPasses.has("mybatis-annotation-sql-sink"))
47033
47274
  pipeline.add(new MyBatisAnnotationSqlSinkPass());
47034
47275
  pipeline.add(new SinkFilterPass());
@@ -47044,6 +47285,8 @@ async function analyze(code, filePath, language, options = {}) {
47044
47285
  pipeline.add(new LibraryProfileSinkGatePass());
47045
47286
  if (!disabledPasses.has("library-profile-xss-gate"))
47046
47287
  pipeline.add(new LibraryProfileXssGatePass());
47288
+ if (!disabledPasses.has("library-profile-source-gate"))
47289
+ pipeline.add(new LibraryProfileSourceGatePass());
47047
47290
  pipeline.add(new TaintPropagationPass());
47048
47291
  pipeline.add(new InterproceduralPass({
47049
47292
  enableEntryPointGate: options.enableEntryPointGate ?? true
@@ -1 +1 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/languages/plugins/go.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAC9C,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAU;IAC5B,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,QAAQ,yBAAyB;IAE1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CA+BnC;IAEF;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS;IAwDtE;;OAEG;IACH,iBAAiB,IAAI,kBAAkB,EAAE;IAmGzC;;;;;;OAMG;IACH,eAAe,IAAI,gBAAgB,EAAE;IA4SrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IAiBlF;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAK1C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAkBpD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,EAAE;IA0FpD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,EAAE;IAsDpD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,EAAE;IA6BxD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IAkB9D,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,eAAe;CAiBxB"}
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/languages/plugins/go.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAC9C,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAU;IAC5B,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,QAAQ,yBAAyB;IAE1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CA+BnC;IAEF;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS;IAwDtE;;OAEG;IACH,iBAAiB,IAAI,kBAAkB,EAAE;IAmGzC;;;;;;OAMG;IACH,eAAe,IAAI,gBAAgB,EAAE;IAoXrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IAiBlF;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAK1C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAkBpD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,EAAE;IA0FpD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,EAAE;IAsDpD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,EAAE;IA6BxD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IAkB9D,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,eAAe;CAiBxB"}
@@ -276,6 +276,77 @@ export class GoPlugin extends BaseLanguagePlugin {
276
276
  severity: 'high',
277
277
  argPositions: [0],
278
278
  },
279
+ // cognium-dev#374 — the Go CWE-22 sink set was `os.Open` / `os.ReadFile`
280
+ // / `os.WriteFile` only, which misses the ones the Cisco
281
+ // vuln-localization Go corpus actually uses. Counting the file-opening
282
+ // calls across its CWE-22 ground-truth files:
283
+ //
284
+ // filepath.Join 21 · os.Stat 14 · filepath.Clean 11 · os.Create 9
285
+ // os.OpenFile 8 · os.Open 6 · os.RemoveAll 4 · os.Remove 3
286
+ // ioutil.WriteFile 2 · ioutil.ReadFile 2
287
+ //
288
+ // `os.Create` and `os.OpenFile` together outnumber `os.Open` nearly
289
+ // 3:1 and were not sinks at all, so an attacker-controlled path reaching
290
+ // a file CREATE was silent while the same path reaching a file OPEN was
291
+ // reported. Adding them is consistent with the `os.Open` entry that has
292
+ // always been here rather than a new policy.
293
+ {
294
+ method: 'Create',
295
+ class: 'os',
296
+ type: 'path_traversal',
297
+ cwe: 'CWE-22',
298
+ severity: 'high',
299
+ argPositions: [0],
300
+ },
301
+ {
302
+ method: 'OpenFile',
303
+ class: 'os',
304
+ type: 'path_traversal',
305
+ cwe: 'CWE-22',
306
+ severity: 'high',
307
+ argPositions: [0],
308
+ },
309
+ // Destructive path operations: a traversal here deletes outside the
310
+ // intended root, which is strictly worse than reading.
311
+ {
312
+ method: 'Remove',
313
+ class: 'os',
314
+ type: 'path_traversal',
315
+ cwe: 'CWE-22',
316
+ severity: 'high',
317
+ argPositions: [0],
318
+ },
319
+ {
320
+ method: 'RemoveAll',
321
+ class: 'os',
322
+ type: 'path_traversal',
323
+ cwe: 'CWE-22',
324
+ severity: 'high',
325
+ argPositions: [0],
326
+ },
327
+ // Pre-1.16 spellings. Still pervasive in the corpus, and `io/ioutil` is
328
+ // deprecated rather than removed.
329
+ {
330
+ method: 'ReadFile',
331
+ class: 'ioutil',
332
+ type: 'path_traversal',
333
+ cwe: 'CWE-22',
334
+ severity: 'high',
335
+ argPositions: [0],
336
+ },
337
+ {
338
+ method: 'WriteFile',
339
+ class: 'ioutil',
340
+ type: 'path_traversal',
341
+ cwe: 'CWE-22',
342
+ severity: 'high',
343
+ argPositions: [0],
344
+ },
345
+ // NOTE: `os.Stat` is deliberately NOT a sink despite appearing 14 times.
346
+ // It returns metadata only, so a traversal there discloses existence
347
+ // rather than content — a weaker finding that would fire on every
348
+ // path-validation helper that stats before opening, including the
349
+ // correct ones. Left out until there is corpus evidence it pays.
279
350
  // XSS (writing to http.ResponseWriter without escaping)
280
351
  {
281
352
  method: 'Fprintf',
@@ -1 +1 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/languages/plugins/go.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/languages/plugins/go.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circle-ir",
3
- "version": "4.9.15",
3
+ "version": "4.9.17",
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",