@oculum/scanner 1.0.9 → 1.0.11
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/baseline/diff.d.ts +32 -0
- package/dist/baseline/diff.d.ts.map +1 -0
- package/dist/baseline/diff.js +119 -0
- package/dist/baseline/diff.js.map +1 -0
- package/dist/baseline/index.d.ts +9 -0
- package/dist/baseline/index.d.ts.map +1 -0
- package/dist/baseline/index.js +19 -0
- package/dist/baseline/index.js.map +1 -0
- package/dist/baseline/manager.d.ts +67 -0
- package/dist/baseline/manager.d.ts.map +1 -0
- package/dist/baseline/manager.js +180 -0
- package/dist/baseline/manager.js.map +1 -0
- package/dist/baseline/types.d.ts +91 -0
- package/dist/baseline/types.d.ts.map +1 -0
- package/dist/baseline/types.js +12 -0
- package/dist/baseline/types.js.map +1 -0
- package/dist/formatters/cli-terminal.d.ts +38 -0
- package/dist/formatters/cli-terminal.d.ts.map +1 -1
- package/dist/formatters/cli-terminal.js +365 -42
- package/dist/formatters/cli-terminal.js.map +1 -1
- package/dist/formatters/github-comment.d.ts +1 -1
- package/dist/formatters/github-comment.d.ts.map +1 -1
- package/dist/formatters/github-comment.js +75 -11
- package/dist/formatters/github-comment.js.map +1 -1
- package/dist/formatters/index.d.ts +1 -1
- package/dist/formatters/index.d.ts.map +1 -1
- package/dist/formatters/index.js +4 -1
- package/dist/formatters/index.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -16
- package/dist/index.js.map +1 -1
- package/dist/layer1/config-audit.d.ts.map +1 -1
- package/dist/layer1/config-audit.js +20 -3
- package/dist/layer1/config-audit.js.map +1 -1
- package/dist/layer1/config-mcp-audit.d.ts +20 -0
- package/dist/layer1/config-mcp-audit.d.ts.map +1 -0
- package/dist/layer1/config-mcp-audit.js +239 -0
- package/dist/layer1/config-mcp-audit.js.map +1 -0
- package/dist/layer1/index.d.ts +1 -0
- package/dist/layer1/index.d.ts.map +1 -1
- package/dist/layer1/index.js +9 -1
- package/dist/layer1/index.js.map +1 -1
- package/dist/layer2/ai-agent-tools.d.ts.map +1 -1
- package/dist/layer2/ai-agent-tools.js +303 -0
- package/dist/layer2/ai-agent-tools.js.map +1 -1
- package/dist/layer2/ai-endpoint-protection.d.ts.map +1 -1
- package/dist/layer2/ai-endpoint-protection.js +17 -3
- package/dist/layer2/ai-endpoint-protection.js.map +1 -1
- package/dist/layer2/ai-execution-sinks.d.ts.map +1 -1
- package/dist/layer2/ai-execution-sinks.js +462 -12
- package/dist/layer2/ai-execution-sinks.js.map +1 -1
- package/dist/layer2/ai-fingerprinting.d.ts.map +1 -1
- package/dist/layer2/ai-fingerprinting.js +3 -0
- package/dist/layer2/ai-fingerprinting.js.map +1 -1
- package/dist/layer2/ai-mcp-security.d.ts +17 -0
- package/dist/layer2/ai-mcp-security.d.ts.map +1 -0
- package/dist/layer2/ai-mcp-security.js +679 -0
- package/dist/layer2/ai-mcp-security.js.map +1 -0
- package/dist/layer2/ai-package-hallucination.d.ts +19 -0
- package/dist/layer2/ai-package-hallucination.d.ts.map +1 -0
- package/dist/layer2/ai-package-hallucination.js +696 -0
- package/dist/layer2/ai-package-hallucination.js.map +1 -0
- package/dist/layer2/ai-prompt-hygiene.d.ts.map +1 -1
- package/dist/layer2/ai-prompt-hygiene.js +495 -9
- package/dist/layer2/ai-prompt-hygiene.js.map +1 -1
- package/dist/layer2/ai-rag-safety.d.ts.map +1 -1
- package/dist/layer2/ai-rag-safety.js +372 -1
- package/dist/layer2/ai-rag-safety.js.map +1 -1
- package/dist/layer2/auth-antipatterns.d.ts.map +1 -1
- package/dist/layer2/auth-antipatterns.js +4 -0
- package/dist/layer2/auth-antipatterns.js.map +1 -1
- package/dist/layer2/byok-patterns.d.ts.map +1 -1
- package/dist/layer2/byok-patterns.js +3 -0
- package/dist/layer2/byok-patterns.js.map +1 -1
- package/dist/layer2/dangerous-functions/child-process.d.ts +16 -0
- package/dist/layer2/dangerous-functions/child-process.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/child-process.js +74 -0
- package/dist/layer2/dangerous-functions/child-process.js.map +1 -0
- package/dist/layer2/dangerous-functions/dom-xss.d.ts +29 -0
- package/dist/layer2/dangerous-functions/dom-xss.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/dom-xss.js +179 -0
- package/dist/layer2/dangerous-functions/dom-xss.js.map +1 -0
- package/dist/layer2/dangerous-functions/index.d.ts +13 -0
- package/dist/layer2/dangerous-functions/index.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/index.js +621 -0
- package/dist/layer2/dangerous-functions/index.js.map +1 -0
- package/dist/layer2/dangerous-functions/json-parse.d.ts +31 -0
- package/dist/layer2/dangerous-functions/json-parse.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/json-parse.js +319 -0
- package/dist/layer2/dangerous-functions/json-parse.js.map +1 -0
- package/dist/layer2/dangerous-functions/math-random.d.ts +61 -0
- package/dist/layer2/dangerous-functions/math-random.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/math-random.js +459 -0
- package/dist/layer2/dangerous-functions/math-random.js.map +1 -0
- package/dist/layer2/dangerous-functions/patterns.d.ts +21 -0
- package/dist/layer2/dangerous-functions/patterns.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/patterns.js +161 -0
- package/dist/layer2/dangerous-functions/patterns.js.map +1 -0
- package/dist/layer2/dangerous-functions/request-validation.d.ts +13 -0
- package/dist/layer2/dangerous-functions/request-validation.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/request-validation.js +119 -0
- package/dist/layer2/dangerous-functions/request-validation.js.map +1 -0
- package/dist/layer2/dangerous-functions/utils/control-flow.d.ts +23 -0
- package/dist/layer2/dangerous-functions/utils/control-flow.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/utils/control-flow.js +149 -0
- package/dist/layer2/dangerous-functions/utils/control-flow.js.map +1 -0
- package/dist/layer2/dangerous-functions/utils/helpers.d.ts +31 -0
- package/dist/layer2/dangerous-functions/utils/helpers.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/utils/helpers.js +124 -0
- package/dist/layer2/dangerous-functions/utils/helpers.js.map +1 -0
- package/dist/layer2/dangerous-functions/utils/index.d.ts +9 -0
- package/dist/layer2/dangerous-functions/utils/index.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/utils/index.js +23 -0
- package/dist/layer2/dangerous-functions/utils/index.js.map +1 -0
- package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts +22 -0
- package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts.map +1 -0
- package/dist/layer2/dangerous-functions/utils/schema-validation.js +89 -0
- package/dist/layer2/dangerous-functions/utils/schema-validation.js.map +1 -0
- package/dist/layer2/data-exposure.d.ts.map +1 -1
- package/dist/layer2/data-exposure.js +3 -0
- package/dist/layer2/data-exposure.js.map +1 -1
- package/dist/layer2/framework-checks.d.ts.map +1 -1
- package/dist/layer2/framework-checks.js +3 -0
- package/dist/layer2/framework-checks.js.map +1 -1
- package/dist/layer2/index.d.ts +3 -0
- package/dist/layer2/index.d.ts.map +1 -1
- package/dist/layer2/index.js +61 -2
- package/dist/layer2/index.js.map +1 -1
- package/dist/layer2/logic-gates.d.ts.map +1 -1
- package/dist/layer2/logic-gates.js +4 -0
- package/dist/layer2/logic-gates.js.map +1 -1
- package/dist/layer2/model-supply-chain.d.ts +20 -0
- package/dist/layer2/model-supply-chain.d.ts.map +1 -0
- package/dist/layer2/model-supply-chain.js +376 -0
- package/dist/layer2/model-supply-chain.js.map +1 -0
- package/dist/layer2/risky-imports.d.ts.map +1 -1
- package/dist/layer2/risky-imports.js +4 -0
- package/dist/layer2/risky-imports.js.map +1 -1
- package/dist/layer2/variables.d.ts.map +1 -1
- package/dist/layer2/variables.js +4 -0
- package/dist/layer2/variables.js.map +1 -1
- package/dist/layer3/anthropic/auto-dismiss.d.ts +24 -0
- package/dist/layer3/anthropic/auto-dismiss.d.ts.map +1 -0
- package/dist/layer3/anthropic/auto-dismiss.js +188 -0
- package/dist/layer3/anthropic/auto-dismiss.js.map +1 -0
- package/dist/layer3/anthropic/clients.d.ts +44 -0
- package/dist/layer3/anthropic/clients.d.ts.map +1 -0
- package/dist/layer3/anthropic/clients.js +81 -0
- package/dist/layer3/anthropic/clients.js.map +1 -0
- package/dist/layer3/anthropic/index.d.ts +41 -0
- package/dist/layer3/anthropic/index.d.ts.map +1 -0
- package/dist/layer3/anthropic/index.js +141 -0
- package/dist/layer3/anthropic/index.js.map +1 -0
- package/dist/layer3/anthropic/prompts/index.d.ts +8 -0
- package/dist/layer3/anthropic/prompts/index.d.ts.map +1 -0
- package/dist/layer3/anthropic/prompts/index.js +14 -0
- package/dist/layer3/anthropic/prompts/index.js.map +1 -0
- package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts +15 -0
- package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts.map +1 -0
- package/dist/layer3/anthropic/prompts/semantic-analysis.js +169 -0
- package/dist/layer3/anthropic/prompts/semantic-analysis.js.map +1 -0
- package/dist/layer3/anthropic/prompts/validation.d.ts +12 -0
- package/dist/layer3/anthropic/prompts/validation.d.ts.map +1 -0
- package/dist/layer3/anthropic/prompts/validation.js +421 -0
- package/dist/layer3/anthropic/prompts/validation.js.map +1 -0
- package/dist/layer3/anthropic/providers/anthropic.d.ts +21 -0
- package/dist/layer3/anthropic/providers/anthropic.d.ts.map +1 -0
- package/dist/layer3/anthropic/providers/anthropic.js +266 -0
- package/dist/layer3/anthropic/providers/anthropic.js.map +1 -0
- package/dist/layer3/anthropic/providers/index.d.ts +8 -0
- package/dist/layer3/anthropic/providers/index.d.ts.map +1 -0
- package/dist/layer3/anthropic/providers/index.js +15 -0
- package/dist/layer3/anthropic/providers/index.js.map +1 -0
- package/dist/layer3/anthropic/providers/openai.d.ts +18 -0
- package/dist/layer3/anthropic/providers/openai.d.ts.map +1 -0
- package/dist/layer3/anthropic/providers/openai.js +340 -0
- package/dist/layer3/anthropic/providers/openai.js.map +1 -0
- package/dist/layer3/anthropic/request-builder.d.ts +20 -0
- package/dist/layer3/anthropic/request-builder.d.ts.map +1 -0
- package/dist/layer3/anthropic/request-builder.js +134 -0
- package/dist/layer3/anthropic/request-builder.js.map +1 -0
- package/dist/layer3/anthropic/types.d.ts +88 -0
- package/dist/layer3/anthropic/types.d.ts.map +1 -0
- package/dist/layer3/anthropic/types.js +38 -0
- package/dist/layer3/anthropic/types.js.map +1 -0
- package/dist/layer3/anthropic/utils/index.d.ts +9 -0
- package/dist/layer3/anthropic/utils/index.d.ts.map +1 -0
- package/dist/layer3/anthropic/utils/index.js +24 -0
- package/dist/layer3/anthropic/utils/index.js.map +1 -0
- package/dist/layer3/anthropic/utils/path-helpers.d.ts +21 -0
- package/dist/layer3/anthropic/utils/path-helpers.d.ts.map +1 -0
- package/dist/layer3/anthropic/utils/path-helpers.js +69 -0
- package/dist/layer3/anthropic/utils/path-helpers.js.map +1 -0
- package/dist/layer3/anthropic/utils/response-parser.d.ts +40 -0
- package/dist/layer3/anthropic/utils/response-parser.d.ts.map +1 -0
- package/dist/layer3/anthropic/utils/response-parser.js +285 -0
- package/dist/layer3/anthropic/utils/response-parser.js.map +1 -0
- package/dist/layer3/anthropic/utils/retry.d.ts +15 -0
- package/dist/layer3/anthropic/utils/retry.d.ts.map +1 -0
- package/dist/layer3/anthropic/utils/retry.js +62 -0
- package/dist/layer3/anthropic/utils/retry.js.map +1 -0
- package/dist/layer3/index.d.ts +1 -0
- package/dist/layer3/index.d.ts.map +1 -1
- package/dist/layer3/index.js +16 -6
- package/dist/layer3/index.js.map +1 -1
- package/dist/layer3/osv-check.d.ts +75 -0
- package/dist/layer3/osv-check.d.ts.map +1 -0
- package/dist/layer3/osv-check.js +308 -0
- package/dist/layer3/osv-check.js.map +1 -0
- package/dist/rules/framework-fixes.d.ts +48 -0
- package/dist/rules/framework-fixes.d.ts.map +1 -0
- package/dist/rules/framework-fixes.js +439 -0
- package/dist/rules/framework-fixes.js.map +1 -0
- package/dist/rules/index.d.ts +8 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +18 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/metadata.d.ts +43 -0
- package/dist/rules/metadata.d.ts.map +1 -0
- package/dist/rules/metadata.js +734 -0
- package/dist/rules/metadata.js.map +1 -0
- package/dist/suppression/config-loader.d.ts +74 -0
- package/dist/suppression/config-loader.d.ts.map +1 -0
- package/dist/suppression/config-loader.js +424 -0
- package/dist/suppression/config-loader.js.map +1 -0
- package/dist/suppression/hash.d.ts +48 -0
- package/dist/suppression/hash.d.ts.map +1 -0
- package/dist/suppression/hash.js +88 -0
- package/dist/suppression/hash.js.map +1 -0
- package/dist/suppression/index.d.ts +11 -0
- package/dist/suppression/index.d.ts.map +1 -0
- package/dist/suppression/index.js +39 -0
- package/dist/suppression/index.js.map +1 -0
- package/dist/suppression/inline-parser.d.ts +39 -0
- package/dist/suppression/inline-parser.d.ts.map +1 -0
- package/dist/suppression/inline-parser.js +218 -0
- package/dist/suppression/inline-parser.js.map +1 -0
- package/dist/suppression/manager.d.ts +94 -0
- package/dist/suppression/manager.d.ts.map +1 -0
- package/dist/suppression/manager.js +292 -0
- package/dist/suppression/manager.js.map +1 -0
- package/dist/suppression/types.d.ts +151 -0
- package/dist/suppression/types.d.ts.map +1 -0
- package/dist/suppression/types.js +28 -0
- package/dist/suppression/types.js.map +1 -0
- package/dist/tiers.d.ts +1 -1
- package/dist/tiers.d.ts.map +1 -1
- package/dist/tiers.js +27 -0
- package/dist/tiers.js.map +1 -1
- package/dist/types.d.ts +62 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/context-helpers.d.ts +4 -0
- package/dist/utils/context-helpers.d.ts.map +1 -1
- package/dist/utils/context-helpers.js +13 -9
- package/dist/utils/context-helpers.js.map +1 -1
- package/package.json +4 -2
- package/src/__tests__/benchmark/fixtures/layer1/mcp-config-audit.json +31 -0
- package/src/__tests__/benchmark/fixtures/layer2/ai-execution-sinks.ts +1489 -82
- package/src/__tests__/benchmark/fixtures/layer2/ai-mcp-security.ts +495 -0
- package/src/__tests__/benchmark/fixtures/layer2/ai-package-hallucination.ts +255 -0
- package/src/__tests__/benchmark/fixtures/layer2/ai-prompt-hygiene.ts +300 -1
- package/src/__tests__/benchmark/fixtures/layer2/ai-rag-safety.ts +139 -0
- package/src/__tests__/benchmark/fixtures/layer2/byok-patterns.ts +7 -0
- package/src/__tests__/benchmark/fixtures/layer2/data-exposure.ts +63 -0
- package/src/__tests__/benchmark/fixtures/layer2/excessive-agency.ts +221 -0
- package/src/__tests__/benchmark/fixtures/layer2/index.ts +18 -0
- package/src/__tests__/benchmark/fixtures/layer2/model-supply-chain.ts +204 -0
- package/src/__tests__/benchmark/fixtures/layer2/phase1-enhancements.ts +157 -0
- package/src/__tests__/snapshots/__snapshots__/anthropic-validation-refactor.test.ts.snap +758 -0
- package/src/__tests__/snapshots/__snapshots__/dangerous-functions-refactor.test.ts.snap +503 -0
- package/src/__tests__/snapshots/anthropic-validation-refactor.test.ts +321 -0
- package/src/__tests__/snapshots/dangerous-functions-refactor.test.ts +439 -0
- package/src/baseline/__tests__/diff.test.ts +261 -0
- package/src/baseline/__tests__/manager.test.ts +225 -0
- package/src/baseline/diff.ts +135 -0
- package/src/baseline/index.ts +29 -0
- package/src/baseline/manager.ts +230 -0
- package/src/baseline/types.ts +97 -0
- package/src/formatters/cli-terminal.ts +444 -41
- package/src/formatters/github-comment.ts +79 -11
- package/src/formatters/index.ts +4 -0
- package/src/index.ts +197 -14
- package/src/layer1/config-audit.ts +24 -3
- package/src/layer1/config-mcp-audit.ts +276 -0
- package/src/layer1/index.ts +16 -6
- package/src/layer2/ai-agent-tools.ts +336 -0
- package/src/layer2/ai-endpoint-protection.ts +16 -3
- package/src/layer2/ai-execution-sinks.ts +516 -12
- package/src/layer2/ai-fingerprinting.ts +5 -1
- package/src/layer2/ai-mcp-security.ts +730 -0
- package/src/layer2/ai-package-hallucination.ts +791 -0
- package/src/layer2/ai-prompt-hygiene.ts +547 -9
- package/src/layer2/ai-rag-safety.ts +382 -3
- package/src/layer2/auth-antipatterns.ts +5 -0
- package/src/layer2/byok-patterns.ts +5 -1
- package/src/layer2/dangerous-functions/child-process.ts +98 -0
- package/src/layer2/dangerous-functions/dom-xss.ts +220 -0
- package/src/layer2/dangerous-functions/index.ts +949 -0
- package/src/layer2/dangerous-functions/json-parse.ts +385 -0
- package/src/layer2/dangerous-functions/math-random.ts +537 -0
- package/src/layer2/dangerous-functions/patterns.ts +174 -0
- package/src/layer2/dangerous-functions/request-validation.ts +145 -0
- package/src/layer2/dangerous-functions/utils/control-flow.ts +162 -0
- package/src/layer2/dangerous-functions/utils/helpers.ts +170 -0
- package/src/layer2/dangerous-functions/utils/index.ts +25 -0
- package/src/layer2/dangerous-functions/utils/schema-validation.ts +91 -0
- package/src/layer2/data-exposure.ts +5 -1
- package/src/layer2/framework-checks.ts +5 -0
- package/src/layer2/index.ts +63 -1
- package/src/layer2/logic-gates.ts +5 -0
- package/src/layer2/model-supply-chain.ts +456 -0
- package/src/layer2/risky-imports.ts +5 -0
- package/src/layer2/variables.ts +5 -0
- package/src/layer3/__tests__/osv-check.test.ts +384 -0
- package/src/layer3/anthropic/auto-dismiss.ts +212 -0
- package/src/layer3/anthropic/clients.ts +84 -0
- package/src/layer3/anthropic/index.ts +170 -0
- package/src/layer3/anthropic/prompts/index.ts +14 -0
- package/src/layer3/anthropic/prompts/semantic-analysis.ts +173 -0
- package/src/layer3/anthropic/prompts/validation.ts +419 -0
- package/src/layer3/anthropic/providers/anthropic.ts +310 -0
- package/src/layer3/anthropic/providers/index.ts +8 -0
- package/src/layer3/anthropic/providers/openai.ts +384 -0
- package/src/layer3/anthropic/request-builder.ts +150 -0
- package/src/layer3/anthropic/types.ts +148 -0
- package/src/layer3/anthropic/utils/index.ts +26 -0
- package/src/layer3/anthropic/utils/path-helpers.ts +68 -0
- package/src/layer3/anthropic/utils/response-parser.ts +322 -0
- package/src/layer3/anthropic/utils/retry.ts +75 -0
- package/src/layer3/index.ts +18 -5
- package/src/layer3/osv-check.ts +420 -0
- package/src/rules/__tests__/framework-fixes.test.ts +689 -0
- package/src/rules/__tests__/metadata.test.ts +218 -0
- package/src/rules/framework-fixes.ts +470 -0
- package/src/rules/index.ts +21 -0
- package/src/rules/metadata.ts +831 -0
- package/src/suppression/__tests__/config-loader.test.ts +382 -0
- package/src/suppression/__tests__/hash.test.ts +166 -0
- package/src/suppression/__tests__/inline-parser.test.ts +212 -0
- package/src/suppression/__tests__/manager.test.ts +415 -0
- package/src/suppression/config-loader.ts +462 -0
- package/src/suppression/hash.ts +95 -0
- package/src/suppression/index.ts +51 -0
- package/src/suppression/inline-parser.ts +273 -0
- package/src/suppression/manager.ts +379 -0
- package/src/suppression/types.ts +174 -0
- package/src/tiers.ts +36 -0
- package/src/types.ts +90 -0
- package/src/utils/context-helpers.ts +13 -9
- package/dist/layer2/dangerous-functions.d.ts +0 -7
- package/dist/layer2/dangerous-functions.d.ts.map +0 -1
- package/dist/layer2/dangerous-functions.js +0 -1701
- package/dist/layer2/dangerous-functions.js.map +0 -1
- package/dist/layer3/anthropic.d.ts +0 -87
- package/dist/layer3/anthropic.d.ts.map +0 -1
- package/dist/layer3/anthropic.js +0 -1948
- package/dist/layer3/anthropic.js.map +0 -1
- package/dist/layer3/openai.d.ts +0 -25
- package/dist/layer3/openai.d.ts.map +0 -1
- package/dist/layer3/openai.js +0 -238
- package/dist/layer3/openai.js.map +0 -1
- package/src/layer2/dangerous-functions.ts +0 -1940
- package/src/layer3/anthropic.ts +0 -2257
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Schema Validation Detection Utilities
|
|
4
|
+
*
|
|
5
|
+
* Functions for detecting schema validation patterns (zod, yup, joi, etc.)
|
|
6
|
+
* and manual validation patterns.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.hasSchemaValidationNearby = hasSchemaValidationNearby;
|
|
10
|
+
exports.hasManualValidation = hasManualValidation;
|
|
11
|
+
exports.hasSQLWhitelistValidation = hasSQLWhitelistValidation;
|
|
12
|
+
/**
|
|
13
|
+
* Check if schema validation is applied near a JSON.parse call
|
|
14
|
+
* Looks for zod, yup, joi, or similar validation patterns
|
|
15
|
+
*/
|
|
16
|
+
function hasSchemaValidationNearby(content, lineNumber) {
|
|
17
|
+
const lines = content.split('\n');
|
|
18
|
+
const start = Math.max(0, lineNumber - 5);
|
|
19
|
+
const end = Math.min(lines.length, lineNumber + 10);
|
|
20
|
+
const context = lines.slice(start, end).join('\n');
|
|
21
|
+
const schemaValidationPatterns = [
|
|
22
|
+
// Zod patterns
|
|
23
|
+
/z\.(object|string|number|array|boolean)\s*\(/i,
|
|
24
|
+
/\.parse\s*\(/i,
|
|
25
|
+
/\.safeParse\s*\(/i,
|
|
26
|
+
/schema\.parse/i,
|
|
27
|
+
/Schema\.parse/i,
|
|
28
|
+
// Yup patterns
|
|
29
|
+
/yup\.(object|string|number|array|boolean)\s*\(/i,
|
|
30
|
+
/\.validate\s*\(/i,
|
|
31
|
+
/\.validateSync\s*\(/i,
|
|
32
|
+
// Joi patterns
|
|
33
|
+
/Joi\.(object|string|number|array|boolean)\s*\(/i,
|
|
34
|
+
/\.validateAsync\s*\(/i,
|
|
35
|
+
// Valibot patterns
|
|
36
|
+
/v\.(object|string|number|array|boolean)\s*\(/i,
|
|
37
|
+
// AJV patterns
|
|
38
|
+
/ajv\.compile/i,
|
|
39
|
+
/validate\s*\(\s*schema/i,
|
|
40
|
+
// TypeBox patterns
|
|
41
|
+
/Type\.(Object|String|Number|Array|Boolean)\s*\(/i,
|
|
42
|
+
// Generic validation patterns
|
|
43
|
+
/validateSchema/i,
|
|
44
|
+
/schemaValidator/i,
|
|
45
|
+
/parseAndValidate/i,
|
|
46
|
+
];
|
|
47
|
+
return schemaValidationPatterns.some(p => p.test(context));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if this file appears to have form/input validation elsewhere
|
|
51
|
+
* (manual checks on body fields, type guards, etc.)
|
|
52
|
+
*/
|
|
53
|
+
function hasManualValidation(content) {
|
|
54
|
+
const manualValidationPatterns = [
|
|
55
|
+
// Type checking / type guards
|
|
56
|
+
/typeof\s+\w+\s*[!=]==?\s*['"](?:string|number|boolean|object)['"]|Array\.isArray\s*\(/i,
|
|
57
|
+
// Field existence checks followed by throws/returns
|
|
58
|
+
/if\s*\(\s*!(?:body|data|input)\.\w+\s*\)\s*\{?\s*(throw|return)/i,
|
|
59
|
+
// Property access with type assertion comments or inline validation
|
|
60
|
+
/\b(body|data|input)\s*as\s+\w+/i, // Type assertion
|
|
61
|
+
// Manual validation with error handling
|
|
62
|
+
/if\s*\(\s*![\w.]+\s*\|\|\s*typeof\s+[\w.]+/i,
|
|
63
|
+
// Using type predicates
|
|
64
|
+
/is\w+\s*\([\w.]+\)/i, // isFoo(bar) pattern
|
|
65
|
+
];
|
|
66
|
+
return manualValidationPatterns.some(p => p.test(content));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if SQL query uses whitelist validation pattern
|
|
70
|
+
* e.g., columns validated against allowedColumns array before use
|
|
71
|
+
*/
|
|
72
|
+
function hasSQLWhitelistValidation(content, lineNumber) {
|
|
73
|
+
const lines = content.split('\n');
|
|
74
|
+
const contextStart = Math.max(0, lineNumber - 15);
|
|
75
|
+
const contextEnd = Math.min(lines.length, lineNumber + 5);
|
|
76
|
+
const context = lines.slice(contextStart, contextEnd).join('\n');
|
|
77
|
+
// Whitelist/allowlist validation patterns
|
|
78
|
+
const whitelistPatterns = [
|
|
79
|
+
/allowed\w*\s*=\s*\[/i, // allowedColumns = [...]
|
|
80
|
+
/whitelist\w*\s*=\s*\[/i, // whitelistFields = [...]
|
|
81
|
+
/valid\w*\s*=\s*\[/i, // validColumns = [...]
|
|
82
|
+
/\.filter\s*\([^)]*\.includes\s*\(/i, // .filter(c => allowed.includes(c))
|
|
83
|
+
/\.includes\s*\([^)]*\)/i, // allowedColumns.includes(col)
|
|
84
|
+
/\.every\s*\([^)]*\.includes/i, // columns.every(c => allowed.includes(c))
|
|
85
|
+
/if\s*\(\s*!.*\.includes/i, // if (!allowed.includes(...))
|
|
86
|
+
];
|
|
87
|
+
return whitelistPatterns.some(p => p.test(context));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=schema-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../../../src/layer2/dangerous-functions/utils/schema-validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAMH,8DAkCC;AAMD,kDAeC;AAMD,8DAkBC;AAnFD;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,OAAe,EAAE,UAAkB;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAElD,MAAM,wBAAwB,GAAG;QAC/B,eAAe;QACf,+CAA+C;QAC/C,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,iDAAiD;QACjD,kBAAkB;QAClB,sBAAsB;QACtB,eAAe;QACf,iDAAiD;QACjD,uBAAuB;QACvB,mBAAmB;QACnB,+CAA+C;QAC/C,eAAe;QACf,eAAe;QACf,yBAAyB;QACzB,mBAAmB;QACnB,kDAAkD;QAClD,8BAA8B;QAC9B,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;KACpB,CAAA;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAe;IACjD,MAAM,wBAAwB,GAAG;QAC/B,8BAA8B;QAC9B,wFAAwF;QACxF,oDAAoD;QACpD,kEAAkE;QAClE,oEAAoE;QACpE,iCAAiC,EAAE,iBAAiB;QACpD,wCAAwC;QACxC,6CAA6C;QAC7C,wBAAwB;QACxB,qBAAqB,EAAE,qBAAqB;KAC7C,CAAA;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,OAAe,EAAE,UAAkB;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhE,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG;QACxB,sBAAsB,EAAE,yBAAyB;QACjD,wBAAwB,EAAE,0BAA0B;QACpD,oBAAoB,EAAE,uBAAuB;QAC7C,oCAAoC,EAAE,oCAAoC;QAC1E,yBAAyB,EAAE,+BAA+B;QAC1D,8BAA8B,EAAE,0CAA0C;QAC1E,0BAA0B,EAAE,8BAA8B;KAC3D,CAAA;IAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-exposure.d.ts","sourceRoot":"","sources":["../../src/layer2/data-exposure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAA;AAkKpE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"data-exposure.d.ts","sourceRoot":"","sources":["../../src/layer2/data-exposure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAA;AAkKpE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CA+HjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAW5F"}
|
|
@@ -151,6 +151,9 @@ function isLowRiskLoggingFile(filePath) {
|
|
|
151
151
|
*/
|
|
152
152
|
function detectDataExposure(content, filePath) {
|
|
153
153
|
const vulnerabilities = [];
|
|
154
|
+
// Skip scanner/fixture files to avoid self-detection
|
|
155
|
+
if ((0, context_helpers_1.isScannerOrFixtureFile)(filePath))
|
|
156
|
+
return vulnerabilities;
|
|
154
157
|
const lines = content.split('\n');
|
|
155
158
|
const isTestFile = (0, context_helpers_1.isTestOrMockFile)(filePath);
|
|
156
159
|
const isLowRiskFile = isLowRiskLoggingFile(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-exposure.js","sourceRoot":"","sources":["../../src/layer2/data-exposure.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAuKH,
|
|
1
|
+
{"version":3,"file":"data-exposure.js","sourceRoot":"","sources":["../../src/layer2/data-exposure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-checks.d.ts","sourceRoot":"","sources":["../../src/layer2/framework-checks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"framework-checks.d.ts","sourceRoot":"","sources":["../../src/layer2/framework-checks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAA;AAkRpE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CA2JjB"}
|
|
@@ -247,6 +247,9 @@ function detectFramework(content, filePath) {
|
|
|
247
247
|
}
|
|
248
248
|
function detectFrameworkIssues(content, filePath) {
|
|
249
249
|
const vulnerabilities = [];
|
|
250
|
+
// Skip scanner/fixture files to avoid self-detection
|
|
251
|
+
if ((0, context_helpers_1.isScannerOrFixtureFile)(filePath))
|
|
252
|
+
return vulnerabilities;
|
|
250
253
|
const lines = content.split('\n');
|
|
251
254
|
const detectedFrameworks = detectFramework(content, filePath);
|
|
252
255
|
const isTestFile = (0, context_helpers_1.isTestOrMockFile)(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-checks.js","sourceRoot":"","sources":["../../src/layer2/framework-checks.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"framework-checks.js","sourceRoot":"","sources":["../../src/layer2/framework-checks.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAoRH,sDA8JC;AA/aD,8DAOiC;AAWjC,MAAM,kBAAkB,GAAuB;IAC7C,oDAAoD;IACpD;QACE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,4DAA4D;QACrE,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kEAAkE;QAC/E,YAAY,EAAE,sDAAsD;QACpE,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,8DAA8D;QAC3E,YAAY,EAAE,6CAA6C;QAC3D,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,+DAA+D;QACxE,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,iEAAiE;QAC9E,YAAY,EAAE,2DAA2D;QACzE,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,2DAA2D;QACpE,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,4DAA4D;QACzE,YAAY,EAAE,iDAAiD;QAC/D,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,yDAAyD;QAClE,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,kEAAkE;QAC/E,YAAY,EAAE,6CAA6C;QAC3D,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,0DAA0D;QACvE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,QAAQ;KACpB;IAED,oDAAoD;IACpD;QACE,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,2DAA2D;QACxE,YAAY,EAAE,0CAA0C;QACxD,SAAS,EAAE,SAAS;KACrB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,8CAA8C;QACvD,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,2CAA2C;QACzD,SAAS,EAAE,SAAS;KACrB;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,sDAAsD;QAC/D,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,uDAAuD;QACrE,SAAS,EAAE,SAAS;KACrB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,uDAAuD;QAChE,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kDAAkD;QAC/D,YAAY,EAAE,sDAAsD;QACpE,SAAS,EAAE,SAAS;KACrB;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE,mDAAmD;QAC5D,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,SAAS;KACrB;IAED,kDAAkD;IAClD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,sDAAsD;QACnE,YAAY,EAAE,oDAAoD;QAClE,SAAS,EAAE,OAAO;KACnB;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,+DAA+D;QACxE,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,2DAA2D;QACxE,YAAY,EAAE,mDAAmD;QACjE,SAAS,EAAE,OAAO;KACnB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,gCAAgC;QACzC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,kDAAkD;QAC/D,YAAY,EAAE,kDAAkD;QAChE,SAAS,EAAE,OAAO;KACnB;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,mDAAmD;QAChE,YAAY,EAAE,0CAA0C;QACxD,SAAS,EAAE,OAAO;KACnB;IAED,gDAAgD;IAChD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,oDAAoD;QACjE,YAAY,EAAE,oDAAoD;QAClE,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,oDAAoD;QAC7D,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,wDAAwD;QACrE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,KAAK;KACjB;IAED,mDAAmD;IACnD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,oDAAoD;QACjE,YAAY,EAAE,0CAA0C;QACxD,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,iCAAiC;QAC/C,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,mCAAmC;QAC5C,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,2CAA2C;QACxD,YAAY,EAAE,2CAA2C;QACzD,SAAS,EAAE,QAAQ;KACpB;IAED,kDAAkD;IAClD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,mDAAmD;QAChE,YAAY,EAAE,+BAA+B;QAC7C,SAAS,EAAE,OAAO;KACnB;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,0CAA0C;QACvD,YAAY,EAAE,2CAA2C;QACzD,SAAS,EAAE,OAAO;KACnB;IAED,qDAAqD;IACrD;QACE,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,0DAA0D;QACnE,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,6DAA6D;QAC1E,YAAY,EAAE,+CAA+C;QAC7D,SAAS,EAAE,UAAU;KACtB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,kEAAkE;QAC3E,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,kDAAkD;QAChE,SAAS,EAAE,UAAU;KACtB;CACF,CAAA;AAED,8CAA8C;AAC9C,SAAS,eAAe,CAAC,OAAe,EAAE,QAAgB;IACxD,MAAM,UAAU,GAAa,EAAE,CAAA;IAE/B,UAAU;IACV,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5D,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,UAAU;IACV,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACnE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,QAAQ;IACR,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM;IACN,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,SAAS;IACT,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACpE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ;IACR,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,WAAW;IACX,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAAe,EACf,QAAgB;IAEhB,MAAM,eAAe,GAAoB,EAAE,CAAA;IAE3C,qDAAqD;IACrD,IAAI,IAAA,wCAAsB,EAAC,QAAQ,CAAC;QAAE,OAAO,eAAe,CAAA;IAE5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7D,MAAM,UAAU,GAAG,IAAA,kCAAgB,EAAC,QAAQ,CAAC,CAAA;IAE7C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,qBAAqB;QACrB,IAAI,IAAA,2BAAS,EAAC,IAAI,CAAC;YAAE,OAAM;QAE3B,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,8EAA8E;YAC9E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrF,SAAQ;YACV,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEvE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,iDAAiD;gBACjD,IAAI,OAAO,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;oBACzD,0DAA0D;oBAC1D,yBAAyB;oBACzB,uDAAuD;oBACvD,sDAAsD;oBACtD,mEAAmE;oBAEnE,MAAM,YAAY,GAAG,IAAA,kCAAgB,EAAC,QAAQ,CAAC,CAAA;oBAC/C,MAAM,UAAU,GAAG,IAAA,mCAAiB,EAAC,IAAI,CAAC,CAAA;oBAE1C,iEAAiE;oBACjE,8EAA8E;oBAC9E,MAAM,mBAAmB,GAAG,iFAAiF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAExH,+EAA+E;oBAC/E,iEAAiE;oBACjE,MAAM,qBAAqB,GAAG,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAE5G,oGAAoG;oBACpG,IAAI,YAAY,EAAE,CAAC;wBACjB,IAAI,mBAAmB,IAAI,UAAU,EAAE,CAAC;4BACtC,sDAAsD;4BACtD,SAAQ;wBACV,CAAC;wBACD,IAAI,qBAAqB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACjE,8DAA8D;4BAC9D,gDAAgD;4BAChD,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAA;4BACtF,IAAI,oBAAoB,EAAE,CAAC;gCACzB,SAAQ;4BACV,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,kBAAkB,GAAG,IAAA,0CAAwB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;oBAEnE,qEAAqE;oBACrE,IAAI,kBAAkB,KAAK,aAAa,EAAE,CAAC;wBACzC,SAAQ;oBACV,CAAC;oBAED,yDAAyD;oBACzD,IAAI,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAA;oBACvC,IAAI,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAA;oBAC7C,IAAI,oBAAoB,GAAG,KAAK,CAAA;oBAChC,IAAI,kBAAkB,GAA8B,QAAQ,CAAA;oBAE5D,IAAI,kBAAkB,KAAK,iBAAiB,EAAE,CAAC;wBAC7C,6BAA6B;wBAC7B,gBAAgB,GAAG,UAAU,CAAA;wBAC7B,mBAAmB,GAAG,wEAAwE,CAAA;wBAC9F,oBAAoB,GAAG,IAAI,CAAA;wBAC3B,kBAAkB,GAAG,MAAM,CAAA;oBAC7B,CAAC;yBAAM,CAAC;wBACN,eAAe;wBACf,IAAI,IAAA,mCAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;4BAC5B,kDAAkD;4BAClD,gBAAgB,GAAG,QAAQ,CAAA;4BAC3B,mBAAmB,GAAG,mEAAmE,CAAA;4BACzF,oBAAoB,GAAG,IAAI,CAAA;wBAC7B,CAAC;6BAAM,IAAI,IAAA,kCAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;4BACtC,2DAA2D;4BAC3D,gBAAgB,GAAG,MAAM,CAAA;4BACzB,mBAAmB,GAAG,2DAA2D,CAAA;4BACjF,oBAAoB,GAAG,IAAI,CAAA;wBAC7B,CAAC;6BAAM,CAAC;4BACN,oCAAoC;4BACpC,gBAAgB,GAAG,MAAM,CAAA;4BACzB,oBAAoB,GAAG,IAAI,CAAA;wBAC7B,CAAC;oBACH,CAAC;oBAED,+BAA+B;oBAC/B,IAAI,UAAU,EAAE,CAAC;wBACf,gBAAgB,GAAG,KAAK,CAAA;wBACxB,kBAAkB,GAAG,KAAK,CAAA;wBAC1B,mBAAmB,GAAG,GAAG,mBAAmB,iBAAiB,CAAA;oBAC/D,CAAC;oBAED,eAAe,CAAC,IAAI,CAAC;wBACnB,EAAE,EAAE,aAAa,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE;wBACxD,QAAQ;wBACR,UAAU,EAAE,KAAK,GAAG,CAAC;wBACrB,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;wBACxB,QAAQ,EAAE,gBAAgB;wBAC1B,QAAQ,EAAE,iBAAiB;wBAC3B,KAAK,EAAE,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,EAAE;wBAC/C,WAAW,EAAE,mBAAmB;wBAChC,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,UAAU,EAAE,kBAAkB;wBAC9B,KAAK,EAAE,CAAC;wBACR,oBAAoB;qBACrB,CAAC,CAAA;oBACF,MAAK;gBACP,CAAC;gBAED,uCAAuC;gBACvC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;gBAC/B,IAAI,UAAU,GAA8B,QAAQ,CAAA;gBAEpD,+BAA+B;gBAC/B,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC5B,QAAQ,GAAG,QAAQ,CAAA;oBACrB,CAAC;yBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;wBAC/B,QAAQ,GAAG,KAAK,CAAA;oBAClB,CAAC;yBAAM,CAAC;wBACN,QAAQ,GAAG,MAAM,CAAA;oBACnB,CAAC;oBACD,UAAU,GAAG,KAAK,CAAA;gBACpB,CAAC;gBAED,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,aAAa,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE;oBACxD,QAAQ;oBACR,UAAU,EAAE,KAAK,GAAG,CAAC;oBACrB,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,QAAQ;oBACR,QAAQ,EAAE,iBAAiB;oBAC3B,KAAK,EAAE,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,EAAE;oBAC/C,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW;oBACvF,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU;oBACV,KAAK,EAAE,CAAC;iBACT,CAAC,CAAA;gBACF,MAAK,CAAC,4BAA4B;YACpC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACxB,CAAC"}
|
package/dist/layer2/index.d.ts
CHANGED
|
@@ -56,4 +56,7 @@ export { detectAIAgentTools } from './ai-agent-tools';
|
|
|
56
56
|
export { detectRAGSafetyIssues } from './ai-rag-safety';
|
|
57
57
|
export { detectAIEndpointProtection } from './ai-endpoint-protection';
|
|
58
58
|
export { detectAISchemaValidation } from './ai-schema-validation';
|
|
59
|
+
export { detectAIPackageHallucination } from './ai-package-hallucination';
|
|
60
|
+
export { detectMCPSecurity } from './ai-mcp-security';
|
|
61
|
+
export { detectModelSupplyChain } from './model-supply-chain';
|
|
59
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"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"}
|
package/dist/layer2/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* and AI code fingerprinting
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.detectAISchemaValidation = exports.detectAIEndpointProtection = exports.detectRAGSafetyIssues = exports.detectAIAgentTools = exports.detectAIExecutionSinks = exports.detectAIPromptHygiene = exports.detectBYOKPatterns = exports.detectDataExposure = exports.detectAIFingerprints = exports.detectFrameworkIssues = exports.detectAuthAntipatterns = exports.detectRiskyImports = exports.detectDangerousFunctions = exports.detectLogicGates = exports.detectSensitiveVariables = void 0;
|
|
9
|
+
exports.detectModelSupplyChain = exports.detectMCPSecurity = exports.detectAIPackageHallucination = exports.detectAISchemaValidation = exports.detectAIEndpointProtection = exports.detectRAGSafetyIssues = exports.detectAIAgentTools = exports.detectAIExecutionSinks = exports.detectAIPromptHygiene = exports.detectBYOKPatterns = exports.detectDataExposure = exports.detectAIFingerprints = exports.detectFrameworkIssues = exports.detectAuthAntipatterns = exports.detectRiskyImports = exports.detectDangerousFunctions = exports.detectLogicGates = exports.detectSensitiveVariables = void 0;
|
|
10
10
|
exports.runLayer2Scan = runLayer2Scan;
|
|
11
11
|
const auth_helper_detector_1 = require("../utils/auth-helper-detector");
|
|
12
12
|
const path_exclusions_1 = require("../utils/path-exclusions");
|
|
@@ -27,6 +27,11 @@ const ai_agent_tools_1 = require("./ai-agent-tools");
|
|
|
27
27
|
const ai_rag_safety_1 = require("./ai-rag-safety");
|
|
28
28
|
const ai_endpoint_protection_1 = require("./ai-endpoint-protection");
|
|
29
29
|
const ai_schema_validation_1 = require("./ai-schema-validation");
|
|
30
|
+
// AI Detection Roadmap Phase 1
|
|
31
|
+
const ai_package_hallucination_1 = require("./ai-package-hallucination");
|
|
32
|
+
const ai_mcp_security_1 = require("./ai-mcp-security");
|
|
33
|
+
// AI Detection Roadmap Phase 2
|
|
34
|
+
const model_supply_chain_1 = require("./model-supply-chain");
|
|
30
35
|
// Tier system imports
|
|
31
36
|
const tiers_1 = require("../tiers");
|
|
32
37
|
// Process a single file through all Layer 2 detectors
|
|
@@ -47,9 +52,25 @@ function processFileLayer2(file, options, authHelperContext) {
|
|
|
47
52
|
ragSafety: 0,
|
|
48
53
|
endpointProtection: 0,
|
|
49
54
|
schemaValidation: 0,
|
|
55
|
+
// AI Detection Roadmap Phase 1
|
|
56
|
+
packageHallucination: 0,
|
|
57
|
+
mcpSecurity: 0,
|
|
58
|
+
// AI Detection Roadmap Phase 2
|
|
59
|
+
modelSupplyChain: 0,
|
|
50
60
|
};
|
|
51
|
-
//
|
|
61
|
+
// Check if this is a manifest file (package.json, requirements.txt, etc.)
|
|
62
|
+
const isManifestFile = (filePath) => {
|
|
63
|
+
const manifestFiles = ['package.json', 'requirements.txt', 'Pipfile', 'pyproject.toml', 'setup.py'];
|
|
64
|
+
return manifestFiles.some(f => filePath.endsWith(f));
|
|
65
|
+
};
|
|
66
|
+
// For non-code files, only run package hallucination detector on manifest files
|
|
52
67
|
if (!isCodeFile(file.path)) {
|
|
68
|
+
if (isManifestFile(file.path)) {
|
|
69
|
+
// Run package hallucination detector on manifest files
|
|
70
|
+
const packageHallucinationFindings = (0, ai_package_hallucination_1.detectAIPackageHallucination)(file.content, file.path);
|
|
71
|
+
stats.packageHallucination = packageHallucinationFindings.length;
|
|
72
|
+
return { findings: packageHallucinationFindings, stats };
|
|
73
|
+
}
|
|
53
74
|
return { findings: [], stats };
|
|
54
75
|
}
|
|
55
76
|
// Run all detectors
|
|
@@ -74,6 +95,11 @@ function processFileLayer2(file, options, authHelperContext) {
|
|
|
74
95
|
middlewareConfig: options.middlewareConfig,
|
|
75
96
|
});
|
|
76
97
|
const schemaValidationFindings = (0, ai_schema_validation_1.detectAISchemaValidation)(file.content, file.path);
|
|
98
|
+
// AI Detection Roadmap Phase 1
|
|
99
|
+
const packageHallucinationFindings = (0, ai_package_hallucination_1.detectAIPackageHallucination)(file.content, file.path);
|
|
100
|
+
const mcpSecurityFindings = (0, ai_mcp_security_1.detectMCPSecurity)(file.content, file.path);
|
|
101
|
+
// AI Detection Roadmap Phase 2
|
|
102
|
+
const modelSupplyChainFindings = (0, model_supply_chain_1.detectModelSupplyChain)(file.content, file.path);
|
|
77
103
|
// Update stats
|
|
78
104
|
stats.variables = variableFindings.length;
|
|
79
105
|
stats.logicGates = logicFindings.length;
|
|
@@ -90,6 +116,11 @@ function processFileLayer2(file, options, authHelperContext) {
|
|
|
90
116
|
stats.ragSafety = ragSafetyFindings.length;
|
|
91
117
|
stats.endpointProtection = endpointProtectionFindings.length;
|
|
92
118
|
stats.schemaValidation = schemaValidationFindings.length;
|
|
119
|
+
// AI Detection Roadmap Phase 1
|
|
120
|
+
stats.packageHallucination = packageHallucinationFindings.length;
|
|
121
|
+
stats.mcpSecurity = mcpSecurityFindings.length;
|
|
122
|
+
// AI Detection Roadmap Phase 2
|
|
123
|
+
stats.modelSupplyChain = modelSupplyChainFindings.length;
|
|
93
124
|
return {
|
|
94
125
|
findings: [
|
|
95
126
|
...variableFindings,
|
|
@@ -107,6 +138,11 @@ function processFileLayer2(file, options, authHelperContext) {
|
|
|
107
138
|
...ragSafetyFindings,
|
|
108
139
|
...endpointProtectionFindings,
|
|
109
140
|
...schemaValidationFindings,
|
|
141
|
+
// AI Detection Roadmap Phase 1
|
|
142
|
+
...packageHallucinationFindings,
|
|
143
|
+
...mcpSecurityFindings,
|
|
144
|
+
// AI Detection Roadmap Phase 2
|
|
145
|
+
...modelSupplyChainFindings,
|
|
110
146
|
],
|
|
111
147
|
stats,
|
|
112
148
|
};
|
|
@@ -134,6 +170,11 @@ async function runLayer2Scan(files, options = {}, onProgress, cancellationToken)
|
|
|
134
170
|
ragSafety: 0,
|
|
135
171
|
endpointProtection: 0,
|
|
136
172
|
schemaValidation: 0,
|
|
173
|
+
// AI Detection Roadmap Phase 1
|
|
174
|
+
packageHallucination: 0,
|
|
175
|
+
mcpSecurity: 0,
|
|
176
|
+
// AI Detection Roadmap Phase 2
|
|
177
|
+
modelSupplyChain: 0,
|
|
137
178
|
};
|
|
138
179
|
// Detect auth helpers once for all files (if not already provided)
|
|
139
180
|
const authHelperContext = options.authHelperContext || (0, auth_helper_detector_1.detectAuthHelpers)(files);
|
|
@@ -208,6 +249,11 @@ async function runLayer2Scan(files, options = {}, onProgress, cancellationToken)
|
|
|
208
249
|
ai_rag_safety: stats.ragSafety,
|
|
209
250
|
ai_endpoint_protection: stats.endpointProtection,
|
|
210
251
|
ai_schema_validation: stats.schemaValidation,
|
|
252
|
+
// AI Detection Roadmap Phase 1
|
|
253
|
+
ai_package_hallucination: stats.packageHallucination,
|
|
254
|
+
ai_mcp_security: stats.mcpSecurity,
|
|
255
|
+
// AI Detection Roadmap Phase 2
|
|
256
|
+
model_supply_chain: stats.modelSupplyChain,
|
|
211
257
|
};
|
|
212
258
|
// Compute deduped counts per category
|
|
213
259
|
const dedupedStats = {};
|
|
@@ -240,6 +286,11 @@ async function runLayer2Scan(files, options = {}, onProgress, cancellationToken)
|
|
|
240
286
|
ai_rag_safety: 'ai_rag_safety',
|
|
241
287
|
ai_endpoint_protection: 'ai_endpoint_protection',
|
|
242
288
|
ai_schema_validation: 'ai_schema_validation',
|
|
289
|
+
// AI Detection Roadmap Phase 1
|
|
290
|
+
ai_package_hallucination: 'ai_package_hallucination',
|
|
291
|
+
ai_mcp_security: 'ai_mcp_security',
|
|
292
|
+
// AI Detection Roadmap Phase 2
|
|
293
|
+
model_supply_chain: 'model_supply_chain',
|
|
243
294
|
};
|
|
244
295
|
// Heuristic breakdown available in stats.raw and stats.tiers for debugging
|
|
245
296
|
return {
|
|
@@ -427,4 +478,12 @@ var ai_endpoint_protection_2 = require("./ai-endpoint-protection");
|
|
|
427
478
|
Object.defineProperty(exports, "detectAIEndpointProtection", { enumerable: true, get: function () { return ai_endpoint_protection_2.detectAIEndpointProtection; } });
|
|
428
479
|
var ai_schema_validation_2 = require("./ai-schema-validation");
|
|
429
480
|
Object.defineProperty(exports, "detectAISchemaValidation", { enumerable: true, get: function () { return ai_schema_validation_2.detectAISchemaValidation; } });
|
|
481
|
+
// AI Detection Roadmap Phase 1
|
|
482
|
+
var ai_package_hallucination_2 = require("./ai-package-hallucination");
|
|
483
|
+
Object.defineProperty(exports, "detectAIPackageHallucination", { enumerable: true, get: function () { return ai_package_hallucination_2.detectAIPackageHallucination; } });
|
|
484
|
+
var ai_mcp_security_2 = require("./ai-mcp-security");
|
|
485
|
+
Object.defineProperty(exports, "detectMCPSecurity", { enumerable: true, get: function () { return ai_mcp_security_2.detectMCPSecurity; } });
|
|
486
|
+
// AI Detection Roadmap Phase 2
|
|
487
|
+
var model_supply_chain_2 = require("./model-supply-chain");
|
|
488
|
+
Object.defineProperty(exports, "detectModelSupplyChain", { enumerable: true, get: function () { return model_supply_chain_2.detectModelSupplyChain; } });
|
|
430
489
|
//# sourceMappingURL=index.js.map
|
package/dist/layer2/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic-gates.d.ts","sourceRoot":"","sources":["../../src/layer2/logic-gates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"logic-gates.d.ts","sourceRoot":"","sources":["../../src/layer2/logic-gates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AA+H7C,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CA8CjB"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.detectLogicGates = detectLogicGates;
|
|
8
|
+
const context_helpers_1 = require("../utils/context-helpers");
|
|
8
9
|
// Patterns for security bypass logic
|
|
9
10
|
const LOGIC_PATTERNS = [
|
|
10
11
|
// Development mode bypasses
|
|
@@ -119,6 +120,9 @@ function isComment(line) {
|
|
|
119
120
|
}
|
|
120
121
|
function detectLogicGates(content, filePath) {
|
|
121
122
|
const vulnerabilities = [];
|
|
123
|
+
// Skip scanner/fixture files to avoid self-detection
|
|
124
|
+
if ((0, context_helpers_1.isScannerOrFixtureFile)(filePath))
|
|
125
|
+
return vulnerabilities;
|
|
122
126
|
const lines = content.split('\n');
|
|
123
127
|
// Check each line against patterns
|
|
124
128
|
lines.forEach((line, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic-gates.js","sourceRoot":"","sources":["../../src/layer2/logic-gates.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"logic-gates.js","sourceRoot":"","sources":["../../src/layer2/logic-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 2: Model Supply Chain Security Detection
|
|
3
|
+
* Detects unsafe model loading patterns that can lead to arbitrary code execution
|
|
4
|
+
*
|
|
5
|
+
* Covers AI Detection Roadmap Phase 2:
|
|
6
|
+
* - Pickle/joblib deserialization RCE
|
|
7
|
+
* - torch.load without weights_only=True
|
|
8
|
+
* - Unverified model sources
|
|
9
|
+
* - Unsafe fine-tuning on user data
|
|
10
|
+
*
|
|
11
|
+
* References:
|
|
12
|
+
* - OWASP LLM05: Supply Chain Vulnerabilities
|
|
13
|
+
* - CWE-502: Deserialization of Untrusted Data
|
|
14
|
+
*/
|
|
15
|
+
import type { Vulnerability } from '../types';
|
|
16
|
+
/**
|
|
17
|
+
* Main detection function for model supply chain security issues
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectModelSupplyChain(content: string, filePath: string): Vulnerability[];
|
|
20
|
+
//# sourceMappingURL=model-supply-chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-supply-chain.d.ts","sourceRoot":"","sources":["../../src/layer2/model-supply-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAA;AAuT3F;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CA2HjB"}
|