circle-ir 3.89.1 → 3.90.1
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/constant-propagation/propagator.d.ts +2 -0
- package/dist/analysis/constant-propagation/propagator.d.ts.map +1 -1
- package/dist/analysis/constant-propagation/propagator.js +57 -2
- package/dist/analysis/constant-propagation/propagator.js.map +1 -1
- package/dist/analysis/findings-instrumentation.d.ts +45 -0
- package/dist/analysis/findings-instrumentation.d.ts.map +1 -0
- package/dist/analysis/findings-instrumentation.js +111 -0
- package/dist/analysis/findings-instrumentation.js.map +1 -0
- package/dist/analysis/index.d.ts +1 -0
- package/dist/analysis/index.d.ts.map +1 -1
- package/dist/analysis/index.js +1 -0
- package/dist/analysis/index.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +4 -0
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +119 -2
- package/dist/core/circle-ir-core.cjs +52 -2
- package/dist/core/circle-ir-core.js +52 -2
- package/dist/graph/analysis-pass.d.ts.map +1 -1
- package/dist/graph/analysis-pass.js +14 -0
- package/dist/graph/analysis-pass.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -14455,6 +14455,19 @@ var ConstantPropagator = class _ConstantPropagator {
|
|
|
14455
14455
|
// regex is strict-anchored (provably matches a bounded character set).
|
|
14456
14456
|
// Populated lazily on first access via `getSafePatternFields()`.
|
|
14457
14457
|
safePatternFieldsCache = null;
|
|
14458
|
+
// Sprint 36 #141 — per-top-level memoization for isTaintedExpression.
|
|
14459
|
+
// Allocated on entry to top-level isTaintedExpression calls and cleared on
|
|
14460
|
+
// exit. Prevents exponential blowup on deeply nested method-invocation
|
|
14461
|
+
// chains (e.g. `Stream.builder().add(...).add(...)...`), where the step's
|
|
14462
|
+
// explicit recursion on `objectNode` and the wrapper's iterative descent
|
|
14463
|
+
// would otherwise re-walk the same chain spine repeatedly.
|
|
14464
|
+
// Kept per-call (not per-analyze) so mutations to `this.tainted` between
|
|
14465
|
+
// top-level calls cannot return stale `false` for newly-tainted subtrees.
|
|
14466
|
+
// Keyed by `Node.id` (tree-sitter's unique pointer-cast id) — Node objects
|
|
14467
|
+
// are fresh JS wrappers per traversal, so identity-keyed Map<Node, ...>
|
|
14468
|
+
// would never hit between the explicit recursion at line 2245 and the
|
|
14469
|
+
// wrapper's iterative child descent.
|
|
14470
|
+
isTaintedExpressionCache = null;
|
|
14458
14471
|
/**
|
|
14459
14472
|
* Analyze source code and build constant propagation state.
|
|
14460
14473
|
*/
|
|
@@ -14489,6 +14502,7 @@ var ConstantPropagator = class _ConstantPropagator {
|
|
|
14489
14502
|
this.inConstructor = false;
|
|
14490
14503
|
this.constructorParamPositions.clear();
|
|
14491
14504
|
this.safePatternFieldsCache = null;
|
|
14505
|
+
this.isTaintedExpressionCache = null;
|
|
14492
14506
|
this.collectClassFields(tree.rootNode);
|
|
14493
14507
|
for (const methodName of sanitizerMethods) {
|
|
14494
14508
|
this.methodReturnsSanitized.add(methodName);
|
|
@@ -15956,16 +15970,52 @@ var ConstantPropagator = class _ConstantPropagator {
|
|
|
15956
15970
|
return null;
|
|
15957
15971
|
}
|
|
15958
15972
|
isTaintedExpression(node) {
|
|
15973
|
+
const isTopLevel = this.isTaintedExpressionCache === null;
|
|
15974
|
+
if (isTopLevel) {
|
|
15975
|
+
this.isTaintedExpressionCache = /* @__PURE__ */ new Map();
|
|
15976
|
+
}
|
|
15977
|
+
try {
|
|
15978
|
+
return this.isTaintedExpressionImpl(node);
|
|
15979
|
+
} finally {
|
|
15980
|
+
if (isTopLevel) {
|
|
15981
|
+
this.isTaintedExpressionCache = null;
|
|
15982
|
+
}
|
|
15983
|
+
}
|
|
15984
|
+
}
|
|
15985
|
+
isTaintedExpressionImpl(node) {
|
|
15986
|
+
const cache = this.isTaintedExpressionCache;
|
|
15987
|
+
const rootId = node.id;
|
|
15988
|
+
const cachedRoot = cache.get(rootId);
|
|
15989
|
+
if (cachedRoot !== void 0) {
|
|
15990
|
+
return cachedRoot;
|
|
15991
|
+
}
|
|
15959
15992
|
const stack = [node];
|
|
15960
15993
|
while (stack.length > 0) {
|
|
15961
15994
|
const current = stack.pop();
|
|
15995
|
+
const currentId = current.id;
|
|
15996
|
+
const cached = cache.get(currentId);
|
|
15997
|
+
if (cached !== void 0) {
|
|
15998
|
+
if (cached) {
|
|
15999
|
+
cache.set(rootId, true);
|
|
16000
|
+
return true;
|
|
16001
|
+
}
|
|
16002
|
+
continue;
|
|
16003
|
+
}
|
|
15962
16004
|
const result = this.isTaintedExpressionStep(current);
|
|
15963
|
-
if (result === true)
|
|
15964
|
-
|
|
16005
|
+
if (result === true) {
|
|
16006
|
+
cache.set(currentId, true);
|
|
16007
|
+
cache.set(rootId, true);
|
|
16008
|
+
return true;
|
|
16009
|
+
}
|
|
16010
|
+
if (result === false) {
|
|
16011
|
+
cache.set(currentId, false);
|
|
16012
|
+
continue;
|
|
16013
|
+
}
|
|
15965
16014
|
for (let i2 = current.children.length - 1; i2 >= 0; i2--) {
|
|
15966
16015
|
stack.push(current.children[i2]);
|
|
15967
16016
|
}
|
|
15968
16017
|
}
|
|
16018
|
+
cache.set(rootId, false);
|
|
15969
16019
|
return false;
|
|
15970
16020
|
}
|
|
15971
16021
|
isTaintedExpressionStep(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-pass.d.ts","sourceRoot":"","sources":["../../src/graph/analysis-pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC;IAElC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAEvC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,SAAS,WAAW,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,OAAO;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;CACpC;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAKnC,GAAG,CACD,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,iBAAiB;
|
|
1
|
+
{"version":3,"file":"analysis-pass.d.ts","sourceRoot":"","sources":["../../src/graph/analysis-pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC;IAElC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAEvC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,SAAS,WAAW,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,OAAO;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;CACpC;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAKnC,GAAG,CACD,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,iBAAiB;CAmDrB"}
|
|
@@ -44,8 +44,22 @@ export class AnalysisPipeline {
|
|
|
44
44
|
return findings;
|
|
45
45
|
},
|
|
46
46
|
};
|
|
47
|
+
// Diagnostic: per-pass timing. Enabled when
|
|
48
|
+
// (globalThis as any).__circleIrPassTiming === true. Emits to console.error
|
|
49
|
+
// — browser-safe (no `process` access). Used by #141 investigation.
|
|
50
|
+
const timingEnabled = globalThis.__circleIrPassTiming === true;
|
|
47
51
|
for (const pass of this.passes) {
|
|
52
|
+
if (timingEnabled) {
|
|
53
|
+
// eslint-disable-next-line no-console
|
|
54
|
+
console.error(`[pass-start] ${pass.name} file=${graph.ir.meta.file}`);
|
|
55
|
+
}
|
|
56
|
+
const t0 = timingEnabled ? Date.now() : 0;
|
|
48
57
|
const result = pass.run(context);
|
|
58
|
+
if (timingEnabled) {
|
|
59
|
+
const dt = Date.now() - t0;
|
|
60
|
+
// eslint-disable-next-line no-console
|
|
61
|
+
console.error(`[pass-timing] ${pass.name} ${dt}ms file=${graph.ir.meta.file}`);
|
|
62
|
+
}
|
|
49
63
|
results.set(pass.name, result);
|
|
50
64
|
}
|
|
51
65
|
return { results, findings };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-pass.js","sourceRoot":"","sources":["../../src/graph/analysis-pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmEH;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IACV,MAAM,GAAmB,EAAE,CAAC;IAE7C,GAAG,CAAI,IAAqB;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CACD,KAAgB,EAChB,IAAY,EACZ,QAAgB,EAChB,MAAmB;QAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3C,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAgB;YAC3B,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,MAAM;YACN,SAAS,CAAI,QAAgB;gBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,8CAA8C,CAChE,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;YACpC,CAAC;YACD,SAAS,CAAC,QAAgB;gBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,OAAoB;gBAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,WAAW;gBACT,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"analysis-pass.js","sourceRoot":"","sources":["../../src/graph/analysis-pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmEH;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IACV,MAAM,GAAmB,EAAE,CAAC;IAE7C,GAAG,CAAI,IAAqB;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CACD,KAAgB,EAChB,IAAY,EACZ,QAAgB,EAChB,MAAmB;QAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3C,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAgB;YAC3B,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,MAAM;YACN,SAAS,CAAI,QAAgB;gBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,8CAA8C,CAChE,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;YACpC,CAAC;YACD,SAAS,CAAC,QAAgB;gBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,OAAoB;gBAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,WAAW;gBACT,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;QAEF,4CAA4C;QAC5C,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,aAAa,GAChB,UAAiD,CAAC,oBAAoB,KAAK,IAAI,CAAC;QAEnF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,aAAa,EAAE,CAAC;gBAClB,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,EAAE,WAAW,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type { CircleIR, Meta, TypeInfo, MethodInfo, ParameterInfo, FieldInfo, Ca
|
|
|
12
12
|
export type { SourceConfig, SinkConfig, TaintConfig, SourcePattern, SinkPattern, SanitizerPattern, } from './types/config.js';
|
|
13
13
|
export { initParser, parse, walkTree, findNodes, findAncestor, getNodeText, collectAllNodes, type SupportedLanguage, type SyntaxNode, type Node, type NodeCache, type Tree, } from './core/index.js';
|
|
14
14
|
export { extractMeta, extractTypes, extractCalls, extractImports, extractExports, buildCFG, buildDFG, } from './core/index.js';
|
|
15
|
-
export { getDefaultConfig, createTaintConfig, analyzeTaint, attachSourceLineCode, detectUnresolved, propagateTaint, generateFindings, analyzeConstantPropagation, ConstantPropagator, isKnown, createUnknown, getNodeLine, DEFAULT_SOURCES, DEFAULT_SINKS, DEFAULT_SANITIZERS, type ConstantValue, type ConstantPropagatorResult, type TaintPropagationResult, type TaintedVariable, type TaintFlow, } from './analysis/index.js';
|
|
15
|
+
export { getDefaultConfig, createTaintConfig, analyzeTaint, attachSourceLineCode, detectUnresolved, propagateTaint, generateFindings, setFindingsInstrumentation, isFindingsInstrumentationEnabled, analyzeConstantPropagation, ConstantPropagator, isKnown, createUnknown, getNodeLine, DEFAULT_SOURCES, DEFAULT_SINKS, DEFAULT_SANITIZERS, type ConstantValue, type ConstantPropagatorResult, type TaintPropagationResult, type TaintedVariable, type TaintFlow, } from './analysis/index.js';
|
|
16
16
|
export { getRuleInfo, RULE_DEFINITIONS, type RuleInfo, } from './analysis/rules.js';
|
|
17
17
|
export { DominatorGraph } from './graph/dominator-graph.js';
|
|
18
18
|
export { ExceptionFlowGraph, type TryCatchInfo } from './graph/exception-flow-graph.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAC3F,YAAY,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,YAAY,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AACjG,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,YAAY,EAEV,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,gBAAgB,EAGhB,UAAU,EACV,QAAQ,EACR,QAAQ,EAGR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EAGX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,SAAS,GACV,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,IAAI,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,QAAQ,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGxF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export { initParser, parse, walkTree, findNodes, findAncestor, getNodeText, coll
|
|
|
10
10
|
// Core extractors
|
|
11
11
|
export { extractMeta, extractTypes, extractCalls, extractImports, extractExports, buildCFG, buildDFG, } from './core/index.js';
|
|
12
12
|
// Analysis utilities
|
|
13
|
-
export { getDefaultConfig, createTaintConfig, analyzeTaint, attachSourceLineCode, detectUnresolved, propagateTaint, generateFindings, analyzeConstantPropagation, ConstantPropagator, isKnown, createUnknown, getNodeLine, DEFAULT_SOURCES, DEFAULT_SINKS, DEFAULT_SANITIZERS, } from './analysis/index.js';
|
|
13
|
+
export { getDefaultConfig, createTaintConfig, analyzeTaint, attachSourceLineCode, detectUnresolved, propagateTaint, generateFindings, setFindingsInstrumentation, isFindingsInstrumentationEnabled, analyzeConstantPropagation, ConstantPropagator, isKnown, createUnknown, getNodeLine, DEFAULT_SOURCES, DEFAULT_SINKS, DEFAULT_SANITIZERS, } from './analysis/index.js';
|
|
14
14
|
// Rule definitions
|
|
15
15
|
export { getRuleInfo, RULE_DEFINITIONS, } from './analysis/rules.js';
|
|
16
16
|
// Graph utilities
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,GAEd,MAAM,eAAe,CAAC;AA6EvB,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,GAMhB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,iCAAiC,CAAC;AAExF,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAY9B,gCAAgC;AAChC,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,GAIZ,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,GAEd,MAAM,eAAe,CAAC;AA6EvB,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,GAMhB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,iCAAiC,CAAC;AAExF,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAY9B,gCAAgC;AAChC,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,GAIZ,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.90.1",
|
|
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",
|