circle-ir 4.9.16 → 4.9.19
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/findings.d.ts +2 -2
- package/dist/analysis/findings.d.ts.map +1 -1
- package/dist/analysis/findings.js +166 -6
- package/dist/analysis/findings.js.map +1 -1
- package/dist/analysis/passes/language-sources-pass.d.ts +3 -0
- package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
- package/dist/analysis/passes/language-sources-pass.js +247 -1
- package/dist/analysis/passes/language-sources-pass.js.map +1 -1
- package/dist/analysis/passes/library-profile-sink-gate-pass.d.ts.map +1 -1
- package/dist/analysis/passes/library-profile-sink-gate-pass.js +48 -13
- package/dist/analysis/passes/library-profile-sink-gate-pass.js.map +1 -1
- package/dist/analysis/passes/library-profile-source-gate-pass.d.ts.map +1 -1
- package/dist/analysis/passes/library-profile-source-gate-pass.js +35 -10
- package/dist/analysis/passes/library-profile-source-gate-pass.js.map +1 -1
- package/dist/analysis/passes/sink-filter-pass.d.ts.map +1 -1
- package/dist/analysis/passes/sink-filter-pass.js +54 -0
- package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
- package/dist/analysis/passes/taint-propagation-pass.d.ts.map +1 -1
- package/dist/analysis/passes/taint-propagation-pass.js +59 -1
- package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +16 -2
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +245 -18
- package/dist/languages/plugins/go.d.ts.map +1 -1
- package/dist/languages/plugins/go.js +71 -0
- package/dist/languages/plugins/go.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 =
|
|
33614
|
-
sources.length = 0;
|
|
33615
|
-
sources.push(...kept);
|
|
33809
|
+
const dropped = 0;
|
|
33616
33810
|
return {
|
|
33617
33811
|
profile,
|
|
33618
33812
|
applied: true,
|
|
@@ -33962,6 +34156,7 @@ var PROTOCOL_CLIENT_PACKAGES = [
|
|
|
33962
34156
|
"org.eclipse.paho"
|
|
33963
34157
|
];
|
|
33964
34158
|
var OS_EXEC_RECEIVER_RE = /\b(?:Runtime|ProcessBuilder|DefaultExecutor|Executor|Exec|Launcher|ProcStarter|ProcessExecutor|RuntimeUtil)\s*[.(]/;
|
|
34159
|
+
var JAVA_STDOUT_PRINT_RE = /\bSystem\s*\.\s*(?:out|err)\s*\.\s*(?:println|print|printf|write|append)\s*\(/;
|
|
33965
34160
|
var PROCESS_BUILDER_ARGV_FORM_RE = /\bnew\s+ProcessBuilder\s*\(\s*(?:Arrays\.asList\b|List\.of\b|Collections\.singletonList\b|new\s+ArrayList\b|new\s+String\s*\[\s*\]\s*\{|"[^"]*"\s*,)/;
|
|
33966
34161
|
var PROCESS_BUILDER_COMMAND_ARGV_FORM_RE = /\.\s*command\s*\(\s*(?:Arrays\.asList\b|List\.of\b|Collections\.singletonList\b|new\s+ArrayList\b|new\s+String\s*\[\s*\]\s*\{|"[^"]*"\s*,)/;
|
|
33967
34162
|
var SHELL_PROGRAMS = /* @__PURE__ */ new Set([
|
|
@@ -34918,6 +35113,13 @@ var SinkFilterPass = class {
|
|
|
34918
35113
|
if (language === "java" && !HTML_CONTENT_TYPE_RE.test(ctx.code)) {
|
|
34919
35114
|
filtered = filtered.filter((sink) => !(sink.type === "xss" && sink.method === "body"));
|
|
34920
35115
|
}
|
|
35116
|
+
if (language === "java") {
|
|
35117
|
+
const sourceLines = ctx.code.split("\n");
|
|
35118
|
+
filtered = filtered.filter((sink) => {
|
|
35119
|
+
if (sink.type !== "xss" || sink.class !== void 0) return true;
|
|
35120
|
+
return !JAVA_STDOUT_PRINT_RE.test(sourceLines[sink.line - 1] ?? "");
|
|
35121
|
+
});
|
|
35122
|
+
}
|
|
34921
35123
|
if (language === "java") {
|
|
34922
35124
|
const guardedLines = javaTraversalRejectGuardedLines(ctx.code);
|
|
34923
35125
|
if (guardedLines.size > 0) {
|
|
@@ -36454,7 +36656,7 @@ var LibraryProfileCwe22PathGatePass = class {
|
|
|
36454
36656
|
droppedBySourceType: {}
|
|
36455
36657
|
};
|
|
36456
36658
|
}
|
|
36457
|
-
const flows = graph.ir.taint.flows;
|
|
36659
|
+
const flows = ctx.hasResult("interprocedural") ? ctx.getResult("interprocedural").additionalFlows : graph.ir.taint.flows;
|
|
36458
36660
|
if (!flows || flows.length === 0) {
|
|
36459
36661
|
return {
|
|
36460
36662
|
profile,
|
|
@@ -36464,19 +36666,18 @@ var LibraryProfileCwe22PathGatePass = class {
|
|
|
36464
36666
|
};
|
|
36465
36667
|
}
|
|
36466
36668
|
const droppedBySourceType = {};
|
|
36467
|
-
|
|
36669
|
+
let tagged = 0;
|
|
36468
36670
|
for (const flow of flows) {
|
|
36469
36671
|
if (flow.sink_type === "path_traversal" && CWE22_SPECULATIVE_SOURCE_TYPES.has(flow.source_type)) {
|
|
36470
36672
|
droppedBySourceType[flow.source_type] = (droppedBySourceType[flow.source_type] ?? 0) + 1;
|
|
36471
|
-
|
|
36673
|
+
const tags = flow.tags ?? [];
|
|
36674
|
+
if (!tags.includes(LIBRARY_API_SURFACE_TAG)) {
|
|
36675
|
+
flow.tags = [...tags, LIBRARY_API_SURFACE_TAG];
|
|
36676
|
+
}
|
|
36677
|
+
tagged++;
|
|
36472
36678
|
}
|
|
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
36679
|
}
|
|
36680
|
+
const dropped = tagged;
|
|
36480
36681
|
return {
|
|
36481
36682
|
profile,
|
|
36482
36683
|
applied: true,
|
|
@@ -36658,6 +36859,32 @@ var TaintPropagationPass = class {
|
|
|
36658
36859
|
}
|
|
36659
36860
|
}
|
|
36660
36861
|
}
|
|
36862
|
+
if (ctx.language === "python" && typeof ctx.code === "string") {
|
|
36863
|
+
const pyTainted = buildPythonTaintedVars(ctx.code);
|
|
36864
|
+
if (pyTainted.size > 0) {
|
|
36865
|
+
const xssSanitizerLines = sanitizers.filter((sa) => sa.sanitizes.includes("xss")).map((sa) => sa.line);
|
|
36866
|
+
for (const rx of findPythonReturnXSSSinks(ctx.code, pyTainted)) {
|
|
36867
|
+
if (constProp.unreachableLines.has(rx.sinkLine)) continue;
|
|
36868
|
+
const sink = sinks.find((sk) => sk.line === rx.sinkLine && sk.type === "xss");
|
|
36869
|
+
if (!sink) continue;
|
|
36870
|
+
const src = sources.filter((sc) => sc.line <= rx.sinkLine).sort((a, b) => b.line - a.line)[0];
|
|
36871
|
+
if (!src) continue;
|
|
36872
|
+
if (xssSanitizerLines.some((l) => l >= src.line && l <= rx.sinkLine)) continue;
|
|
36873
|
+
pushIfNew({
|
|
36874
|
+
source_line: src.line,
|
|
36875
|
+
sink_line: rx.sinkLine,
|
|
36876
|
+
source_type: src.type,
|
|
36877
|
+
sink_type: "xss",
|
|
36878
|
+
path: [
|
|
36879
|
+
{ variable: src.variable ?? "response", line: src.line, type: "source" },
|
|
36880
|
+
{ variable: src.variable ?? "response", line: rx.sinkLine, type: "sink" }
|
|
36881
|
+
],
|
|
36882
|
+
confidence: (src.confidence ?? 1) * (sink.confidence ?? 1),
|
|
36883
|
+
sanitized: false
|
|
36884
|
+
});
|
|
36885
|
+
}
|
|
36886
|
+
}
|
|
36887
|
+
}
|
|
36661
36888
|
const arrayFlows = detectArrayElementFlows(calls, sources, sinks, constProp.taintedArrayElements, constProp.unreachableLines, types) ?? [];
|
|
36662
36889
|
for (const f of arrayFlows) {
|
|
36663
36890
|
pushIfNew(f);
|
|
@@ -47051,8 +47278,6 @@ async function analyze(code, filePath, language, options = {}) {
|
|
|
47051
47278
|
pipeline.add(new ConstantPropagationPass(tree));
|
|
47052
47279
|
pipeline.add(new LanguageSourcesPass());
|
|
47053
47280
|
if (!disabledPasses.has("source-semantics")) pipeline.add(new SourceSemanticsPass());
|
|
47054
|
-
if (!disabledPasses.has("library-profile-source-gate"))
|
|
47055
|
-
pipeline.add(new LibraryProfileSourceGatePass());
|
|
47056
47281
|
if (!disabledPasses.has("mybatis-annotation-sql-sink"))
|
|
47057
47282
|
pipeline.add(new MyBatisAnnotationSqlSinkPass());
|
|
47058
47283
|
pipeline.add(new SinkFilterPass());
|
|
@@ -47068,6 +47293,8 @@ async function analyze(code, filePath, language, options = {}) {
|
|
|
47068
47293
|
pipeline.add(new LibraryProfileSinkGatePass());
|
|
47069
47294
|
if (!disabledPasses.has("library-profile-xss-gate"))
|
|
47070
47295
|
pipeline.add(new LibraryProfileXssGatePass());
|
|
47296
|
+
if (!disabledPasses.has("library-profile-source-gate"))
|
|
47297
|
+
pipeline.add(new LibraryProfileSourceGatePass());
|
|
47071
47298
|
pipeline.add(new TaintPropagationPass());
|
|
47072
47299
|
pipeline.add(new InterproceduralPass({
|
|
47073
47300
|
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;
|
|
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":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,kBAAkB;IACrC,EAAE,GAAG,IAAa,CAAC;IACnB,IAAI,GAAG,IAAI,CAAC;IACZ,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,QAAQ,GAAG,qBAAqB,CAAC;IAEjC,SAAS,GAAsB;QACtC,oBAAoB;QACpB,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;QACtC,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;QAC1C,eAAe,EAAE,EAAE,EAAG,wCAAwC;QAC9D,mBAAmB,EAAE,CAAC,sBAAsB,CAAC;QAC7C,iBAAiB,EAAE,CAAC,oBAAoB,CAAC;QAEzC,cAAc;QACd,UAAU,EAAE,CAAC,iBAAiB,CAAC;QAC/B,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,UAAU,EAAE,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC;QAChF,mBAAmB,EAAE,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;QAEjE,2BAA2B;QAC3B,SAAS,EAAE,CAAC,uBAAuB,CAAC;QACpC,QAAQ,EAAE,CAAC,eAAe,CAAC;QAE3B,yBAAyB;QACzB,UAAU,EAAE,EAAE,EAAG,wBAAwB;QACzC,SAAS,EAAE,EAAE,EAAI,uBAAuB;QAExC,UAAU;QACV,eAAe,EAAE,CAAC,oBAAoB,CAAC;QAEvC,eAAe;QACf,WAAW,EAAE,CAAC,cAAc,CAAC;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;QAC/B,cAAc,EAAE,EAAE,EAAG,6BAA6B;QAClD,YAAY,EAAE,EAAE,EAAK,wBAAwB;QAC7C,eAAe,EAAE,CAAC,kBAAkB,CAAC;KACtC,CAAC;IAEF;;OAEG;IACH,eAAe,CAAC,OAA0B;QACxC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,SAA6B,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,aAAa,CAAC;YAEnD,MAAM;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,SAAS,GAAG,KAAK,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,OAAO;YACP,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,SAAS,GAAG,MAAM,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,QAAQ;YACR,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,SAAS,GAAG,OAAO,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,MAAM;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,SAAS,GAAG,KAAK,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,OAAO;YACP,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,oBAAoB;YACpB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,SAAS,GAAG,SAAS,IAAI,UAAU,CAAC;gBACpC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO;YACL,2BAA2B;YAC3B;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,IAAI;aACpB;YAED,gBAAgB;YAChB,yEAAyE;YACzE,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,6DAA6D;YAC7D,sEAAsE;YACtE;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB;YAED,uBAAuB;YACvB;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,IAAI;aACpB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,OAAO;YACL,gBAAgB;YAChB;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YAED,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,oCAAoC;YACpC;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,mBAAmB;gBACzB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,mBAAmB;gBACzB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,EAAE;aACjB;YAED,iBAAiB;YACjB;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YAED,wDAAwD;YACxD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD,0EAA0E;YAC1E,6DAA6D;YAC7D;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YAED,OAAO;YACP;gBACE,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACrB;YAED,iEAAiE;YACjE,kEAAkE;YAClE,mEAAmE;YACnE,uEAAuE;YACvE,qEAAqE;YACrE,+DAA+D;YAC/D,iEAAiE;YACjE,qBAAqB;YACrB;gBACE,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YAED,kBAAkB;YAClB;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD,sEAAsE;YACtE,qEAAqE;YACrE,qDAAqD;YAErD,6DAA6D;YAC7D,kEAAkE;YAClE,8BAA8B;YAC9B;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,EAAE;aACjB;YAED,uEAAuE;YACvE,mEAAmE;YACnE,6DAA6D;YAC7D,4DAA4D;YAC5D;gBACE,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,EAAE;aACjB;YACD;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,CAAC;aAClB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,EAAE;aACjB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAgB,EAAE,QAA2B;QAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,sDAAsD;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC,IAAI,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,4BAA4B;YAC1C,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,2BAA2B;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAA0B;QACrC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEnC,kFAAkF;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,+CAA+C;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;oBAAE,SAAS;gBAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC;gBAEjD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAuB,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAwB,EAAE,CAAC;oBAExC,IAAI,QAAQ,EAAE,CAAC;wBACb,wBAAwB;wBACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;4BACpD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;wBAC3D,IAAI,SAAS,EAAE,CAAC;4BACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;oCAAE,SAAS;gCAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gCAClD,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gCAClD,IAAI,SAAS,EAAE,CAAC;oCACd,MAAM,CAAC,IAAI,CAAC;wCACV,IAAI,EAAE,SAAS,CAAC,IAAI;wCACpB,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;wCAC7B,SAAS,EAAE,EAAE;wCACb,WAAW,EAAE,EAAE;qCAChB,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,kFAAkF;oBAClF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;oBAC/D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ;4BAAE,SAAS;wBACxB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACnC,sCAAsC;wBACtC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChC,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;4BAChD,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;4BAClD,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;4BAC9C,IAAI,UAAU,EAAE,CAAC;gCACf,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU,CAAC,IAAI;oCACrB,WAAW,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI;oCACjC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oCACtD,WAAW,EAAE,EAAE;oCACf,SAAS,EAAE,EAAE;oCACb,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;oCACpC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;iCACjC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI;wBACJ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;wBACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;wBAChC,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,EAAE;wBACd,WAAW,EAAE,EAAE;wBACf,OAAO;wBACP,MAAM;wBACN,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;wBACtC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAA0B;QACrC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,IAAI,UAAkB,CAAC;YACvB,IAAI,QAAQ,GAAkB,IAAI,CAAC;YAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACxC,iCAAiC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC9C,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;gBACjC,UAAU,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,QAAQ,GAA0B,EAAE,CAAC;YAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;wBACpE,QAAQ,CAAC,IAAI,CAAC;4BACZ,QAAQ,EAAE,MAAM,EAAE;4BAClB,UAAU,EAAE,GAAG,CAAC,IAAI;4BACpB,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;4BACrD,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,4BAA4B,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;yBACrG,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,WAAW,EAAE,UAAU;gBACvB,QAAQ;gBACR,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;oBAChC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAA0B;QACvC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,8BAA8B;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,gDAAgD;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;wBAAE,SAAS;oBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAA0B;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,mDAAmD;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACjD,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2EAA2E;IAEnE,eAAe,CAAC,IAAgB;QACtC,kEAAkE;QAClE,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,IAAwB,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBAChD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAClD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,2DAA2D;QAC3D,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QAEzD,OAAO;YACL,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,IAAI;YAClB,KAAK;YACL,WAAW,EAAE,KAAK,KAAK,GAAG;YAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,MAAkB;QACxC,MAAM,MAAM,GAAyC,EAAE,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBAAE,SAAS;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;oBAC5B,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
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.
|
|
3
|
+
"version": "4.9.19",
|
|
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",
|