@kevinrabun/judges 2.2.0 → 3.0.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 +203 -20
- package/dist/api.d.ts +40 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +56 -0
- package/dist/api.js.map +1 -0
- package/dist/ast/cross-file-taint.d.ts +43 -0
- package/dist/ast/cross-file-taint.d.ts.map +1 -0
- package/dist/ast/cross-file-taint.js +713 -0
- package/dist/ast/cross-file-taint.js.map +1 -0
- package/dist/ast/index.d.ts +4 -0
- package/dist/ast/index.d.ts.map +1 -1
- package/dist/ast/index.js +5 -0
- package/dist/ast/index.js.map +1 -1
- package/dist/ast/structural-parser.d.ts.map +1 -1
- package/dist/ast/structural-parser.js +66 -11
- package/dist/ast/structural-parser.js.map +1 -1
- package/dist/ast/taint-tracker.d.ts +35 -0
- package/dist/ast/taint-tracker.d.ts.map +1 -0
- package/dist/ast/taint-tracker.js +518 -0
- package/dist/ast/taint-tracker.js.map +1 -0
- package/dist/ast/types.d.ts +2 -0
- package/dist/ast/types.d.ts.map +1 -1
- package/dist/ast/typescript-ast.d.ts.map +1 -1
- package/dist/ast/typescript-ast.js +25 -5
- package/dist/ast/typescript-ast.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -9
- package/dist/config.js.map +1 -1
- package/dist/dedup.d.ts +19 -0
- package/dist/dedup.d.ts.map +1 -0
- package/dist/dedup.js +222 -0
- package/dist/dedup.js.map +1 -0
- package/dist/errors.d.ts +37 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +57 -0
- package/dist/errors.js.map +1 -0
- package/dist/evaluators/accessibility.d.ts +1 -1
- package/dist/evaluators/accessibility.d.ts.map +1 -1
- package/dist/evaluators/accessibility.js +45 -7
- package/dist/evaluators/accessibility.js.map +1 -1
- package/dist/evaluators/agent-instructions.d.ts +1 -1
- package/dist/evaluators/agent-instructions.d.ts.map +1 -1
- package/dist/evaluators/agent-instructions.js +60 -2
- package/dist/evaluators/agent-instructions.js.map +1 -1
- package/dist/evaluators/ai-code-safety.d.ts +9 -0
- package/dist/evaluators/ai-code-safety.d.ts.map +1 -0
- package/dist/evaluators/ai-code-safety.js +507 -0
- package/dist/evaluators/ai-code-safety.js.map +1 -0
- package/dist/evaluators/api-design.d.ts +1 -1
- package/dist/evaluators/api-design.d.ts.map +1 -1
- package/dist/evaluators/api-design.js +33 -17
- package/dist/evaluators/api-design.js.map +1 -1
- package/dist/evaluators/app-builder.d.ts +34 -0
- package/dist/evaluators/app-builder.d.ts.map +1 -0
- package/dist/evaluators/app-builder.js +156 -0
- package/dist/evaluators/app-builder.js.map +1 -0
- package/dist/evaluators/authentication.d.ts +1 -1
- package/dist/evaluators/authentication.d.ts.map +1 -1
- package/dist/evaluators/authentication.js +69 -75
- package/dist/evaluators/authentication.js.map +1 -1
- package/dist/evaluators/backwards-compatibility.d.ts +1 -1
- package/dist/evaluators/backwards-compatibility.d.ts.map +1 -1
- package/dist/evaluators/backwards-compatibility.js +25 -3
- package/dist/evaluators/backwards-compatibility.js.map +1 -1
- package/dist/evaluators/caching.d.ts +1 -1
- package/dist/evaluators/caching.d.ts.map +1 -1
- package/dist/evaluators/caching.js +25 -4
- package/dist/evaluators/caching.js.map +1 -1
- package/dist/evaluators/ci-cd.d.ts +1 -1
- package/dist/evaluators/ci-cd.d.ts.map +1 -1
- package/dist/evaluators/ci-cd.js +34 -12
- package/dist/evaluators/ci-cd.js.map +1 -1
- package/dist/evaluators/cloud-readiness.d.ts +1 -1
- package/dist/evaluators/cloud-readiness.d.ts.map +1 -1
- package/dist/evaluators/cloud-readiness.js +26 -0
- package/dist/evaluators/cloud-readiness.js.map +1 -1
- package/dist/evaluators/code-structure.d.ts +1 -1
- package/dist/evaluators/code-structure.d.ts.map +1 -1
- package/dist/evaluators/code-structure.js +19 -6
- package/dist/evaluators/code-structure.js.map +1 -1
- package/dist/evaluators/compliance.d.ts +1 -1
- package/dist/evaluators/compliance.d.ts.map +1 -1
- package/dist/evaluators/compliance.js +48 -10
- package/dist/evaluators/compliance.js.map +1 -1
- package/dist/evaluators/concurrency.d.ts +1 -1
- package/dist/evaluators/concurrency.d.ts.map +1 -1
- package/dist/evaluators/concurrency.js +29 -4
- package/dist/evaluators/concurrency.js.map +1 -1
- package/dist/evaluators/configuration-management.d.ts +1 -1
- package/dist/evaluators/configuration-management.d.ts.map +1 -1
- package/dist/evaluators/configuration-management.js +57 -13
- package/dist/evaluators/configuration-management.js.map +1 -1
- package/dist/evaluators/cost-effectiveness.d.ts +1 -1
- package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
- package/dist/evaluators/cost-effectiveness.js +27 -3
- package/dist/evaluators/cost-effectiveness.js.map +1 -1
- package/dist/evaluators/cybersecurity.d.ts +1 -1
- package/dist/evaluators/cybersecurity.d.ts.map +1 -1
- package/dist/evaluators/cybersecurity.js +190 -1
- package/dist/evaluators/cybersecurity.js.map +1 -1
- package/dist/evaluators/data-security.d.ts +1 -1
- package/dist/evaluators/data-security.d.ts.map +1 -1
- package/dist/evaluators/data-security.js +114 -66
- package/dist/evaluators/data-security.js.map +1 -1
- package/dist/evaluators/data-sovereignty.d.ts +1 -1
- package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
- package/dist/evaluators/data-sovereignty.js +89 -2
- package/dist/evaluators/data-sovereignty.js.map +1 -1
- package/dist/evaluators/database.d.ts +1 -1
- package/dist/evaluators/database.d.ts.map +1 -1
- package/dist/evaluators/database.js +35 -9
- package/dist/evaluators/database.js.map +1 -1
- package/dist/evaluators/dependencies.d.ts +6 -0
- package/dist/evaluators/dependencies.d.ts.map +1 -0
- package/dist/evaluators/dependencies.js +204 -0
- package/dist/evaluators/dependencies.js.map +1 -0
- package/dist/evaluators/dependency-health.d.ts +1 -1
- package/dist/evaluators/dependency-health.d.ts.map +1 -1
- package/dist/evaluators/dependency-health.js +265 -11
- package/dist/evaluators/dependency-health.js.map +1 -1
- package/dist/evaluators/documentation.d.ts +1 -1
- package/dist/evaluators/documentation.d.ts.map +1 -1
- package/dist/evaluators/documentation.js +25 -2
- package/dist/evaluators/documentation.js.map +1 -1
- package/dist/evaluators/error-handling.d.ts +1 -1
- package/dist/evaluators/error-handling.d.ts.map +1 -1
- package/dist/evaluators/error-handling.js +89 -24
- package/dist/evaluators/error-handling.js.map +1 -1
- package/dist/evaluators/ethics-bias.d.ts +1 -1
- package/dist/evaluators/ethics-bias.d.ts.map +1 -1
- package/dist/evaluators/ethics-bias.js +30 -5
- package/dist/evaluators/ethics-bias.js.map +1 -1
- package/dist/evaluators/framework-safety.d.ts +13 -0
- package/dist/evaluators/framework-safety.d.ts.map +1 -0
- package/dist/evaluators/framework-safety.js +424 -0
- package/dist/evaluators/framework-safety.js.map +1 -0
- package/dist/evaluators/index.d.ts +21 -24
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +297 -677
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/internationalization.d.ts +1 -1
- package/dist/evaluators/internationalization.d.ts.map +1 -1
- package/dist/evaluators/internationalization.js +55 -4
- package/dist/evaluators/internationalization.js.map +1 -1
- package/dist/evaluators/logging-privacy.d.ts +1 -1
- package/dist/evaluators/logging-privacy.d.ts.map +1 -1
- package/dist/evaluators/logging-privacy.js +68 -30
- package/dist/evaluators/logging-privacy.js.map +1 -1
- package/dist/evaluators/maintainability.d.ts +1 -1
- package/dist/evaluators/maintainability.d.ts.map +1 -1
- package/dist/evaluators/maintainability.js +53 -26
- package/dist/evaluators/maintainability.js.map +1 -1
- package/dist/evaluators/observability.d.ts +1 -1
- package/dist/evaluators/observability.d.ts.map +1 -1
- package/dist/evaluators/observability.js +22 -1
- package/dist/evaluators/observability.js.map +1 -1
- package/dist/evaluators/performance.d.ts +1 -1
- package/dist/evaluators/performance.d.ts.map +1 -1
- package/dist/evaluators/performance.js +209 -2
- package/dist/evaluators/performance.js.map +1 -1
- package/dist/evaluators/portability.d.ts +1 -1
- package/dist/evaluators/portability.d.ts.map +1 -1
- package/dist/evaluators/portability.js +24 -1
- package/dist/evaluators/portability.js.map +1 -1
- package/dist/evaluators/project.d.ts +16 -0
- package/dist/evaluators/project.d.ts.map +1 -0
- package/dist/evaluators/project.js +353 -0
- package/dist/evaluators/project.js.map +1 -0
- package/dist/evaluators/rate-limiting.d.ts +1 -1
- package/dist/evaluators/rate-limiting.d.ts.map +1 -1
- package/dist/evaluators/rate-limiting.js +33 -10
- package/dist/evaluators/rate-limiting.js.map +1 -1
- package/dist/evaluators/reliability.d.ts +1 -1
- package/dist/evaluators/reliability.d.ts.map +1 -1
- package/dist/evaluators/reliability.js +20 -0
- package/dist/evaluators/reliability.js.map +1 -1
- package/dist/evaluators/scalability.d.ts +1 -1
- package/dist/evaluators/scalability.d.ts.map +1 -1
- package/dist/evaluators/scalability.js +27 -1
- package/dist/evaluators/scalability.js.map +1 -1
- package/dist/evaluators/shared.d.ts +24 -2
- package/dist/evaluators/shared.d.ts.map +1 -1
- package/dist/evaluators/shared.js +194 -26
- package/dist/evaluators/shared.js.map +1 -1
- package/dist/evaluators/software-practices.d.ts +1 -1
- package/dist/evaluators/software-practices.d.ts.map +1 -1
- package/dist/evaluators/software-practices.js +50 -3
- package/dist/evaluators/software-practices.js.map +1 -1
- package/dist/evaluators/testing.d.ts +1 -1
- package/dist/evaluators/testing.d.ts.map +1 -1
- package/dist/evaluators/testing.js +32 -4
- package/dist/evaluators/testing.js.map +1 -1
- package/dist/evaluators/ux.d.ts +1 -1
- package/dist/evaluators/ux.d.ts.map +1 -1
- package/dist/evaluators/ux.js +24 -0
- package/dist/evaluators/ux.js.map +1 -1
- package/dist/evaluators/v2.d.ts +1 -1
- package/dist/evaluators/v2.d.ts.map +1 -1
- package/dist/evaluators/v2.js +15 -35
- package/dist/evaluators/v2.js.map +1 -1
- package/dist/formatters/sarif.d.ts +75 -0
- package/dist/formatters/sarif.d.ts.map +1 -0
- package/dist/formatters/sarif.js +93 -0
- package/dist/formatters/sarif.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -782
- package/dist/index.js.map +1 -1
- package/dist/judges/accessibility.d.ts +1 -1
- package/dist/judges/accessibility.d.ts.map +1 -1
- package/dist/judges/agent-instructions.d.ts +1 -1
- package/dist/judges/agent-instructions.d.ts.map +1 -1
- package/dist/judges/ai-code-safety.d.ts +3 -0
- package/dist/judges/ai-code-safety.d.ts.map +1 -0
- package/dist/judges/ai-code-safety.js +45 -0
- package/dist/judges/ai-code-safety.js.map +1 -0
- package/dist/judges/api-design.d.ts +1 -1
- package/dist/judges/api-design.d.ts.map +1 -1
- package/dist/judges/authentication.d.ts +1 -1
- package/dist/judges/authentication.d.ts.map +1 -1
- package/dist/judges/backwards-compatibility.d.ts +1 -1
- package/dist/judges/backwards-compatibility.d.ts.map +1 -1
- package/dist/judges/caching.d.ts +1 -1
- package/dist/judges/caching.d.ts.map +1 -1
- package/dist/judges/ci-cd.d.ts +1 -1
- package/dist/judges/ci-cd.d.ts.map +1 -1
- package/dist/judges/cloud-readiness.d.ts +1 -1
- package/dist/judges/cloud-readiness.d.ts.map +1 -1
- package/dist/judges/code-structure.d.ts +1 -1
- package/dist/judges/code-structure.d.ts.map +1 -1
- package/dist/judges/compliance.d.ts +1 -1
- package/dist/judges/compliance.d.ts.map +1 -1
- package/dist/judges/concurrency.d.ts +1 -1
- package/dist/judges/concurrency.d.ts.map +1 -1
- package/dist/judges/configuration-management.d.ts +1 -1
- package/dist/judges/configuration-management.d.ts.map +1 -1
- package/dist/judges/cost-effectiveness.d.ts +1 -1
- package/dist/judges/cost-effectiveness.d.ts.map +1 -1
- package/dist/judges/cybersecurity.d.ts +1 -1
- package/dist/judges/cybersecurity.d.ts.map +1 -1
- package/dist/judges/data-security.d.ts +1 -1
- package/dist/judges/data-security.d.ts.map +1 -1
- package/dist/judges/data-sovereignty.d.ts +1 -1
- package/dist/judges/data-sovereignty.d.ts.map +1 -1
- package/dist/judges/database.d.ts +1 -1
- package/dist/judges/database.d.ts.map +1 -1
- package/dist/judges/dependency-health.d.ts +1 -1
- package/dist/judges/dependency-health.d.ts.map +1 -1
- package/dist/judges/documentation.d.ts +1 -1
- package/dist/judges/documentation.d.ts.map +1 -1
- package/dist/judges/error-handling.d.ts +1 -1
- package/dist/judges/error-handling.d.ts.map +1 -1
- package/dist/judges/ethics-bias.d.ts +1 -1
- package/dist/judges/ethics-bias.d.ts.map +1 -1
- package/dist/judges/framework-safety.d.ts +3 -0
- package/dist/judges/framework-safety.d.ts.map +1 -0
- package/dist/judges/framework-safety.js +25 -0
- package/dist/judges/framework-safety.js.map +1 -0
- package/dist/judges/index.d.ts +1 -1
- package/dist/judges/index.d.ts.map +1 -1
- package/dist/judges/index.js +76 -0
- package/dist/judges/index.js.map +1 -1
- package/dist/judges/internationalization.d.ts +1 -1
- package/dist/judges/internationalization.d.ts.map +1 -1
- package/dist/judges/logging-privacy.d.ts +1 -1
- package/dist/judges/logging-privacy.d.ts.map +1 -1
- package/dist/judges/maintainability.d.ts +1 -1
- package/dist/judges/maintainability.d.ts.map +1 -1
- package/dist/judges/observability.d.ts +1 -1
- package/dist/judges/observability.d.ts.map +1 -1
- package/dist/judges/performance.d.ts +1 -1
- package/dist/judges/performance.d.ts.map +1 -1
- package/dist/judges/portability.d.ts +1 -1
- package/dist/judges/portability.d.ts.map +1 -1
- package/dist/judges/rate-limiting.d.ts +1 -1
- package/dist/judges/rate-limiting.d.ts.map +1 -1
- package/dist/judges/reliability.d.ts +1 -1
- package/dist/judges/reliability.d.ts.map +1 -1
- package/dist/judges/scalability.d.ts +1 -1
- package/dist/judges/scalability.d.ts.map +1 -1
- package/dist/judges/software-practices.d.ts +1 -1
- package/dist/judges/software-practices.d.ts.map +1 -1
- package/dist/judges/testing.d.ts +1 -1
- package/dist/judges/testing.d.ts.map +1 -1
- package/dist/judges/ux.d.ts +1 -1
- package/dist/judges/ux.d.ts.map +1 -1
- package/dist/language-patterns.d.ts +37 -0
- package/dist/language-patterns.d.ts.map +1 -1
- package/dist/language-patterns.js +59 -4
- package/dist/language-patterns.js.map +1 -1
- package/dist/patches/index.d.ts +10 -0
- package/dist/patches/index.d.ts.map +1 -0
- package/dist/patches/index.js +533 -0
- package/dist/patches/index.js.map +1 -0
- package/dist/reports/public-repo-report.d.ts +3 -1
- package/dist/reports/public-repo-report.d.ts.map +1 -1
- package/dist/reports/public-repo-report.js +41 -0
- package/dist/reports/public-repo-report.js.map +1 -1
- package/dist/scoring.d.ts +18 -0
- package/dist/scoring.d.ts.map +1 -0
- package/dist/scoring.js +178 -0
- package/dist/scoring.js.map +1 -0
- package/dist/tools/deep-review.d.ts +4 -0
- package/dist/tools/deep-review.d.ts.map +1 -0
- package/dist/tools/deep-review.js +56 -0
- package/dist/tools/deep-review.js.map +1 -0
- package/dist/tools/prompts.d.ts +8 -0
- package/dist/tools/prompts.d.ts.map +1 -0
- package/dist/tools/prompts.js +66 -0
- package/dist/tools/prompts.js.map +1 -0
- package/dist/tools/register-evaluation.d.ts +7 -0
- package/dist/tools/register-evaluation.d.ts.map +1 -0
- package/dist/tools/register-evaluation.js +303 -0
- package/dist/tools/register-evaluation.js.map +1 -0
- package/dist/tools/register-workflow.d.ts +7 -0
- package/dist/tools/register-workflow.d.ts.map +1 -0
- package/dist/tools/register-workflow.js +395 -0
- package/dist/tools/register-workflow.js.map +1 -0
- package/dist/tools/register.d.ts +7 -0
- package/dist/tools/register.d.ts.map +1 -0
- package/dist/tools/register.js +14 -0
- package/dist/tools/register.js.map +1 -0
- package/dist/tools/schemas.d.ts +26 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +42 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/types.d.ts +53 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +42 -3
- package/server.json +51 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-file-taint.js","sourceRoot":"","sources":["../../src/ast/cross-file-taint.ts"],"names":[],"mappings":"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"}
|
package/dist/ast/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { CodeStructure, FunctionInfo } from "./types.js";
|
|
2
2
|
export type { CodeStructure, FunctionInfo };
|
|
3
|
+
export { analyzeTaintFlows } from "./taint-tracker.js";
|
|
4
|
+
export type { TaintFlow, TaintSourceKind, TaintSinkKind } from "./taint-tracker.js";
|
|
5
|
+
export { analyzeCrossFileTaint } from "./cross-file-taint.js";
|
|
6
|
+
export type { CrossFileTaintFlow } from "./cross-file-taint.js";
|
|
3
7
|
/**
|
|
4
8
|
* Analyse source code structurally. For JavaScript/TypeScript this uses the
|
|
5
9
|
* TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
|
package/dist/ast/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CA6B9E"}
|
package/dist/ast/index.js
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
import { normalizeLanguage } from "../language-patterns.js";
|
|
8
8
|
import { analyzeTypeScript } from "./typescript-ast.js";
|
|
9
9
|
import { analyzeStructurally } from "./structural-parser.js";
|
|
10
|
+
// Re-export taint analysis
|
|
11
|
+
export { analyzeTaintFlows } from "./taint-tracker.js";
|
|
12
|
+
// Re-export cross-file taint analysis
|
|
13
|
+
export { analyzeCrossFileTaint } from "./cross-file-taint.js";
|
|
10
14
|
/**
|
|
11
15
|
* Analyse source code structurally. For JavaScript/TypeScript this uses the
|
|
12
16
|
* TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
|
|
@@ -38,6 +42,7 @@ export function analyzeStructure(code, language) {
|
|
|
38
42
|
deadCodeLines: [],
|
|
39
43
|
deepNestLines: [],
|
|
40
44
|
typeAnyLines: [],
|
|
45
|
+
imports: [],
|
|
41
46
|
};
|
|
42
47
|
}
|
|
43
48
|
}
|
package/dist/ast/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,8EAA8E;AAC9E,wDAAwD;AACxD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,8EAA8E;AAC9E,wDAAwD;AACxD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,sCAAsC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC;YACE,gDAAgD;YAChD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBACnC,SAAS,EAAE,EAAE;gBACb,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;aACZ,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-parser.d.ts","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"structural-parser.d.ts","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CA0BjF"}
|
|
@@ -11,12 +11,11 @@ export function analyzeStructurally(code, language) {
|
|
|
11
11
|
const lines = code.split("\n");
|
|
12
12
|
const totalLines = lines.length;
|
|
13
13
|
const isPython = language === "python";
|
|
14
|
-
const functions = isPython
|
|
15
|
-
? extractPythonFunctions(lines)
|
|
16
|
-
: extractBraceFunctions(lines, language);
|
|
14
|
+
const functions = isPython ? extractPythonFunctions(lines) : extractBraceFunctions(lines, language);
|
|
17
15
|
const deadCodeLines = detectDeadCode(lines, language);
|
|
18
16
|
const deepNestLines = detectDeepNesting(lines, isPython);
|
|
19
17
|
const typeAnyLines = detectWeakTypes(lines, language);
|
|
18
|
+
const imports = extractImports(lines, language);
|
|
20
19
|
const fileCyclomaticComplexity = functions.reduce((sum, f) => sum + f.cyclomaticComplexity, 0) || 1;
|
|
21
20
|
const maxNestingDepth = functions.reduce((max, f) => Math.max(max, f.maxNestingDepth), 0);
|
|
22
21
|
return {
|
|
@@ -28,6 +27,7 @@ export function analyzeStructurally(code, language) {
|
|
|
28
27
|
deadCodeLines,
|
|
29
28
|
deepNestLines,
|
|
30
29
|
typeAnyLines,
|
|
30
|
+
imports,
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
// ─── Brace-Language Function Extraction (Rust, Go, Java, C#) ─────────────────
|
|
@@ -161,10 +161,7 @@ function computeComplexityFromLines(lines, language) {
|
|
|
161
161
|
for (const line of lines) {
|
|
162
162
|
// Skip comments
|
|
163
163
|
const trimmed = line.trim();
|
|
164
|
-
if (trimmed.startsWith("//") ||
|
|
165
|
-
trimmed.startsWith("#") ||
|
|
166
|
-
trimmed.startsWith("*") ||
|
|
167
|
-
trimmed.startsWith("/*"))
|
|
164
|
+
if (trimmed.startsWith("//") || trimmed.startsWith("#") || trimmed.startsWith("*") || trimmed.startsWith("/*"))
|
|
168
165
|
continue;
|
|
169
166
|
// Reset lastIndex for global regex
|
|
170
167
|
pattern.lastIndex = 0;
|
|
@@ -179,7 +176,7 @@ function computeComplexityFromLines(lines, language) {
|
|
|
179
176
|
function computeNestingFromLines(lines, isPython) {
|
|
180
177
|
if (isPython) {
|
|
181
178
|
// Track indent levels as nesting
|
|
182
|
-
const baseIndent =
|
|
179
|
+
const baseIndent = lines[0]?.search(/\S/) ?? 0;
|
|
183
180
|
let maxDepth = 0;
|
|
184
181
|
for (const line of lines) {
|
|
185
182
|
if (line.trim() === "" || line.trim().startsWith("#"))
|
|
@@ -321,9 +318,7 @@ function detectWeakTypes(lines, language) {
|
|
|
321
318
|
return weakLines;
|
|
322
319
|
for (let i = 0; i < lines.length; i++) {
|
|
323
320
|
const trimmed = lines[i].trim();
|
|
324
|
-
if (trimmed.startsWith("//") ||
|
|
325
|
-
trimmed.startsWith("#") ||
|
|
326
|
-
trimmed.startsWith("/*"))
|
|
321
|
+
if (trimmed.startsWith("//") || trimmed.startsWith("#") || trimmed.startsWith("/*"))
|
|
327
322
|
continue;
|
|
328
323
|
if (pattern.test(lines[i])) {
|
|
329
324
|
weakLines.push(i + 1);
|
|
@@ -331,4 +326,64 @@ function detectWeakTypes(lines, language) {
|
|
|
331
326
|
}
|
|
332
327
|
return weakLines;
|
|
333
328
|
}
|
|
329
|
+
// ─── Import Extraction ───────────────────────────────────────────────────────
|
|
330
|
+
/**
|
|
331
|
+
* Extract imported module/package names from source code.
|
|
332
|
+
* Handles import syntax for Python, Go, Java, C#, and Rust.
|
|
333
|
+
*/
|
|
334
|
+
function extractImports(lines, language) {
|
|
335
|
+
const imports = [];
|
|
336
|
+
const patterns = {
|
|
337
|
+
python: [
|
|
338
|
+
/^\s*import\s+([\w.]+)/, // import os, import os.path
|
|
339
|
+
/^\s*from\s+([\w.]+)\s+import/, // from flask import Flask
|
|
340
|
+
],
|
|
341
|
+
go: [
|
|
342
|
+
/^\s*import\s+"([^"]+)"/, // import "fmt"
|
|
343
|
+
/^\s*"([^"]+)"\s*$/, // inside import ( ... ) block
|
|
344
|
+
],
|
|
345
|
+
java: [
|
|
346
|
+
/^\s*import\s+(?:static\s+)?([\w.]+)/, // import com.example.Foo
|
|
347
|
+
],
|
|
348
|
+
csharp: [
|
|
349
|
+
/^\s*using\s+([\w.]+)\s*;/, // using System.IO;
|
|
350
|
+
],
|
|
351
|
+
rust: [
|
|
352
|
+
/^\s*use\s+([\w:]+)/, // use std::io
|
|
353
|
+
/^\s*extern\s+crate\s+(\w+)/, // extern crate serde
|
|
354
|
+
],
|
|
355
|
+
};
|
|
356
|
+
const langPatterns = patterns[language];
|
|
357
|
+
if (!langPatterns)
|
|
358
|
+
return imports;
|
|
359
|
+
let inGoImportBlock = false;
|
|
360
|
+
for (const line of lines) {
|
|
361
|
+
const trimmed = line.trim();
|
|
362
|
+
// Handle Go multi-line import blocks: import ( ... )
|
|
363
|
+
if (language === "go") {
|
|
364
|
+
if (/^\s*import\s*\(\s*$/.test(line)) {
|
|
365
|
+
inGoImportBlock = true;
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
368
|
+
if (inGoImportBlock) {
|
|
369
|
+
if (trimmed === ")") {
|
|
370
|
+
inGoImportBlock = false;
|
|
371
|
+
continue;
|
|
372
|
+
}
|
|
373
|
+
const m = trimmed.match(/^"([^"]+)"$/);
|
|
374
|
+
if (m)
|
|
375
|
+
imports.push(m[1]);
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
for (const pattern of langPatterns) {
|
|
380
|
+
const match = line.match(pattern);
|
|
381
|
+
if (match) {
|
|
382
|
+
imports.push(match[1]);
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
return imports;
|
|
388
|
+
}
|
|
334
389
|
//# sourceMappingURL=structural-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-parser.js","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structural-parser.js","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A confirmed data-flow path from untrusted input to a dangerous sink.
|
|
3
|
+
*/
|
|
4
|
+
export interface TaintFlow {
|
|
5
|
+
/** Where the untrusted data originates */
|
|
6
|
+
source: {
|
|
7
|
+
line: number;
|
|
8
|
+
expression: string;
|
|
9
|
+
kind: TaintSourceKind;
|
|
10
|
+
};
|
|
11
|
+
/** Where the tainted data is consumed unsafely */
|
|
12
|
+
sink: {
|
|
13
|
+
line: number;
|
|
14
|
+
api: string;
|
|
15
|
+
kind: TaintSinkKind;
|
|
16
|
+
};
|
|
17
|
+
/** Variable assignments connecting source to sink */
|
|
18
|
+
intermediates: Array<{
|
|
19
|
+
line: number;
|
|
20
|
+
variable: string;
|
|
21
|
+
}>;
|
|
22
|
+
/** Confidence score — reduced by guard clauses, boosted by direct flows */
|
|
23
|
+
confidence?: number;
|
|
24
|
+
}
|
|
25
|
+
export type TaintSourceKind = "http-param" | "user-input" | "environment" | "url-param" | "external-data";
|
|
26
|
+
export type TaintSinkKind = "code-execution" | "command-exec" | "sql-query" | "xss" | "path-traversal" | "redirect" | "template" | "deserialization";
|
|
27
|
+
/**
|
|
28
|
+
* Analyze a source file for taint flows: paths from untrusted input to
|
|
29
|
+
* dangerous sinks through variable assignments and string concatenation.
|
|
30
|
+
*
|
|
31
|
+
* For JS/TS, uses the TypeScript compiler AST for precise variable tracking.
|
|
32
|
+
* For other languages, falls back to regex-based lightweight analysis.
|
|
33
|
+
*/
|
|
34
|
+
export declare function analyzeTaintFlows(code: string, language: string): TaintFlow[];
|
|
35
|
+
//# sourceMappingURL=taint-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taint-tracker.d.ts","sourceRoot":"","sources":["../../src/ast/taint-tracker.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;IACF,kDAAkD;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,aAAa,CAAC;KACrB,CAAC;IACF,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,CAAC;AAEpB,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,KAAK,GACL,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,iBAAiB,CAAC;AA+OtB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAU7E"}
|