circle-ir 3.14.0 → 3.16.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.
Files changed (46) hide show
  1. package/README.md +75 -0
  2. package/dist/analysis/metrics/passes/cohesion-metrics-pass.js +5 -3
  3. package/dist/analysis/metrics/passes/cohesion-metrics-pass.js.map +1 -1
  4. package/dist/analysis/metrics/passes/documentation-metrics-pass.js +2 -1
  5. package/dist/analysis/metrics/passes/documentation-metrics-pass.js.map +1 -1
  6. package/dist/analysis/passes/dependency-fan-out-pass.d.ts +12 -0
  7. package/dist/analysis/passes/dependency-fan-out-pass.js +8 -4
  8. package/dist/analysis/passes/dependency-fan-out-pass.js.map +1 -1
  9. package/dist/analysis/passes/missing-public-doc-pass.js +2 -1
  10. package/dist/analysis/passes/missing-public-doc-pass.js.map +1 -1
  11. package/dist/analysis/passes/missing-stream-pass.js +3 -1
  12. package/dist/analysis/passes/missing-stream-pass.js.map +1 -1
  13. package/dist/analysis/passes/n-plus-one-pass.js +18 -3
  14. package/dist/analysis/passes/n-plus-one-pass.js.map +1 -1
  15. package/dist/analysis/passes/null-deref-pass.js +17 -1
  16. package/dist/analysis/passes/null-deref-pass.js.map +1 -1
  17. package/dist/analysis/passes/sink-filter-pass.js +78 -15
  18. package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
  19. package/dist/analysis/passes/stale-doc-ref-pass.js +2 -1
  20. package/dist/analysis/passes/stale-doc-ref-pass.js.map +1 -1
  21. package/dist/analysis/passes/taint-propagation-pass.js +12 -3
  22. package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
  23. package/dist/analysis/passes/unbounded-collection-pass.d.ts +13 -0
  24. package/dist/analysis/passes/unbounded-collection-pass.js +7 -0
  25. package/dist/analysis/passes/unbounded-collection-pass.js.map +1 -1
  26. package/dist/analysis/passes/variable-shadowing-pass.js +3 -2
  27. package/dist/analysis/passes/variable-shadowing-pass.js.map +1 -1
  28. package/dist/analysis/taint-matcher.js +2 -1
  29. package/dist/analysis/taint-matcher.js.map +1 -1
  30. package/dist/analyzer.d.ts +19 -4
  31. package/dist/analyzer.js +82 -43
  32. package/dist/analyzer.js.map +1 -1
  33. package/dist/browser/circle-ir.js +153 -46
  34. package/dist/core/circle-ir-core.cjs +4 -12
  35. package/dist/core/circle-ir-core.js +4 -12
  36. package/dist/core/extractors/imports.js +2 -2
  37. package/dist/core/extractors/imports.js.map +1 -1
  38. package/dist/core/extractors/meta.js +2 -1
  39. package/dist/core/extractors/meta.js.map +1 -1
  40. package/dist/graph/dominator-graph.js +2 -1
  41. package/dist/graph/dominator-graph.js.map +1 -1
  42. package/dist/index.d.ts +3 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/resolution/cross-file.js +4 -2
  45. package/dist/resolution/cross-file.js.map +1 -1
  46. package/package.json +1 -1
@@ -4204,7 +4204,8 @@ function countLinesOfCode(code) {
4204
4204
  }
