@oculum/scanner 1.0.14 → 1.0.15
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/detect/ai-code/index.d.ts +6 -11
- package/dist/detect/ai-code/index.d.ts.map +1 -1
- package/dist/detect/ai-code/index.js +6 -24
- package/dist/detect/ai-code/index.js.map +1 -1
- package/dist/detect/ast-rules/agent-tools-ast.d.ts +14 -0
- package/dist/detect/ast-rules/agent-tools-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/agent-tools-ast.js +809 -0
- package/dist/detect/ast-rules/agent-tools-ast.js.map +1 -0
- package/dist/detect/ast-rules/ai-fingerprinting-ast.d.ts +14 -0
- package/dist/detect/ast-rules/ai-fingerprinting-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/ai-fingerprinting-ast.js +344 -0
- package/dist/detect/ast-rules/ai-fingerprinting-ast.js.map +1 -0
- package/dist/detect/ast-rules/auth-patterns-ast.d.ts +14 -0
- package/dist/detect/ast-rules/auth-patterns-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/auth-patterns-ast.js +280 -0
- package/dist/detect/ast-rules/auth-patterns-ast.js.map +1 -0
- package/dist/detect/ast-rules/byok-ast.d.ts +13 -0
- package/dist/detect/ast-rules/byok-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/byok-ast.js +180 -0
- package/dist/detect/ast-rules/byok-ast.js.map +1 -0
- package/dist/detect/ast-rules/child-process-ast.d.ts +13 -0
- package/dist/detect/ast-rules/child-process-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/child-process-ast.js +252 -0
- package/dist/detect/ast-rules/child-process-ast.js.map +1 -0
- package/dist/detect/ast-rules/dangerous-eval-ast.d.ts +13 -0
- package/dist/detect/ast-rules/dangerous-eval-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/dangerous-eval-ast.js +218 -0
- package/dist/detect/ast-rules/dangerous-eval-ast.js.map +1 -0
- package/dist/detect/ast-rules/data-exposure-ast.d.ts +13 -0
- package/dist/detect/ast-rules/data-exposure-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/data-exposure-ast.js +158 -0
- package/dist/detect/ast-rules/data-exposure-ast.js.map +1 -0
- package/dist/detect/ast-rules/dom-xss-ast.d.ts +14 -0
- package/dist/detect/ast-rules/dom-xss-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/dom-xss-ast.js +217 -0
- package/dist/detect/ast-rules/dom-xss-ast.js.map +1 -0
- package/dist/detect/ast-rules/endpoint-protection-ast.d.ts +13 -0
- package/dist/detect/ast-rules/endpoint-protection-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/endpoint-protection-ast.js +228 -0
- package/dist/detect/ast-rules/endpoint-protection-ast.js.map +1 -0
- package/dist/detect/ast-rules/entropy-ast.d.ts +17 -0
- package/dist/detect/ast-rules/entropy-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/entropy-ast.js +265 -0
- package/dist/detect/ast-rules/entropy-ast.js.map +1 -0
- package/dist/detect/ast-rules/flask-debug-ast.d.ts +10 -0
- package/dist/detect/ast-rules/flask-debug-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/flask-debug-ast.js +125 -0
- package/dist/detect/ast-rules/flask-debug-ast.js.map +1 -0
- package/dist/detect/ast-rules/framework-checks-ast.d.ts +13 -0
- package/dist/detect/ast-rules/framework-checks-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/framework-checks-ast.js +185 -0
- package/dist/detect/ast-rules/framework-checks-ast.js.map +1 -0
- package/dist/detect/ast-rules/helpers/call-analysis.d.ts +62 -0
- package/dist/detect/ast-rules/helpers/call-analysis.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/call-analysis.js +217 -0
- package/dist/detect/ast-rules/helpers/call-analysis.js.map +1 -0
- package/dist/detect/ast-rules/helpers/context-detection.d.ts +33 -0
- package/dist/detect/ast-rules/helpers/context-detection.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/context-detection.js +256 -0
- package/dist/detect/ast-rules/helpers/context-detection.js.map +1 -0
- package/dist/detect/ast-rules/helpers/control-flow.d.ts +40 -0
- package/dist/detect/ast-rules/helpers/control-flow.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/control-flow.js +174 -0
- package/dist/detect/ast-rules/helpers/control-flow.js.map +1 -0
- package/dist/detect/ast-rules/helpers/import-analysis.d.ts +43 -0
- package/dist/detect/ast-rules/helpers/import-analysis.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/import-analysis.js +149 -0
- package/dist/detect/ast-rules/helpers/import-analysis.js.map +1 -0
- package/dist/detect/ast-rules/helpers/index.d.ts +16 -0
- package/dist/detect/ast-rules/helpers/index.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/index.js +112 -0
- package/dist/detect/ast-rules/helpers/index.js.map +1 -0
- package/dist/detect/ast-rules/helpers/python-helpers.d.ts +215 -0
- package/dist/detect/ast-rules/helpers/python-helpers.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/python-helpers.js +935 -0
- package/dist/detect/ast-rules/helpers/python-helpers.js.map +1 -0
- package/dist/detect/ast-rules/helpers/scope-analysis.d.ts +50 -0
- package/dist/detect/ast-rules/helpers/scope-analysis.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/scope-analysis.js +194 -0
- package/dist/detect/ast-rules/helpers/scope-analysis.js.map +1 -0
- package/dist/detect/ast-rules/helpers/string-analysis.d.ts +57 -0
- package/dist/detect/ast-rules/helpers/string-analysis.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/string-analysis.js +184 -0
- package/dist/detect/ast-rules/helpers/string-analysis.js.map +1 -0
- package/dist/detect/ast-rules/helpers/type-extraction.d.ts +44 -0
- package/dist/detect/ast-rules/helpers/type-extraction.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/type-extraction.js +125 -0
- package/dist/detect/ast-rules/helpers/type-extraction.js.map +1 -0
- package/dist/detect/ast-rules/helpers/user-input.d.ts +35 -0
- package/dist/detect/ast-rules/helpers/user-input.d.ts.map +1 -0
- package/dist/detect/ast-rules/helpers/user-input.js +243 -0
- package/dist/detect/ast-rules/helpers/user-input.js.map +1 -0
- package/dist/detect/ast-rules/index.d.ts +112 -0
- package/dist/detect/ast-rules/index.d.ts.map +1 -0
- package/dist/detect/ast-rules/index.js +232 -0
- package/dist/detect/ast-rules/index.js.map +1 -0
- package/dist/detect/ast-rules/json-parse-ast.d.ts +13 -0
- package/dist/detect/ast-rules/json-parse-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/json-parse-ast.js +143 -0
- package/dist/detect/ast-rules/json-parse-ast.js.map +1 -0
- package/dist/detect/ast-rules/log-injection-ast.d.ts +14 -0
- package/dist/detect/ast-rules/log-injection-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/log-injection-ast.js +235 -0
- package/dist/detect/ast-rules/log-injection-ast.js.map +1 -0
- package/dist/detect/ast-rules/logic-gates-ast.d.ts +14 -0
- package/dist/detect/ast-rules/logic-gates-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/logic-gates-ast.js +312 -0
- package/dist/detect/ast-rules/logic-gates-ast.js.map +1 -0
- package/dist/detect/ast-rules/mcp-security-ast.d.ts +14 -0
- package/dist/detect/ast-rules/mcp-security-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/mcp-security-ast.js +755 -0
- package/dist/detect/ast-rules/mcp-security-ast.js.map +1 -0
- package/dist/detect/ast-rules/model-supply-chain-ast.d.ts +13 -0
- package/dist/detect/ast-rules/model-supply-chain-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/model-supply-chain-ast.js +188 -0
- package/dist/detect/ast-rules/model-supply-chain-ast.js.map +1 -0
- package/dist/detect/ast-rules/package-hallucination-ast.d.ts +13 -0
- package/dist/detect/ast-rules/package-hallucination-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/package-hallucination-ast.js +607 -0
- package/dist/detect/ast-rules/package-hallucination-ast.js.map +1 -0
- package/dist/detect/ast-rules/prompt-hygiene-ast.d.ts +15 -0
- package/dist/detect/ast-rules/prompt-hygiene-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/prompt-hygiene-ast.js +332 -0
- package/dist/detect/ast-rules/prompt-hygiene-ast.js.map +1 -0
- package/dist/detect/ast-rules/rag-safety-ast.d.ts +18 -0
- package/dist/detect/ast-rules/rag-safety-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/rag-safety-ast.js +640 -0
- package/dist/detect/ast-rules/rag-safety-ast.js.map +1 -0
- package/dist/detect/ast-rules/request-validation-ast.d.ts +13 -0
- package/dist/detect/ast-rules/request-validation-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/request-validation-ast.js +116 -0
- package/dist/detect/ast-rules/request-validation-ast.js.map +1 -0
- package/dist/detect/ast-rules/risky-imports-ast.d.ts +14 -0
- package/dist/detect/ast-rules/risky-imports-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/risky-imports-ast.js +114 -0
- package/dist/detect/ast-rules/risky-imports-ast.js.map +1 -0
- package/dist/detect/ast-rules/schema-validation-ast.d.ts +14 -0
- package/dist/detect/ast-rules/schema-validation-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/schema-validation-ast.js +233 -0
- package/dist/detect/ast-rules/schema-validation-ast.js.map +1 -0
- package/dist/detect/ast-rules/secret-patterns-ast.d.ts +17 -0
- package/dist/detect/ast-rules/secret-patterns-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/secret-patterns-ast.js +199 -0
- package/dist/detect/ast-rules/secret-patterns-ast.js.map +1 -0
- package/dist/detect/ast-rules/security-headers-ast.d.ts +14 -0
- package/dist/detect/ast-rules/security-headers-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/security-headers-ast.js +187 -0
- package/dist/detect/ast-rules/security-headers-ast.js.map +1 -0
- package/dist/detect/ast-rules/sql-injection-ast.d.ts +17 -0
- package/dist/detect/ast-rules/sql-injection-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/sql-injection-ast.js +497 -0
- package/dist/detect/ast-rules/sql-injection-ast.js.map +1 -0
- package/dist/detect/ast-rules/ssrf-ast.d.ts +14 -0
- package/dist/detect/ast-rules/ssrf-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/ssrf-ast.js +573 -0
- package/dist/detect/ast-rules/ssrf-ast.js.map +1 -0
- package/dist/detect/ast-rules/taint-fix-templates.d.ts +18 -0
- package/dist/detect/ast-rules/taint-fix-templates.d.ts.map +1 -0
- package/dist/detect/ast-rules/taint-fix-templates.js +92 -0
- package/dist/detect/ast-rules/taint-fix-templates.js.map +1 -0
- package/dist/detect/ast-rules/taint-flow-ast.d.ts +24 -0
- package/dist/detect/ast-rules/taint-flow-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/taint-flow-ast.js +340 -0
- package/dist/detect/ast-rules/taint-flow-ast.js.map +1 -0
- package/dist/detect/ast-rules/variables-ast.d.ts +24 -0
- package/dist/detect/ast-rules/variables-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/variables-ast.js +362 -0
- package/dist/detect/ast-rules/variables-ast.js.map +1 -0
- package/dist/detect/ast-rules/weak-crypto-ast.d.ts +15 -0
- package/dist/detect/ast-rules/weak-crypto-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/weak-crypto-ast.js +406 -0
- package/dist/detect/ast-rules/weak-crypto-ast.js.map +1 -0
- package/dist/detect/ast-rules/xxe-ast.d.ts +13 -0
- package/dist/detect/ast-rules/xxe-ast.d.ts.map +1 -0
- package/dist/detect/ast-rules/xxe-ast.js +157 -0
- package/dist/detect/ast-rules/xxe-ast.js.map +1 -0
- package/dist/detect/config/agent-skill-injection.d.ts.map +1 -1
- package/dist/detect/config/agent-skill-injection.js +2 -24
- package/dist/detect/config/agent-skill-injection.js.map +1 -1
- package/dist/detect/config/index.d.ts +1 -0
- package/dist/detect/config/index.d.ts.map +1 -1
- package/dist/detect/config/index.js +3 -1
- package/dist/detect/config/index.js.map +1 -1
- package/dist/detect/config/osv-check.d.ts.map +1 -1
- package/dist/detect/config/osv-check.js +6 -1
- package/dist/detect/config/osv-check.js.map +1 -1
- package/dist/detect/config/package-check.d.ts.map +1 -1
- package/dist/detect/config/package-check.js +6 -1
- package/dist/detect/config/package-check.js.map +1 -1
- package/dist/detect/config/rules-file-backdoor.d.ts +36 -0
- package/dist/detect/config/rules-file-backdoor.d.ts.map +1 -0
- package/dist/detect/config/rules-file-backdoor.js +379 -0
- package/dist/detect/config/rules-file-backdoor.js.map +1 -0
- package/dist/detect/index.d.ts +43 -6
- package/dist/detect/index.d.ts.map +1 -1
- package/dist/detect/index.js +70 -7
- package/dist/detect/index.js.map +1 -1
- package/dist/detect/secrets/config-audit.d.ts.map +1 -1
- package/dist/detect/secrets/config-audit.js +36 -3
- package/dist/detect/secrets/config-audit.js.map +1 -1
- package/dist/detect/secrets/entropy.d.ts.map +1 -1
- package/dist/detect/secrets/entropy.js +180 -0
- package/dist/detect/secrets/entropy.js.map +1 -1
- package/dist/detect/secrets/index.d.ts +0 -2
- package/dist/detect/secrets/index.d.ts.map +1 -1
- package/dist/detect/secrets/index.js +7 -17
- package/dist/detect/secrets/index.js.map +1 -1
- package/dist/detect/structural/index.d.ts +15 -28
- package/dist/detect/structural/index.d.ts.map +1 -1
- package/dist/detect/structural/index.js +20 -497
- package/dist/detect/structural/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/model/auth-helper-detector.d.ts.map +1 -1
- package/dist/model/auth-helper-detector.js +2 -7
- package/dist/model/auth-helper-detector.js.map +1 -1
- package/dist/model/import-resolver.d.ts.map +1 -1
- package/dist/model/import-resolver.js +94 -0
- package/dist/model/import-resolver.js.map +1 -1
- package/dist/model/imported-auth-detector.js +8 -8
- package/dist/model/imported-auth-detector.js.map +1 -1
- package/dist/model/index.d.ts +8 -0
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +198 -73
- package/dist/model/index.js.map +1 -1
- package/dist/model/module-graph.d.ts.map +1 -1
- package/dist/model/module-graph.js +22 -9
- package/dist/model/module-graph.js.map +1 -1
- package/dist/model/project-context.d.ts +1 -1
- package/dist/model/project-context.d.ts.map +1 -1
- package/dist/model/project-context.js +34 -0
- package/dist/model/project-context.js.map +1 -1
- package/dist/model/route-auth-resolver.d.ts.map +1 -1
- package/dist/model/route-auth-resolver.js +17 -2
- package/dist/model/route-auth-resolver.js.map +1 -1
- package/dist/model/route-discovery/index.js +1 -1
- package/dist/model/route-discovery/index.js.map +1 -1
- package/dist/model/route-discovery/nextjs.js +1 -1
- package/dist/model/route-discovery/nextjs.js.map +1 -1
- package/dist/model/route-discovery/python.d.ts +6 -3
- package/dist/model/route-discovery/python.d.ts.map +1 -1
- package/dist/model/route-discovery/python.js +132 -9
- package/dist/model/route-discovery/python.js.map +1 -1
- package/dist/model/route-discovery/types.d.ts +1 -1
- package/dist/model/route-discovery/types.d.ts.map +1 -1
- package/dist/model/route-discovery/utils.d.ts +8 -0
- package/dist/model/route-discovery/utils.d.ts.map +1 -1
- package/dist/model/route-discovery/utils.js +70 -0
- package/dist/model/route-discovery/utils.js.map +1 -1
- package/dist/model/taint-types.d.ts +0 -4
- package/dist/model/taint-types.d.ts.map +1 -1
- package/dist/parse/ast.d.ts +58 -0
- package/dist/parse/ast.d.ts.map +1 -0
- package/dist/parse/ast.js +230 -0
- package/dist/parse/ast.js.map +1 -0
- package/dist/parse/call-graph.d.ts +41 -0
- package/dist/parse/call-graph.d.ts.map +1 -0
- package/dist/parse/call-graph.js +386 -0
- package/dist/parse/call-graph.js.map +1 -0
- package/dist/parse/file-classifier.d.ts +11 -0
- package/dist/parse/file-classifier.d.ts.map +1 -1
- package/dist/parse/file-classifier.js +63 -15
- package/dist/parse/file-classifier.js.map +1 -1
- package/dist/parse/node-index.d.ts +32 -0
- package/dist/parse/node-index.d.ts.map +1 -0
- package/dist/parse/node-index.js +103 -0
- package/dist/parse/node-index.js.map +1 -0
- package/dist/parse/type-extractor.d.ts +50 -0
- package/dist/parse/type-extractor.d.ts.map +1 -0
- package/dist/parse/type-extractor.js +243 -0
- package/dist/parse/type-extractor.js.map +1 -0
- package/dist/pipeline/config.d.ts +7 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/index.d.ts +3 -3
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +192 -64
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/modes/incremental.d.ts.map +1 -1
- package/dist/pipeline/modes/incremental.js +2 -7
- package/dist/pipeline/modes/incremental.js.map +1 -1
- package/dist/postprocess/dedup.d.ts +5 -2
- package/dist/postprocess/dedup.d.ts.map +1 -1
- package/dist/postprocess/dedup.js +47 -16
- package/dist/postprocess/dedup.js.map +1 -1
- package/dist/report/build-result.d.ts +9 -4
- package/dist/report/build-result.d.ts.map +1 -1
- package/dist/report/build-result.js +15 -4
- package/dist/report/build-result.js.map +1 -1
- package/dist/report/formatters/cli-terminal.d.ts +1 -1
- package/dist/report/formatters/cli-terminal.d.ts.map +1 -1
- package/dist/report/formatters/cli-terminal.js +434 -231
- package/dist/report/formatters/cli-terminal.js.map +1 -1
- package/dist/report/sanitize.d.ts +10 -0
- package/dist/report/sanitize.d.ts.map +1 -0
- package/dist/report/sanitize.js +19 -0
- package/dist/report/sanitize.js.map +1 -0
- package/dist/score/adjustments.d.ts +20 -2
- package/dist/score/adjustments.d.ts.map +1 -1
- package/dist/score/adjustments.js +108 -37
- package/dist/score/adjustments.js.map +1 -1
- package/dist/score/confidence.d.ts +6 -0
- package/dist/score/confidence.d.ts.map +1 -1
- package/dist/score/confidence.js +10 -4
- package/dist/score/confidence.js.map +1 -1
- package/dist/score/evidence.d.ts +25 -0
- package/dist/score/evidence.d.ts.map +1 -0
- package/dist/score/evidence.js +51 -0
- package/dist/score/evidence.js.map +1 -0
- package/dist/score/index.d.ts +3 -1
- package/dist/score/index.d.ts.map +1 -1
- package/dist/score/index.js +25 -50
- package/dist/score/index.js.map +1 -1
- package/dist/score/types.d.ts +5 -1
- package/dist/score/types.d.ts.map +1 -1
- package/dist/shared/category-filter.d.ts.map +1 -1
- package/dist/shared/category-filter.js +12 -0
- package/dist/shared/category-filter.js.map +1 -1
- package/dist/shared/regex-utils.d.ts +3 -0
- package/dist/shared/regex-utils.d.ts.map +1 -0
- package/dist/shared/regex-utils.js +8 -0
- package/dist/shared/regex-utils.js.map +1 -0
- package/dist/shared/registry-clients.d.ts +7 -0
- package/dist/shared/registry-clients.d.ts.map +1 -1
- package/dist/shared/registry-clients.js +94 -17
- package/dist/shared/registry-clients.js.map +1 -1
- package/dist/shared/rules/metadata.d.ts.map +1 -1
- package/dist/shared/rules/metadata.js +17 -0
- package/dist/shared/rules/metadata.js.map +1 -1
- package/dist/shared/types.d.ts +59 -15
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +38 -21
- package/dist/shared/types.js.map +1 -1
- package/dist/taint/async-flow.d.ts +44 -0
- package/dist/taint/async-flow.d.ts.map +1 -0
- package/dist/taint/async-flow.js +271 -0
- package/dist/taint/async-flow.js.map +1 -0
- package/dist/taint/cfg-builder.d.ts +35 -0
- package/dist/taint/cfg-builder.d.ts.map +1 -0
- package/dist/taint/cfg-builder.js +980 -0
- package/dist/taint/cfg-builder.js.map +1 -0
- package/dist/taint/cfg-types.d.ts +76 -0
- package/dist/taint/cfg-types.d.ts.map +1 -0
- package/dist/taint/cfg-types.js +13 -0
- package/dist/taint/cfg-types.js.map +1 -0
- package/dist/taint/constant-propagation.d.ts +34 -0
- package/dist/taint/constant-propagation.d.ts.map +1 -0
- package/dist/taint/constant-propagation.js +164 -0
- package/dist/taint/constant-propagation.js.map +1 -0
- package/dist/taint/cross-file-analyzer.d.ts +27 -0
- package/dist/taint/cross-file-analyzer.d.ts.map +1 -0
- package/dist/taint/cross-file-analyzer.js +99 -0
- package/dist/taint/cross-file-analyzer.js.map +1 -0
- package/dist/taint/cross-file-index.d.ts +59 -0
- package/dist/taint/cross-file-index.d.ts.map +1 -0
- package/dist/taint/cross-file-index.js +183 -0
- package/dist/taint/cross-file-index.js.map +1 -0
- package/dist/taint/def-use.d.ts +27 -0
- package/dist/taint/def-use.d.ts.map +1 -0
- package/dist/taint/def-use.js +519 -0
- package/dist/taint/def-use.js.map +1 -0
- package/dist/taint/file-analysis-cache.d.ts +47 -0
- package/dist/taint/file-analysis-cache.d.ts.map +1 -0
- package/dist/taint/file-analysis-cache.js +107 -0
- package/dist/taint/file-analysis-cache.js.map +1 -0
- package/dist/taint/framework-models.d.ts +77 -0
- package/dist/taint/framework-models.d.ts.map +1 -0
- package/dist/taint/framework-models.js +258 -0
- package/dist/taint/framework-models.js.map +1 -0
- package/dist/taint/helpers.d.ts +31 -0
- package/dist/taint/helpers.d.ts.map +1 -0
- package/dist/taint/helpers.js +130 -0
- package/dist/taint/helpers.js.map +1 -0
- package/dist/taint/index.d.ts +28 -0
- package/dist/taint/index.d.ts.map +1 -0
- package/dist/taint/index.js +77 -0
- package/dist/taint/index.js.map +1 -0
- package/dist/taint/llm-registry.d.ts +47 -0
- package/dist/taint/llm-registry.d.ts.map +1 -0
- package/dist/taint/llm-registry.js +152 -0
- package/dist/taint/llm-registry.js.map +1 -0
- package/dist/taint/llm-risk-scoring.d.ts +54 -0
- package/dist/taint/llm-risk-scoring.d.ts.map +1 -0
- package/dist/taint/llm-risk-scoring.js +376 -0
- package/dist/taint/llm-risk-scoring.js.map +1 -0
- package/dist/taint/propagation-types.d.ts +104 -0
- package/dist/taint/propagation-types.d.ts.map +1 -0
- package/dist/taint/propagation-types.js +98 -0
- package/dist/taint/propagation-types.js.map +1 -0
- package/dist/taint/propagation.d.ts +111 -0
- package/dist/taint/propagation.d.ts.map +1 -0
- package/dist/taint/propagation.js +1576 -0
- package/dist/taint/propagation.js.map +1 -0
- package/dist/taint/sanitizer-registry.d.ts +26 -0
- package/dist/taint/sanitizer-registry.d.ts.map +1 -0
- package/dist/taint/sanitizer-registry.js +422 -0
- package/dist/taint/sanitizer-registry.js.map +1 -0
- package/dist/taint/sink-classifier.d.ts +27 -0
- package/dist/taint/sink-classifier.d.ts.map +1 -0
- package/dist/taint/sink-classifier.js +1166 -0
- package/dist/taint/sink-classifier.js.map +1 -0
- package/dist/taint/source-classifier.d.ts +29 -0
- package/dist/taint/source-classifier.d.ts.map +1 -0
- package/dist/taint/source-classifier.js +814 -0
- package/dist/taint/source-classifier.js.map +1 -0
- package/dist/taint/taint-analyzer.d.ts +33 -0
- package/dist/taint/taint-analyzer.d.ts.map +1 -0
- package/dist/taint/taint-analyzer.js +88 -0
- package/dist/taint/taint-analyzer.js.map +1 -0
- package/dist/taint/taint-summary.d.ts +37 -0
- package/dist/taint/taint-summary.d.ts.map +1 -0
- package/dist/taint/taint-summary.js +293 -0
- package/dist/taint/taint-summary.js.map +1 -0
- package/dist/taint/types.d.ts +47 -0
- package/dist/taint/types.d.ts.map +1 -0
- package/dist/taint/types.js +19 -0
- package/dist/taint/types.js.map +1 -0
- package/dist/validate/clients.d.ts +2 -1
- package/dist/validate/clients.d.ts.map +1 -1
- package/dist/validate/clients.js +3 -2
- package/dist/validate/clients.js.map +1 -1
- package/dist/validate/index.d.ts +5 -6
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +22 -21
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/prompts/modules/ai-patterns.d.ts +1 -1
- package/dist/validate/prompts/modules/ai-patterns.d.ts.map +1 -1
- package/dist/validate/prompts/modules/ai-patterns.js +16 -0
- package/dist/validate/prompts/modules/ai-patterns.js.map +1 -1
- package/dist/validate/prompts/modules/common.d.ts +1 -1
- package/dist/validate/prompts/modules/common.d.ts.map +1 -1
- package/dist/validate/prompts/modules/common.js +12 -3
- package/dist/validate/prompts/modules/common.js.map +1 -1
- package/dist/validate/providers/anthropic.d.ts +4 -4
- package/dist/validate/providers/anthropic.d.ts.map +1 -1
- package/dist/validate/providers/anthropic.js +85 -58
- package/dist/validate/providers/anthropic.js.map +1 -1
- package/dist/validate/providers/openai.d.ts +4 -4
- package/dist/validate/providers/openai.d.ts.map +1 -1
- package/dist/validate/providers/openai.js +149 -99
- package/dist/validate/providers/openai.js.map +1 -1
- package/dist/validate/request-builder.d.ts +2 -8
- package/dist/validate/request-builder.d.ts.map +1 -1
- package/dist/validate/request-builder.js +4 -34
- package/dist/validate/request-builder.js.map +1 -1
- package/dist/validate/types.d.ts +9 -0
- package/dist/validate/types.d.ts.map +1 -1
- package/dist/validate/types.js.map +1 -1
- package/dist/validate/utils/path-helpers.js +2 -2
- package/dist/validate/utils/path-helpers.js.map +1 -1
- package/dist/validate/utils/response-parser.d.ts +10 -0
- package/dist/validate/utils/response-parser.d.ts.map +1 -1
- package/dist/validate/utils/response-parser.js +21 -2
- package/dist/validate/utils/response-parser.js.map +1 -1
- package/dist/validate/utils/retry.d.ts.map +1 -1
- package/dist/validate/utils/retry.js +19 -4
- package/dist/validate/utils/retry.js.map +1 -1
- package/package.json +7 -4
- package/src/__tests__/benchmark/fixtures/layer2/ai-execution-sinks.ts +1 -1
- package/src/__tests__/benchmark/planted-benchmark.test.ts +337 -0
- package/src/__tests__/benchmark/utils/test-runner.ts +38 -4
- package/src/__tests__/category-filter.test.ts +5 -1
- package/src/__tests__/context-engine/route-discovery/python.test.ts +726 -0
- package/src/__tests__/detect/ast-rules.test.ts +1043 -0
- package/src/__tests__/detect/offline-mode.test.ts +147 -0
- package/src/__tests__/detect/python-ast-rules.test.ts +569 -0
- package/src/__tests__/detect/python-helpers.test.ts +536 -0
- package/src/__tests__/detect/python-sast-rules.test.ts +453 -0
- package/src/__tests__/detect/rules-file-backdoor-decoders.test.ts +151 -0
- package/src/__tests__/detect/rules-file-backdoor.test.ts +284 -0
- package/src/__tests__/detect/taint-fix-templates.test.ts +150 -0
- package/src/__tests__/detect/taint-path-serialization.test.ts +170 -0
- package/src/__tests__/parse/call-graph.test.ts +300 -0
- package/src/__tests__/parse/python-parser.test.ts +274 -0
- package/src/__tests__/regression/known-false-positives.test.ts +491 -9
- package/src/__tests__/regression/rules-file-backdoor.test.ts +137 -0
- package/src/__tests__/score/adjustments.test.ts +34 -16
- package/src/__tests__/score/confidence.test.ts +84 -57
- package/src/__tests__/score/evidence-scoring.test.ts +249 -0
- package/src/__tests__/score/evidence.test.ts +144 -0
- package/src/__tests__/score/scoring-integration.test.ts +56 -34
- package/src/__tests__/score/taint-adjustments.test.ts +14 -228
- package/src/__tests__/snapshots/__snapshots__/scan-depth.test.ts.snap +65 -59
- package/src/__tests__/snapshots/scan-depth.test.ts +39 -7
- package/src/__tests__/taint/async-flow.test.ts +247 -0
- package/src/__tests__/taint/cfg-builder.test.ts +835 -0
- package/src/__tests__/taint/constant-propagation.test.ts +302 -0
- package/src/__tests__/taint/cross-file-index.test.ts +683 -0
- package/src/__tests__/taint/cross-file-integration.test.ts +275 -0
- package/src/__tests__/taint/cross-file-propagation.test.ts +910 -0
- package/src/__tests__/taint/def-use.test.ts +132 -0
- package/src/__tests__/taint/field-sensitive-sinks.test.ts +179 -0
- package/src/__tests__/taint/field-sensitivity.test.ts +342 -0
- package/src/__tests__/taint/file-analysis-cache.test.ts +290 -0
- package/src/__tests__/taint/framework-models.test.ts +227 -0
- package/src/__tests__/taint/llm-flow-graph.test.ts +850 -0
- package/src/__tests__/taint/llm-risk-scoring.test.ts +439 -0
- package/src/__tests__/taint/performance-parity.test.ts +315 -0
- package/src/__tests__/taint/propagation.test.ts +621 -0
- package/src/__tests__/taint/python-cross-file.test.ts +494 -0
- package/src/__tests__/taint/python-taint.test.ts +1344 -0
- package/src/__tests__/taint/sanitizer-registry.test.ts +304 -0
- package/src/__tests__/taint/sanitizer-regression.test.ts +111 -0
- package/src/__tests__/taint/sink-classifier.test.ts +537 -0
- package/src/__tests__/taint/source-classifier.test.ts +367 -0
- package/src/__tests__/taint/taint-pipeline.test.ts +418 -0
- package/src/__tests__/taint/taint-smoke.test.ts +400 -0
- package/src/__tests__/taint/taint-summary.test.ts +472 -0
- package/src/detect/ai-code/index.ts +6 -11
- package/src/detect/ast-rules/agent-tools-ast.ts +861 -0
- package/src/detect/ast-rules/ai-fingerprinting-ast.ts +451 -0
- package/src/detect/ast-rules/auth-patterns-ast.ts +304 -0
- package/src/detect/ast-rules/byok-ast.ts +195 -0
- package/src/detect/ast-rules/child-process-ast.ts +276 -0
- package/src/detect/ast-rules/dangerous-eval-ast.ts +227 -0
- package/src/detect/ast-rules/data-exposure-ast.ts +162 -0
- package/src/detect/ast-rules/dom-xss-ast.ts +260 -0
- package/src/detect/ast-rules/endpoint-protection-ast.ts +231 -0
- package/src/detect/ast-rules/entropy-ast.ts +268 -0
- package/src/detect/ast-rules/flask-debug-ast.ts +148 -0
- package/src/detect/ast-rules/framework-checks-ast.ts +200 -0
- package/src/detect/ast-rules/helpers/call-analysis.ts +256 -0
- package/src/detect/ast-rules/helpers/context-detection.ts +277 -0
- package/src/detect/ast-rules/helpers/control-flow.ts +179 -0
- package/src/detect/ast-rules/helpers/import-analysis.ts +185 -0
- package/src/detect/ast-rules/helpers/index.ts +133 -0
- package/src/detect/ast-rules/helpers/python-helpers.ts +1054 -0
- package/src/detect/ast-rules/helpers/scope-analysis.ts +224 -0
- package/src/detect/ast-rules/helpers/string-analysis.ts +215 -0
- package/src/detect/ast-rules/helpers/type-extraction.ts +138 -0
- package/src/detect/ast-rules/helpers/user-input.ts +256 -0
- package/src/detect/ast-rules/index.ts +311 -0
- package/src/detect/ast-rules/json-parse-ast.ts +162 -0
- package/src/detect/ast-rules/log-injection-ast.ts +243 -0
- package/src/detect/ast-rules/logic-gates-ast.ts +343 -0
- package/src/detect/ast-rules/mcp-security-ast.ts +808 -0
- package/src/detect/ast-rules/model-supply-chain-ast.ts +202 -0
- package/src/detect/ast-rules/package-hallucination-ast.ts +664 -0
- package/src/detect/ast-rules/prompt-hygiene-ast.ts +329 -0
- package/src/detect/ast-rules/rag-safety-ast.ts +689 -0
- package/src/detect/ast-rules/request-validation-ast.ts +122 -0
- package/src/detect/ast-rules/risky-imports-ast.ts +133 -0
- package/src/detect/ast-rules/schema-validation-ast.ts +244 -0
- package/src/detect/ast-rules/secret-patterns-ast.ts +223 -0
- package/src/detect/ast-rules/security-headers-ast.ts +206 -0
- package/src/detect/ast-rules/sql-injection-ast.ts +614 -0
- package/src/detect/ast-rules/ssrf-ast.ts +601 -0
- package/src/detect/ast-rules/taint-fix-templates.ts +108 -0
- package/src/detect/ast-rules/taint-flow-ast.ts +416 -0
- package/src/detect/ast-rules/variables-ast.ts +446 -0
- package/src/detect/ast-rules/weak-crypto-ast.ts +441 -0
- package/src/detect/ast-rules/xxe-ast.ts +184 -0
- package/src/detect/config/agent-skill-injection.ts +2 -24
- package/src/detect/config/index.ts +1 -0
- package/src/detect/config/osv-check.ts +6 -1
- package/src/detect/config/package-check.ts +6 -1
- package/src/detect/config/rules-file-backdoor.ts +438 -0
- package/src/detect/index.ts +146 -52
- package/src/detect/secrets/config-audit.ts +37 -3
- package/src/detect/secrets/entropy.ts +195 -0
- package/src/detect/secrets/index.ts +7 -16
- package/src/detect/structural/index.ts +23 -566
- package/src/index.ts +7 -0
- package/src/model/auth-helper-detector.ts +1 -7
- package/src/model/import-resolver.ts +104 -0
- package/src/model/imported-auth-detector.ts +1 -1
- package/src/model/index.ts +240 -80
- package/src/model/module-graph.ts +17 -5
- package/src/model/project-context.ts +28 -1
- package/src/model/route-auth-resolver.ts +18 -3
- package/src/model/route-discovery/index.ts +1 -1
- package/src/model/route-discovery/nextjs.ts +1 -1
- package/src/model/route-discovery/python.ts +156 -9
- package/src/model/route-discovery/types.ts +1 -1
- package/src/model/route-discovery/utils.ts +73 -0
- package/src/model/taint-types.ts +1 -6
- package/src/parse/ast.ts +271 -0
- package/src/parse/call-graph.ts +419 -0
- package/src/parse/file-classifier.ts +69 -15
- package/src/parse/node-index.ts +118 -0
- package/src/parse/type-extractor.ts +293 -0
- package/src/pipeline/config.ts +7 -0
- package/src/pipeline/index.ts +464 -199
- package/src/pipeline/modes/incremental.ts +1 -7
- package/src/postprocess/dedup.ts +48 -17
- package/src/report/build-result.ts +57 -29
- package/src/report/formatters/cli-terminal.ts +731 -415
- package/src/report/sanitize.ts +27 -0
- package/src/score/adjustments.ts +113 -40
- package/src/score/confidence.ts +10 -5
- package/src/score/evidence.ts +55 -0
- package/src/score/index.ts +27 -55
- package/src/score/types.ts +4 -0
- package/src/shared/category-filter.ts +12 -0
- package/src/shared/regex-utils.ts +4 -0
- package/src/shared/registry-clients.ts +106 -18
- package/src/shared/rules/__tests__/metadata.test.ts +5 -1
- package/src/shared/rules/metadata.ts +19 -0
- package/src/shared/types.ts +372 -253
- package/src/taint/async-flow.ts +301 -0
- package/src/taint/cfg-builder.ts +1127 -0
- package/src/taint/cfg-types.ts +110 -0
- package/src/taint/constant-propagation.ts +170 -0
- package/src/taint/cross-file-analyzer.ts +118 -0
- package/src/taint/cross-file-index.ts +275 -0
- package/src/taint/def-use.ts +556 -0
- package/src/taint/file-analysis-cache.ts +145 -0
- package/src/taint/framework-models.ts +313 -0
- package/src/taint/helpers.ts +138 -0
- package/src/taint/index.ts +71 -0
- package/src/taint/llm-registry.ts +174 -0
- package/src/taint/llm-risk-scoring.ts +412 -0
- package/src/taint/propagation-types.ts +188 -0
- package/src/taint/propagation.ts +1750 -0
- package/src/taint/sanitizer-registry.ts +490 -0
- package/src/taint/sink-classifier.ts +1402 -0
- package/src/taint/source-classifier.ts +859 -0
- package/src/taint/taint-analyzer.ts +112 -0
- package/src/taint/taint-summary.ts +341 -0
- package/src/taint/types.ts +86 -0
- package/src/validate/clients.ts +3 -2
- package/src/validate/index.ts +89 -53
- package/src/validate/prompts/modules/ai-patterns.ts +16 -0
- package/src/validate/prompts/modules/common.ts +12 -3
- package/src/validate/providers/anthropic.ts +254 -148
- package/src/validate/providers/openai.ts +363 -218
- package/src/validate/request-builder.ts +2 -45
- package/src/validate/types.ts +9 -0
- package/src/validate/utils/path-helpers.ts +2 -2
- package/src/validate/utils/response-parser.ts +32 -3
- package/src/validate/utils/retry.ts +19 -4
- package/dist/ai-context/index.d.ts +0 -6
- package/dist/ai-context/index.d.ts.map +0 -1
- package/dist/ai-context/index.js +0 -13
- package/dist/ai-context/index.js.map +0 -1
- package/dist/ai-context/manager.d.ts +0 -67
- package/dist/ai-context/manager.d.ts.map +0 -1
- package/dist/ai-context/manager.js +0 -104
- package/dist/ai-context/manager.js.map +0 -1
- package/dist/baseline/diff.d.ts +0 -32
- package/dist/baseline/diff.d.ts.map +0 -1
- package/dist/baseline/diff.js +0 -119
- package/dist/baseline/diff.js.map +0 -1
- package/dist/baseline/index.d.ts +0 -9
- package/dist/baseline/index.d.ts.map +0 -1
- package/dist/baseline/index.js +0 -19
- package/dist/baseline/index.js.map +0 -1
- package/dist/baseline/manager.d.ts +0 -67
- package/dist/baseline/manager.d.ts.map +0 -1
- package/dist/baseline/manager.js +0 -180
- package/dist/baseline/manager.js.map +0 -1
- package/dist/baseline/types.d.ts +0 -91
- package/dist/baseline/types.d.ts.map +0 -1
- package/dist/baseline/types.js +0 -12
- package/dist/baseline/types.js.map +0 -1
- package/dist/category-filter.d.ts +0 -125
- package/dist/category-filter.d.ts.map +0 -1
- package/dist/category-filter.js +0 -360
- package/dist/category-filter.js.map +0 -1
- package/dist/detect/ai-code/agent-tools.d.ts +0 -22
- package/dist/detect/ai-code/agent-tools.d.ts.map +0 -1
- package/dist/detect/ai-code/agent-tools.js +0 -1509
- package/dist/detect/ai-code/agent-tools.js.map +0 -1
- package/dist/detect/ai-code/byok-patterns.d.ts +0 -15
- package/dist/detect/ai-code/byok-patterns.d.ts.map +0 -1
- package/dist/detect/ai-code/byok-patterns.js +0 -313
- package/dist/detect/ai-code/byok-patterns.js.map +0 -1
- package/dist/detect/ai-code/endpoint-protection.d.ts +0 -38
- package/dist/detect/ai-code/endpoint-protection.d.ts.map +0 -1
- package/dist/detect/ai-code/endpoint-protection.js +0 -349
- package/dist/detect/ai-code/endpoint-protection.js.map +0 -1
- package/dist/detect/ai-code/execution-sinks.d.ts +0 -21
- package/dist/detect/ai-code/execution-sinks.d.ts.map +0 -1
- package/dist/detect/ai-code/execution-sinks.js +0 -1158
- package/dist/detect/ai-code/execution-sinks.js.map +0 -1
- package/dist/detect/ai-code/fingerprinting.d.ts +0 -10
- package/dist/detect/ai-code/fingerprinting.d.ts.map +0 -1
- package/dist/detect/ai-code/fingerprinting.js +0 -665
- package/dist/detect/ai-code/fingerprinting.js.map +0 -1
- package/dist/detect/ai-code/mcp-security.d.ts +0 -20
- package/dist/detect/ai-code/mcp-security.d.ts.map +0 -1
- package/dist/detect/ai-code/mcp-security.js +0 -880
- package/dist/detect/ai-code/mcp-security.js.map +0 -1
- package/dist/detect/ai-code/model-supply-chain.d.ts +0 -23
- package/dist/detect/ai-code/model-supply-chain.d.ts.map +0 -1
- package/dist/detect/ai-code/model-supply-chain.js +0 -447
- package/dist/detect/ai-code/model-supply-chain.js.map +0 -1
- package/dist/detect/ai-code/package-hallucination.d.ts +0 -22
- package/dist/detect/ai-code/package-hallucination.d.ts.map +0 -1
- package/dist/detect/ai-code/package-hallucination.js +0 -841
- package/dist/detect/ai-code/package-hallucination.js.map +0 -1
- package/dist/detect/ai-code/prompt-hygiene.d.ts +0 -22
- package/dist/detect/ai-code/prompt-hygiene.d.ts.map +0 -1
- package/dist/detect/ai-code/prompt-hygiene.js +0 -1177
- package/dist/detect/ai-code/prompt-hygiene.js.map +0 -1
- package/dist/detect/ai-code/rag-safety.d.ts +0 -24
- package/dist/detect/ai-code/rag-safety.d.ts.map +0 -1
- package/dist/detect/ai-code/rag-safety.js +0 -913
- package/dist/detect/ai-code/rag-safety.js.map +0 -1
- package/dist/detect/ai-code/schema-validation.d.ts +0 -28
- package/dist/detect/ai-code/schema-validation.d.ts.map +0 -1
- package/dist/detect/ai-code/schema-validation.js +0 -378
- package/dist/detect/ai-code/schema-validation.js.map +0 -1
- package/dist/detect/secrets/patterns.d.ts +0 -11
- package/dist/detect/secrets/patterns.d.ts.map +0 -1
- package/dist/detect/secrets/patterns.js +0 -518
- package/dist/detect/secrets/patterns.js.map +0 -1
- package/dist/detect/secrets/weak-crypto.d.ts +0 -10
- package/dist/detect/secrets/weak-crypto.d.ts.map +0 -1
- package/dist/detect/secrets/weak-crypto.js +0 -432
- package/dist/detect/secrets/weak-crypto.js.map +0 -1
- package/dist/detect/structural/auth-patterns.d.ts +0 -22
- package/dist/detect/structural/auth-patterns.d.ts.map +0 -1
- package/dist/detect/structural/auth-patterns.js +0 -533
- package/dist/detect/structural/auth-patterns.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/child-process.d.ts +0 -16
- package/dist/detect/structural/dangerous-functions/child-process.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/child-process.js +0 -74
- package/dist/detect/structural/dangerous-functions/child-process.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/dom-xss.d.ts +0 -34
- package/dist/detect/structural/dangerous-functions/dom-xss.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/dom-xss.js +0 -230
- package/dist/detect/structural/dangerous-functions/dom-xss.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/index.d.ts +0 -16
- package/dist/detect/structural/dangerous-functions/index.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/index.js +0 -1193
- package/dist/detect/structural/dangerous-functions/index.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/json-parse.d.ts +0 -31
- package/dist/detect/structural/dangerous-functions/json-parse.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/json-parse.js +0 -326
- package/dist/detect/structural/dangerous-functions/json-parse.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/math-random.d.ts +0 -111
- package/dist/detect/structural/dangerous-functions/math-random.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/math-random.js +0 -684
- package/dist/detect/structural/dangerous-functions/math-random.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/patterns.d.ts +0 -21
- package/dist/detect/structural/dangerous-functions/patterns.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/patterns.js +0 -163
- package/dist/detect/structural/dangerous-functions/patterns.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/request-validation.d.ts +0 -13
- package/dist/detect/structural/dangerous-functions/request-validation.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/request-validation.js +0 -126
- package/dist/detect/structural/dangerous-functions/request-validation.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/control-flow.d.ts +0 -24
- package/dist/detect/structural/dangerous-functions/utils/control-flow.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/control-flow.js +0 -70
- package/dist/detect/structural/dangerous-functions/utils/control-flow.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/helpers.d.ts +0 -31
- package/dist/detect/structural/dangerous-functions/utils/helpers.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/helpers.js +0 -147
- package/dist/detect/structural/dangerous-functions/utils/helpers.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/index.d.ts +0 -9
- package/dist/detect/structural/dangerous-functions/utils/index.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/index.js +0 -23
- package/dist/detect/structural/dangerous-functions/utils/index.js.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/schema-validation.d.ts +0 -22
- package/dist/detect/structural/dangerous-functions/utils/schema-validation.d.ts.map +0 -1
- package/dist/detect/structural/dangerous-functions/utils/schema-validation.js +0 -102
- package/dist/detect/structural/dangerous-functions/utils/schema-validation.js.map +0 -1
- package/dist/detect/structural/data-exposure.d.ts +0 -19
- package/dist/detect/structural/data-exposure.d.ts.map +0 -1
- package/dist/detect/structural/data-exposure.js +0 -262
- package/dist/detect/structural/data-exposure.js.map +0 -1
- package/dist/detect/structural/framework-checks.d.ts +0 -10
- package/dist/detect/structural/framework-checks.d.ts.map +0 -1
- package/dist/detect/structural/framework-checks.js +0 -389
- package/dist/detect/structural/framework-checks.js.map +0 -1
- package/dist/detect/structural/log-injection.d.ts +0 -18
- package/dist/detect/structural/log-injection.d.ts.map +0 -1
- package/dist/detect/structural/log-injection.js +0 -217
- package/dist/detect/structural/log-injection.js.map +0 -1
- package/dist/detect/structural/logic-gates.d.ts +0 -10
- package/dist/detect/structural/logic-gates.d.ts.map +0 -1
- package/dist/detect/structural/logic-gates.js +0 -227
- package/dist/detect/structural/logic-gates.js.map +0 -1
- package/dist/detect/structural/risky-imports.d.ts +0 -10
- package/dist/detect/structural/risky-imports.d.ts.map +0 -1
- package/dist/detect/structural/risky-imports.js +0 -168
- package/dist/detect/structural/risky-imports.js.map +0 -1
- package/dist/detect/structural/security-headers.d.ts +0 -18
- package/dist/detect/structural/security-headers.d.ts.map +0 -1
- package/dist/detect/structural/security-headers.js +0 -196
- package/dist/detect/structural/security-headers.js.map +0 -1
- package/dist/detect/structural/ssrf-detection.d.ts +0 -18
- package/dist/detect/structural/ssrf-detection.d.ts.map +0 -1
- package/dist/detect/structural/ssrf-detection.js +0 -263
- package/dist/detect/structural/ssrf-detection.js.map +0 -1
- package/dist/detect/structural/variables.d.ts +0 -11
- package/dist/detect/structural/variables.d.ts.map +0 -1
- package/dist/detect/structural/variables.js +0 -159
- package/dist/detect/structural/variables.js.map +0 -1
- package/dist/detect/structural/xxe-detection.d.ts +0 -18
- package/dist/detect/structural/xxe-detection.d.ts.map +0 -1
- package/dist/detect/structural/xxe-detection.js +0 -245
- package/dist/detect/structural/xxe-detection.js.map +0 -1
- package/dist/filtering/context-adjustments.d.ts +0 -23
- package/dist/filtering/context-adjustments.d.ts.map +0 -1
- package/dist/filtering/context-adjustments.js +0 -100
- package/dist/filtering/context-adjustments.js.map +0 -1
- package/dist/filtering/index.d.ts +0 -3
- package/dist/filtering/index.d.ts.map +0 -1
- package/dist/filtering/index.js +0 -8
- package/dist/filtering/index.js.map +0 -1
- package/dist/filtering/pipeline.d.ts +0 -48
- package/dist/filtering/pipeline.d.ts.map +0 -1
- package/dist/filtering/pipeline.js +0 -76
- package/dist/filtering/pipeline.js.map +0 -1
- package/dist/formatters/ai-context.d.ts +0 -23
- package/dist/formatters/ai-context.d.ts.map +0 -1
- package/dist/formatters/ai-context.js +0 -238
- package/dist/formatters/ai-context.js.map +0 -1
- package/dist/formatters/cli-terminal.d.ts +0 -65
- package/dist/formatters/cli-terminal.d.ts.map +0 -1
- package/dist/formatters/cli-terminal.js +0 -735
- package/dist/formatters/cli-terminal.js.map +0 -1
- package/dist/formatters/github-comment.d.ts +0 -41
- package/dist/formatters/github-comment.d.ts.map +0 -1
- package/dist/formatters/github-comment.js +0 -370
- package/dist/formatters/github-comment.js.map +0 -1
- package/dist/formatters/grouping.d.ts +0 -52
- package/dist/formatters/grouping.d.ts.map +0 -1
- package/dist/formatters/grouping.js +0 -152
- package/dist/formatters/grouping.js.map +0 -1
- package/dist/formatters/ide/claude-code.d.ts +0 -17
- package/dist/formatters/ide/claude-code.d.ts.map +0 -1
- package/dist/formatters/ide/claude-code.js +0 -94
- package/dist/formatters/ide/claude-code.js.map +0 -1
- package/dist/formatters/ide/cursor.d.ts +0 -13
- package/dist/formatters/ide/cursor.d.ts.map +0 -1
- package/dist/formatters/ide/cursor.js +0 -125
- package/dist/formatters/ide/cursor.js.map +0 -1
- package/dist/formatters/ide/index.d.ts +0 -62
- package/dist/formatters/ide/index.d.ts.map +0 -1
- package/dist/formatters/ide/index.js +0 -184
- package/dist/formatters/ide/index.js.map +0 -1
- package/dist/formatters/ide/windsurf.d.ts +0 -13
- package/dist/formatters/ide/windsurf.d.ts.map +0 -1
- package/dist/formatters/ide/windsurf.js +0 -117
- package/dist/formatters/ide/windsurf.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -11
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -54
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/vscode-diagnostic.d.ts +0 -103
- package/dist/formatters/vscode-diagnostic.d.ts.map +0 -1
- package/dist/formatters/vscode-diagnostic.js +0 -151
- package/dist/formatters/vscode-diagnostic.js.map +0 -1
- package/dist/layer1/comments.d.ts +0 -11
- package/dist/layer1/comments.d.ts.map +0 -1
- package/dist/layer1/comments.js +0 -203
- package/dist/layer1/comments.js.map +0 -1
- package/dist/layer1/config-audit.d.ts +0 -11
- package/dist/layer1/config-audit.d.ts.map +0 -1
- package/dist/layer1/config-audit.js +0 -311
- package/dist/layer1/config-audit.js.map +0 -1
- package/dist/layer1/config-mcp-audit.d.ts +0 -23
- package/dist/layer1/config-mcp-audit.d.ts.map +0 -1
- package/dist/layer1/config-mcp-audit.js +0 -239
- package/dist/layer1/config-mcp-audit.js.map +0 -1
- package/dist/layer1/entropy.d.ts +0 -11
- package/dist/layer1/entropy.d.ts.map +0 -1
- package/dist/layer1/entropy.js +0 -741
- package/dist/layer1/entropy.js.map +0 -1
- package/dist/layer1/file-flags.d.ts +0 -10
- package/dist/layer1/file-flags.d.ts.map +0 -1
- package/dist/layer1/file-flags.js +0 -119
- package/dist/layer1/file-flags.js.map +0 -1
- package/dist/layer1/index.d.ts +0 -38
- package/dist/layer1/index.d.ts.map +0 -1
- package/dist/layer1/index.js +0 -170
- package/dist/layer1/index.js.map +0 -1
- package/dist/layer1/patterns.d.ts +0 -11
- package/dist/layer1/patterns.d.ts.map +0 -1
- package/dist/layer1/patterns.js +0 -512
- package/dist/layer1/patterns.js.map +0 -1
- package/dist/layer1/urls.d.ts +0 -11
- package/dist/layer1/urls.d.ts.map +0 -1
- package/dist/layer1/urls.js +0 -444
- package/dist/layer1/urls.js.map +0 -1
- package/dist/layer1/weak-crypto.d.ts +0 -10
- package/dist/layer1/weak-crypto.d.ts.map +0 -1
- package/dist/layer1/weak-crypto.js +0 -428
- package/dist/layer1/weak-crypto.js.map +0 -1
- package/dist/layer2/ai-agent-tools.d.ts +0 -22
- package/dist/layer2/ai-agent-tools.d.ts.map +0 -1
- package/dist/layer2/ai-agent-tools.js +0 -1490
- package/dist/layer2/ai-agent-tools.js.map +0 -1
- package/dist/layer2/ai-endpoint-protection.d.ts +0 -38
- package/dist/layer2/ai-endpoint-protection.d.ts.map +0 -1
- package/dist/layer2/ai-endpoint-protection.js +0 -346
- package/dist/layer2/ai-endpoint-protection.js.map +0 -1
- package/dist/layer2/ai-execution-sinks.d.ts +0 -21
- package/dist/layer2/ai-execution-sinks.d.ts.map +0 -1
- package/dist/layer2/ai-execution-sinks.js +0 -1155
- package/dist/layer2/ai-execution-sinks.js.map +0 -1
- package/dist/layer2/ai-fingerprinting.d.ts +0 -10
- package/dist/layer2/ai-fingerprinting.d.ts.map +0 -1
- package/dist/layer2/ai-fingerprinting.js +0 -650
- package/dist/layer2/ai-fingerprinting.js.map +0 -1
- package/dist/layer2/ai-mcp-security.d.ts +0 -20
- package/dist/layer2/ai-mcp-security.d.ts.map +0 -1
- package/dist/layer2/ai-mcp-security.js +0 -877
- package/dist/layer2/ai-mcp-security.js.map +0 -1
- package/dist/layer2/ai-package-hallucination.d.ts +0 -22
- package/dist/layer2/ai-package-hallucination.d.ts.map +0 -1
- package/dist/layer2/ai-package-hallucination.js +0 -828
- package/dist/layer2/ai-package-hallucination.js.map +0 -1
- package/dist/layer2/ai-prompt-hygiene.d.ts +0 -22
- package/dist/layer2/ai-prompt-hygiene.d.ts.map +0 -1
- package/dist/layer2/ai-prompt-hygiene.js +0 -1156
- package/dist/layer2/ai-prompt-hygiene.js.map +0 -1
- package/dist/layer2/ai-rag-safety.d.ts +0 -24
- package/dist/layer2/ai-rag-safety.d.ts.map +0 -1
- package/dist/layer2/ai-rag-safety.js +0 -910
- package/dist/layer2/ai-rag-safety.js.map +0 -1
- package/dist/layer2/ai-schema-validation.d.ts +0 -28
- package/dist/layer2/ai-schema-validation.d.ts.map +0 -1
- package/dist/layer2/ai-schema-validation.js +0 -375
- package/dist/layer2/ai-schema-validation.js.map +0 -1
- package/dist/layer2/auth-antipatterns.d.ts +0 -22
- package/dist/layer2/auth-antipatterns.d.ts.map +0 -1
- package/dist/layer2/auth-antipatterns.js +0 -522
- package/dist/layer2/auth-antipatterns.js.map +0 -1
- package/dist/layer2/byok-patterns.d.ts +0 -15
- package/dist/layer2/byok-patterns.d.ts.map +0 -1
- package/dist/layer2/byok-patterns.js +0 -302
- package/dist/layer2/byok-patterns.js.map +0 -1
- package/dist/layer2/dangerous-functions/child-process.d.ts +0 -16
- package/dist/layer2/dangerous-functions/child-process.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/child-process.js +0 -74
- package/dist/layer2/dangerous-functions/child-process.js.map +0 -1
- package/dist/layer2/dangerous-functions/dom-xss.d.ts +0 -34
- package/dist/layer2/dangerous-functions/dom-xss.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/dom-xss.js +0 -230
- package/dist/layer2/dangerous-functions/dom-xss.js.map +0 -1
- package/dist/layer2/dangerous-functions/index.d.ts +0 -16
- package/dist/layer2/dangerous-functions/index.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/index.js +0 -1152
- package/dist/layer2/dangerous-functions/index.js.map +0 -1
- package/dist/layer2/dangerous-functions/json-parse.d.ts +0 -31
- package/dist/layer2/dangerous-functions/json-parse.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/json-parse.js +0 -319
- package/dist/layer2/dangerous-functions/json-parse.js.map +0 -1
- package/dist/layer2/dangerous-functions/math-random.d.ts +0 -111
- package/dist/layer2/dangerous-functions/math-random.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/math-random.js +0 -684
- package/dist/layer2/dangerous-functions/math-random.js.map +0 -1
- package/dist/layer2/dangerous-functions/patterns.d.ts +0 -21
- package/dist/layer2/dangerous-functions/patterns.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/patterns.js +0 -163
- package/dist/layer2/dangerous-functions/patterns.js.map +0 -1
- package/dist/layer2/dangerous-functions/request-validation.d.ts +0 -13
- package/dist/layer2/dangerous-functions/request-validation.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/request-validation.js +0 -119
- package/dist/layer2/dangerous-functions/request-validation.js.map +0 -1
- package/dist/layer2/dangerous-functions/utils/control-flow.d.ts +0 -24
- package/dist/layer2/dangerous-functions/utils/control-flow.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/utils/control-flow.js +0 -70
- package/dist/layer2/dangerous-functions/utils/control-flow.js.map +0 -1
- package/dist/layer2/dangerous-functions/utils/helpers.d.ts +0 -31
- package/dist/layer2/dangerous-functions/utils/helpers.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/utils/helpers.js +0 -147
- package/dist/layer2/dangerous-functions/utils/helpers.js.map +0 -1
- package/dist/layer2/dangerous-functions/utils/index.d.ts +0 -9
- package/dist/layer2/dangerous-functions/utils/index.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/utils/index.js +0 -23
- package/dist/layer2/dangerous-functions/utils/index.js.map +0 -1
- package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts +0 -22
- package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions/utils/schema-validation.js +0 -102
- package/dist/layer2/dangerous-functions/utils/schema-validation.js.map +0 -1
- package/dist/layer2/data-exposure.d.ts +0 -19
- package/dist/layer2/data-exposure.d.ts.map +0 -1
- package/dist/layer2/data-exposure.js +0 -255
- package/dist/layer2/data-exposure.js.map +0 -1
- package/dist/layer2/framework-checks.d.ts +0 -10
- package/dist/layer2/framework-checks.d.ts.map +0 -1
- package/dist/layer2/framework-checks.js +0 -384
- package/dist/layer2/framework-checks.js.map +0 -1
- package/dist/layer2/index.d.ts +0 -74
- package/dist/layer2/index.d.ts.map +0 -1
- package/dist/layer2/index.js +0 -544
- package/dist/layer2/index.js.map +0 -1
- package/dist/layer2/log-injection.d.ts +0 -18
- package/dist/layer2/log-injection.d.ts.map +0 -1
- package/dist/layer2/log-injection.js +0 -214
- package/dist/layer2/log-injection.js.map +0 -1
- package/dist/layer2/logic-gates.d.ts +0 -10
- package/dist/layer2/logic-gates.d.ts.map +0 -1
- package/dist/layer2/logic-gates.js +0 -220
- package/dist/layer2/logic-gates.js.map +0 -1
- package/dist/layer2/model-supply-chain.d.ts +0 -23
- package/dist/layer2/model-supply-chain.d.ts.map +0 -1
- package/dist/layer2/model-supply-chain.js +0 -444
- package/dist/layer2/model-supply-chain.js.map +0 -1
- package/dist/layer2/risky-imports.d.ts +0 -10
- package/dist/layer2/risky-imports.d.ts.map +0 -1
- package/dist/layer2/risky-imports.js +0 -165
- package/dist/layer2/risky-imports.js.map +0 -1
- package/dist/layer2/security-headers.d.ts +0 -18
- package/dist/layer2/security-headers.d.ts.map +0 -1
- package/dist/layer2/security-headers.js +0 -187
- package/dist/layer2/security-headers.js.map +0 -1
- package/dist/layer2/ssrf-detection.d.ts +0 -18
- package/dist/layer2/ssrf-detection.d.ts.map +0 -1
- package/dist/layer2/ssrf-detection.js +0 -252
- package/dist/layer2/ssrf-detection.js.map +0 -1
- package/dist/layer2/variables.d.ts +0 -11
- package/dist/layer2/variables.d.ts.map +0 -1
- package/dist/layer2/variables.js +0 -156
- package/dist/layer2/variables.js.map +0 -1
- package/dist/layer2/xxe-detection.d.ts +0 -18
- package/dist/layer2/xxe-detection.d.ts.map +0 -1
- package/dist/layer2/xxe-detection.js +0 -242
- package/dist/layer2/xxe-detection.js.map +0 -1
- package/dist/layer3/anthropic/auto-dismiss.d.ts +0 -24
- package/dist/layer3/anthropic/auto-dismiss.d.ts.map +0 -1
- package/dist/layer3/anthropic/auto-dismiss.js +0 -199
- package/dist/layer3/anthropic/auto-dismiss.js.map +0 -1
- package/dist/layer3/anthropic/clients.d.ts +0 -44
- package/dist/layer3/anthropic/clients.d.ts.map +0 -1
- package/dist/layer3/anthropic/clients.js +0 -81
- package/dist/layer3/anthropic/clients.js.map +0 -1
- package/dist/layer3/anthropic/index.d.ts +0 -41
- package/dist/layer3/anthropic/index.d.ts.map +0 -1
- package/dist/layer3/anthropic/index.js +0 -141
- package/dist/layer3/anthropic/index.js.map +0 -1
- package/dist/layer3/anthropic/prompts/index.d.ts +0 -8
- package/dist/layer3/anthropic/prompts/index.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/index.js +0 -16
- package/dist/layer3/anthropic/prompts/index.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/ai-patterns.d.ts +0 -19
- package/dist/layer3/anthropic/prompts/modules/ai-patterns.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/ai-patterns.js +0 -156
- package/dist/layer3/anthropic/prompts/modules/ai-patterns.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/auth-access.d.ts +0 -9
- package/dist/layer3/anthropic/prompts/modules/auth-access.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/auth-access.js +0 -25
- package/dist/layer3/anthropic/prompts/modules/auth-access.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/common.d.ts +0 -11
- package/dist/layer3/anthropic/prompts/modules/common.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/common.js +0 -152
- package/dist/layer3/anthropic/prompts/modules/common.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/index.d.ts +0 -54
- package/dist/layer3/anthropic/prompts/modules/index.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/index.js +0 -185
- package/dist/layer3/anthropic/prompts/modules/index.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/owasp-classic.d.ts +0 -8
- package/dist/layer3/anthropic/prompts/modules/owasp-classic.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/owasp-classic.js +0 -84
- package/dist/layer3/anthropic/prompts/modules/owasp-classic.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/secrets-crypto.d.ts +0 -8
- package/dist/layer3/anthropic/prompts/modules/secrets-crypto.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/secrets-crypto.js +0 -68
- package/dist/layer3/anthropic/prompts/modules/secrets-crypto.js.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/xss-prompt.d.ts +0 -8
- package/dist/layer3/anthropic/prompts/modules/xss-prompt.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/modules/xss-prompt.js +0 -22
- package/dist/layer3/anthropic/prompts/modules/xss-prompt.js.map +0 -1
- package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts +0 -15
- package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/semantic-analysis.js +0 -169
- package/dist/layer3/anthropic/prompts/semantic-analysis.js.map +0 -1
- package/dist/layer3/anthropic/prompts/validation.d.ts +0 -18
- package/dist/layer3/anthropic/prompts/validation.d.ts.map +0 -1
- package/dist/layer3/anthropic/prompts/validation.js +0 -25
- package/dist/layer3/anthropic/prompts/validation.js.map +0 -1
- package/dist/layer3/anthropic/providers/anthropic.d.ts +0 -21
- package/dist/layer3/anthropic/providers/anthropic.d.ts.map +0 -1
- package/dist/layer3/anthropic/providers/anthropic.js +0 -269
- package/dist/layer3/anthropic/providers/anthropic.js.map +0 -1
- package/dist/layer3/anthropic/providers/index.d.ts +0 -8
- package/dist/layer3/anthropic/providers/index.d.ts.map +0 -1
- package/dist/layer3/anthropic/providers/index.js +0 -15
- package/dist/layer3/anthropic/providers/index.js.map +0 -1
- package/dist/layer3/anthropic/providers/openai.d.ts +0 -18
- package/dist/layer3/anthropic/providers/openai.d.ts.map +0 -1
- package/dist/layer3/anthropic/providers/openai.js +0 -343
- package/dist/layer3/anthropic/providers/openai.js.map +0 -1
- package/dist/layer3/anthropic/request-builder.d.ts +0 -27
- package/dist/layer3/anthropic/request-builder.d.ts.map +0 -1
- package/dist/layer3/anthropic/request-builder.js +0 -150
- package/dist/layer3/anthropic/request-builder.js.map +0 -1
- package/dist/layer3/anthropic/types.d.ts +0 -88
- package/dist/layer3/anthropic/types.d.ts.map +0 -1
- package/dist/layer3/anthropic/types.js +0 -38
- package/dist/layer3/anthropic/types.js.map +0 -1
- package/dist/layer3/anthropic/utils/context-extractor.d.ts +0 -55
- package/dist/layer3/anthropic/utils/context-extractor.d.ts.map +0 -1
- package/dist/layer3/anthropic/utils/context-extractor.js +0 -161
- package/dist/layer3/anthropic/utils/context-extractor.js.map +0 -1
- package/dist/layer3/anthropic/utils/index.d.ts +0 -11
- package/dist/layer3/anthropic/utils/index.d.ts.map +0 -1
- package/dist/layer3/anthropic/utils/index.js +0 -27
- package/dist/layer3/anthropic/utils/index.js.map +0 -1
- package/dist/layer3/anthropic/utils/path-helpers.d.ts +0 -21
- package/dist/layer3/anthropic/utils/path-helpers.d.ts.map +0 -1
- package/dist/layer3/anthropic/utils/path-helpers.js +0 -69
- package/dist/layer3/anthropic/utils/path-helpers.js.map +0 -1
- package/dist/layer3/anthropic/utils/response-parser.d.ts +0 -40
- package/dist/layer3/anthropic/utils/response-parser.d.ts.map +0 -1
- package/dist/layer3/anthropic/utils/response-parser.js +0 -285
- package/dist/layer3/anthropic/utils/response-parser.js.map +0 -1
- package/dist/layer3/anthropic/utils/retry.d.ts +0 -15
- package/dist/layer3/anthropic/utils/retry.d.ts.map +0 -1
- package/dist/layer3/anthropic/utils/retry.js +0 -62
- package/dist/layer3/anthropic/utils/retry.js.map +0 -1
- package/dist/layer3/index.d.ts +0 -27
- package/dist/layer3/index.d.ts.map +0 -1
- package/dist/layer3/index.js +0 -150
- package/dist/layer3/index.js.map +0 -1
- package/dist/layer3/osv-check.d.ts +0 -75
- package/dist/layer3/osv-check.d.ts.map +0 -1
- package/dist/layer3/osv-check.js +0 -308
- package/dist/layer3/osv-check.js.map +0 -1
- package/dist/layer3/package-check.d.ts +0 -63
- package/dist/layer3/package-check.d.ts.map +0 -1
- package/dist/layer3/package-check.js +0 -508
- package/dist/layer3/package-check.js.map +0 -1
- package/dist/model/cross-file-taint.d.ts +0 -40
- package/dist/model/cross-file-taint.d.ts.map +0 -1
- package/dist/model/cross-file-taint.js +0 -290
- package/dist/model/cross-file-taint.js.map +0 -1
- package/dist/model/function-classifier.d.ts +0 -32
- package/dist/model/function-classifier.d.ts.map +0 -1
- package/dist/model/function-classifier.js +0 -143
- package/dist/model/function-classifier.js.map +0 -1
- package/dist/model/sanitiser-detection.d.ts +0 -27
- package/dist/model/sanitiser-detection.d.ts.map +0 -1
- package/dist/model/sanitiser-detection.js +0 -224
- package/dist/model/sanitiser-detection.js.map +0 -1
- package/dist/model/sink-matcher.d.ts +0 -17
- package/dist/model/sink-matcher.d.ts.map +0 -1
- package/dist/model/sink-matcher.js +0 -141
- package/dist/model/sink-matcher.js.map +0 -1
- package/dist/model/sink-patterns.d.ts +0 -19
- package/dist/model/sink-patterns.d.ts.map +0 -1
- package/dist/model/sink-patterns.js +0 -88
- package/dist/model/sink-patterns.js.map +0 -1
- package/dist/model/source-discovery.d.ts +0 -15
- package/dist/model/source-discovery.d.ts.map +0 -1
- package/dist/model/source-discovery.js +0 -170
- package/dist/model/source-discovery.js.map +0 -1
- package/dist/model/taint-tracker.d.ts +0 -21
- package/dist/model/taint-tracker.d.ts.map +0 -1
- package/dist/model/taint-tracker.js +0 -281
- package/dist/model/taint-tracker.js.map +0 -1
- package/dist/modes/incremental.d.ts +0 -66
- package/dist/modes/incremental.d.ts.map +0 -1
- package/dist/modes/incremental.js +0 -200
- package/dist/modes/incremental.js.map +0 -1
- package/dist/rules/framework-fixes.d.ts +0 -48
- package/dist/rules/framework-fixes.d.ts.map +0 -1
- package/dist/rules/framework-fixes.js +0 -439
- package/dist/rules/framework-fixes.js.map +0 -1
- package/dist/rules/index.d.ts +0 -8
- package/dist/rules/index.d.ts.map +0 -1
- package/dist/rules/index.js +0 -18
- package/dist/rules/index.js.map +0 -1
- package/dist/rules/metadata.d.ts +0 -43
- package/dist/rules/metadata.d.ts.map +0 -1
- package/dist/rules/metadata.js +0 -800
- package/dist/rules/metadata.js.map +0 -1
- package/dist/score/auto-dismiss.d.ts +0 -28
- package/dist/score/auto-dismiss.d.ts.map +0 -1
- package/dist/score/auto-dismiss.js +0 -200
- package/dist/score/auto-dismiss.js.map +0 -1
- package/dist/suppression/config-loader.d.ts +0 -74
- package/dist/suppression/config-loader.d.ts.map +0 -1
- package/dist/suppression/config-loader.js +0 -424
- package/dist/suppression/config-loader.js.map +0 -1
- package/dist/suppression/hash.d.ts +0 -48
- package/dist/suppression/hash.d.ts.map +0 -1
- package/dist/suppression/hash.js +0 -88
- package/dist/suppression/hash.js.map +0 -1
- package/dist/suppression/index.d.ts +0 -11
- package/dist/suppression/index.d.ts.map +0 -1
- package/dist/suppression/index.js +0 -39
- package/dist/suppression/index.js.map +0 -1
- package/dist/suppression/inline-parser.d.ts +0 -39
- package/dist/suppression/inline-parser.d.ts.map +0 -1
- package/dist/suppression/inline-parser.js +0 -218
- package/dist/suppression/inline-parser.js.map +0 -1
- package/dist/suppression/manager.d.ts +0 -94
- package/dist/suppression/manager.d.ts.map +0 -1
- package/dist/suppression/manager.js +0 -292
- package/dist/suppression/manager.js.map +0 -1
- package/dist/suppression/types.d.ts +0 -151
- package/dist/suppression/types.d.ts.map +0 -1
- package/dist/suppression/types.js +0 -28
- package/dist/suppression/types.js.map +0 -1
- package/dist/types.d.ts +0 -331
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -124
- package/dist/types.js.map +0 -1
- package/dist/utils/auth-helper-detector.d.ts +0 -56
- package/dist/utils/auth-helper-detector.d.ts.map +0 -1
- package/dist/utils/auth-helper-detector.js +0 -360
- package/dist/utils/auth-helper-detector.js.map +0 -1
- package/dist/utils/code-analysis.d.ts +0 -39
- package/dist/utils/code-analysis.d.ts.map +0 -1
- package/dist/utils/code-analysis.js +0 -159
- package/dist/utils/code-analysis.js.map +0 -1
- package/dist/utils/comment-analyzer.d.ts +0 -38
- package/dist/utils/comment-analyzer.d.ts.map +0 -1
- package/dist/utils/comment-analyzer.js +0 -218
- package/dist/utils/comment-analyzer.js.map +0 -1
- package/dist/utils/context-helpers.d.ts +0 -219
- package/dist/utils/context-helpers.d.ts.map +0 -1
- package/dist/utils/context-helpers.js +0 -886
- package/dist/utils/context-helpers.js.map +0 -1
- package/dist/utils/diff-detector.d.ts +0 -53
- package/dist/utils/diff-detector.d.ts.map +0 -1
- package/dist/utils/diff-detector.js +0 -104
- package/dist/utils/diff-detector.js.map +0 -1
- package/dist/utils/diff-parser.d.ts +0 -80
- package/dist/utils/diff-parser.d.ts.map +0 -1
- package/dist/utils/diff-parser.js +0 -202
- package/dist/utils/diff-parser.js.map +0 -1
- package/dist/utils/environment-context.d.ts +0 -76
- package/dist/utils/environment-context.d.ts.map +0 -1
- package/dist/utils/environment-context.js +0 -271
- package/dist/utils/environment-context.js.map +0 -1
- package/dist/utils/imported-auth-detector.d.ts +0 -37
- package/dist/utils/imported-auth-detector.d.ts.map +0 -1
- package/dist/utils/imported-auth-detector.js +0 -251
- package/dist/utils/imported-auth-detector.js.map +0 -1
- package/dist/utils/intent-detector.d.ts +0 -66
- package/dist/utils/intent-detector.d.ts.map +0 -1
- package/dist/utils/intent-detector.js +0 -282
- package/dist/utils/intent-detector.js.map +0 -1
- package/dist/utils/middleware-detector.d.ts +0 -55
- package/dist/utils/middleware-detector.d.ts.map +0 -1
- package/dist/utils/middleware-detector.js +0 -260
- package/dist/utils/middleware-detector.js.map +0 -1
- package/dist/utils/oauth-flow-detector.d.ts +0 -41
- package/dist/utils/oauth-flow-detector.d.ts.map +0 -1
- package/dist/utils/oauth-flow-detector.js +0 -202
- package/dist/utils/oauth-flow-detector.js.map +0 -1
- package/dist/utils/parsed-file.d.ts +0 -51
- package/dist/utils/parsed-file.d.ts.map +0 -1
- package/dist/utils/parsed-file.js +0 -95
- package/dist/utils/parsed-file.js.map +0 -1
- package/dist/utils/path-exclusions.d.ts +0 -55
- package/dist/utils/path-exclusions.d.ts.map +0 -1
- package/dist/utils/path-exclusions.js +0 -224
- package/dist/utils/path-exclusions.js.map +0 -1
- package/dist/utils/project-context-builder.d.ts +0 -119
- package/dist/utils/project-context-builder.d.ts.map +0 -1
- package/dist/utils/project-context-builder.js +0 -534
- package/dist/utils/project-context-builder.js.map +0 -1
- package/dist/utils/registry-clients.d.ts +0 -93
- package/dist/utils/registry-clients.d.ts.map +0 -1
- package/dist/utils/registry-clients.js +0 -273
- package/dist/utils/registry-clients.js.map +0 -1
- package/dist/utils/route-hierarchy.d.ts +0 -50
- package/dist/utils/route-hierarchy.d.ts.map +0 -1
- package/dist/utils/route-hierarchy.js +0 -226
- package/dist/utils/route-hierarchy.js.map +0 -1
- package/dist/utils/schema-semantics.d.ts +0 -45
- package/dist/utils/schema-semantics.d.ts.map +0 -1
- package/dist/utils/schema-semantics.js +0 -193
- package/dist/utils/schema-semantics.js.map +0 -1
- package/dist/utils/trpc-analyzer.d.ts +0 -78
- package/dist/utils/trpc-analyzer.d.ts.map +0 -1
- package/dist/utils/trpc-analyzer.js +0 -297
- package/dist/utils/trpc-analyzer.js.map +0 -1
- package/src/__tests__/context-engine/cross-file-taint.test.ts +0 -284
- package/src/__tests__/context-engine/function-classifier.test.ts +0 -146
- package/src/__tests__/context-engine/integration.test.ts +0 -320
- package/src/__tests__/context-engine/sanitiser-detection.test.ts +0 -187
- package/src/__tests__/context-engine/sink-matcher.test.ts +0 -251
- package/src/__tests__/context-engine/source-discovery.test.ts +0 -186
- package/src/__tests__/context-engine/taint-tracker.test.ts +0 -182
- package/src/__tests__/snapshots/__snapshots__/anthropic-validation-refactor.test.ts.snap +0 -750
- package/src/__tests__/snapshots/__snapshots__/dangerous-functions-refactor.test.ts.snap +0 -555
- package/src/__tests__/snapshots/anthropic-validation-refactor.test.ts +0 -321
- package/src/__tests__/snapshots/dangerous-functions-refactor.test.ts +0 -439
- package/src/detect/ai-code/agent-tools.ts +0 -1662
- package/src/detect/ai-code/byok-patterns.ts +0 -354
- package/src/detect/ai-code/endpoint-protection.ts +0 -406
- package/src/detect/ai-code/execution-sinks.ts +0 -1310
- package/src/detect/ai-code/fingerprinting.ts +0 -774
- package/src/detect/ai-code/mcp-security.ts +0 -937
- package/src/detect/ai-code/model-supply-chain.ts +0 -535
- package/src/detect/ai-code/package-hallucination.ts +0 -955
- package/src/detect/ai-code/prompt-hygiene.ts +0 -1314
- package/src/detect/ai-code/rag-safety.ts +0 -977
- package/src/detect/ai-code/schema-validation.ts +0 -427
- package/src/detect/secrets/patterns.ts +0 -561
- package/src/detect/secrets/weak-crypto.ts +0 -485
- package/src/detect/structural/__tests__/math-random-enhanced.test.ts +0 -405
- package/src/detect/structural/auth-patterns.ts +0 -621
- package/src/detect/structural/dangerous-functions/child-process.ts +0 -98
- package/src/detect/structural/dangerous-functions/dom-xss.ts +0 -292
- package/src/detect/structural/dangerous-functions/index.ts +0 -1556
- package/src/detect/structural/dangerous-functions/json-parse.ts +0 -393
- package/src/detect/structural/dangerous-functions/math-random.ts +0 -789
- package/src/detect/structural/dangerous-functions/patterns.ts +0 -176
- package/src/detect/structural/dangerous-functions/request-validation.ts +0 -153
- package/src/detect/structural/dangerous-functions/utils/control-flow.ts +0 -35
- package/src/detect/structural/dangerous-functions/utils/helpers.ts +0 -170
- package/src/detect/structural/dangerous-functions/utils/index.ts +0 -25
- package/src/detect/structural/dangerous-functions/utils/schema-validation.ts +0 -106
- package/src/detect/structural/data-exposure.ts +0 -302
- package/src/detect/structural/framework-checks.ts +0 -439
- package/src/detect/structural/log-injection.ts +0 -254
- package/src/detect/structural/logic-gates.ts +0 -256
- package/src/detect/structural/risky-imports.ts +0 -197
- package/src/detect/structural/security-headers.ts +0 -231
- package/src/detect/structural/ssrf-detection.ts +0 -300
- package/src/detect/structural/variables.ts +0 -177
- package/src/detect/structural/xxe-detection.ts +0 -295
- package/src/model/cross-file-taint.ts +0 -374
- package/src/model/function-classifier.ts +0 -184
- package/src/model/sanitiser-detection.ts +0 -268
- package/src/model/sink-matcher.ts +0 -178
- package/src/model/sink-patterns.ts +0 -109
- package/src/model/source-discovery.ts +0 -209
- package/src/model/taint-tracker.ts +0 -333
- package/src/score/auto-dismiss.ts +0 -224
package/dist/pipeline/index.js
CHANGED
|
@@ -52,8 +52,8 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
52
52
|
const fid = (v) => `${v.filePath}:${v.lineNumber}:${v.category}`;
|
|
53
53
|
// Resolve scan mode configuration
|
|
54
54
|
const scanModeConfig = (0, config_1.resolveScanModeConfig)(options);
|
|
55
|
-
const isIncremental = scanModeConfig.mode ===
|
|
56
|
-
const depth = scanModeConfig.scanDepth ||
|
|
55
|
+
const isIncremental = scanModeConfig.mode === "incremental";
|
|
56
|
+
const depth = scanModeConfig.scanDepth || "local";
|
|
57
57
|
const quiet = options.quiet ?? false;
|
|
58
58
|
const cancellationToken = options.cancellationToken;
|
|
59
59
|
// Conditional logging helper - suppresses output in quiet mode (interactive CLI)
|
|
@@ -65,7 +65,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
65
65
|
// Helper to check cancellation and throw if cancelled
|
|
66
66
|
const checkCancelled = () => {
|
|
67
67
|
if (cancellationToken?.cancelled) {
|
|
68
|
-
throw new Error(`Scan cancelled: ${cancellationToken.reason ||
|
|
68
|
+
throw new Error(`Scan cancelled: ${cancellationToken.reason || "user requested"}`);
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
log(`[Scanner] repo=${repoInfo.name} mode=${scanModeConfig.mode} depth=${depth} files=${files.length}`);
|
|
@@ -73,9 +73,9 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
73
73
|
log(`[Scanner] repo=${repoInfo.name} incremental_files=${scanModeConfig.changedFiles.length}`);
|
|
74
74
|
}
|
|
75
75
|
// Filter out locale/i18n files - they contain translations, not code
|
|
76
|
-
const localeFileCount = files.filter(f => (0, file_classifier_1.isLocaleFile)(f.path)).length;
|
|
76
|
+
const localeFileCount = files.filter((f) => (0, file_classifier_1.isLocaleFile)(f.path)).length;
|
|
77
77
|
if (localeFileCount > 0) {
|
|
78
|
-
files = files.filter(f => !(0, file_classifier_1.isLocaleFile)(f.path));
|
|
78
|
+
files = files.filter((f) => !(0, file_classifier_1.isLocaleFile)(f.path));
|
|
79
79
|
log(`[Scanner] repo=${repoInfo.name} skipped_locale_files=${localeFileCount} remaining_files=${files.length}`);
|
|
80
80
|
}
|
|
81
81
|
// Report progress helper
|
|
@@ -92,7 +92,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
92
92
|
};
|
|
93
93
|
// For incremental scans, filter to only changed files for AI-heavy operations
|
|
94
94
|
const filesForAI = isIncremental && scanModeConfig.changedFiles
|
|
95
|
-
? files.filter(f => scanModeConfig.changedFiles.some(cf => f.path.endsWith(cf) || f.path.includes(cf)))
|
|
95
|
+
? files.filter((f) => scanModeConfig.changedFiles.some((cf) => f.path.endsWith(cf) || f.path.includes(cf)))
|
|
96
96
|
: files;
|
|
97
97
|
// Declare variables that need to be accessible in catch block
|
|
98
98
|
let middlewareConfig;
|
|
@@ -106,26 +106,30 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
106
106
|
middlewareConfig = model.middlewareConfig;
|
|
107
107
|
log(`[Model] repo=${repoInfo.name} build_duration=${modelDuration}ms taint_duration=${model.taintStats.duration}ms`);
|
|
108
108
|
if (model.middlewareConfig.hasAuthMiddleware) {
|
|
109
|
-
log(`[Scanner] repo=${repoInfo.name} auth_middleware=${model.middlewareConfig.authType ||
|
|
109
|
+
log(`[Scanner] repo=${repoInfo.name} auth_middleware=${model.middlewareConfig.authType || "unknown"} file=${model.middlewareConfig.middlewareFile}`);
|
|
110
110
|
}
|
|
111
|
-
const filesWithImportedAuth = Array.from(model.fileAuthImports.values()).filter(f => f.usesImportedAuth).length;
|
|
111
|
+
const filesWithImportedAuth = Array.from(model.fileAuthImports.values()).filter((f) => f.usesImportedAuth).length;
|
|
112
112
|
if (filesWithImportedAuth > 0) {
|
|
113
113
|
log(`[Scanner] repo=${repoInfo.name} files_with_imported_auth=${filesWithImportedAuth}`);
|
|
114
114
|
}
|
|
115
115
|
// Log route discovery stats
|
|
116
116
|
const rs = model.routeStats;
|
|
117
117
|
if (rs.totalRoutes > 0) {
|
|
118
|
-
log(`[Routes] repo=${repoInfo.name} total=${rs.totalRoutes} authed=${rs.authedRoutes} public=${rs.publicRoutes} unprotected=${rs.unprotectedRoutes} frameworks=${rs.frameworksDetected.join(
|
|
118
|
+
log(`[Routes] repo=${repoInfo.name} total=${rs.totalRoutes} authed=${rs.authedRoutes} public=${rs.publicRoutes} unprotected=${rs.unprotectedRoutes} frameworks=${rs.frameworksDetected.join(",")} duration=${rs.duration}ms`);
|
|
119
119
|
}
|
|
120
120
|
// Log taint analysis stats
|
|
121
121
|
const ts = model.taintStats;
|
|
122
122
|
log(`[Taint] repo=${repoInfo.name} files_analyzed=${ts.filesAnalyzed} files_with_sources=${ts.filesWithSources} files_with_taint_paths=${ts.filesWithTaintPaths} duration=${ts.duration}ms`);
|
|
123
123
|
if (ts.totalSources > 0) {
|
|
124
124
|
log(`[Taint] repo=${repoInfo.name} sources=${ts.totalSources} tainted_vars=${ts.totalTaintedVars} taint_paths=${ts.totalTaintPaths} (unsanitised=${ts.unsanitisedPaths} sanitised=${ts.sanitisedPaths}) sanitisers=${ts.totalSanitisers}`);
|
|
125
|
-
const sourceBreakdown = Object.entries(ts.sourceTypeBreakdown)
|
|
125
|
+
const sourceBreakdown = Object.entries(ts.sourceTypeBreakdown)
|
|
126
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
127
|
+
.join(",");
|
|
126
128
|
if (sourceBreakdown)
|
|
127
129
|
log(`[Taint] repo=${repoInfo.name} source_types={${sourceBreakdown}}`);
|
|
128
|
-
const sinkBreakdown = Object.entries(ts.sinkTypeBreakdown)
|
|
130
|
+
const sinkBreakdown = Object.entries(ts.sinkTypeBreakdown)
|
|
131
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
132
|
+
.join(",");
|
|
129
133
|
if (sinkBreakdown)
|
|
130
134
|
log(`[Taint] repo=${repoInfo.name} sink_types={${sinkBreakdown}}`);
|
|
131
135
|
}
|
|
@@ -141,12 +145,14 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
141
145
|
filterPipeline,
|
|
142
146
|
repoName: repoInfo.name,
|
|
143
147
|
quiet,
|
|
148
|
+
precomputedASTs: model.parsedASTs,
|
|
149
|
+
precomputedTaintFindings: model.v2ProjectFindings,
|
|
144
150
|
});
|
|
145
151
|
const phaseTiming = {
|
|
146
152
|
...detectorOutput.phaseTiming,
|
|
147
153
|
};
|
|
148
154
|
// ===== Dependency Auditing (Pro/Max only) =====
|
|
149
|
-
const enableDepChecks = (options.enableDependencyChecks ?? false) && depth !==
|
|
155
|
+
const enableDepChecks = (options.enableDependencyChecks ?? false) && depth !== "local";
|
|
150
156
|
let enrichedPostinstallFindings = detectorOutput.findings;
|
|
151
157
|
if (enableDepChecks) {
|
|
152
158
|
// 1. Check for known vulnerabilities via OSV.dev
|
|
@@ -160,7 +166,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
160
166
|
enrichedPostinstallFindings = await (0, config_audit_1.enrichPostinstallFindings)(enrichedPostinstallFindings);
|
|
161
167
|
log(`[DepAudit] repo=${repoInfo.name} osv+pkg checks completed`);
|
|
162
168
|
}
|
|
163
|
-
else if (depth !==
|
|
169
|
+
else if (depth !== "local") {
|
|
164
170
|
log(`[DepAudit] repo=${repoInfo.name} skipped=true reason=tier_gated`);
|
|
165
171
|
}
|
|
166
172
|
// ===== Aggregate Noisy Findings =====
|
|
@@ -170,7 +176,11 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
170
176
|
const afterIds = new Set(aggregatedFindings.map(fid));
|
|
171
177
|
for (const v of enrichedPostinstallFindings) {
|
|
172
178
|
if (!afterIds.has(fid(v))) {
|
|
173
|
-
filterPipeline.record(fid(v), {
|
|
179
|
+
filterPipeline.record(fid(v), {
|
|
180
|
+
stage: "noisy_aggregation",
|
|
181
|
+
action: "aggregated",
|
|
182
|
+
reason: "Aggregated noisy finding (3+ similar per file)",
|
|
183
|
+
});
|
|
174
184
|
}
|
|
175
185
|
}
|
|
176
186
|
}
|
|
@@ -179,42 +189,48 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
179
189
|
// ===== Confidence Scoring =====
|
|
180
190
|
const { scored: scoredFindings, diagnostics: scoringDiagnostics } = (0, score_1.scoreFindings)(enrichedFindings, depth, model.contextEngine);
|
|
181
191
|
// ===== Confidence-based Routing =====
|
|
182
|
-
const toSurface = scoredFindings.filter(f => f.confidence_score.routing ===
|
|
183
|
-
const toValidate = scoredFindings.filter(f => f.confidence_score.routing ===
|
|
184
|
-
const suppressed = scoredFindings.filter(f => f.confidence_score.routing ===
|
|
185
|
-
|
|
192
|
+
const toSurface = scoredFindings.filter((f) => f.confidence_score.routing === "surface");
|
|
193
|
+
const toValidate = scoredFindings.filter((f) => f.confidence_score.routing === "validate");
|
|
194
|
+
const suppressed = scoredFindings.filter((f) => f.confidence_score.routing === "suppress");
|
|
195
|
+
// Capture "for review" findings: suppressed but score >= threshold (local depth only)
|
|
196
|
+
const forReview = depth === "local"
|
|
197
|
+
? suppressed.filter((f) => f.confidence_score.score >= score_1.FOR_REVIEW_THRESHOLD)
|
|
198
|
+
: [];
|
|
199
|
+
log(`[Confidence] repo=${repoInfo.name} depth=${depth} routing: surface=${toSurface.length} validate=${toValidate.length} suppress=${suppressed.length}${forReview.length > 0 ? ` for_review=${forReview.length}` : ""}`);
|
|
186
200
|
// Log scoring diagnostics
|
|
187
201
|
const dist = scoringDiagnostics.scoreDistribution;
|
|
188
|
-
log(`[Scoring] repo=${repoInfo.name} score_distribution: [0-0.2]=${dist[
|
|
202
|
+
log(`[Scoring] repo=${repoInfo.name} score_distribution: [0-0.2]=${dist["0.0-0.2"]} [0.2-0.4]=${dist["0.2-0.4"]} [0.4-0.6]=${dist["0.4-0.6"]} [0.6-0.8]=${dist["0.6-0.8"]} [0.8-1.0]=${dist["0.8-1.0"]}`);
|
|
189
203
|
const ruleHits = Object.entries(scoringDiagnostics.ruleHitCounts)
|
|
190
204
|
.sort(([, a], [, b]) => b - a)
|
|
191
205
|
.map(([name, count]) => `${name}:${count}`)
|
|
192
|
-
.join(
|
|
206
|
+
.join(",");
|
|
193
207
|
if (ruleHits)
|
|
194
208
|
log(`[Scoring] repo=${repoInfo.name} rule_hits={${ruleHits}}`);
|
|
195
209
|
const taintHits = Object.entries(scoringDiagnostics.taintRuleHits)
|
|
196
210
|
.map(([name, count]) => `${name}:${count}`)
|
|
197
|
-
.join(
|
|
211
|
+
.join(",");
|
|
198
212
|
if (taintHits)
|
|
199
213
|
log(`[Scoring] repo=${repoInfo.name} taint_rule_hits={${taintHits}}`);
|
|
200
214
|
const catScores = Object.entries(scoringDiagnostics.categoryAvgScores)
|
|
201
215
|
.sort(([, a], [, b]) => b.avg - a.avg)
|
|
202
216
|
.map(([cat, d]) => `${cat}:${d.avg.toFixed(2)}(n=${d.count})`)
|
|
203
|
-
.join(
|
|
217
|
+
.join(",");
|
|
204
218
|
if (catScores)
|
|
205
219
|
log(`[Scoring] repo=${repoInfo.name} category_avg_scores={${catScores}}`);
|
|
206
|
-
// Record suppressed findings in filter pipeline
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
220
|
+
// Record suppressed findings in filter pipeline + onDismiss callback
|
|
221
|
+
for (const v of suppressed) {
|
|
222
|
+
const adjustmentSummary = v.confidence_score.adjustments
|
|
223
|
+
.map((a) => `${a.factor}(${a.delta > 0 ? "+" : ""}${a.delta.toFixed(2)})`)
|
|
224
|
+
.join(", ");
|
|
225
|
+
const reason = `Suppressed by confidence score (${v.confidence_score.score.toFixed(2)}): ${adjustmentSummary || "base too low"}`;
|
|
226
|
+
if (filterPipeline.isEnabled) {
|
|
212
227
|
filterPipeline.record(fid(v), {
|
|
213
|
-
stage:
|
|
214
|
-
action:
|
|
215
|
-
reason
|
|
228
|
+
stage: "confidence_scoring",
|
|
229
|
+
action: "dismissed",
|
|
230
|
+
reason,
|
|
216
231
|
});
|
|
217
232
|
}
|
|
233
|
+
options.onDismiss?.(v, reason);
|
|
218
234
|
}
|
|
219
235
|
// ===== Per-File Validation Cap =====
|
|
220
236
|
const maxValidationFiles = scanModeConfig.maxAIValidationFiles || 10;
|
|
@@ -222,39 +238,65 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
222
238
|
checkCancelled();
|
|
223
239
|
// ===== AI Validation =====
|
|
224
240
|
let validatedFindings = cappedValidation;
|
|
225
|
-
const shouldValidate = options.enableAI !== false &&
|
|
241
|
+
const shouldValidate = options.enableAI !== false &&
|
|
242
|
+
!scanModeConfig.skipAIValidation &&
|
|
243
|
+
cappedValidation.length > 0;
|
|
226
244
|
if (shouldValidate) {
|
|
227
245
|
checkCancelled();
|
|
228
246
|
const aiValidationStart = Date.now();
|
|
229
|
-
reportProgress(
|
|
247
|
+
reportProgress("validating", "AI validating findings (entropy, secrets, AI patterns)...", cappedValidation.length);
|
|
230
248
|
// For incremental scans, only validate findings in changed files
|
|
231
249
|
const findingsToValidate = isIncremental && scanModeConfig.changedFiles
|
|
232
|
-
? cappedValidation.filter(v => scanModeConfig.changedFiles.some(cf => v.filePath.endsWith(cf) || v.filePath.includes(cf)))
|
|
250
|
+
? cappedValidation.filter((v) => scanModeConfig.changedFiles.some((cf) => v.filePath.endsWith(cf) || v.filePath.includes(cf)))
|
|
233
251
|
: cappedValidation;
|
|
234
252
|
if (findingsToValidate.length > 0) {
|
|
235
|
-
const validationResult = await (0, validate_1.validateFindingsWithAI)(findingsToValidate, filesForAI, model.contextEngine, onProgress
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
253
|
+
const validationResult = await (0, validate_1.validateFindingsWithAI)(findingsToValidate, filesForAI, model.contextEngine, onProgress
|
|
254
|
+
? (progress) => {
|
|
255
|
+
onProgress({
|
|
256
|
+
status: "validating",
|
|
257
|
+
message: progress.status,
|
|
258
|
+
filesProcessed: progress.filesProcessed,
|
|
259
|
+
totalFiles: progress.totalFiles,
|
|
260
|
+
vulnerabilitiesFound: allVulnerabilities.length,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
: undefined, quiet);
|
|
244
264
|
validatedFindings = validationResult.vulnerabilities;
|
|
245
265
|
const { stats: validationStats } = validationResult;
|
|
246
266
|
capturedValidationStats = validationStats;
|
|
247
267
|
phaseTiming.aiValidation = Date.now() - aiValidationStart;
|
|
248
|
-
|
|
268
|
+
{
|
|
249
269
|
const validatedIds = new Set(validatedFindings.map(fid));
|
|
250
270
|
for (const v of findingsToValidate) {
|
|
251
271
|
if (!validatedIds.has(fid(v))) {
|
|
252
|
-
|
|
272
|
+
// Try to find specific rejection reason from breakdown
|
|
273
|
+
let dismissReason = "Dismissed by AI validation";
|
|
274
|
+
if (capturedValidationStats?.rejectionBreakdown?.[v.category]) {
|
|
275
|
+
const match = capturedValidationStats.rejectionBreakdown[v.category].find((d) => d.filePath === v.filePath && d.title === v.title);
|
|
276
|
+
if (match)
|
|
277
|
+
dismissReason = match.reason;
|
|
278
|
+
}
|
|
279
|
+
if (filterPipeline.isEnabled) {
|
|
280
|
+
filterPipeline.record(fid(v), {
|
|
281
|
+
stage: "ai_validation",
|
|
282
|
+
action: "dismissed",
|
|
283
|
+
reason: dismissReason,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
options.onDismiss?.(v, dismissReason);
|
|
253
287
|
}
|
|
254
288
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
289
|
+
if (filterPipeline.isEnabled) {
|
|
290
|
+
for (const v of validatedFindings) {
|
|
291
|
+
if (v.validationNotes?.toLowerCase().includes("downgrad")) {
|
|
292
|
+
filterPipeline.record(fid(v), {
|
|
293
|
+
stage: "ai_validation",
|
|
294
|
+
action: "downgraded",
|
|
295
|
+
reason: v.validationNotes || "Downgraded by AI validation",
|
|
296
|
+
originalSeverity: undefined,
|
|
297
|
+
newSeverity: v.severity,
|
|
298
|
+
});
|
|
299
|
+
}
|
|
258
300
|
}
|
|
259
301
|
}
|
|
260
302
|
}
|
|
@@ -266,35 +308,69 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
266
308
|
const categoryRejected = {};
|
|
267
309
|
const categoryDowngraded = {};
|
|
268
310
|
for (const f of findingsToValidate) {
|
|
269
|
-
categorySubmitted[f.category] =
|
|
311
|
+
categorySubmitted[f.category] =
|
|
312
|
+
(categorySubmitted[f.category] || 0) + 1;
|
|
270
313
|
}
|
|
271
314
|
for (const f of validatedFindings) {
|
|
272
|
-
if (f.validationStatus ===
|
|
315
|
+
if (f.validationStatus === "confirmed") {
|
|
273
316
|
categoryKept[f.category] = (categoryKept[f.category] || 0) + 1;
|
|
274
317
|
}
|
|
275
|
-
else if (f.validationStatus ===
|
|
276
|
-
categoryDowngraded[f.category] =
|
|
318
|
+
else if (f.validationStatus === "downgraded") {
|
|
319
|
+
categoryDowngraded[f.category] =
|
|
320
|
+
(categoryDowngraded[f.category] || 0) + 1;
|
|
277
321
|
}
|
|
278
322
|
}
|
|
279
323
|
for (const [cat, submitted] of Object.entries(categorySubmitted)) {
|
|
280
324
|
const kept = (categoryKept[cat] || 0) + (categoryDowngraded[cat] || 0);
|
|
281
325
|
categoryRejected[cat] = submitted - kept;
|
|
282
326
|
}
|
|
283
|
-
const rejBreakdown = Object.entries(categoryRejected)
|
|
327
|
+
const rejBreakdown = Object.entries(categoryRejected)
|
|
328
|
+
.filter(([, v]) => v > 0)
|
|
329
|
+
.sort(([, a], [, b]) => b - a)
|
|
330
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
331
|
+
.join(",");
|
|
284
332
|
if (rejBreakdown)
|
|
285
333
|
log(`[AI Validation] repo=${repoInfo.name} rejected_by_category={${rejBreakdown}}`);
|
|
286
|
-
const keptBreakdown = Object.entries(categoryKept)
|
|
334
|
+
const keptBreakdown = Object.entries(categoryKept)
|
|
335
|
+
.filter(([, v]) => v > 0)
|
|
336
|
+
.sort(([, a], [, b]) => b - a)
|
|
337
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
338
|
+
.join(",");
|
|
287
339
|
if (keptBreakdown)
|
|
288
340
|
log(`[AI Validation] repo=${repoInfo.name} confirmed_by_category={${keptBreakdown}}`);
|
|
289
|
-
const dgBreakdown = Object.entries(categoryDowngraded)
|
|
341
|
+
const dgBreakdown = Object.entries(categoryDowngraded)
|
|
342
|
+
.filter(([, v]) => v > 0)
|
|
343
|
+
.sort(([, a], [, b]) => b - a)
|
|
344
|
+
.map(([k, v]) => `${k}:${v}`)
|
|
345
|
+
.join(",");
|
|
290
346
|
if (dgBreakdown)
|
|
291
347
|
log(`[AI Validation] repo=${repoInfo.name} downgraded_by_category={${dgBreakdown}}`);
|
|
348
|
+
// Structured rejection reason logging
|
|
349
|
+
if (capturedValidationStats?.rejectionBreakdown) {
|
|
350
|
+
const reasonCounts = {};
|
|
351
|
+
for (const entries of Object.values(capturedValidationStats.rejectionBreakdown)) {
|
|
352
|
+
for (const entry of entries) {
|
|
353
|
+
// Normalize reasons to short categories
|
|
354
|
+
const shortReason = entry.reason.substring(0, 60);
|
|
355
|
+
reasonCounts[shortReason] = (reasonCounts[shortReason] || 0) + 1;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
const topReasons = Object.entries(reasonCounts)
|
|
359
|
+
.sort(([, a], [, b]) => b - a)
|
|
360
|
+
.slice(0, 5)
|
|
361
|
+
.map(([reason, count]) => `${reason}:${count}`)
|
|
362
|
+
.join(",");
|
|
363
|
+
if (topReasons)
|
|
364
|
+
log(`[AI Validation] repo=${repoInfo.name} top_rejection_reasons={${topReasons}}`);
|
|
365
|
+
}
|
|
292
366
|
// Add back findings that weren't validated (not in changed files)
|
|
293
|
-
const notValidated = cappedValidation
|
|
367
|
+
const notValidated = cappedValidation
|
|
368
|
+
.filter((v) => !findingsToValidate.includes(v))
|
|
369
|
+
.map((v) => ({
|
|
294
370
|
...v,
|
|
295
371
|
validatedByAI: false,
|
|
296
|
-
validationStatus:
|
|
297
|
-
validationNotes:
|
|
372
|
+
validationStatus: "not_validated",
|
|
373
|
+
validationNotes: "Skipped validation (not in changed files for incremental scan)",
|
|
298
374
|
}));
|
|
299
375
|
validatedFindings.push(...notValidated);
|
|
300
376
|
}
|
|
@@ -303,6 +379,14 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
303
379
|
log(`[AI Validation] repo=${repoInfo.name} depth=${depth} skipped=true reason=scan_mode_config findings_requiring_validation=${cappedValidation.length}`);
|
|
304
380
|
validatedFindings = [];
|
|
305
381
|
}
|
|
382
|
+
else if (!shouldValidate && cappedValidation.length > 0) {
|
|
383
|
+
// AI not available but findings exist — mark as unvalidated so users know
|
|
384
|
+
validatedFindings = cappedValidation.map((v) => ({
|
|
385
|
+
...v,
|
|
386
|
+
validationStatus: "not_validated",
|
|
387
|
+
}));
|
|
388
|
+
log(`[AI Validation] repo=${repoInfo.name} depth=${depth} skipped=true reason=ai_unavailable unvalidated_findings=${cappedValidation.length}`);
|
|
389
|
+
}
|
|
306
390
|
// ===== Combine surfaced + validated =====
|
|
307
391
|
allVulnerabilities.push(...validatedFindings, ...toSurface);
|
|
308
392
|
// Layer 3: AI Semantic Analysis (removed — deep mode unused in production)
|
|
@@ -317,7 +401,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
317
401
|
const phaseTimingStr = Object.entries(allTimings)
|
|
318
402
|
.filter(([, ms]) => ms !== undefined)
|
|
319
403
|
.map(([phase, ms]) => `${phase}=${ms}ms`)
|
|
320
|
-
.join(
|
|
404
|
+
.join(" ");
|
|
321
405
|
if (phaseTimingStr) {
|
|
322
406
|
log(`[Scanner] repo=${repoInfo.name} phase_timing: ${phaseTimingStr}`);
|
|
323
407
|
}
|
|
@@ -331,10 +415,11 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
331
415
|
showSuppressed: options.showSuppressed,
|
|
332
416
|
});
|
|
333
417
|
// Log suppression stats if any were suppressed
|
|
334
|
-
if (postprocessed.suppressionResult.suppressed.length > 0 ||
|
|
418
|
+
if (postprocessed.suppressionResult.suppressed.length > 0 ||
|
|
419
|
+
postprocessed.suppressionResult.expiredSuppressions > 0) {
|
|
335
420
|
log(`[Suppression] repo=${repoInfo.name} suppressed=${postprocessed.suppressionResult.suppressed.length} (inline=${postprocessed.suppressionResult.stats.inlineSuppressed} config_finding=${postprocessed.suppressionResult.stats.configFindingSuppressed} config_rule=${postprocessed.suppressionResult.stats.configRuleSuppressed}) expired=${postprocessed.suppressionResult.expiredSuppressions}`);
|
|
336
421
|
}
|
|
337
|
-
reportProgress(
|
|
422
|
+
reportProgress("complete", "Scan complete!", postprocessed.findings.length);
|
|
338
423
|
// ===== Pipeline Funnel Summary =====
|
|
339
424
|
const totalDuration = Date.now() - startTime;
|
|
340
425
|
const funnelParts = [
|
|
@@ -350,8 +435,10 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
350
435
|
funnelParts.push(`ai_rejected=${capturedValidationStats.dismissedFindings}`);
|
|
351
436
|
}
|
|
352
437
|
funnelParts.push(`postprocessed=${postprocessed.findings.length}`);
|
|
353
|
-
log(`[Funnel] repo=${repoInfo.name} ${funnelParts.join(
|
|
438
|
+
log(`[Funnel] repo=${repoInfo.name} ${funnelParts.join(" → ")}`);
|
|
354
439
|
log(`[Summary] repo=${repoInfo.name} total_duration=${totalDuration}ms files=${files.length} final_findings=${postprocessed.findings.length}`);
|
|
440
|
+
// ===== Compute Language Stats =====
|
|
441
|
+
const languageStats = computeLanguageStats(files);
|
|
355
442
|
// ===== Build Final Result =====
|
|
356
443
|
return (0, build_result_1.buildScanResult)({
|
|
357
444
|
repoInfo,
|
|
@@ -362,12 +449,15 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
362
449
|
validationStats: capturedValidationStats,
|
|
363
450
|
showSuppressed: options.showSuppressed,
|
|
364
451
|
filterPipeline,
|
|
452
|
+
projectContext: model.contextEngine.projectContext,
|
|
453
|
+
forReviewFindings: forReview,
|
|
454
|
+
languageStats,
|
|
365
455
|
});
|
|
366
456
|
}
|
|
367
457
|
catch (error) {
|
|
368
458
|
if (cancellationToken?.cancelled) {
|
|
369
459
|
// Return partial results on cancellation
|
|
370
|
-
reportProgress(
|
|
460
|
+
reportProgress("failed", "Scan cancelled");
|
|
371
461
|
// Compute partial results
|
|
372
462
|
const uniqueVulnerabilities = (0, dedup_1.deduplicateVulnerabilities)(allVulnerabilities);
|
|
373
463
|
const resolvedVulnerabilities = (0, contradictions_1.resolveContradictions)(uniqueVulnerabilities, middlewareConfig);
|
|
@@ -391,8 +481,46 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
391
481
|
cancelReason: cancellationToken.reason,
|
|
392
482
|
};
|
|
393
483
|
}
|
|
394
|
-
reportProgress(
|
|
484
|
+
reportProgress("failed", `Scan failed: ${error}`);
|
|
395
485
|
throw error;
|
|
396
486
|
}
|
|
397
487
|
}
|
|
488
|
+
// ============================================================================
|
|
489
|
+
// Helpers
|
|
490
|
+
// ============================================================================
|
|
491
|
+
const EXT_TO_LANGUAGE = {
|
|
492
|
+
".js": "JavaScript",
|
|
493
|
+
".jsx": "JavaScript",
|
|
494
|
+
".mjs": "JavaScript",
|
|
495
|
+
".cjs": "JavaScript",
|
|
496
|
+
".ts": "TypeScript",
|
|
497
|
+
".tsx": "TypeScript",
|
|
498
|
+
".py": "Python",
|
|
499
|
+
".rb": "Ruby",
|
|
500
|
+
".php": "PHP",
|
|
501
|
+
".go": "Go",
|
|
502
|
+
".java": "Java",
|
|
503
|
+
".cs": "C#",
|
|
504
|
+
".yaml": "YAML",
|
|
505
|
+
".yml": "YAML",
|
|
506
|
+
".json": "JSON",
|
|
507
|
+
".toml": "TOML",
|
|
508
|
+
".env": "Env",
|
|
509
|
+
".sh": "Shell",
|
|
510
|
+
".bash": "Shell",
|
|
511
|
+
".dockerfile": "Dockerfile",
|
|
512
|
+
".md": "Markdown",
|
|
513
|
+
};
|
|
514
|
+
/** Compute language breakdown from scanned files */
|
|
515
|
+
function computeLanguageStats(files) {
|
|
516
|
+
const stats = {};
|
|
517
|
+
for (const file of files) {
|
|
518
|
+
const ext = file.path.includes(".")
|
|
519
|
+
? "." + file.path.split(".").pop().toLowerCase()
|
|
520
|
+
: "";
|
|
521
|
+
const lang = EXT_TO_LANGUAGE[ext] || "Other";
|
|
522
|
+
stats[lang] = (stats[lang] || 0) + 1;
|
|
523
|
+
}
|
|
524
|
+
return stats;
|
|
525
|
+
}
|
|
398
526
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../src/pipeline/modes/incremental.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG7F,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../src/pipeline/modes/incremental.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG7F,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAA;AAIjC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,uCAAuC;IACvC,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,kEAAkE;IAClE,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA+HhC;AAwCD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,cAAc,CAWhB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG;IACrE,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAwBA"}
|
|
@@ -11,6 +11,7 @@ const secrets_1 = require("../../detect/secrets");
|
|
|
11
11
|
const structural_1 = require("../../detect/structural");
|
|
12
12
|
const diff_parser_1 = require("../../shared/diff-parser");
|
|
13
13
|
const middleware_detector_1 = require("../../model/middleware-detector");
|
|
14
|
+
const regex_utils_1 = require("../../shared/regex-utils");
|
|
14
15
|
/**
|
|
15
16
|
* Run an incremental scan optimized for PR workflows
|
|
16
17
|
*
|
|
@@ -143,7 +144,7 @@ function findImporters(allFiles, changedPaths) {
|
|
|
143
144
|
for (const { fullPath, filename } of importPatterns) {
|
|
144
145
|
// Match various import patterns
|
|
145
146
|
const importRegex = new RegExp(`(?:import|require)\\s*(?:\\([^)]*|[^;]*from\\s*)['"]` +
|
|
146
|
-
`(?:\\.{0,2}/)?(?:${escapeRegex(fullPath)}|[^'"]*/${escapeRegex(filename)})['"]`, 'i');
|
|
147
|
+
`(?:\\.{0,2}/)?(?:${(0, regex_utils_1.escapeRegex)(fullPath)}|[^'"]*/${(0, regex_utils_1.escapeRegex)(filename)})['"]`, 'i');
|
|
147
148
|
if (importRegex.test(file.content)) {
|
|
148
149
|
importers.add(file.path);
|
|
149
150
|
break;
|
|
@@ -152,12 +153,6 @@ function findImporters(allFiles, changedPaths) {
|
|
|
152
153
|
}
|
|
153
154
|
return importers;
|
|
154
155
|
}
|
|
155
|
-
/**
|
|
156
|
-
* Escape special regex characters
|
|
157
|
-
*/
|
|
158
|
-
function escapeRegex(str) {
|
|
159
|
-
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
160
|
-
}
|
|
161
156
|
/**
|
|
162
157
|
* Create a PR-optimized scan config
|
|
163
158
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../src/pipeline/modes/incremental.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../src/pipeline/modes/incremental.ts"],"names":[],"mappings":"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"}
|