circle-ir 3.158.0 → 3.160.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/passes/cross-file-pass.d.ts.map +1 -1
- package/dist/analysis/passes/cross-file-pass.js +44 -2
- 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 +79 -0
- package/dist/analysis/passes/language-sources-pass.js.map +1 -1
- package/dist/analysis/passes/mybatis-annotation-sql-sink-pass.d.ts +2 -0
- package/dist/analysis/passes/mybatis-annotation-sql-sink-pass.d.ts.map +1 -1
- package/dist/analysis/passes/mybatis-annotation-sql-sink-pass.js +49 -2
- package/dist/analysis/passes/mybatis-annotation-sql-sink-pass.js.map +1 -1
- package/dist/analysis/taint-matcher.d.ts.map +1 -1
- package/dist/analysis/taint-matcher.js +16 -0
- package/dist/analysis/taint-matcher.js.map +1 -1
- package/dist/browser/circle-ir.js +136 -4
- package/dist/core/circle-ir-core.cjs +4 -0
- package/dist/core/circle-ir-core.js +4 -0
- package/dist/resolution/type-hierarchy.d.ts +26 -0
- package/dist/resolution/type-hierarchy.d.ts.map +1 -1
- package/dist/resolution/type-hierarchy.js +66 -0
- package/dist/resolution/type-hierarchy.js.map +1 -1
- package/package.json +1 -1
|
@@ -14204,6 +14204,10 @@ function matchesSinkPattern(call, pattern, typeHierarchy, language) {
|
|
|
14204
14204
|
} else if (call.receiver_type && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type, pattern.class)) {
|
|
14205
14205
|
} else if (call.receiver_type_fqn && call.receiver_type_fqn.endsWith("." + pattern.class)) {
|
|
14206
14206
|
} else if (call.receiver_type_fqn && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type_fqn, pattern.class)) {
|
|
14207
|
+
} else if (!call.receiver_type && !call.receiver_type_fqn && call.receiver && typeHierarchy && subtypeArgArityOk && (() => {
|
|
14208
|
+
const factoryReturn = typeHierarchy.resolveFactoryReturnType(call.receiver);
|
|
14209
|
+
return factoryReturn !== null && typeHierarchy.isSubtypeOf(factoryReturn, pattern.class);
|
|
14210
|
+
})()) {
|
|
14207
14211
|
} else if (call.receiver && !receiverMightBeClass(call.receiver, pattern.class)) {
|
|
14208
14212
|
if (typeHierarchy && typeHierarchy.couldBeType(call.receiver, pattern.class)) {
|
|
14209
14213
|
return true;
|
|
@@ -15253,6 +15257,18 @@ var TypeHierarchyResolver = class {
|
|
|
15253
15257
|
// Memoization caches for transitive lookups (safe: hierarchy is immutable after loading)
|
|
15254
15258
|
_subtypeCache = /* @__PURE__ */ new Map();
|
|
15255
15259
|
_implCache = /* @__PURE__ */ new Map();
|
|
15260
|
+
// Static-factory return-type registry.
|
|
15261
|
+
// Key: `<FactorySimpleName>.<method>` (e.g. `HttpClients.createDefault`,
|
|
15262
|
+
// `HttpClientBuilder.build`). Value: fully-qualified return-type name
|
|
15263
|
+
// (e.g. `org.apache.http.impl.client.CloseableHttpClient`).
|
|
15264
|
+
//
|
|
15265
|
+
// Purpose: recover receiver-type resolution when a sink call's receiver
|
|
15266
|
+
// is a chained static factory expression (e.g.
|
|
15267
|
+
// `HttpClients.createDefault().execute(req)`) and the language plugin
|
|
15268
|
+
// does not perform full return-type inference on the factory call. The
|
|
15269
|
+
// taint matcher consults this map when `call.receiver_type` is null. —
|
|
15270
|
+
// cognium-dev #241 Java
|
|
15271
|
+
factoryReturnTypes = /* @__PURE__ */ new Map();
|
|
15256
15272
|
/**
|
|
15257
15273
|
* Add types from a CircleIR analysis result
|
|
15258
15274
|
*/
|
|
@@ -15489,6 +15505,38 @@ var TypeHierarchyResolver = class {
|
|
|
15489
15505
|
getAllTypes() {
|
|
15490
15506
|
return Array.from(this.types.values());
|
|
15491
15507
|
}
|
|
15508
|
+
/**
|
|
15509
|
+
* Register the return type of a static factory method.
|
|
15510
|
+
*
|
|
15511
|
+
* @param factoryClass Simple class name of the factory (e.g. `HttpClients`).
|
|
15512
|
+
* @param method Factory method name (e.g. `createDefault`).
|
|
15513
|
+
* @param returnFqn Fully-qualified return type (e.g.
|
|
15514
|
+
* `org.apache.http.impl.client.CloseableHttpClient`).
|
|
15515
|
+
*
|
|
15516
|
+
* — cognium-dev #241 Java
|
|
15517
|
+
*/
|
|
15518
|
+
registerFactoryReturnType(factoryClass, method, returnFqn) {
|
|
15519
|
+
this.factoryReturnTypes.set(`${factoryClass}.${method}`, returnFqn);
|
|
15520
|
+
}
|
|
15521
|
+
/**
|
|
15522
|
+
* Resolve a static-factory receiver expression to its return type FQN.
|
|
15523
|
+
*
|
|
15524
|
+
* Accepts a receiver expression of shape `<FactorySimple>.<method>()` (or
|
|
15525
|
+
* a longer dotted prefix ending in the same). Returns the registered
|
|
15526
|
+
* return-type FQN, or `null` when no matching factory is registered.
|
|
15527
|
+
*
|
|
15528
|
+
* Examples that resolve (given Apache HttpClient registration):
|
|
15529
|
+
* `HttpClients.createDefault()` → `org.apache.http.impl.client.CloseableHttpClient`
|
|
15530
|
+
* `org.apache.http.impl.client.HttpClients.createDefault()` → same
|
|
15531
|
+
*
|
|
15532
|
+
* — cognium-dev #241 Java
|
|
15533
|
+
*/
|
|
15534
|
+
resolveFactoryReturnType(receiver) {
|
|
15535
|
+
const m = receiver.match(/(?:^|\.)([A-Z]\w*)\.(\w+)\(\)$/);
|
|
15536
|
+
if (!m) return null;
|
|
15537
|
+
const key = `${m[1]}.${m[2]}`;
|
|
15538
|
+
return this.factoryReturnTypes.get(key) ?? null;
|
|
15539
|
+
}
|
|
15492
15540
|
/**
|
|
15493
15541
|
* Clear all data
|
|
15494
15542
|
*/
|
|
@@ -15497,6 +15545,7 @@ var TypeHierarchyResolver = class {
|
|
|
15497
15545
|
this.nameToFqn.clear();
|
|
15498
15546
|
this.subtypes.clear();
|
|
15499
15547
|
this.implementations.clear();
|
|
15548
|
+
this.factoryReturnTypes.clear();
|
|
15500
15549
|
}
|
|
15501
15550
|
// --- Private helpers ---
|
|
15502
15551
|
/**
|
|
@@ -15848,6 +15897,21 @@ function registerCommonLibraries(resolver) {
|
|
|
15848
15897
|
for (const type of [...apacheHttpClient4x, ...apacheHttpClient5x]) {
|
|
15849
15898
|
resolver.addType(type, "common-libraries", type.package);
|
|
15850
15899
|
}
|
|
15900
|
+
resolver.registerFactoryReturnType(
|
|
15901
|
+
"HttpClients",
|
|
15902
|
+
"createDefault",
|
|
15903
|
+
"org.apache.http.impl.client.CloseableHttpClient"
|
|
15904
|
+
);
|
|
15905
|
+
resolver.registerFactoryReturnType(
|
|
15906
|
+
"HttpClients",
|
|
15907
|
+
"createSystem",
|
|
15908
|
+
"org.apache.http.impl.client.CloseableHttpClient"
|
|
15909
|
+
);
|
|
15910
|
+
resolver.registerFactoryReturnType(
|
|
15911
|
+
"HttpClients",
|
|
15912
|
+
"createMinimal",
|
|
15913
|
+
"org.apache.http.impl.client.MinimalHttpClient"
|
|
15914
|
+
);
|
|
15851
15915
|
}
|
|
15852
15916
|
|
|
15853
15917
|
// src/graph/dominator-graph.ts
|
|
@@ -24592,6 +24656,7 @@ var LanguageSourcesPass = class {
|
|
|
24592
24656
|
additionalSanitizers.push(
|
|
24593
24657
|
...findJavaPathNormalizeStartsWithGuardSanitizers(code)
|
|
24594
24658
|
);
|
|
24659
|
+
additionalSanitizers.push(...findJavaPathGetFileNameSanitizers(code));
|
|
24595
24660
|
additionalSanitizers.push(...findJavaInlineCrlfStripLogSanitizers(code));
|
|
24596
24661
|
additionalSanitizers.push(...findJavaArgvFormExecSanitizers(code));
|
|
24597
24662
|
for (const finding of findJavaPatternFindings(code, graph.ir.meta.file)) {
|
|
@@ -26634,6 +26699,42 @@ function findJavaPathNormalizeStartsWithGuardSanitizers(code) {
|
|
|
26634
26699
|
}
|
|
26635
26700
|
return sanitizers;
|
|
26636
26701
|
}
|
|
26702
|
+
function findJavaPathGetFileNameSanitizers(code) {
|
|
26703
|
+
const sanitizers = [];
|
|
26704
|
+
const lines = code.split("\n");
|
|
26705
|
+
const assignmentRe = /^\s*(?:(?:final\s+)?[A-Za-z_][\w.<>?,\s\[\]]*?\s+)?([A-Za-z_]\w*)\s*=\s*(.+?);\s*$/;
|
|
26706
|
+
const rhsHasGetFileNameRe = /\.\s*getFileName\s*\(\s*\)/;
|
|
26707
|
+
const rhsHasPathsChainRe = /\b(?:Paths\s*\.\s*get|Path\s*\.\s*of)\s*\(/;
|
|
26708
|
+
const candidates = [];
|
|
26709
|
+
for (let i2 = 0; i2 < lines.length; i2++) {
|
|
26710
|
+
const m = assignmentRe.exec(lines[i2]);
|
|
26711
|
+
if (!m) continue;
|
|
26712
|
+
const rhs = m[2];
|
|
26713
|
+
if (!rhsHasGetFileNameRe.test(rhs)) continue;
|
|
26714
|
+
if (!rhsHasPathsChainRe.test(rhs)) continue;
|
|
26715
|
+
candidates.push({ line: i2 + 1, boundVar: m[1] });
|
|
26716
|
+
}
|
|
26717
|
+
if (candidates.length === 0) return sanitizers;
|
|
26718
|
+
for (const c of candidates) {
|
|
26719
|
+
sanitizers.push({
|
|
26720
|
+
type: "java_path_get_filename",
|
|
26721
|
+
method: "getFileName",
|
|
26722
|
+
line: c.line,
|
|
26723
|
+
sanitizes: ["path_traversal", "external_taint_escape"]
|
|
26724
|
+
});
|
|
26725
|
+
const varRefRe = new RegExp(`\\b${c.boundVar}\\b`);
|
|
26726
|
+
for (let l = c.line; l < lines.length; l++) {
|
|
26727
|
+
if (!varRefRe.test(lines[l])) continue;
|
|
26728
|
+
sanitizers.push({
|
|
26729
|
+
type: "java_path_get_filename",
|
|
26730
|
+
method: "getFileName",
|
|
26731
|
+
line: l + 1,
|
|
26732
|
+
sanitizes: ["path_traversal", "external_taint_escape"]
|
|
26733
|
+
});
|
|
26734
|
+
}
|
|
26735
|
+
}
|
|
26736
|
+
return sanitizers;
|
|
26737
|
+
}
|
|
26637
26738
|
function findJavaInlineCrlfStripLogSanitizers(code) {
|
|
26638
26739
|
const sanitizers = [];
|
|
26639
26740
|
const lines = code.split("\n");
|
|
@@ -30036,6 +30137,12 @@ function correlateDollarBraceToArgPositions(method, refs) {
|
|
|
30036
30137
|
}
|
|
30037
30138
|
}
|
|
30038
30139
|
});
|
|
30140
|
+
const declaredNameToIndex = /* @__PURE__ */ new Map();
|
|
30141
|
+
method.parameters.forEach((param, idx) => {
|
|
30142
|
+
if (param.name && !declaredNameToIndex.has(param.name)) {
|
|
30143
|
+
declaredNameToIndex.set(param.name, idx);
|
|
30144
|
+
}
|
|
30145
|
+
});
|
|
30039
30146
|
const positions = /* @__PURE__ */ new Set();
|
|
30040
30147
|
for (const ref of refs) {
|
|
30041
30148
|
const namedIdx = paramNameToIndex.get(ref);
|
|
@@ -30043,6 +30150,11 @@ function correlateDollarBraceToArgPositions(method, refs) {
|
|
|
30043
30150
|
positions.add(namedIdx);
|
|
30044
30151
|
continue;
|
|
30045
30152
|
}
|
|
30153
|
+
const declaredIdx = declaredNameToIndex.get(ref);
|
|
30154
|
+
if (declaredIdx !== void 0) {
|
|
30155
|
+
positions.add(declaredIdx);
|
|
30156
|
+
continue;
|
|
30157
|
+
}
|
|
30046
30158
|
const positionalIdx = parsePositionalRef(ref);
|
|
30047
30159
|
if (positionalIdx !== null && positionalIdx < method.parameters.length) {
|
|
30048
30160
|
positions.add(positionalIdx);
|
|
@@ -30069,11 +30181,11 @@ var MyBatisAnnotationSqlSinkPass = class {
|
|
|
30069
30181
|
category = "security";
|
|
30070
30182
|
run(ctx) {
|
|
30071
30183
|
if (ctx.language !== "java") {
|
|
30072
|
-
return { annotatedMethodCount: 0, addedSinkCount: 0 };
|
|
30184
|
+
return { annotatedMethodCount: 0, addedSinkCount: 0, declarationFindingCount: 0 };
|
|
30073
30185
|
}
|
|
30074
30186
|
const { types, imports, calls } = ctx.graph.ir;
|
|
30075
30187
|
if (!fileImportsMyBatis(imports)) {
|
|
30076
|
-
return { annotatedMethodCount: 0, addedSinkCount: 0 };
|
|
30188
|
+
return { annotatedMethodCount: 0, addedSinkCount: 0, declarationFindingCount: 0 };
|
|
30077
30189
|
}
|
|
30078
30190
|
const mapperMethods = [];
|
|
30079
30191
|
for (const type of types) {
|
|
@@ -30100,6 +30212,7 @@ var MyBatisAnnotationSqlSinkPass = class {
|
|
|
30100
30212
|
interfaceSimpleName: type.name,
|
|
30101
30213
|
interfaceFqn,
|
|
30102
30214
|
methodName: method.name,
|
|
30215
|
+
declarationLine: method.start_line,
|
|
30103
30216
|
taintedArgPositions: positions
|
|
30104
30217
|
});
|
|
30105
30218
|
}
|
|
@@ -30107,9 +30220,27 @@ var MyBatisAnnotationSqlSinkPass = class {
|
|
|
30107
30220
|
if (mapperMethods.length === 0) {
|
|
30108
30221
|
return {
|
|
30109
30222
|
annotatedMethodCount: 0,
|
|
30110
|
-
addedSinkCount: 0
|
|
30223
|
+
addedSinkCount: 0,
|
|
30224
|
+
declarationFindingCount: 0
|
|
30111
30225
|
};
|
|
30112
30226
|
}
|
|
30227
|
+
const file = ctx.graph.ir.meta.file;
|
|
30228
|
+
let declarationFindingCount = 0;
|
|
30229
|
+
for (const rec of mapperMethods) {
|
|
30230
|
+
ctx.addFinding({
|
|
30231
|
+
id: `${this.name}-${file}-${rec.declarationLine}-${rec.methodName}`,
|
|
30232
|
+
pass: this.name,
|
|
30233
|
+
category: this.category,
|
|
30234
|
+
rule_id: this.name,
|
|
30235
|
+
cwe: "CWE-89",
|
|
30236
|
+
severity: "critical",
|
|
30237
|
+
level: "error",
|
|
30238
|
+
message: `MyBatis Mapper method \`${rec.interfaceSimpleName}.${rec.methodName}\` uses raw \`\${}\` interpolation in its @Select/@Update/@Insert/@Delete annotation. Any caller passing dynamic input into arg position(s) ${rec.taintedArgPositions.join(", ")} will execute unbound SQL (CWE-89). Replace \`\${x}\` with \`#{x}\` to enable JDBC parameter binding.`,
|
|
30239
|
+
file,
|
|
30240
|
+
line: rec.declarationLine
|
|
30241
|
+
});
|
|
30242
|
+
declarationFindingCount++;
|
|
30243
|
+
}
|
|
30113
30244
|
const sinks = ctx.hasResult("taint-matcher") ? ctx.getResult("taint-matcher").sinks : ctx.graph.ir.taint.sinks;
|
|
30114
30245
|
let addedSinkCount = 0;
|
|
30115
30246
|
for (const call of calls) {
|
|
@@ -30144,7 +30275,8 @@ var MyBatisAnnotationSqlSinkPass = class {
|
|
|
30144
30275
|
}
|
|
30145
30276
|
return {
|
|
30146
30277
|
annotatedMethodCount: mapperMethods.length,
|
|
30147
|
-
addedSinkCount
|
|
30278
|
+
addedSinkCount,
|
|
30279
|
+
declarationFindingCount
|
|
30148
30280
|
};
|
|
30149
30281
|
}
|
|
30150
30282
|
};
|
|
@@ -13512,6 +13512,10 @@ function matchesSinkPattern(call, pattern, typeHierarchy, language) {
|
|
|
13512
13512
|
} else if (call.receiver_type && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type, pattern.class)) {
|
|
13513
13513
|
} else if (call.receiver_type_fqn && call.receiver_type_fqn.endsWith("." + pattern.class)) {
|
|
13514
13514
|
} else if (call.receiver_type_fqn && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type_fqn, pattern.class)) {
|
|
13515
|
+
} else if (!call.receiver_type && !call.receiver_type_fqn && call.receiver && typeHierarchy && subtypeArgArityOk && (() => {
|
|
13516
|
+
const factoryReturn = typeHierarchy.resolveFactoryReturnType(call.receiver);
|
|
13517
|
+
return factoryReturn !== null && typeHierarchy.isSubtypeOf(factoryReturn, pattern.class);
|
|
13518
|
+
})()) {
|
|
13515
13519
|
} else if (call.receiver && !receiverMightBeClass(call.receiver, pattern.class)) {
|
|
13516
13520
|
if (typeHierarchy && typeHierarchy.couldBeType(call.receiver, pattern.class)) {
|
|
13517
13521
|
return true;
|
|
@@ -13446,6 +13446,10 @@ function matchesSinkPattern(call, pattern, typeHierarchy, language) {
|
|
|
13446
13446
|
} else if (call.receiver_type && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type, pattern.class)) {
|
|
13447
13447
|
} else if (call.receiver_type_fqn && call.receiver_type_fqn.endsWith("." + pattern.class)) {
|
|
13448
13448
|
} else if (call.receiver_type_fqn && typeHierarchy && subtypeArgArityOk && typeHierarchy.isSubtypeOf(call.receiver_type_fqn, pattern.class)) {
|
|
13449
|
+
} else if (!call.receiver_type && !call.receiver_type_fqn && call.receiver && typeHierarchy && subtypeArgArityOk && (() => {
|
|
13450
|
+
const factoryReturn = typeHierarchy.resolveFactoryReturnType(call.receiver);
|
|
13451
|
+
return factoryReturn !== null && typeHierarchy.isSubtypeOf(factoryReturn, pattern.class);
|
|
13452
|
+
})()) {
|
|
13449
13453
|
} else if (call.receiver && !receiverMightBeClass(call.receiver, pattern.class)) {
|
|
13450
13454
|
if (typeHierarchy && typeHierarchy.couldBeType(call.receiver, pattern.class)) {
|
|
13451
13455
|
return true;
|
|
@@ -31,6 +31,7 @@ export declare class TypeHierarchyResolver {
|
|
|
31
31
|
private implementations;
|
|
32
32
|
private _subtypeCache;
|
|
33
33
|
private _implCache;
|
|
34
|
+
private factoryReturnTypes;
|
|
34
35
|
/**
|
|
35
36
|
* Add types from a CircleIR analysis result
|
|
36
37
|
*/
|
|
@@ -98,6 +99,31 @@ export declare class TypeHierarchyResolver {
|
|
|
98
99
|
* Get all types in the hierarchy
|
|
99
100
|
*/
|
|
100
101
|
getAllTypes(): TypeNode[];
|
|
102
|
+
/**
|
|
103
|
+
* Register the return type of a static factory method.
|
|
104
|
+
*
|
|
105
|
+
* @param factoryClass Simple class name of the factory (e.g. `HttpClients`).
|
|
106
|
+
* @param method Factory method name (e.g. `createDefault`).
|
|
107
|
+
* @param returnFqn Fully-qualified return type (e.g.
|
|
108
|
+
* `org.apache.http.impl.client.CloseableHttpClient`).
|
|
109
|
+
*
|
|
110
|
+
* — cognium-dev #241 Java
|
|
111
|
+
*/
|
|
112
|
+
registerFactoryReturnType(factoryClass: string, method: string, returnFqn: string): void;
|
|
113
|
+
/**
|
|
114
|
+
* Resolve a static-factory receiver expression to its return type FQN.
|
|
115
|
+
*
|
|
116
|
+
* Accepts a receiver expression of shape `<FactorySimple>.<method>()` (or
|
|
117
|
+
* a longer dotted prefix ending in the same). Returns the registered
|
|
118
|
+
* return-type FQN, or `null` when no matching factory is registered.
|
|
119
|
+
*
|
|
120
|
+
* Examples that resolve (given Apache HttpClient registration):
|
|
121
|
+
* `HttpClients.createDefault()` → `org.apache.http.impl.client.CloseableHttpClient`
|
|
122
|
+
* `org.apache.http.impl.client.HttpClients.createDefault()` → same
|
|
123
|
+
*
|
|
124
|
+
* — cognium-dev #241 Java
|
|
125
|
+
*/
|
|
126
|
+
resolveFactoryReturnType(receiver: string): string | null;
|
|
101
127
|
/**
|
|
102
128
|
* Clear all data
|
|
103
129
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-hierarchy.d.ts","sourceRoot":"","sources":["../../src/resolution/type-hierarchy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,IAAI,iBAAiB,EAGlC,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,KAAK,CAAoC;IAGjD,OAAO,CAAC,SAAS,CAAuC;IAGxD,OAAO,CAAC,QAAQ,CAAuC;IAGvD,OAAO,CAAC,eAAe,CAAuC;IAG9D,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAAoC;
|
|
1
|
+
{"version":3,"file":"type-hierarchy.d.ts","sourceRoot":"","sources":["../../src/resolution/type-hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,18 @@ export class TypeHierarchyResolver {
|
|
|
22
22
|
// Memoization caches for transitive lookups (safe: hierarchy is immutable after loading)
|
|
23
23
|
_subtypeCache = new Map();
|
|
24
24
|
_implCache = new Map();
|
|
25
|
+
// Static-factory return-type registry.
|
|
26
|
+
// Key: `<FactorySimpleName>.<method>` (e.g. `HttpClients.createDefault`,
|
|
27
|
+
// `HttpClientBuilder.build`). Value: fully-qualified return-type name
|
|
28
|
+
// (e.g. `org.apache.http.impl.client.CloseableHttpClient`).
|
|
29
|
+
//
|
|
30
|
+
// Purpose: recover receiver-type resolution when a sink call's receiver
|
|
31
|
+
// is a chained static factory expression (e.g.
|
|
32
|
+
// `HttpClients.createDefault().execute(req)`) and the language plugin
|
|
33
|
+
// does not perform full return-type inference on the factory call. The
|
|
34
|
+
// taint matcher consults this map when `call.receiver_type` is null. —
|
|
35
|
+
// cognium-dev #241 Java
|
|
36
|
+
factoryReturnTypes = new Map();
|
|
25
37
|
/**
|
|
26
38
|
* Add types from a CircleIR analysis result
|
|
27
39
|
*/
|
|
@@ -294,6 +306,42 @@ export class TypeHierarchyResolver {
|
|
|
294
306
|
getAllTypes() {
|
|
295
307
|
return Array.from(this.types.values());
|
|
296
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Register the return type of a static factory method.
|
|
311
|
+
*
|
|
312
|
+
* @param factoryClass Simple class name of the factory (e.g. `HttpClients`).
|
|
313
|
+
* @param method Factory method name (e.g. `createDefault`).
|
|
314
|
+
* @param returnFqn Fully-qualified return type (e.g.
|
|
315
|
+
* `org.apache.http.impl.client.CloseableHttpClient`).
|
|
316
|
+
*
|
|
317
|
+
* — cognium-dev #241 Java
|
|
318
|
+
*/
|
|
319
|
+
registerFactoryReturnType(factoryClass, method, returnFqn) {
|
|
320
|
+
this.factoryReturnTypes.set(`${factoryClass}.${method}`, returnFqn);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Resolve a static-factory receiver expression to its return type FQN.
|
|
324
|
+
*
|
|
325
|
+
* Accepts a receiver expression of shape `<FactorySimple>.<method>()` (or
|
|
326
|
+
* a longer dotted prefix ending in the same). Returns the registered
|
|
327
|
+
* return-type FQN, or `null` when no matching factory is registered.
|
|
328
|
+
*
|
|
329
|
+
* Examples that resolve (given Apache HttpClient registration):
|
|
330
|
+
* `HttpClients.createDefault()` → `org.apache.http.impl.client.CloseableHttpClient`
|
|
331
|
+
* `org.apache.http.impl.client.HttpClients.createDefault()` → same
|
|
332
|
+
*
|
|
333
|
+
* — cognium-dev #241 Java
|
|
334
|
+
*/
|
|
335
|
+
resolveFactoryReturnType(receiver) {
|
|
336
|
+
// Receiver must end with `()` (parameterless factory call).
|
|
337
|
+
// Factories with arguments (`HttpClients.custom().build()`) are handled
|
|
338
|
+
// by chaining: caller must strip inner call themselves.
|
|
339
|
+
const m = receiver.match(/(?:^|\.)([A-Z]\w*)\.(\w+)\(\)$/);
|
|
340
|
+
if (!m)
|
|
341
|
+
return null;
|
|
342
|
+
const key = `${m[1]}.${m[2]}`;
|
|
343
|
+
return this.factoryReturnTypes.get(key) ?? null;
|
|
344
|
+
}
|
|
297
345
|
/**
|
|
298
346
|
* Clear all data
|
|
299
347
|
*/
|
|
@@ -302,6 +350,7 @@ export class TypeHierarchyResolver {
|
|
|
302
350
|
this.nameToFqn.clear();
|
|
303
351
|
this.subtypes.clear();
|
|
304
352
|
this.implementations.clear();
|
|
353
|
+
this.factoryReturnTypes.clear();
|
|
305
354
|
}
|
|
306
355
|
// --- Private helpers ---
|
|
307
356
|
/**
|
|
@@ -683,5 +732,22 @@ export function registerCommonLibraries(resolver) {
|
|
|
683
732
|
for (const type of [...apacheHttpClient4x, ...apacheHttpClient5x]) {
|
|
684
733
|
resolver.addType(type, 'common-libraries', type.package);
|
|
685
734
|
}
|
|
735
|
+
// Static-factory return types.
|
|
736
|
+
//
|
|
737
|
+
// Apache HttpClient 4.x — HttpClients (org.apache.http.impl.client).
|
|
738
|
+
// Both `createDefault()` and `createSystem()` return CloseableHttpClient.
|
|
739
|
+
// Recovers receiver type for `HttpClients.createDefault().execute(req)`
|
|
740
|
+
// patterns where the language plugin cannot infer the chained call's
|
|
741
|
+
// return type.
|
|
742
|
+
resolver.registerFactoryReturnType('HttpClients', 'createDefault', 'org.apache.http.impl.client.CloseableHttpClient');
|
|
743
|
+
resolver.registerFactoryReturnType('HttpClients', 'createSystem', 'org.apache.http.impl.client.CloseableHttpClient');
|
|
744
|
+
resolver.registerFactoryReturnType('HttpClients', 'createMinimal', 'org.apache.http.impl.client.MinimalHttpClient');
|
|
745
|
+
// Apache HttpClient 5.x — HttpClients (org.apache.hc.client5.http.impl.classic).
|
|
746
|
+
// Note: 4.x and 5.x share the simple class name `HttpClients`. Since our
|
|
747
|
+
// registry is keyed on the simple name and the 5.x return type is also a
|
|
748
|
+
// subtype of a `HttpClient` interface (in a different package), the
|
|
749
|
+
// subtype check via `isSubtypeOf` will succeed on the 4.x FQN only. This
|
|
750
|
+
// is acceptable for the SSRF sink (both are HttpClient subtypes and both
|
|
751
|
+
// execute untrusted requests). — cognium-dev #241 Java
|
|
686
752
|
}
|
|
687
753
|
//# sourceMappingURL=type-hierarchy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-hierarchy.js","sourceRoot":"","sources":["../../src/resolution/type-hierarchy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-hierarchy.js","sourceRoot":"","sources":["../../src/resolution/type-hierarchy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.160.0",
|
|
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",
|