4205
4205
  function computeHash(code) {
4206
4206
  let hash = 0;
4207
- for (let i2 = 0; i2 < code.length; i2++) {
4207
+ const len = code.length;
4208
+ for (let i2 = 0; i2 < len; i2++) {
4208
4209
  const char = code.charCodeAt(i2);
4209
4210
  hash = (hash << 5) - hash + char;
4210
4211
  hash = hash & hash;
@@ -7020,7 +7021,6 @@ function findRequireCalls(tree) {
7020
7021
  return imports;
7021
7022
  }
7022
7023
  function extractJavaImportInfo(node) {
7023
- const isStatic = hasStaticModifier(node);
7024
7024
  const scopedId = findScopedIdentifier(node);
7025
7025
  if (!scopedId) return null;
7026
7026
  const fullPath = getNodeText(scopedId);
@@ -7035,15 +7035,6 @@ function extractJavaImportInfo(node) {
7035
7035
  line_number: node.startPosition.row + 1
7036
7036
  };
7037
7037
  }
7038
- function hasStaticModifier(node) {
7039
- for (let i2 = 0; i2 < node.childCount; i2++) {
7040
- const child = node.child(i2);
7041
- if (child && child.type === "static") {
7042
- return true;
7043
- }
7044
- }
7045
- return false;
7046
- }
7047
7038
  function hasWildcard(node) {
7048
7039
  for (let i2 = 0; i2 < node.childCount; i2++) {
7049
7040
  const child = node.child(i2);
@@ -10320,10 +10311,11 @@ function findSources(calls, types, patterns) {
10320
10311
  }
10321
10312
  }
10322
10313
  const propertyPatterns = patterns.filter((p) => p.property && p.object && p.property_tainted);
10314
+ const hasPropertyPatterns = propertyPatterns.length > 0;
10323
10315
  for (const call of calls) {
10324
10316
  for (const arg of call.arguments) {
10325
10317
  if (arg.expression) {
10326
- const taintCheck = isJavaScriptTaintedArgument(arg.expression, propertyPatterns.length > 0 ? patterns : void 0);
10318
+ const taintCheck = isJavaScriptTaintedArgument(arg.expression, hasPropertyPatterns ? patterns : void 0);
10327
10319
  if (taintCheck.isTainted && taintCheck.sourceType) {
10328
10320
  const alreadyExists = sources.some((s) => s.line === call.location.line && s.type === taintCheck.sourceType);
10329
10321
  if (!alreadyExists) {
@@ -11807,9 +11799,10 @@ function computeIdom(cfg, rpoOrder, rpoIndex, entryId) {
11807
11799
  const idom = /* @__PURE__ */ new Map();
11808
11800
  idom.set(entryId, entryId);
11809
11801
  let changed = true;
11802
+ const numBlocks = rpoOrder.length;
11810
11803
  while (changed) {
11811
11804
  changed = false;
11812
- for (let i2 = 1; i2 < rpoOrder.length; i2++) {
11805
+ for (let i2 = 1; i2 < numBlocks; i2++) {
11813
11806
  const b = rpoOrder[i2];
11814
11807
  const preds = incoming.get(b) ?? [];
11815
11808
  let newIdom;
@@ -18034,6 +18027,27 @@ function buildJavaScriptTaintedVars(sourceCode, language) {
18034
18027
  }
18035
18028
 
18036
18029
  // src/analysis/passes/sink-filter-pass.ts
18030
+ var JS_XSS_SANITIZERS = [
18031
+ /\bDOMPurify\.sanitize\s*\(/,
18032
+ /\bsanitizeHtml\s*\(/,
18033
+ /\bsanitize\s*\(/,
18034
+ /\bescapeHtml\s*\(/,
18035
+ /\bescapeHTML\s*\(/,
18036
+ /\bhtmlEscape\s*\(/,
18037
+ /\bxss\s*\(/,
18038
+ // xss library
18039
+ /\bxssFilters\./,
18040
+ // xss-filters library
18041
+ /\bvalidator\.escape\s*\(/,
18042
+ /\b(?:he|entities)\.encode\s*\(/,
18043
+ /\bencodeURIComponent\s*\(/,
18044
+ /\bencodeURI\s*\(/,
18045
+ /\bcreateSafeHTML\s*\(/,
18046
+ /\btrustAsHtml\s*\(/,
18047
+ // Angular
18048
+ /\bbypassSecurityTrust/
18049
+ // Angular
18050
+ ];
18037
18051
  var SinkFilterPass = class {
18038
18052
  name = "sink-filter";
18039
18053
  category = "security";
@@ -18080,22 +18094,43 @@ var SinkFilterPass = class {
18080
18094
  }
18081
18095
  if (["javascript", "typescript"].includes(language)) {
18082
18096
  const { jsTaintedVars } = langSources;
18083
- if (jsTaintedVars.size > 0) {
18084
- const sourceLines = ctx.code.split("\n");
18085
- filtered = filtered.filter((sink) => {
18086
- if (sink.type !== "xss") return true;
18087
- const sinkLineText = sourceLines[sink.line - 1] ?? "";
18097
+ const sourceLines = ctx.code.split("\n");
18098
+ filtered = filtered.filter((sink) => {
18099
+ if (sink.type !== "xss") return true;
18100
+ const sinkLineText = sourceLines[sink.line - 1] ?? "";
18101
+ if (JS_XSS_SANITIZERS.some((p) => p.test(sinkLineText))) return false;
18102
+ const assignmentMatch = sinkLineText.match(/\.(?:innerHTML|outerHTML)\s*=\s*(.+)/);
18103
+ if (assignmentMatch) {
18104
+ const rhs = assignmentMatch[1].trim().replace(/;$/, "").trim();
18105
+ if (/^"[^"]*"$/.test(rhs)) return false;
18106
+ if (/^'[^']*'$/.test(rhs)) return false;
18107
+ if (/^`[^`]*`$/.test(rhs) && !rhs.includes("${")) return false;
18108
+ if (rhs === '""' || rhs === "''" || rhs === "``") return false;
18109
+ }
18110
+ if (jsTaintedVars.size > 0) {
18088
18111
  if ([...jsTaintedVars.keys()].some((v) => new RegExp(`\\b${v}\\b`).test(sinkLineText))) return true;
18089
18112
  if (JS_TAINTED_PATTERNS.some((p) => p.pattern.test(sinkLineText))) return true;
18090
18113
  return false;
18091
- });
18092
- }
18114
+ }
18115
+ if (JS_TAINTED_PATTERNS.some((p) => p.pattern.test(sinkLineText))) return true;
18116
+ if (assignmentMatch) {
18117
+ const rhsClean = assignmentMatch[1].trim().replace(/;$/, "").trim();
18118
+ const identMatch = rhsClean.match(/^(\w+)$/);
18119
+ if (identMatch) {
18120
+ const varName = identMatch[1];
18121
+ const symbolInfo = constProp.symbols.get(varName);
18122
+ if (symbolInfo && symbolInfo.type === "string") return false;
18123
+ }
18124
+ }
18125
+ return true;
18126
+ });
18093
18127
  }
18094
18128
  return { sources, sinks: filtered, sanitizers };
18095
18129
  }
18096
18130
  };
18097
18131
  function evalArithmetic(input) {
18098
18132
  let pos = 0;
18133
+ const len = input.length;
18099
18134
  function peek() {
18100
18135
  return input[pos] ?? "";
18101
18136
  }
@@ -18103,17 +18138,17 @@ function evalArithmetic(input) {
18103
18138
  return input[pos++] ?? "";
18104
18139
  }
18105
18140
  function skipWs() {
18106
- while (pos < input.length && input[pos] === " ") pos++;
18141
+ while (pos < len && input[pos] === " ") pos++;
18107
18142
  }
18108
18143
  function parseNumber() {
18109
18144
  skipWs();
18110
- let s = "";
18145
+ const chars = [];
18111
18146
  if (peek() === "-") {
18112
- s += consume();
18147
+ chars.push(consume());
18113
18148
  }
18114
- while (pos < input.length && /[\d.]/.test(input[pos])) s += consume();
18115
- if (s === "" || s === "-") return null;
18116
- const n = parseFloat(s);
18149
+ while (pos < len && /[\d.]/.test(input[pos])) chars.push(consume());
18150
+ if (chars.length === 0 || chars.length === 1 && chars[0] === "-") return null;
18151
+ const n = parseFloat(chars.join(""));
18117
18152
  return isFinite(n) ? n : null;
18118
18153
  }
18119
18154
  function parseFactor() {
@@ -18398,9 +18433,17 @@ function detectCollectionFlows(calls, sources, sinks, taintedVars, unreachableLi
18398
18433
  }
18399
18434
  if (arg.expression) {
18400
18435
  const expr = arg.expression;
18401
- const collectionMethods = ["getLast", "getFirst", "get", "next", "poll", "peek", "toArray"];
18402
- for (const method of collectionMethods) {
18403
- const match = expr.match(new RegExp(`(\\w+)\\.${method}\\(`));
18436
+ const collectionPatterns = [
18437
+ { method: "getLast", re: /(\w+)\.getLast\(/ },
18438
+ { method: "getFirst", re: /(\w+)\.getFirst\(/ },
18439
+ { method: "get", re: /(\w+)\.get\(/ },
18440
+ { method: "next", re: /(\w+)\.next\(/ },
18441
+ { method: "poll", re: /(\w+)\.poll\(/ },
18442
+ { method: "peek", re: /(\w+)\.peek\(/ },
18443
+ { method: "toArray", re: /(\w+)\.toArray\(/ }
18444
+ ];
18445
+ for (const { re } of collectionPatterns) {
18446
+ const match = expr.match(re);
18404
18447
  if (match) {
18405
18448
  const collectionVar = match[1];
18406
18449
  const scopedCollection = call.in_method ? `${call.in_method}:${collectionVar}` : collectionVar;
@@ -18870,11 +18913,15 @@ var MEDIUM_CONFIDENCE_DB_METHODS = /* @__PURE__ */ new Set([
18870
18913
  "load",
18871
18914
  "lookup"
18872
18915
  ]);
18873
- var DB_OR_HTTP_RECEIVER = /^(db|conn|connection|pool|client|repo|repository|orm|em|entityManager|sequelize|mongoose|prisma|axios|http|https|api|svc|service|dao|store|cache|gql|graphql)/i;
18916
+ var DB_OR_HTTP_RECEIVER_PREFIX = /^(db|conn|connection|pool|client|repo|repository|orm|em|entityManager|sequelize|mongoose|prisma|axios|http|https|api|svc|service|dao|store|cache|gql|graphql|mongo|redis|sql|pg|mysql|sqlite|dynamo|cosmos|elastic|es|solr|neo4j|cassandra|couchbase|firestore|supabase|drizzle|knex|typeorm|mikro)/i;
18917
+ var DB_OR_HTTP_RECEIVER_SUFFIX = /(?:Repository|Repo|Dao|DataSource|DbContext|Client|Service|Store|Cache|Gateway|Adapter|Provider|Manager|Handler|Proxy|Facade|Connection|Pool|Session|Template|Mapper|Access|Query|Command|Storage|Bucket|Table|Collection|Index)$/;
18918
+ function isDbOrHttpReceiver(receiver) {
18919
+ return DB_OR_HTTP_RECEIVER_PREFIX.test(receiver) || DB_OR_HTTP_RECEIVER_SUFFIX.test(receiver);
18920
+ }
18874
18921
  function isDbOrApiCall(call) {
18875
18922
  if (HIGH_CONFIDENCE_DB_METHODS.has(call.method_name)) return true;
18876
18923
  if (MEDIUM_CONFIDENCE_DB_METHODS.has(call.method_name)) {
18877
- return call.receiver != null && DB_OR_HTTP_RECEIVER.test(call.receiver);
18924
+ return call.receiver != null && isDbOrHttpReceiver(call.receiver);
18878
18925
  }
18879
18926
  return false;
18880
18927
  }
@@ -18937,7 +18984,8 @@ function hasDocCommentBefore(lines, startLine) {
18937
18984
  }
18938
18985
  function hasPythonDocstring(lines, method) {
18939
18986
  const bodyStart = method.start_line;
18940
- for (let i2 = bodyStart; i2 < Math.min(bodyStart + 4, lines.length); i2++) {
18987
+ const limit = Math.min(bodyStart + 4, lines.length);
18988
+ for (let i2 = bodyStart; i2 < limit; i2++) {
18941
18989
  const trimmed = lines[i2]?.trim() ?? "";
18942
18990
  if (trimmed === "") continue;
18943
18991
  return trimmed.startsWith('"""') || trimmed.startsWith("'''");
@@ -19252,7 +19300,7 @@ function escRe(s) {
19252
19300
  function hasNullGuard(codeLines, varName, fromLine, toLine) {
19253
19301
  const esc = escRe(varName);
19254
19302
  const pattern = new RegExp(
19255
- `\\b${esc}\\b\\s*!==?\\s*(null|None|undefined)|(null|None|undefined)\\s*!==?\\s*\\b${esc}\\b|\\b${esc}\\b\\s*===?\\s*(null|None|undefined)|(null|None|undefined)\\s*===?\\s*\\b${esc}\\b|\\bis\\s+not\\s+None\\b.*\\b${esc}\\b|\\b${esc}\\b.*\\bis\\s+not\\s+None\\b|if\\s*\\(\\s*${esc}\\s*[)!&|]|if\\s+${esc}\\s*:|\\b${esc}\\b\\s*\\.\\s*isPresent\\(\\)|\\bOptional\\b`
19303
+ `\\b${esc}\\b\\s*!==?\\s*(null|None|undefined)|(null|None|undefined)\\s*!==?\\s*\\b${esc}\\b|\\b${esc}\\b\\s*===?\\s*(null|None|undefined)|(null|None|undefined)\\s*===?\\s*\\b${esc}\\b|\\bis\\s+not\\s+None\\b.*\\b${esc}\\b|\\b${esc}\\b.*\\bis\\s+not\\s+None\\b|if\\s*\\(\\s*${esc}\\s*[)!&|]|if\\s+${esc}\\s*:|\\b${esc}\\b\\s*\\.\\s*isPresent\\(\\)|\\bOptional\\b|\\bassert\\s+${esc}\\s*!=\\s*null\\b|\\bassert\\s+null\\s*!=\\s*${esc}\\b|\\b(?:Objects\\.)?requireNonNull\\s*\\(\\s*${esc}\\b|\\b(?:Preconditions\\.)?checkNotNull\\s*\\(\\s*${esc}\\b|\\b(?:Assert\\.)?notNull\\s*\\(\\s*${esc}\\b|\\b(?:Assertions?\\.)?assertNotNull\\s*\\(\\s*${esc}\\b`
19256
19304
  );
19257
19305
  for (let l = fromLine; l < toLine; l++) {
19258
19306
  const line = codeLines[l - 1] ?? "";
@@ -19624,9 +19672,10 @@ var VariableShadowingPass = class {
19624
19672
  if (locals.length >= 2) {
19625
19673
  if (language === "python") continue;
19626
19674
  const declLocals = locals.filter((e) => e.hasDeclKeyword).sort((a, b) => a.def.line - b.def.line);
19627
- if (declLocals.length < 2) continue;
19675
+ const numDeclLocals = declLocals.length;
19676
+ if (numDeclLocals < 2) continue;
19628
19677
  const outerEntry = declLocals[0];
19629
- for (let i2 = 1; i2 < declLocals.length; i2++) {
19678
+ for (let i2 = 1; i2 < numDeclLocals; i2++) {
19630
19679
  const inner = declLocals[i2];
19631
19680
  if (!isInNestedScope(codeLines, outerEntry.def.line, inner.def.line)) continue;
19632
19681
  const key = `${variable}-${inner.def.line}`;
@@ -19848,13 +19897,17 @@ var UnusedVariablePass = class {
19848
19897
  };
19849
19898
 
19850
19899
  // src/analysis/passes/dependency-fan-out-pass.ts
19851
- var FAN_OUT_THRESHOLD = 20;
19900
+ var DEFAULT_THRESHOLD = 20;
19852
19901
  var DependencyFanOutPass = class {
19853
19902
  name = "dependency-fan-out";
19854
19903
  category = "architecture";
19904
+ threshold;
19905
+ constructor(options) {
19906
+ this.threshold = options?.threshold ?? DEFAULT_THRESHOLD;
19907
+ }
19855
19908
  run(ctx) {
19856
19909
  const importCount = ctx.graph.ir.imports.length;
19857
- const exceeded = importCount >= FAN_OUT_THRESHOLD;
19910
+ const exceeded = importCount >= this.threshold;
19858
19911
  if (exceeded) {
19859
19912
  const finding = {
19860
19913
  id: `dependency-fan-out-${ctx.graph.ir.meta.file.replace(/[^a-z0-9]/gi, "-")}`,
@@ -19863,10 +19916,10 @@ var DependencyFanOutPass = class {
19863
19916
  rule_id: "dependency-fan-out",
19864
19917
  severity: "low",
19865
19918
  level: "note",
19866
- message: `Module imports ${importCount} dependencies (threshold: ${FAN_OUT_THRESHOLD}). High fan-out increases coupling and makes the module harder to test.`,
19919
+ message: `Module imports ${importCount} dependencies (threshold: ${this.threshold}). High fan-out increases coupling and makes the module harder to test.`,
19867
19920
  file: ctx.graph.ir.meta.file,
19868
19921
  line: 1,
19869
- evidence: { importCount, threshold: FAN_OUT_THRESHOLD }
19922
+ evidence: { importCount, threshold: this.threshold }
19870
19923
  };
19871
19924
  ctx.addFinding(finding);
19872
19925
  }
@@ -19885,7 +19938,8 @@ function normalizeRef(raw) {
19885
19938
  }
19886
19939
  function lineOfIndex(code, index) {
19887
19940
  let line = 1;
19888
- for (let i2 = 0; i2 < index && i2 < code.length; i2++) {
19941
+ const limit = Math.min(index, code.length);
19942
+ for (let i2 = 0; i2 < limit; i2++) {
19889
19943
  if (code[i2] === "\n") line++;
19890
19944
  }
19891
19945
  return line;
@@ -20233,6 +20287,10 @@ var SIZE_LIMIT_RE = /\b(?:size|length|count|len)\s*\(\)?\s*[<>]=?\s*\d|\b(?:MAX|
20233
20287
  var UnboundedCollectionPass = class {
20234
20288
  name = "unbounded-collection";
20235
20289
  category = "performance";
20290
+ skipPatterns;
20291
+ constructor(options) {
20292
+ this.skipPatterns = new Set(options?.skipPatterns ?? []);
20293
+ }
20236
20294
  run(ctx) {
20237
20295
  const { graph, code, language } = ctx;
20238
20296
  if (language === "bash") {
@@ -20265,6 +20323,7 @@ var UnboundedCollectionPass = class {
20265
20323
  }
20266
20324
  }
20267
20325
  for (const [receiver, firstGrowLine] of receiverLines.entries()) {
20326
+ if (this.skipPatterns.has(receiver)) continue;
20268
20327
  let hasShrink = false;
20269
20328
  for (const call of graph.ir.calls) {
20270
20329
  const ln = call.location.line;
@@ -21317,6 +21376,7 @@ var MissingStreamPass = class {
21317
21376
  }
21318
21377
  const file = graph.ir.meta.file;
21319
21378
  const codeLines = code.split("\n");
21379
+ const numCodeLines = codeLines.length;
21320
21380
  const wholeFileReads = [];
21321
21381
  const reported = /* @__PURE__ */ new Set();
21322
21382
  if (language === "javascript" || language === "typescript") {
@@ -21326,7 +21386,8 @@ var MissingStreamPass = class {
21326
21386
  const end = method.end_line;
21327
21387
  const methodSrc = codeLines.slice(start2 - 1, end).join("\n");
21328
21388
  if (JS_STREAM_RE.test(methodSrc)) continue;
21329
- for (let i2 = start2 - 1; i2 < end && i2 < codeLines.length; i2++) {
21389
+ const maxLine = Math.min(end, numCodeLines);
21390
+ for (let i2 = start2 - 1; i2 < maxLine; i2++) {
21330
21391
  const ln = i2 + 1;
21331
21392
  if (reported.has(ln)) continue;
21332
21393
  const src = codeLines[i2];
@@ -22217,7 +22278,8 @@ var CohesionMetricsPass = class {
22217
22278
  const instanceFields = new Set(
22218
22279
  type.fields.filter((f) => !f.modifiers.includes("static")).map((f) => f.name)
22219
22280
  );
22220
- if (type.methods.length < 2 || instanceFields.size === 0) {
22281
+ const numMethods = type.methods.length;
22282
+ if (numMethods < 2 || instanceFields.size === 0) {
22221
22283
  lcomSum += 0;
22222
22284
  results.push({
22223
22285
  name: "LCOM",
@@ -22246,8 +22308,9 @@ var CohesionMetricsPass = class {
22246
22308
  });
22247
22309
  let P = 0;
22248
22310
  let Q = 0;
22249
- for (let i2 = 0; i2 < methodFields.length; i2++) {
22250
- for (let j = i2 + 1; j < methodFields.length; j++) {
22311
+ const numMethodFields = methodFields.length;
22312
+ for (let i2 = 0; i2 < numMethodFields; i2++) {
22313
+ for (let j = i2 + 1; j < numMethodFields; j++) {
22251
22314
  const mi = methodFields[i2];
22252
22315
  const mj = methodFields[j];
22253
22316
  let shared = false;
@@ -22293,7 +22356,8 @@ var DocumentationMetricsPass = class {
22293
22356
  const lines = code.split("\n");
22294
22357
  const docBlockEndLines = /* @__PURE__ */ new Set();
22295
22358
  let inDocBlock = false;
22296
- for (let i2 = 0; i2 < lines.length; i2++) {
22359
+ const numLines = lines.length;
22360
+ for (let i2 = 0; i2 < numLines; i2++) {
22297
22361
  const trimmed = lines[i2].trim();
22298
22362
  if (!inDocBlock && trimmed.startsWith("/**")) {
22299
22363
  inDocBlock = true;
@@ -22576,7 +22640,50 @@ async function analyze(code, filePath, language, options = {}) {
22576
22640
  enriched: {}
22577
22641
  });
22578
22642
  const config = options.taintConfig ?? getDefaultConfig();
22579
- const { results, findings } = new AnalysisPipeline().add(new TaintMatcherPass()).add(new ConstantPropagationPass(tree)).add(new LanguageSourcesPass()).add(new SinkFilterPass()).add(new TaintPropagationPass()).add(new InterproceduralPass()).add(new DeadCodePass()).add(new MissingAwaitPass()).add(new NPlusOnePass()).add(new MissingPublicDocPass()).add(new TodoInProdPass()).add(new StringConcatLoopPass()).add(new SyncIoAsyncPass()).add(new UncheckedReturnPass()).add(new NullDerefPass()).add(new ResourceLeakPass()).add(new VariableShadowingPass()).add(new LeakedGlobalPass()).add(new UnusedVariablePass()).add(new DependencyFanOutPass()).add(new StaleDocRefPass()).add(new InfiniteLoopPass()).add(new DeepInheritancePass()).add(new RedundantLoopPass()).add(new UnboundedCollectionPass()).add(new SerialAwaitPass()).add(new ReactInlineJsxPass()).add(new SwallowedExceptionPass()).add(new BroadCatchPass()).add(new UnhandledExceptionPass()).add(new DoubleClosePass()).add(new UseAfterClosePass()).add(new CleanupVerifyPass()).add(new MissingOverridePass()).add(new UnusedInterfaceMethodPass()).add(new BlockingMainThreadPass()).add(new ExcessiveAllocationPass()).add(new MissingStreamPass()).add(new GodClassPass()).add(new NamingConventionPass(options.passOptions?.namingConvention)).run(graph, code, language, config);
22643
+ const disabledPasses = new Set(options.disabledPasses ?? []);
22644
+ const passOpts = options.passOptions ?? {};
22645
+ const pipeline = new AnalysisPipeline();
22646
+ pipeline.add(new TaintMatcherPass());
22647
+ pipeline.add(new ConstantPropagationPass(tree));
22648
+ pipeline.add(new LanguageSourcesPass());
22649
+ pipeline.add(new SinkFilterPass());
22650
+ pipeline.add(new TaintPropagationPass());
22651
+ pipeline.add(new InterproceduralPass());
22652
+ if (!disabledPasses.has("dead-code")) pipeline.add(new DeadCodePass());
22653
+ if (!disabledPasses.has("missing-await")) pipeline.add(new MissingAwaitPass());
22654
+ if (!disabledPasses.has("n-plus-one")) pipeline.add(new NPlusOnePass());
22655
+ if (!disabledPasses.has("missing-public-doc")) pipeline.add(new MissingPublicDocPass());
22656
+ if (!disabledPasses.has("todo-in-prod")) pipeline.add(new TodoInProdPass());
22657
+ if (!disabledPasses.has("string-concat-loop")) pipeline.add(new StringConcatLoopPass());
22658
+ if (!disabledPasses.has("sync-io-async")) pipeline.add(new SyncIoAsyncPass());
22659
+ if (!disabledPasses.has("unchecked-return")) pipeline.add(new UncheckedReturnPass());
22660
+ if (!disabledPasses.has("null-deref")) pipeline.add(new NullDerefPass());
22661
+ if (!disabledPasses.has("resource-leak")) pipeline.add(new ResourceLeakPass());
22662
+ if (!disabledPasses.has("variable-shadowing")) pipeline.add(new VariableShadowingPass());
22663
+ if (!disabledPasses.has("leaked-global")) pipeline.add(new LeakedGlobalPass());
22664
+ if (!disabledPasses.has("unused-variable")) pipeline.add(new UnusedVariablePass());
22665
+ if (!disabledPasses.has("dependency-fan-out")) pipeline.add(new DependencyFanOutPass(passOpts.dependencyFanOut));
22666
+ if (!disabledPasses.has("stale-doc-ref")) pipeline.add(new StaleDocRefPass());
22667
+ if (!disabledPasses.has("infinite-loop")) pipeline.add(new InfiniteLoopPass());
22668
+ if (!disabledPasses.has("deep-inheritance")) pipeline.add(new DeepInheritancePass());
22669
+ if (!disabledPasses.has("redundant-loop-computation")) pipeline.add(new RedundantLoopPass());
22670
+ if (!disabledPasses.has("unbounded-collection")) pipeline.add(new UnboundedCollectionPass(passOpts.unboundedCollection));
22671
+ if (!disabledPasses.has("serial-await")) pipeline.add(new SerialAwaitPass());
22672
+ if (!disabledPasses.has("react-inline-jsx")) pipeline.add(new ReactInlineJsxPass());
22673
+ if (!disabledPasses.has("swallowed-exception")) pipeline.add(new SwallowedExceptionPass());
22674
+ if (!disabledPasses.has("broad-catch")) pipeline.add(new BroadCatchPass());
22675
+ if (!disabledPasses.has("unhandled-exception")) pipeline.add(new UnhandledExceptionPass());
22676
+ if (!disabledPasses.has("double-close")) pipeline.add(new DoubleClosePass());
22677
+ if (!disabledPasses.has("use-after-close")) pipeline.add(new UseAfterClosePass());
22678
+ if (!disabledPasses.has("cleanup-verify")) pipeline.add(new CleanupVerifyPass());
22679
+ if (!disabledPasses.has("missing-override")) pipeline.add(new MissingOverridePass());
22680
+ if (!disabledPasses.has("unused-interface-method")) pipeline.add(new UnusedInterfaceMethodPass());
22681
+ if (!disabledPasses.has("blocking-main-thread")) pipeline.add(new BlockingMainThreadPass());
22682
+ if (!disabledPasses.has("excessive-allocation")) pipeline.add(new ExcessiveAllocationPass());
22683
+ if (!disabledPasses.has("missing-stream")) pipeline.add(new MissingStreamPass());
22684
+ if (!disabledPasses.has("god-class")) pipeline.add(new GodClassPass());
22685
+ if (!disabledPasses.has("naming-convention")) pipeline.add(new NamingConventionPass(passOpts.namingConvention));
22686
+ const { results, findings } = pipeline.run(graph, code, language, config);
22580
22687
  const sinkFilter = results.get("sink-filter");
22581
22688
  const interProc = results.get("interprocedural");
22582
22689
  const taint = {
@@ -4280,7 +4280,8 @@ function countLinesOfCode(code) {
4280
4280
  }
4281
4281
  function computeHash(code) {
4282
4282
  let hash = 0;
4283
- for (let i2 = 0; i2 < code.length; i2++) {
4283
+ const len = code.length;
4284
+ for (let i2 = 0; i2 < len; i2++) {
4284
4285
  const char = code.charCodeAt(i2);
4285
4286
  hash = (hash << 5) - hash + char;
4286
4287
  hash = hash & hash;
@@ -7096,7 +7097,6 @@ function findRequireCalls(tree) {
7096
7097
  return imports;
7097
7098
  }
7098
7099
  function extractJavaImportInfo(node) {
7099
- const isStatic = hasStaticModifier(node);
7100
7100
  const scopedId = findScopedIdentifier(node);
7101
7101
  if (!scopedId) return null;
7102
7102
  const fullPath = getNodeText(scopedId);
@@ -7111,15 +7111,6 @@ function extractJavaImportInfo(node) {
7111
7111
  line_number: node.startPosition.row + 1
7112
7112
  };
7113
7113
  }
7114
- function hasStaticModifier(node) {
7115
- for (let i2 = 0; i2 < node.childCount; i2++) {
7116
- const child = node.child(i2);
7117
- if (child && child.type === "static") {
7118
- return true;
7119
- }
7120
- }
7121
- return false;
7122
- }
7123
7114
  function hasWildcard(node) {
7124
7115
  for (let i2 = 0; i2 < node.childCount; i2++) {
7125
7116
  const child = node.child(i2);
@@ -10428,10 +10419,11 @@ function findSources(calls, types, patterns) {
10428
10419
  }
10429
10420
  }
10430
10421
  const propertyPatterns = patterns.filter((p) => p.property && p.object && p.property_tainted);
10422
+ const hasPropertyPatterns = propertyPatterns.length > 0;
10431
10423
  for (const call of calls) {
10432
10424
  for (const arg of call.arguments) {
10433
10425
  if (arg.expression) {
10434
- const taintCheck = isJavaScriptTaintedArgument(arg.expression, propertyPatterns.length > 0 ? patterns : void 0);
10426
+ const taintCheck = isJavaScriptTaintedArgument(arg.expression, hasPropertyPatterns ? patterns : void 0);
10435
10427
  if (taintCheck.isTainted && taintCheck.sourceType) {
10436
10428
  const alreadyExists = sources.some((s) => s.line === call.location.line && s.type === taintCheck.sourceType);
10437
10429
  if (!alreadyExists) {
@@ -4215,7 +4215,8 @@ function countLinesOfCode(code) {
4215
4215
  }
4216
4216
  function computeHash(code) {
4217
4217
  let hash = 0;
4218
- for (let i2 = 0; i2 < code.length; i2++) {
4218
+ const len = code.length;
4219
+ for (let i2 = 0; i2 < len; i2++) {
4219
4220
  const char = code.charCodeAt(i2);
4220
4221
  hash = (hash << 5) - hash + char;
4221
4222
  hash = hash & hash;
@@ -7031,7 +7032,6 @@ function findRequireCalls(tree) {
7031
7032
  return imports;
7032
7033
  }
7033
7034
  function extractJavaImportInfo(node) {
7034
- const isStatic = hasStaticModifier(node);
7035
7035
  const scopedId = findScopedIdentifier(node);
7036
7036
  if (!scopedId) return null;
7037
7037
  const fullPath = getNodeText(scopedId);
@@ -7046,15 +7046,6 @@ function extractJavaImportInfo(node) {
7046
7046
  line_number: node.startPosition.row + 1
7047
7047
  };
7048
7048
  }
7049
- function hasStaticModifier(node) {
7050
- for (let i2 = 0; i2 < node.childCount; i2++) {
7051
- const child = node.child(i2);
7052
- if (child && child.type === "static") {
7053
- return true;
7054
- }
7055
- }
7056
- return false;
7057
- }
7058
7049
  function hasWildcard(node) {
7059
7050
  for (let i2 = 0; i2 < node.childCount; i2++) {
7060
7051
  const child = node.child(i2);
@@ -10363,10 +10354,11 @@ function findSources(calls, types, patterns) {
10363
10354
  }
10364
10355
  }
10365
10356
  const propertyPatterns = patterns.filter((p) => p.property && p.object && p.property_tainted);
10357
+ const hasPropertyPatterns = propertyPatterns.length > 0;
10366
10358
  for (const call of calls) {
10367
10359
  for (const arg of call.arguments) {
10368
10360
  if (arg.expression) {
10369
- const taintCheck = isJavaScriptTaintedArgument(arg.expression, propertyPatterns.length > 0 ? patterns : void 0);
10361
+ const taintCheck = isJavaScriptTaintedArgument(arg.expression, hasPropertyPatterns ? patterns : void 0);
10370
10362
  if (taintCheck.isTainted && taintCheck.sourceType) {
10371
10363
  const alreadyExists = sources.some((s) => s.line === call.location.line && s.type === taintCheck.sourceType);
10372
10364
  if (!alreadyExists) {
@@ -355,8 +355,8 @@ function findRequireCalls(tree) {
355
355
  * Extract import information from a Java import_declaration node.
356
356
  */
357
357
  function extractJavaImportInfo(node) {
358
- // Check for static import
359
- const isStatic = hasStaticModifier(node);
358
+ // Note: Static imports (import static ...) are parsed the same way.
359
+ // The hasStaticModifier() helper exists if we need to distinguish them later.
360
360
  // Get the full import path
361
361
  const scopedId = findScopedIdentifier(node);
362
362
  if (!scopedId)
@@ -1 +1 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../src/core/extractors/imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../src/core/extractors/imports.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ function computeHash(code) {
70
70
  // Simple hash implementation for universal compatibility
71
71
  // In production, use SubtleCrypto when available
72
72
  let hash = 0;
73
- for (let i = 0; i < code.length; i++) {
73
+ const len = code.length;
74
+ for (let i = 0; i < len; i++) {
74
75
  const char = code.charCodeAt(i);
75
76
  hash = ((hash << 5) - hash) + char;
76
77
  hash = hash & hash; // Convert to 32-bit integer
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/core/extractors/meta.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,IAAU,EACV,QAAgB,EAChB,QAA2B;IAE3B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,wBAAwB;QACxB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,cAAc,GAAG,KAAK,CAAC;gBACvB,+CAA+C;gBAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzE,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,0CAA0C;QAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,yDAAyD;IACzD,iDAAiD;IACjD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7D,yDAAyD;IACzD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAU,EAAE,QAA2B;IAC7D,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACrE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpC,uBAAuB;IACvB,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,uDAAuD;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/core/extractors/meta.ts"],"names":[],"mappings":"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"}