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.
- package/README.md +75 -0
- package/dist/analysis/metrics/passes/cohesion-metrics-pass.js +5 -3
- package/dist/analysis/metrics/passes/cohesion-metrics-pass.js.map +1 -1
- package/dist/analysis/metrics/passes/documentation-metrics-pass.js +2 -1
- package/dist/analysis/metrics/passes/documentation-metrics-pass.js.map +1 -1
- package/dist/analysis/passes/dependency-fan-out-pass.d.ts +12 -0
- package/dist/analysis/passes/dependency-fan-out-pass.js +8 -4
- package/dist/analysis/passes/dependency-fan-out-pass.js.map +1 -1
- package/dist/analysis/passes/missing-public-doc-pass.js +2 -1
- package/dist/analysis/passes/missing-public-doc-pass.js.map +1 -1
- package/dist/analysis/passes/missing-stream-pass.js +3 -1
- package/dist/analysis/passes/missing-stream-pass.js.map +1 -1
- package/dist/analysis/passes/n-plus-one-pass.js +18 -3
- package/dist/analysis/passes/n-plus-one-pass.js.map +1 -1
- package/dist/analysis/passes/null-deref-pass.js +17 -1
- package/dist/analysis/passes/null-deref-pass.js.map +1 -1
- package/dist/analysis/passes/sink-filter-pass.js +78 -15
- package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
- package/dist/analysis/passes/stale-doc-ref-pass.js +2 -1
- package/dist/analysis/passes/stale-doc-ref-pass.js.map +1 -1
- package/dist/analysis/passes/taint-propagation-pass.js +12 -3
- package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
- package/dist/analysis/passes/unbounded-collection-pass.d.ts +13 -0
- package/dist/analysis/passes/unbounded-collection-pass.js +7 -0
- package/dist/analysis/passes/unbounded-collection-pass.js.map +1 -1
- package/dist/analysis/passes/variable-shadowing-pass.js +3 -2
- package/dist/analysis/passes/variable-shadowing-pass.js.map +1 -1
- package/dist/analysis/taint-matcher.js +2 -1
- package/dist/analysis/taint-matcher.js.map +1 -1
- package/dist/analyzer.d.ts +19 -4
- package/dist/analyzer.js +82 -43
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +153 -46
- package/dist/core/circle-ir-core.cjs +4 -12
- package/dist/core/circle-ir-core.js +4 -12
- package/dist/core/extractors/imports.js +2 -2
- package/dist/core/extractors/imports.js.map +1 -1
- package/dist/core/extractors/meta.js +2 -1
- package/dist/core/extractors/meta.js.map +1 -1
- package/dist/graph/dominator-graph.js +2 -1
- package/dist/graph/dominator-graph.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js.map +1 -1
- package/dist/resolution/cross-file.js +4 -2
- package/dist/resolution/cross-file.js.map +1 -1
- 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
|
-
|
|
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,
|
|
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 <
|
|
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
|
-
|
|
18084
|
-
|
|
18085
|
-
|
|
18086
|
-
|
|
18087
|
-
|
|
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 <
|
|
18141
|
+
while (pos < len && input[pos] === " ") pos++;
|
|
18107
18142
|
}
|
|
18108
18143
|
function parseNumber() {
|
|
18109
18144
|
skipWs();
|
|
18110
|
-
|
|
18145
|
+
const chars = [];
|
|
18111
18146
|
if (peek() === "-") {
|
|
18112
|
-
|
|
18147
|
+
chars.push(consume());
|
|
18113
18148
|
}
|
|
18114
|
-
while (pos <
|
|
18115
|
-
if (
|
|
18116
|
-
const n = parseFloat(
|
|
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
|
|
18402
|
-
|
|
18403
|
-
|
|
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
|
|
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 &&
|
|
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
|
-
|
|
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
|
-
|
|
19675
|
+
const numDeclLocals = declLocals.length;
|
|
19676
|
+
if (numDeclLocals < 2) continue;
|
|
19628
19677
|
const outerEntry = declLocals[0];
|
|
19629
|
-
for (let i2 = 1; 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
|
|
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 >=
|
|
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: ${
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22250
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
//
|
|
359
|
-
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/core/extractors/meta.ts"],"names":[],"mappings":"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"}
|