circle-ir 3.38.0 → 3.40.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/dist/analysis/index.d.ts +1 -1
- package/dist/analysis/index.d.ts.map +1 -1
- package/dist/analysis/index.js +1 -1
- package/dist/analysis/index.js.map +1 -1
- package/dist/analysis/passes/cross-file-pass.d.ts.map +1 -1
- package/dist/analysis/passes/cross-file-pass.js +10 -1
- package/dist/analysis/passes/cross-file-pass.js.map +1 -1
- package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
- package/dist/analysis/passes/language-sources-pass.js +5 -0
- package/dist/analysis/passes/language-sources-pass.js.map +1 -1
- package/dist/analysis/passes/taint-matcher-pass.js +2 -2
- package/dist/analysis/passes/taint-matcher-pass.js.map +1 -1
- package/dist/analysis/taint-matcher.d.ts +13 -2
- package/dist/analysis/taint-matcher.d.ts.map +1 -1
- package/dist/analysis/taint-matcher.js +43 -7
- package/dist/analysis/taint-matcher.js.map +1 -1
- package/dist/analyzer.js +1 -1
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +37 -10
- package/dist/core/circle-ir-core.cjs +34 -7
- package/dist/core/circle-ir-core.d.ts +1 -1
- package/dist/core/circle-ir-core.js +34 -7
- package/dist/core-lib.d.ts +1 -1
- package/dist/core-lib.d.ts.map +1 -1
- package/dist/core-lib.js +1 -1
- package/dist/core-lib.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/dist/resolution/cross-file.d.ts +80 -1
- package/dist/resolution/cross-file.d.ts.map +1 -1
- package/dist/resolution/cross-file.js +482 -0
- package/dist/resolution/cross-file.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -12083,13 +12083,27 @@ var PYTHON_TAINTED_PATTERNS = [
|
|
|
12083
12083
|
{ pattern: /\brequest\.query_params\b/, sourceType: "http_param" },
|
|
12084
12084
|
{ pattern: /\brequest\.path_params\b/, sourceType: "http_param" }
|
|
12085
12085
|
];
|
|
12086
|
-
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language) {
|
|
12087
|
-
const
|
|
12088
|
-
const
|
|
12086
|
+
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language, code) {
|
|
12087
|
+
const sourceLines = code !== void 0 ? code.split("\n") : void 0;
|
|
12088
|
+
const sources = findSources(calls, types, config.sources, sourceLines);
|
|
12089
|
+
const sinks = findSinks(calls, config.sinks, typeHierarchy, language, sourceLines);
|
|
12089
12090
|
const sanitizers = findSanitizers(calls, types, config.sanitizers);
|
|
12090
12091
|
return { sources, sinks, sanitizers };
|
|
12091
12092
|
}
|
|
12092
|
-
function
|
|
12093
|
+
function attachSourceLineCode(sources, sinks, code) {
|
|
12094
|
+
const lines = code.split("\n");
|
|
12095
|
+
for (const s of sources) {
|
|
12096
|
+
if (s.code === void 0) {
|
|
12097
|
+
s.code = lines[s.line - 1]?.trim();
|
|
12098
|
+
}
|
|
12099
|
+
}
|
|
12100
|
+
for (const s of sinks) {
|
|
12101
|
+
if (s.code === void 0) {
|
|
12102
|
+
s.code = lines[s.line - 1]?.trim();
|
|
12103
|
+
}
|
|
12104
|
+
}
|
|
12105
|
+
}
|
|
12106
|
+
function findSources(calls, types, patterns, sourceLines) {
|
|
12093
12107
|
const sources = [];
|
|
12094
12108
|
for (const call of calls) {
|
|
12095
12109
|
for (const pattern of patterns) {
|
|
@@ -12234,7 +12248,13 @@ function findSources(calls, types, patterns) {
|
|
|
12234
12248
|
sourceMap.set(key, source);
|
|
12235
12249
|
}
|
|
12236
12250
|
}
|
|
12237
|
-
|
|
12251
|
+
const result = Array.from(sourceMap.values());
|
|
12252
|
+
if (sourceLines) {
|
|
12253
|
+
for (const s of result) {
|
|
12254
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
12255
|
+
}
|
|
12256
|
+
}
|
|
12257
|
+
return result;
|
|
12238
12258
|
}
|
|
12239
12259
|
function isInterproceduralTaintableType(typeName) {
|
|
12240
12260
|
const baseType = typeName.split("<")[0].trim();
|
|
@@ -12339,7 +12359,7 @@ function isParameterizedQueryCall(call, pattern) {
|
|
|
12339
12359
|
}
|
|
12340
12360
|
return false;
|
|
12341
12361
|
}
|
|
12342
|
-
function findSinks(calls, patterns, typeHierarchy, language) {
|
|
12362
|
+
function findSinks(calls, patterns, typeHierarchy, language, sourceLines) {
|
|
12343
12363
|
const sinkMap = /* @__PURE__ */ new Map();
|
|
12344
12364
|
for (const call of calls) {
|
|
12345
12365
|
for (const pattern of patterns) {
|
|
@@ -12365,7 +12385,13 @@ function findSinks(calls, patterns, typeHierarchy, language) {
|
|
|
12365
12385
|
}
|
|
12366
12386
|
}
|
|
12367
12387
|
}
|
|
12368
|
-
|
|
12388
|
+
const result = Array.from(sinkMap.values());
|
|
12389
|
+
if (sourceLines) {
|
|
12390
|
+
for (const s of result) {
|
|
12391
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
12392
|
+
}
|
|
12393
|
+
}
|
|
12394
|
+
return result;
|
|
12369
12395
|
}
|
|
12370
12396
|
function matchesSourcePattern(call, pattern) {
|
|
12371
12397
|
if (pattern.method) {
|
|
@@ -20909,7 +20935,7 @@ var TaintMatcherPass = class {
|
|
|
20909
20935
|
name = "taint-matcher";
|
|
20910
20936
|
category = "security";
|
|
20911
20937
|
run(ctx) {
|
|
20912
|
-
const { graph, language, config } = ctx;
|
|
20938
|
+
const { graph, language, config, code } = ctx;
|
|
20913
20939
|
const { calls, types } = graph.ir;
|
|
20914
20940
|
let mergedConfig = config;
|
|
20915
20941
|
const plugin = getLanguagePlugin(language);
|
|
@@ -20946,7 +20972,7 @@ var TaintMatcherPass = class {
|
|
|
20946
20972
|
}
|
|
20947
20973
|
const hierarchy = createWithJdkTypes();
|
|
20948
20974
|
hierarchy.addFromIR(graph.ir, graph.ir.meta.file);
|
|
20949
|
-
const taint = analyzeTaint(calls, types, mergedConfig, hierarchy, language);
|
|
20975
|
+
const taint = analyzeTaint(calls, types, mergedConfig, hierarchy, language, code);
|
|
20950
20976
|
const sanitizerMethods = [];
|
|
20951
20977
|
for (const type of types) {
|
|
20952
20978
|
for (const method of type.methods) {
|
|
@@ -21133,6 +21159,7 @@ var LanguageSourcesPass = class {
|
|
|
21133
21159
|
ctx.addFinding(finding);
|
|
21134
21160
|
}
|
|
21135
21161
|
}
|
|
21162
|
+
attachSourceLineCode(additionalSources, additionalSinks, code);
|
|
21136
21163
|
return { additionalSources, additionalSinks, pyTaintedVars, pySanitizedVars, jsTaintedVars };
|
|
21137
21164
|
}
|
|
21138
21165
|
};
|
|
@@ -27215,7 +27242,7 @@ async function analyzeForAPI(code, filePath, language, options = {}) {
|
|
|
27215
27242
|
const calls = extractCalls(tree, nodeCache, language);
|
|
27216
27243
|
const constPropResult = analyzeConstantPropagation(tree, code);
|
|
27217
27244
|
const config = options.taintConfig ?? getDefaultConfig();
|
|
27218
|
-
const taint = analyzeTaint(calls, types, config, void 0, language);
|
|
27245
|
+
const taint = analyzeTaint(calls, types, config, void 0, language, code);
|
|
27219
27246
|
let filteredSinks = taint.sinks.filter((sink) => !constPropResult.unreachableLines.has(sink.line));
|
|
27220
27247
|
filteredSinks = filterCleanVariableSinks(
|
|
27221
27248
|
filteredSinks,
|
|
@@ -33,6 +33,7 @@ __export(core_lib_exports, {
|
|
|
33
33
|
PathFinder: () => PathFinder,
|
|
34
34
|
analyzeConstantPropagation: () => analyzeConstantPropagation,
|
|
35
35
|
analyzeTaint: () => analyzeTaint,
|
|
36
|
+
attachSourceLineCode: () => attachSourceLineCode,
|
|
36
37
|
buildCFG: () => buildCFG,
|
|
37
38
|
buildDFG: () => buildDFG,
|
|
38
39
|
collectAllNodes: () => collectAllNodes,
|
|
@@ -11411,13 +11412,27 @@ var PYTHON_TAINTED_PATTERNS = [
|
|
|
11411
11412
|
{ pattern: /\brequest\.query_params\b/, sourceType: "http_param" },
|
|
11412
11413
|
{ pattern: /\brequest\.path_params\b/, sourceType: "http_param" }
|
|
11413
11414
|
];
|
|
11414
|
-
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language) {
|
|
11415
|
-
const
|
|
11416
|
-
const
|
|
11415
|
+
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language, code) {
|
|
11416
|
+
const sourceLines = code !== void 0 ? code.split("\n") : void 0;
|
|
11417
|
+
const sources = findSources(calls, types, config.sources, sourceLines);
|
|
11418
|
+
const sinks = findSinks(calls, config.sinks, typeHierarchy, language, sourceLines);
|
|
11417
11419
|
const sanitizers = findSanitizers(calls, types, config.sanitizers);
|
|
11418
11420
|
return { sources, sinks, sanitizers };
|
|
11419
11421
|
}
|
|
11420
|
-
function
|
|
11422
|
+
function attachSourceLineCode(sources, sinks, code) {
|
|
11423
|
+
const lines = code.split("\n");
|
|
11424
|
+
for (const s of sources) {
|
|
11425
|
+
if (s.code === void 0) {
|
|
11426
|
+
s.code = lines[s.line - 1]?.trim();
|
|
11427
|
+
}
|
|
11428
|
+
}
|
|
11429
|
+
for (const s of sinks) {
|
|
11430
|
+
if (s.code === void 0) {
|
|
11431
|
+
s.code = lines[s.line - 1]?.trim();
|
|
11432
|
+
}
|
|
11433
|
+
}
|
|
11434
|
+
}
|
|
11435
|
+
function findSources(calls, types, patterns, sourceLines) {
|
|
11421
11436
|
const sources = [];
|
|
11422
11437
|
for (const call of calls) {
|
|
11423
11438
|
for (const pattern of patterns) {
|
|
@@ -11562,7 +11577,13 @@ function findSources(calls, types, patterns) {
|
|
|
11562
11577
|
sourceMap.set(key, source);
|
|
11563
11578
|
}
|
|
11564
11579
|
}
|
|
11565
|
-
|
|
11580
|
+
const result = Array.from(sourceMap.values());
|
|
11581
|
+
if (sourceLines) {
|
|
11582
|
+
for (const s of result) {
|
|
11583
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
11584
|
+
}
|
|
11585
|
+
}
|
|
11586
|
+
return result;
|
|
11566
11587
|
}
|
|
11567
11588
|
function isInterproceduralTaintableType(typeName) {
|
|
11568
11589
|
const baseType = typeName.split("<")[0].trim();
|
|
@@ -11667,7 +11688,7 @@ function isParameterizedQueryCall(call, pattern) {
|
|
|
11667
11688
|
}
|
|
11668
11689
|
return false;
|
|
11669
11690
|
}
|
|
11670
|
-
function findSinks(calls, patterns, typeHierarchy, language) {
|
|
11691
|
+
function findSinks(calls, patterns, typeHierarchy, language, sourceLines) {
|
|
11671
11692
|
const sinkMap = /* @__PURE__ */ new Map();
|
|
11672
11693
|
for (const call of calls) {
|
|
11673
11694
|
for (const pattern of patterns) {
|
|
@@ -11693,7 +11714,13 @@ function findSinks(calls, patterns, typeHierarchy, language) {
|
|
|
11693
11714
|
}
|
|
11694
11715
|
}
|
|
11695
11716
|
}
|
|
11696
|
-
|
|
11717
|
+
const result = Array.from(sinkMap.values());
|
|
11718
|
+
if (sourceLines) {
|
|
11719
|
+
for (const s of result) {
|
|
11720
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
11721
|
+
}
|
|
11722
|
+
}
|
|
11723
|
+
return result;
|
|
11697
11724
|
}
|
|
11698
11725
|
function matchesSourcePattern(call, pattern) {
|
|
11699
11726
|
if (pattern.method) {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
*/
|
|
51
51
|
export { initParser, loadLanguage, parse, walkTree, findNodes, findAncestor, getNodeText, collectAllNodes, isInitialized, isLanguageLoaded, resetParser, type SupportedLanguage, type SyntaxNode, type Tree, type NodeCache, } from './core/parser.js';
|
|
52
52
|
export { extractMeta, extractTypes, extractCalls, extractImports, extractExports, buildCFG, buildDFG, } from './core/extractors/index.js';
|
|
53
|
-
export { analyzeTaint } from './analysis/taint-matcher.js';
|
|
53
|
+
export { analyzeTaint, attachSourceLineCode } from './analysis/taint-matcher.js';
|
|
54
54
|
export { getDefaultConfig, createTaintConfig, } from './analysis/config-loader.js';
|
|
55
55
|
export { propagateTaint, type TaintPropagationResult, type TaintFlow, type TaintedVariable, } from './analysis/taint-propagation.js';
|
|
56
56
|
export { analyzeConstantPropagation, isFalsePositive, isCorrelatedPredicateFP, type ConstantPropagatorResult, } from './analysis/constant-propagation.js';
|
|
@@ -11346,13 +11346,27 @@ var PYTHON_TAINTED_PATTERNS = [
|
|
|
11346
11346
|
{ pattern: /\brequest\.query_params\b/, sourceType: "http_param" },
|
|
11347
11347
|
{ pattern: /\brequest\.path_params\b/, sourceType: "http_param" }
|
|
11348
11348
|
];
|
|
11349
|
-
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language) {
|
|
11350
|
-
const
|
|
11351
|
-
const
|
|
11349
|
+
function analyzeTaint(calls, types, config = getDefaultConfig(), typeHierarchy, language, code) {
|
|
11350
|
+
const sourceLines = code !== void 0 ? code.split("\n") : void 0;
|
|
11351
|
+
const sources = findSources(calls, types, config.sources, sourceLines);
|
|
11352
|
+
const sinks = findSinks(calls, config.sinks, typeHierarchy, language, sourceLines);
|
|
11352
11353
|
const sanitizers = findSanitizers(calls, types, config.sanitizers);
|
|
11353
11354
|
return { sources, sinks, sanitizers };
|
|
11354
11355
|
}
|
|
11355
|
-
function
|
|
11356
|
+
function attachSourceLineCode(sources, sinks, code) {
|
|
11357
|
+
const lines = code.split("\n");
|
|
11358
|
+
for (const s of sources) {
|
|
11359
|
+
if (s.code === void 0) {
|
|
11360
|
+
s.code = lines[s.line - 1]?.trim();
|
|
11361
|
+
}
|
|
11362
|
+
}
|
|
11363
|
+
for (const s of sinks) {
|
|
11364
|
+
if (s.code === void 0) {
|
|
11365
|
+
s.code = lines[s.line - 1]?.trim();
|
|
11366
|
+
}
|
|
11367
|
+
}
|
|
11368
|
+
}
|
|
11369
|
+
function findSources(calls, types, patterns, sourceLines) {
|
|
11356
11370
|
const sources = [];
|
|
11357
11371
|
for (const call of calls) {
|
|
11358
11372
|
for (const pattern of patterns) {
|
|
@@ -11497,7 +11511,13 @@ function findSources(calls, types, patterns) {
|
|
|
11497
11511
|
sourceMap.set(key, source);
|
|
11498
11512
|
}
|
|
11499
11513
|
}
|
|
11500
|
-
|
|
11514
|
+
const result = Array.from(sourceMap.values());
|
|
11515
|
+
if (sourceLines) {
|
|
11516
|
+
for (const s of result) {
|
|
11517
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
11518
|
+
}
|
|
11519
|
+
}
|
|
11520
|
+
return result;
|
|
11501
11521
|
}
|
|
11502
11522
|
function isInterproceduralTaintableType(typeName) {
|
|
11503
11523
|
const baseType = typeName.split("<")[0].trim();
|
|
@@ -11602,7 +11622,7 @@ function isParameterizedQueryCall(call, pattern) {
|
|
|
11602
11622
|
}
|
|
11603
11623
|
return false;
|
|
11604
11624
|
}
|
|
11605
|
-
function findSinks(calls, patterns, typeHierarchy, language) {
|
|
11625
|
+
function findSinks(calls, patterns, typeHierarchy, language, sourceLines) {
|
|
11606
11626
|
const sinkMap = /* @__PURE__ */ new Map();
|
|
11607
11627
|
for (const call of calls) {
|
|
11608
11628
|
for (const pattern of patterns) {
|
|
@@ -11628,7 +11648,13 @@ function findSinks(calls, patterns, typeHierarchy, language) {
|
|
|
11628
11648
|
}
|
|
11629
11649
|
}
|
|
11630
11650
|
}
|
|
11631
|
-
|
|
11651
|
+
const result = Array.from(sinkMap.values());
|
|
11652
|
+
if (sourceLines) {
|
|
11653
|
+
for (const s of result) {
|
|
11654
|
+
s.code = sourceLines[s.line - 1]?.trim();
|
|
11655
|
+
}
|
|
11656
|
+
}
|
|
11657
|
+
return result;
|
|
11632
11658
|
}
|
|
11633
11659
|
function matchesSourcePattern(call, pattern) {
|
|
11634
11660
|
if (pattern.method) {
|
|
@@ -15409,6 +15435,7 @@ export {
|
|
|
15409
15435
|
PathFinder,
|
|
15410
15436
|
analyzeConstantPropagation,
|
|
15411
15437
|
analyzeTaint,
|
|
15438
|
+
attachSourceLineCode,
|
|
15412
15439
|
buildCFG,
|
|
15413
15440
|
buildDFG,
|
|
15414
15441
|
collectAllNodes,
|
package/dist/core-lib.d.ts
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
*/
|
|
51
51
|
export { initParser, loadLanguage, parse, walkTree, findNodes, findAncestor, getNodeText, collectAllNodes, isInitialized, isLanguageLoaded, resetParser, type SupportedLanguage, type SyntaxNode, type Tree, type NodeCache, } from './core/parser.js';
|
|
52
52
|
export { extractMeta, extractTypes, extractCalls, extractImports, extractExports, buildCFG, buildDFG, } from './core/extractors/index.js';
|
|
53
|
-
export { analyzeTaint } from './analysis/taint-matcher.js';
|
|
53
|
+
export { analyzeTaint, attachSourceLineCode } from './analysis/taint-matcher.js';
|
|
54
54
|
export { getDefaultConfig, createTaintConfig, } from './analysis/config-loader.js';
|
|
55
55
|
export { propagateTaint, type TaintPropagationResult, type TaintFlow, type TaintedVariable, } from './analysis/taint-propagation.js';
|
|
56
56
|
export { analyzeConstantPropagation, isFalsePositive, isCorrelatedPredicateFP, type ConstantPropagatorResult, } from './analysis/constant-propagation.js';
|
package/dist/core-lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-lib.d.ts","sourceRoot":"","sources":["../src/core-lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAGH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"core-lib.d.ts","sourceRoot":"","sources":["../src/core-lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAGH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,eAAe,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,KAAK,SAAS,EACd,KAAK,QAAQ,GACd,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,MAAM,EACN,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
|
package/dist/core-lib.js
CHANGED
|
@@ -53,7 +53,7 @@ export { initParser, loadLanguage, parse, walkTree, findNodes, findAncestor, get
|
|
|
53
53
|
// IR extractors
|
|
54
54
|
export { extractMeta, extractTypes, extractCalls, extractImports, extractExports, buildCFG, buildDFG, } from './core/extractors/index.js';
|
|
55
55
|
// Taint analysis - import directly to avoid LLM dependencies
|
|
56
|
-
export { analyzeTaint } from './analysis/taint-matcher.js';
|
|
56
|
+
export { analyzeTaint, attachSourceLineCode } from './analysis/taint-matcher.js';
|
|
57
57
|
export { getDefaultConfig, createTaintConfig, } from './analysis/config-loader.js';
|
|
58
58
|
export { propagateTaint, } from './analysis/taint-propagation.js';
|
|
59
59
|
export { analyzeConstantPropagation, isFalsePositive, isCorrelatedPredicateFP, } from './analysis/constant-propagation.js';
|
package/dist/core-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-lib.js","sourceRoot":"","sources":["../src/core-lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,oCAAoC;AACpC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,GAKZ,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"core-lib.js","sourceRoot":"","sources":["../src/core-lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,oCAAoC;AACpC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,GAKZ,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,GAIf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,GAExB,MAAM,oCAAoC,CAAC;AAE5C,eAAe;AACf,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,GAGhB,MAAM,2BAA2B,CAAC"}
|
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, 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, 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":"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"}
|
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, 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, 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,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,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"}
|
|
@@ -67,10 +67,35 @@ export interface InterproceduralTaintPath {
|
|
|
67
67
|
file: string;
|
|
68
68
|
line: number;
|
|
69
69
|
method: string;
|
|
70
|
-
kind: 'source' | 'wrapper_return' | 'sink_call' | 'sink';
|
|
70
|
+
kind: 'source' | 'wrapper_return' | 'field_write' | 'field_read' | 'sink_call' | 'sink';
|
|
71
71
|
}>;
|
|
72
72
|
confidence: number;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Per-type field-binding taint summary.
|
|
76
|
+
*
|
|
77
|
+
* Records which fields on a class hold tainted data because a method in the
|
|
78
|
+
* class wrote a tainted parameter into the field (`this.field = param`).
|
|
79
|
+
* Used to surface cross-instance flows of the canonical Jenkins shape:
|
|
80
|
+
* `@DataBoundConstructor C(p)` writes `this.f = p` → another class holds a
|
|
81
|
+
* `C` instance and reads `instance.f` → that read flows to a sink.
|
|
82
|
+
*/
|
|
83
|
+
export interface FieldTaintInfo {
|
|
84
|
+
typeFqn: string;
|
|
85
|
+
fieldName: string;
|
|
86
|
+
fieldType: string | null;
|
|
87
|
+
file: string;
|
|
88
|
+
/** Methods that write tainted data into this field. */
|
|
89
|
+
writers: Array<{
|
|
90
|
+
methodFqn: string;
|
|
91
|
+
methodName: string;
|
|
92
|
+
writeLine: number;
|
|
93
|
+
/** Source type carried into the field (`http_param`, `autowired`, etc.). */
|
|
94
|
+
sourceType: string;
|
|
95
|
+
/** Original source line in the writer's method body. */
|
|
96
|
+
sourceLine: number;
|
|
97
|
+
}>;
|
|
98
|
+
}
|
|
74
99
|
/**
|
|
75
100
|
* CrossFileResolver - Resolves calls and tracks taint across files
|
|
76
101
|
*/
|
|
@@ -79,6 +104,7 @@ export declare class CrossFileResolver {
|
|
|
79
104
|
private typeHierarchy;
|
|
80
105
|
private fileIRs;
|
|
81
106
|
private methodTaintInfo;
|
|
107
|
+
private fieldTaintInfo;
|
|
82
108
|
private resolvedCalls;
|
|
83
109
|
constructor(symbolTable: SymbolTable, typeHierarchy: TypeHierarchyResolver);
|
|
84
110
|
/**
|
|
@@ -113,6 +139,23 @@ export declare class CrossFileResolver {
|
|
|
113
139
|
* Analyze methods for taint propagation characteristics
|
|
114
140
|
*/
|
|
115
141
|
private analyzeMethodTaint;
|
|
142
|
+
/**
|
|
143
|
+
* Per-file analysis of cross-instance field bindings.
|
|
144
|
+
*
|
|
145
|
+
* Records `FieldTaintInfo` entries for fields written by:
|
|
146
|
+
* 1. `@DataBoundConstructor`-style constructors — surfaced as
|
|
147
|
+
* `constructor_field` sources by `LanguageSourcesPass`.
|
|
148
|
+
* 2. Setter methods `set<Field>(<param>)` — assume the canonical
|
|
149
|
+
* `this.<field> = <param>` body shape, so the setter PARAMETER acts
|
|
150
|
+
* as the taint conduit at call sites.
|
|
151
|
+
* 3. `@Autowired` field annotations — the field itself is a framework
|
|
152
|
+
* injection point; the writer is synthetic (line = field decl).
|
|
153
|
+
*
|
|
154
|
+
* The entries are keyed `${typeFqn}.${fieldName}` and consumed by
|
|
155
|
+
* `findFieldBindingTaintPaths()` to surface flows of the canonical Jenkins
|
|
156
|
+
* shape: ctor writes field → another class reads instance.field → sink.
|
|
157
|
+
*/
|
|
158
|
+
private analyzeFieldTaint;
|
|
116
159
|
/**
|
|
117
160
|
* Check if method is a taint source.
|
|
118
161
|
*
|
|
@@ -174,6 +217,40 @@ export declare class CrossFileResolver {
|
|
|
174
217
|
* `InterproceduralTaintPath` per sink inside the callee body.
|
|
175
218
|
*/
|
|
176
219
|
findInterproceduralTaintPaths(): InterproceduralTaintPath[];
|
|
220
|
+
/**
|
|
221
|
+
* Find cross-instance field-binding taint paths.
|
|
222
|
+
*
|
|
223
|
+
* Closes the canonical Jenkins / framework-DI shape that
|
|
224
|
+
* `findInterproceduralTaintPaths()` cannot cover because the "source" lives
|
|
225
|
+
* on an aliased object's field, not in a callee return:
|
|
226
|
+
*
|
|
227
|
+
* File A: class C { @DataBoundConstructor C(p) { this.f = p; } }
|
|
228
|
+
* File B: class E { final C step; E(C step){ this.step = step; }
|
|
229
|
+
* m() { String x = step.f; sink(x); } }
|
|
230
|
+
*
|
|
231
|
+
* Algorithm (per caller method M in file B):
|
|
232
|
+
* 1. Seed `tainted` with sources inside M (mirrors findInterproc step 1).
|
|
233
|
+
* 2. Scan M's local-def DFG entries for expressions of shape
|
|
234
|
+
* `<receiver>.<field>` where receiver's declared type owns `<field>`
|
|
235
|
+
* in the FieldTaintInfo cache. Mark the LHS local as tainted, anchor
|
|
236
|
+
* its origin to the field-binding writer (e.g. the ctor in file A).
|
|
237
|
+
* 3. After seeding, walk caller-body sinks the same way
|
|
238
|
+
* `findInterproceduralTaintPaths()` step 2c does, and also forward
|
|
239
|
+
* tainted locals into cross-file callees whose `taintedParams` mark
|
|
240
|
+
* the arg position as sink-propagating.
|
|
241
|
+
*/
|
|
242
|
+
findFieldBindingTaintPaths(): InterproceduralTaintPath[];
|
|
243
|
+
/**
|
|
244
|
+
* Check whether any loaded type with name `typeName` (simple or FQN suffix)
|
|
245
|
+
* declares a field named `fieldName`.
|
|
246
|
+
*/
|
|
247
|
+
private typeHasField;
|
|
248
|
+
/**
|
|
249
|
+
* Resolve a receiver type-name + field-name to the cache key used by
|
|
250
|
+
* `fieldTaintInfo`. Handles simple-name receivers (e.g. `ReadTrustedStep`)
|
|
251
|
+
* by looking up matching FQN keys across loaded files.
|
|
252
|
+
*/
|
|
253
|
+
private resolveFieldTaintKey;
|
|
177
254
|
/**
|
|
178
255
|
* Find which method a tainted arg expression references.
|
|
179
256
|
*/
|
|
@@ -207,6 +284,8 @@ export declare class CrossFileResolver {
|
|
|
207
284
|
* Clear all caches
|
|
208
285
|
*/
|
|
209
286
|
clear(): void;
|
|
287
|
+
/** Expose field-taint summary (for tests + diagnostics). */
|
|
288
|
+
getFieldTaintInfo(typeFqn: string, fieldName: string): FieldTaintInfo | undefined;
|
|
210
289
|
}
|
|
211
290
|
/**
|
|
212
291
|
* Build a cross-file resolver from multiple IR results
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-file.d.ts","sourceRoot":"","sources":["../../src/resolution/cross-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,IAAI,EAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,IAAI,EAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cross-file.d.ts","sourceRoot":"","sources":["../../src/resolution/cross-file.ts"],"names":[],"mappings":"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"}
|