vaspera 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -0
- package/LICENSE +21 -0
- package/README.md +809 -0
- package/dist/__tests__/integration/certification-flow.test.d.ts +5 -0
- package/dist/__tests__/integration/certification-flow.test.d.ts.map +1 -0
- package/dist/__tests__/integration/certification-flow.test.js +245 -0
- package/dist/__tests__/integration/certification-flow.test.js.map +1 -0
- package/dist/__tests__/integration/commands.test.d.ts +5 -0
- package/dist/__tests__/integration/commands.test.d.ts.map +1 -0
- package/dist/__tests__/integration/commands.test.js +93 -0
- package/dist/__tests__/integration/commands.test.js.map +1 -0
- package/dist/action/diff-mode.d.ts +34 -0
- package/dist/action/diff-mode.d.ts.map +1 -0
- package/dist/action/diff-mode.js +201 -0
- package/dist/action/diff-mode.js.map +1 -0
- package/dist/action/diff-mode.test.d.ts +5 -0
- package/dist/action/diff-mode.test.d.ts.map +1 -0
- package/dist/action/diff-mode.test.js +162 -0
- package/dist/action/diff-mode.test.js.map +1 -0
- package/dist/action/index.d.ts +10 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +231 -0
- package/dist/action/index.js.map +1 -0
- package/dist/action/pr-comment.d.ts +30 -0
- package/dist/action/pr-comment.d.ts.map +1 -0
- package/dist/action/pr-comment.js +301 -0
- package/dist/action/pr-comment.js.map +1 -0
- package/dist/action/pr-comment.test.d.ts +5 -0
- package/dist/action/pr-comment.test.d.ts.map +1 -0
- package/dist/action/pr-comment.test.js +189 -0
- package/dist/action/pr-comment.test.js.map +1 -0
- package/dist/action/sarif-upload.d.ts +104 -0
- package/dist/action/sarif-upload.d.ts.map +1 -0
- package/dist/action/sarif-upload.js +188 -0
- package/dist/action/sarif-upload.js.map +1 -0
- package/dist/action/sarif-upload.test.d.ts +5 -0
- package/dist/action/sarif-upload.test.d.ts.map +1 -0
- package/dist/action/sarif-upload.test.js +206 -0
- package/dist/action/sarif-upload.test.js.map +1 -0
- package/dist/action/types.d.ts +104 -0
- package/dist/action/types.d.ts.map +1 -0
- package/dist/action/types.js +33 -0
- package/dist/action/types.js.map +1 -0
- package/dist/action/types.test.d.ts +5 -0
- package/dist/action/types.test.d.ts.map +1 -0
- package/dist/action/types.test.js +79 -0
- package/dist/action/types.test.js.map +1 -0
- package/dist/agents/agent-integrity.d.ts +111 -0
- package/dist/agents/agent-integrity.d.ts.map +1 -0
- package/dist/agents/agent-integrity.js +308 -0
- package/dist/agents/agent-integrity.js.map +1 -0
- package/dist/agents/agent-privacy.d.ts +68 -0
- package/dist/agents/agent-privacy.d.ts.map +1 -0
- package/dist/agents/agent-privacy.js +345 -0
- package/dist/agents/agent-privacy.js.map +1 -0
- package/dist/agents/exploit-chain.d.ts +64 -0
- package/dist/agents/exploit-chain.d.ts.map +1 -0
- package/dist/agents/exploit-chain.js +477 -0
- package/dist/agents/exploit-chain.js.map +1 -0
- package/dist/agents/exploit-chain.test.d.ts +5 -0
- package/dist/agents/exploit-chain.test.d.ts.map +1 -0
- package/dist/agents/exploit-chain.test.js +455 -0
- package/dist/agents/exploit-chain.test.js.map +1 -0
- package/dist/agents/index.d.ts +14 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +19 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/logic-flaw-detector.d.ts +55 -0
- package/dist/agents/logic-flaw-detector.d.ts.map +1 -0
- package/dist/agents/logic-flaw-detector.js +454 -0
- package/dist/agents/logic-flaw-detector.js.map +1 -0
- package/dist/agents/zero-day-hunter.d.ts +69 -0
- package/dist/agents/zero-day-hunter.d.ts.map +1 -0
- package/dist/agents/zero-day-hunter.js +591 -0
- package/dist/agents/zero-day-hunter.js.map +1 -0
- package/dist/certification/artifacts.d.ts +21 -0
- package/dist/certification/artifacts.d.ts.map +1 -0
- package/dist/certification/artifacts.js +275 -0
- package/dist/certification/artifacts.js.map +1 -0
- package/dist/certification/autofix.d.ts +122 -0
- package/dist/certification/autofix.d.ts.map +1 -0
- package/dist/certification/autofix.js +476 -0
- package/dist/certification/autofix.js.map +1 -0
- package/dist/certification/badge.d.ts +56 -0
- package/dist/certification/badge.d.ts.map +1 -0
- package/dist/certification/badge.js +155 -0
- package/dist/certification/badge.js.map +1 -0
- package/dist/certification/cache.d.ts +121 -0
- package/dist/certification/cache.d.ts.map +1 -0
- package/dist/certification/cache.js +275 -0
- package/dist/certification/cache.js.map +1 -0
- package/dist/certification/cache.test.d.ts +5 -0
- package/dist/certification/cache.test.d.ts.map +1 -0
- package/dist/certification/cache.test.js +270 -0
- package/dist/certification/cache.test.js.map +1 -0
- package/dist/certification/consensus.d.ts +105 -0
- package/dist/certification/consensus.d.ts.map +1 -0
- package/dist/certification/consensus.js +353 -0
- package/dist/certification/consensus.js.map +1 -0
- package/dist/certification/consensus.test.d.ts +5 -0
- package/dist/certification/consensus.test.d.ts.map +1 -0
- package/dist/certification/consensus.test.js +342 -0
- package/dist/certification/consensus.test.js.map +1 -0
- package/dist/certification/index.d.ts +14 -0
- package/dist/certification/index.d.ts.map +1 -0
- package/dist/certification/index.js +14 -0
- package/dist/certification/index.js.map +1 -0
- package/dist/certification/rules.d.ts +89 -0
- package/dist/certification/rules.d.ts.map +1 -0
- package/dist/certification/rules.js +317 -0
- package/dist/certification/rules.js.map +1 -0
- package/dist/certification/sarif.d.ts +107 -0
- package/dist/certification/sarif.d.ts.map +1 -0
- package/dist/certification/sarif.js +191 -0
- package/dist/certification/sarif.js.map +1 -0
- package/dist/certification/store.d.ts +255 -0
- package/dist/certification/store.d.ts.map +1 -0
- package/dist/certification/store.js +835 -0
- package/dist/certification/store.js.map +1 -0
- package/dist/certification/store.test.d.ts +5 -0
- package/dist/certification/store.test.d.ts.map +1 -0
- package/dist/certification/store.test.js +468 -0
- package/dist/certification/store.test.js.map +1 -0
- package/dist/certification/summary.d.ts +72 -0
- package/dist/certification/summary.d.ts.map +1 -0
- package/dist/certification/summary.js +296 -0
- package/dist/certification/summary.js.map +1 -0
- package/dist/certification/types.d.ts +138 -0
- package/dist/certification/types.d.ts.map +1 -0
- package/dist/certification/types.js +34 -0
- package/dist/certification/types.js.map +1 -0
- package/dist/commands/audits/api-check.d.ts +3 -0
- package/dist/commands/audits/api-check.d.ts.map +1 -0
- package/dist/commands/audits/api-check.js +71 -0
- package/dist/commands/audits/api-check.js.map +1 -0
- package/dist/commands/audits/deadcode.d.ts +3 -0
- package/dist/commands/audits/deadcode.d.ts.map +1 -0
- package/dist/commands/audits/deadcode.js +63 -0
- package/dist/commands/audits/deadcode.js.map +1 -0
- package/dist/commands/audits/deps.d.ts +3 -0
- package/dist/commands/audits/deps.d.ts.map +1 -0
- package/dist/commands/audits/deps.js +56 -0
- package/dist/commands/audits/deps.js.map +1 -0
- package/dist/commands/audits/errors.d.ts +3 -0
- package/dist/commands/audits/errors.d.ts.map +1 -0
- package/dist/commands/audits/errors.js +65 -0
- package/dist/commands/audits/errors.js.map +1 -0
- package/dist/commands/audits/index.d.ts +3 -0
- package/dist/commands/audits/index.d.ts.map +1 -0
- package/dist/commands/audits/index.js +15 -0
- package/dist/commands/audits/index.js.map +1 -0
- package/dist/commands/audits/perf.d.ts +3 -0
- package/dist/commands/audits/perf.d.ts.map +1 -0
- package/dist/commands/audits/perf.js +85 -0
- package/dist/commands/audits/perf.js.map +1 -0
- package/dist/commands/audits/secrets.d.ts +3 -0
- package/dist/commands/audits/secrets.d.ts.map +1 -0
- package/dist/commands/audits/secrets.js +71 -0
- package/dist/commands/audits/secrets.js.map +1 -0
- package/dist/commands/certification/certify.d.ts +3 -0
- package/dist/commands/certification/certify.d.ts.map +1 -0
- package/dist/commands/certification/certify.js +108 -0
- package/dist/commands/certification/certify.js.map +1 -0
- package/dist/commands/certification/index.d.ts +3 -0
- package/dist/commands/certification/index.d.ts.map +1 -0
- package/dist/commands/certification/index.js +17 -0
- package/dist/commands/certification/index.js.map +1 -0
- package/dist/commands/certification/performance.d.ts +3 -0
- package/dist/commands/certification/performance.d.ts.map +1 -0
- package/dist/commands/certification/performance.js +89 -0
- package/dist/commands/certification/performance.js.map +1 -0
- package/dist/commands/certification/quality.d.ts +3 -0
- package/dist/commands/certification/quality.d.ts.map +1 -0
- package/dist/commands/certification/quality.js +92 -0
- package/dist/commands/certification/quality.js.map +1 -0
- package/dist/commands/certification/redteam.d.ts +3 -0
- package/dist/commands/certification/redteam.d.ts.map +1 -0
- package/dist/commands/certification/redteam.js +114 -0
- package/dist/commands/certification/redteam.js.map +1 -0
- package/dist/commands/certification/reliability.d.ts +3 -0
- package/dist/commands/certification/reliability.d.ts.map +1 -0
- package/dist/commands/certification/reliability.js +93 -0
- package/dist/commands/certification/reliability.js.map +1 -0
- package/dist/commands/certification/security.d.ts +3 -0
- package/dist/commands/certification/security.d.ts.map +1 -0
- package/dist/commands/certification/security.js +90 -0
- package/dist/commands/certification/security.js.map +1 -0
- package/dist/commands/certification/typesafety.d.ts +3 -0
- package/dist/commands/certification/typesafety.d.ts.map +1 -0
- package/dist/commands/certification/typesafety.js +87 -0
- package/dist/commands/certification/typesafety.js.map +1 -0
- package/dist/commands/core/add-tests.d.ts +3 -0
- package/dist/commands/core/add-tests.d.ts.map +1 -0
- package/dist/commands/core/add-tests.js +29 -0
- package/dist/commands/core/add-tests.js.map +1 -0
- package/dist/commands/core/audit.d.ts +3 -0
- package/dist/commands/core/audit.d.ts.map +1 -0
- package/dist/commands/core/audit.js +64 -0
- package/dist/commands/core/audit.js.map +1 -0
- package/dist/commands/core/fix-critical.d.ts +3 -0
- package/dist/commands/core/fix-critical.d.ts.map +1 -0
- package/dist/commands/core/fix-critical.js +22 -0
- package/dist/commands/core/fix-critical.js.map +1 -0
- package/dist/commands/core/fix-high.d.ts +3 -0
- package/dist/commands/core/fix-high.d.ts.map +1 -0
- package/dist/commands/core/fix-high.js +32 -0
- package/dist/commands/core/fix-high.js.map +1 -0
- package/dist/commands/core/fix-medium.d.ts +3 -0
- package/dist/commands/core/fix-medium.d.ts.map +1 -0
- package/dist/commands/core/fix-medium.js +29 -0
- package/dist/commands/core/fix-medium.js.map +1 -0
- package/dist/commands/core/fix-rls.d.ts +3 -0
- package/dist/commands/core/fix-rls.d.ts.map +1 -0
- package/dist/commands/core/fix-rls.js +17 -0
- package/dist/commands/core/fix-rls.js.map +1 -0
- package/dist/commands/core/harden.d.ts +3 -0
- package/dist/commands/core/harden.d.ts.map +1 -0
- package/dist/commands/core/harden.js +19 -0
- package/dist/commands/core/harden.js.map +1 -0
- package/dist/commands/core/index.d.ts +3 -0
- package/dist/commands/core/index.d.ts.map +1 -0
- package/dist/commands/core/index.js +21 -0
- package/dist/commands/core/index.js.map +1 -0
- package/dist/commands/core/preflight.d.ts +3 -0
- package/dist/commands/core/preflight.d.ts.map +1 -0
- package/dist/commands/core/preflight.js +50 -0
- package/dist/commands/core/preflight.js.map +1 -0
- package/dist/commands/core/verify.d.ts +3 -0
- package/dist/commands/core/verify.d.ts.map +1 -0
- package/dist/commands/core/verify.js +32 -0
- package/dist/commands/core/verify.js.map +1 -0
- package/dist/commands/index.d.ts +28 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +37 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/types.d.ts +9 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +5 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/compliance/cis.d.ts +29 -0
- package/dist/compliance/cis.d.ts.map +1 -0
- package/dist/compliance/cis.js +316 -0
- package/dist/compliance/cis.js.map +1 -0
- package/dist/compliance/frameworks/eu-ai-act.d.ts +55 -0
- package/dist/compliance/frameworks/eu-ai-act.d.ts.map +1 -0
- package/dist/compliance/frameworks/eu-ai-act.js +621 -0
- package/dist/compliance/frameworks/eu-ai-act.js.map +1 -0
- package/dist/compliance/frameworks/index.d.ts +67 -0
- package/dist/compliance/frameworks/index.d.ts.map +1 -0
- package/dist/compliance/frameworks/index.js +97 -0
- package/dist/compliance/frameworks/index.js.map +1 -0
- package/dist/compliance/frameworks/iso-42001.d.ts +59 -0
- package/dist/compliance/frameworks/iso-42001.d.ts.map +1 -0
- package/dist/compliance/frameworks/iso-42001.js +719 -0
- package/dist/compliance/frameworks/iso-42001.js.map +1 -0
- package/dist/compliance/frameworks/mitre-atlas.d.ts +58 -0
- package/dist/compliance/frameworks/mitre-atlas.d.ts.map +1 -0
- package/dist/compliance/frameworks/mitre-atlas.js +686 -0
- package/dist/compliance/frameworks/mitre-atlas.js.map +1 -0
- package/dist/compliance/frameworks/nist-ai-rmf.d.ts +51 -0
- package/dist/compliance/frameworks/nist-ai-rmf.d.ts.map +1 -0
- package/dist/compliance/frameworks/nist-ai-rmf.js +677 -0
- package/dist/compliance/frameworks/nist-ai-rmf.js.map +1 -0
- package/dist/compliance/frameworks/owasp-llm.d.ts +58 -0
- package/dist/compliance/frameworks/owasp-llm.d.ts.map +1 -0
- package/dist/compliance/frameworks/owasp-llm.js +399 -0
- package/dist/compliance/frameworks/owasp-llm.js.map +1 -0
- package/dist/compliance/gdpr.d.ts +34 -0
- package/dist/compliance/gdpr.d.ts.map +1 -0
- package/dist/compliance/gdpr.js +319 -0
- package/dist/compliance/gdpr.js.map +1 -0
- package/dist/compliance/hipaa.d.ts +29 -0
- package/dist/compliance/hipaa.d.ts.map +1 -0
- package/dist/compliance/hipaa.js +205 -0
- package/dist/compliance/hipaa.js.map +1 -0
- package/dist/compliance/index.d.ts +18 -0
- package/dist/compliance/index.d.ts.map +1 -0
- package/dist/compliance/index.js +26 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/iso27001.d.ts +30 -0
- package/dist/compliance/iso27001.d.ts.map +1 -0
- package/dist/compliance/iso27001.js +332 -0
- package/dist/compliance/iso27001.js.map +1 -0
- package/dist/compliance/mapper.d.ts +42 -0
- package/dist/compliance/mapper.d.ts.map +1 -0
- package/dist/compliance/mapper.js +269 -0
- package/dist/compliance/mapper.js.map +1 -0
- package/dist/compliance/mapper.test.d.ts +5 -0
- package/dist/compliance/mapper.test.d.ts.map +1 -0
- package/dist/compliance/mapper.test.js +360 -0
- package/dist/compliance/mapper.test.js.map +1 -0
- package/dist/compliance/pci-dss.d.ts +29 -0
- package/dist/compliance/pci-dss.d.ts.map +1 -0
- package/dist/compliance/pci-dss.js +247 -0
- package/dist/compliance/pci-dss.js.map +1 -0
- package/dist/compliance/report.d.ts +25 -0
- package/dist/compliance/report.d.ts.map +1 -0
- package/dist/compliance/report.js +254 -0
- package/dist/compliance/report.js.map +1 -0
- package/dist/compliance/report.test.d.ts +5 -0
- package/dist/compliance/report.test.d.ts.map +1 -0
- package/dist/compliance/report.test.js +128 -0
- package/dist/compliance/report.test.js.map +1 -0
- package/dist/compliance/soc2.d.ts +30 -0
- package/dist/compliance/soc2.d.ts.map +1 -0
- package/dist/compliance/soc2.js +262 -0
- package/dist/compliance/soc2.js.map +1 -0
- package/dist/compliance/soc2.test.d.ts +5 -0
- package/dist/compliance/soc2.test.d.ts.map +1 -0
- package/dist/compliance/soc2.test.js +86 -0
- package/dist/compliance/soc2.test.js.map +1 -0
- package/dist/compliance/types.d.ts +125 -0
- package/dist/compliance/types.d.ts.map +1 -0
- package/dist/compliance/types.js +10 -0
- package/dist/compliance/types.js.map +1 -0
- package/dist/config/flags.d.ts +456 -0
- package/dist/config/flags.d.ts.map +1 -0
- package/dist/config/flags.js +464 -0
- package/dist/config/flags.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +10 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/severity-overrides.d.ts +209 -0
- package/dist/config/severity-overrides.d.ts.map +1 -0
- package/dist/config/severity-overrides.js +380 -0
- package/dist/config/severity-overrides.js.map +1 -0
- package/dist/cost/index.d.ts +11 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +12 -0
- package/dist/cost/index.js.map +1 -0
- package/dist/cost/pricing.d.ts +57 -0
- package/dist/cost/pricing.d.ts.map +1 -0
- package/dist/cost/pricing.js +196 -0
- package/dist/cost/pricing.js.map +1 -0
- package/dist/cost/pricing.test.d.ts +5 -0
- package/dist/cost/pricing.test.d.ts.map +1 -0
- package/dist/cost/pricing.test.js +195 -0
- package/dist/cost/pricing.test.js.map +1 -0
- package/dist/cost/tracker.d.ts +100 -0
- package/dist/cost/tracker.d.ts.map +1 -0
- package/dist/cost/tracker.js +366 -0
- package/dist/cost/tracker.js.map +1 -0
- package/dist/cost/tracker.test.d.ts +5 -0
- package/dist/cost/tracker.test.d.ts.map +1 -0
- package/dist/cost/tracker.test.js +360 -0
- package/dist/cost/tracker.test.js.map +1 -0
- package/dist/cost/types.d.ts +135 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +9 -0
- package/dist/cost/types.js.map +1 -0
- package/dist/enterprise/auth/oidc.d.ts +231 -0
- package/dist/enterprise/auth/oidc.d.ts.map +1 -0
- package/dist/enterprise/auth/oidc.js +372 -0
- package/dist/enterprise/auth/oidc.js.map +1 -0
- package/dist/enterprise/auth/oidc.test.d.ts +5 -0
- package/dist/enterprise/auth/oidc.test.d.ts.map +1 -0
- package/dist/enterprise/auth/oidc.test.js +435 -0
- package/dist/enterprise/auth/oidc.test.js.map +1 -0
- package/dist/enterprise/index.d.ts +14 -0
- package/dist/enterprise/index.d.ts.map +1 -0
- package/dist/enterprise/index.js +19 -0
- package/dist/enterprise/index.js.map +1 -0
- package/dist/enterprise/integrations/chat.d.ts +205 -0
- package/dist/enterprise/integrations/chat.d.ts.map +1 -0
- package/dist/enterprise/integrations/chat.js +624 -0
- package/dist/enterprise/integrations/chat.js.map +1 -0
- package/dist/enterprise/integrations/chat.test.d.ts +5 -0
- package/dist/enterprise/integrations/chat.test.d.ts.map +1 -0
- package/dist/enterprise/integrations/chat.test.js +557 -0
- package/dist/enterprise/integrations/chat.test.js.map +1 -0
- package/dist/enterprise/integrations/ticketing.d.ts +257 -0
- package/dist/enterprise/integrations/ticketing.d.ts.map +1 -0
- package/dist/enterprise/integrations/ticketing.js +548 -0
- package/dist/enterprise/integrations/ticketing.js.map +1 -0
- package/dist/enterprise/integrations/ticketing.test.d.ts +5 -0
- package/dist/enterprise/integrations/ticketing.test.d.ts.map +1 -0
- package/dist/enterprise/integrations/ticketing.test.js +693 -0
- package/dist/enterprise/integrations/ticketing.test.js.map +1 -0
- package/dist/enterprise/policy/opa.d.ts +194 -0
- package/dist/enterprise/policy/opa.d.ts.map +1 -0
- package/dist/enterprise/policy/opa.js +385 -0
- package/dist/enterprise/policy/opa.js.map +1 -0
- package/dist/enterprise/policy/opa.test.d.ts +5 -0
- package/dist/enterprise/policy/opa.test.d.ts.map +1 -0
- package/dist/enterprise/policy/opa.test.js +702 -0
- package/dist/enterprise/policy/opa.test.js.map +1 -0
- package/dist/enterprise/signing/kms.d.ts +211 -0
- package/dist/enterprise/signing/kms.d.ts.map +1 -0
- package/dist/enterprise/signing/kms.js +480 -0
- package/dist/enterprise/signing/kms.js.map +1 -0
- package/dist/enterprise/signing/kms.test.d.ts +5 -0
- package/dist/enterprise/signing/kms.test.d.ts.map +1 -0
- package/dist/enterprise/signing/kms.test.js +511 -0
- package/dist/enterprise/signing/kms.test.js.map +1 -0
- package/dist/eval/fixtures.d.ts +58 -0
- package/dist/eval/fixtures.d.ts.map +1 -0
- package/dist/eval/fixtures.js +571 -0
- package/dist/eval/fixtures.js.map +1 -0
- package/dist/eval/fixtures.test.d.ts +5 -0
- package/dist/eval/fixtures.test.d.ts.map +1 -0
- package/dist/eval/fixtures.test.js +193 -0
- package/dist/eval/fixtures.test.js.map +1 -0
- package/dist/eval/harness.d.ts +30 -0
- package/dist/eval/harness.d.ts.map +1 -0
- package/dist/eval/harness.js +221 -0
- package/dist/eval/harness.js.map +1 -0
- package/dist/eval/harness.test.d.ts +5 -0
- package/dist/eval/harness.test.d.ts.map +1 -0
- package/dist/eval/harness.test.js +314 -0
- package/dist/eval/harness.test.js.map +1 -0
- package/dist/eval/index.d.ts +15 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +18 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/metrics.d.ts +56 -0
- package/dist/eval/metrics.d.ts.map +1 -0
- package/dist/eval/metrics.js +298 -0
- package/dist/eval/metrics.js.map +1 -0
- package/dist/eval/metrics.test.d.ts +5 -0
- package/dist/eval/metrics.test.d.ts.map +1 -0
- package/dist/eval/metrics.test.js +426 -0
- package/dist/eval/metrics.test.js.map +1 -0
- package/dist/eval/report.d.ts +30 -0
- package/dist/eval/report.d.ts.map +1 -0
- package/dist/eval/report.js +333 -0
- package/dist/eval/report.js.map +1 -0
- package/dist/eval/report.test.d.ts +5 -0
- package/dist/eval/report.test.d.ts.map +1 -0
- package/dist/eval/report.test.js +275 -0
- package/dist/eval/report.test.js.map +1 -0
- package/dist/eval/types.d.ts +234 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +27 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/http-server.d.ts +3 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +127 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4120 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +46 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +131 -0
- package/dist/logger.js.map +1 -0
- package/dist/multimodel/consensus.d.ts +49 -0
- package/dist/multimodel/consensus.d.ts.map +1 -0
- package/dist/multimodel/consensus.js +454 -0
- package/dist/multimodel/consensus.js.map +1 -0
- package/dist/multimodel/consensus.test.d.ts +5 -0
- package/dist/multimodel/consensus.test.d.ts.map +1 -0
- package/dist/multimodel/consensus.test.js +415 -0
- package/dist/multimodel/consensus.test.js.map +1 -0
- package/dist/multimodel/index.d.ts +13 -0
- package/dist/multimodel/index.d.ts.map +1 -0
- package/dist/multimodel/index.js +14 -0
- package/dist/multimodel/index.js.map +1 -0
- package/dist/multimodel/runner.d.ts +95 -0
- package/dist/multimodel/runner.d.ts.map +1 -0
- package/dist/multimodel/runner.js +312 -0
- package/dist/multimodel/runner.js.map +1 -0
- package/dist/multimodel/runner.test.d.ts +5 -0
- package/dist/multimodel/runner.test.d.ts.map +1 -0
- package/dist/multimodel/runner.test.js +224 -0
- package/dist/multimodel/runner.test.js.map +1 -0
- package/dist/multimodel/types.d.ts +202 -0
- package/dist/multimodel/types.d.ts.map +1 -0
- package/dist/multimodel/types.js +10 -0
- package/dist/multimodel/types.js.map +1 -0
- package/dist/observability/index.d.ts +9 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +9 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/otel.d.ts +102 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +284 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/plugins/index.d.ts +10 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +10 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/loader.d.ts +78 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +470 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/types.d.ts +304 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +100 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/sbom/cyclonedx.d.ts +30 -0
- package/dist/sbom/cyclonedx.d.ts.map +1 -0
- package/dist/sbom/cyclonedx.js +392 -0
- package/dist/sbom/cyclonedx.js.map +1 -0
- package/dist/sbom/cyclonedx.test.d.ts +5 -0
- package/dist/sbom/cyclonedx.test.d.ts.map +1 -0
- package/dist/sbom/cyclonedx.test.js +244 -0
- package/dist/sbom/cyclonedx.test.js.map +1 -0
- package/dist/sbom/index.d.ts +13 -0
- package/dist/sbom/index.d.ts.map +1 -0
- package/dist/sbom/index.js +15 -0
- package/dist/sbom/index.js.map +1 -0
- package/dist/sbom/provenance.d.ts +37 -0
- package/dist/sbom/provenance.d.ts.map +1 -0
- package/dist/sbom/provenance.js +268 -0
- package/dist/sbom/provenance.js.map +1 -0
- package/dist/sbom/provenance.test.d.ts +5 -0
- package/dist/sbom/provenance.test.d.ts.map +1 -0
- package/dist/sbom/provenance.test.js +189 -0
- package/dist/sbom/provenance.test.js.map +1 -0
- package/dist/sbom/signing.d.ts +87 -0
- package/dist/sbom/signing.d.ts.map +1 -0
- package/dist/sbom/signing.js +354 -0
- package/dist/sbom/signing.js.map +1 -0
- package/dist/sbom/signing.test.d.ts +5 -0
- package/dist/sbom/signing.test.d.ts.map +1 -0
- package/dist/sbom/signing.test.js +170 -0
- package/dist/sbom/signing.test.js.map +1 -0
- package/dist/sbom/types.d.ts +384 -0
- package/dist/sbom/types.d.ts.map +1 -0
- package/dist/sbom/types.js +17 -0
- package/dist/sbom/types.js.map +1 -0
- package/dist/scanners/agent/credential-scope-audit.d.ts +40 -0
- package/dist/scanners/agent/credential-scope-audit.d.ts.map +1 -0
- package/dist/scanners/agent/credential-scope-audit.js +404 -0
- package/dist/scanners/agent/credential-scope-audit.js.map +1 -0
- package/dist/scanners/agent/exfil-path-graph.d.ts +50 -0
- package/dist/scanners/agent/exfil-path-graph.d.ts.map +1 -0
- package/dist/scanners/agent/exfil-path-graph.js +764 -0
- package/dist/scanners/agent/exfil-path-graph.js.map +1 -0
- package/dist/scanners/agent/index.d.ts +43 -0
- package/dist/scanners/agent/index.d.ts.map +1 -0
- package/dist/scanners/agent/index.js +616 -0
- package/dist/scanners/agent/index.js.map +1 -0
- package/dist/scanners/agent/manifest-audit.d.ts +43 -0
- package/dist/scanners/agent/manifest-audit.d.ts.map +1 -0
- package/dist/scanners/agent/manifest-audit.js +403 -0
- package/dist/scanners/agent/manifest-audit.js.map +1 -0
- package/dist/scanners/agent/payloads/index.d.ts +44 -0
- package/dist/scanners/agent/payloads/index.d.ts.map +1 -0
- package/dist/scanners/agent/payloads/index.js +184 -0
- package/dist/scanners/agent/payloads/index.js.map +1 -0
- package/dist/scanners/agent/permission-minimiser.d.ts +48 -0
- package/dist/scanners/agent/permission-minimiser.d.ts.map +1 -0
- package/dist/scanners/agent/permission-minimiser.js +551 -0
- package/dist/scanners/agent/permission-minimiser.js.map +1 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts +39 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js +720 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -0
- package/dist/scanners/agent/sandbox-audit.d.ts +44 -0
- package/dist/scanners/agent/sandbox-audit.d.ts.map +1 -0
- package/dist/scanners/agent/sandbox-audit.js +425 -0
- package/dist/scanners/agent/sandbox-audit.js.map +1 -0
- package/dist/scanners/agent/supply-chain-mcp.d.ts +53 -0
- package/dist/scanners/agent/supply-chain-mcp.d.ts.map +1 -0
- package/dist/scanners/agent/supply-chain-mcp.js +479 -0
- package/dist/scanners/agent/supply-chain-mcp.js.map +1 -0
- package/dist/scanners/agent/tool-description-drift.d.ts +62 -0
- package/dist/scanners/agent/tool-description-drift.d.ts.map +1 -0
- package/dist/scanners/agent/tool-description-drift.js +365 -0
- package/dist/scanners/agent/tool-description-drift.js.map +1 -0
- package/dist/scanners/agent/types.d.ts +840 -0
- package/dist/scanners/agent/types.d.ts.map +1 -0
- package/dist/scanners/agent/types.js +149 -0
- package/dist/scanners/agent/types.js.map +1 -0
- package/dist/scanners/bandit.d.ts +25 -0
- package/dist/scanners/bandit.d.ts.map +1 -0
- package/dist/scanners/bandit.js +129 -0
- package/dist/scanners/bandit.js.map +1 -0
- package/dist/scanners/binary-analysis.d.ts +41 -0
- package/dist/scanners/binary-analysis.d.ts.map +1 -0
- package/dist/scanners/binary-analysis.js +587 -0
- package/dist/scanners/binary-analysis.js.map +1 -0
- package/dist/scanners/binary-analysis.test.d.ts +5 -0
- package/dist/scanners/binary-analysis.test.d.ts.map +1 -0
- package/dist/scanners/binary-analysis.test.js +291 -0
- package/dist/scanners/binary-analysis.test.js.map +1 -0
- package/dist/scanners/brakeman.d.ts +30 -0
- package/dist/scanners/brakeman.d.ts.map +1 -0
- package/dist/scanners/brakeman.js +271 -0
- package/dist/scanners/brakeman.js.map +1 -0
- package/dist/scanners/dependencies.d.ts +22 -0
- package/dist/scanners/dependencies.d.ts.map +1 -0
- package/dist/scanners/dependencies.js +202 -0
- package/dist/scanners/dependencies.js.map +1 -0
- package/dist/scanners/dependencies.test.d.ts +5 -0
- package/dist/scanners/dependencies.test.d.ts.map +1 -0
- package/dist/scanners/dependencies.test.js +185 -0
- package/dist/scanners/dependencies.test.js.map +1 -0
- package/dist/scanners/eslint.d.ts +25 -0
- package/dist/scanners/eslint.d.ts.map +1 -0
- package/dist/scanners/eslint.js +220 -0
- package/dist/scanners/eslint.js.map +1 -0
- package/dist/scanners/gosec.d.ts +25 -0
- package/dist/scanners/gosec.d.ts.map +1 -0
- package/dist/scanners/gosec.js +128 -0
- package/dist/scanners/gosec.js.map +1 -0
- package/dist/scanners/index.d.ts +128 -0
- package/dist/scanners/index.d.ts.map +1 -0
- package/dist/scanners/index.js +811 -0
- package/dist/scanners/index.js.map +1 -0
- package/dist/scanners/index.test.d.ts +5 -0
- package/dist/scanners/index.test.d.ts.map +1 -0
- package/dist/scanners/index.test.js +424 -0
- package/dist/scanners/index.test.js.map +1 -0
- package/dist/scanners/memory-safety.d.ts +44 -0
- package/dist/scanners/memory-safety.d.ts.map +1 -0
- package/dist/scanners/memory-safety.js +571 -0
- package/dist/scanners/memory-safety.js.map +1 -0
- package/dist/scanners/memory-safety.test.d.ts +5 -0
- package/dist/scanners/memory-safety.test.d.ts.map +1 -0
- package/dist/scanners/memory-safety.test.js +321 -0
- package/dist/scanners/memory-safety.test.js.map +1 -0
- package/dist/scanners/race-condition.d.ts +25 -0
- package/dist/scanners/race-condition.d.ts.map +1 -0
- package/dist/scanners/race-condition.js +443 -0
- package/dist/scanners/race-condition.js.map +1 -0
- package/dist/scanners/race-condition.test.d.ts +5 -0
- package/dist/scanners/race-condition.test.d.ts.map +1 -0
- package/dist/scanners/race-condition.test.js +428 -0
- package/dist/scanners/race-condition.test.js.map +1 -0
- package/dist/scanners/secrets.d.ts +25 -0
- package/dist/scanners/secrets.d.ts.map +1 -0
- package/dist/scanners/secrets.js +367 -0
- package/dist/scanners/secrets.js.map +1 -0
- package/dist/scanners/secrets.test.d.ts +5 -0
- package/dist/scanners/secrets.test.d.ts.map +1 -0
- package/dist/scanners/secrets.test.js +160 -0
- package/dist/scanners/secrets.test.js.map +1 -0
- package/dist/scanners/semgrep.d.ts +33 -0
- package/dist/scanners/semgrep.d.ts.map +1 -0
- package/dist/scanners/semgrep.js +350 -0
- package/dist/scanners/semgrep.js.map +1 -0
- package/dist/scanners/semgrep.test.d.ts +8 -0
- package/dist/scanners/semgrep.test.d.ts.map +1 -0
- package/dist/scanners/semgrep.test.js +254 -0
- package/dist/scanners/semgrep.test.js.map +1 -0
- package/dist/scanners/trivy.d.ts +26 -0
- package/dist/scanners/trivy.d.ts.map +1 -0
- package/dist/scanners/trivy.js +187 -0
- package/dist/scanners/trivy.js.map +1 -0
- package/dist/scanners/types.d.ts +210 -0
- package/dist/scanners/types.d.ts.map +1 -0
- package/dist/scanners/types.js +106 -0
- package/dist/scanners/types.js.map +1 -0
- package/dist/scanners/types.test.d.ts +5 -0
- package/dist/scanners/types.test.d.ts.map +1 -0
- package/dist/scanners/types.test.js +103 -0
- package/dist/scanners/types.test.js.map +1 -0
- package/dist/scanners/typescript.d.ts +32 -0
- package/dist/scanners/typescript.d.ts.map +1 -0
- package/dist/scanners/typescript.js +300 -0
- package/dist/scanners/typescript.js.map +1 -0
- package/dist/scanners/typescript.test.d.ts +5 -0
- package/dist/scanners/typescript.test.d.ts.map +1 -0
- package/dist/scanners/typescript.test.js +296 -0
- package/dist/scanners/typescript.test.js.map +1 -0
- package/dist/transcripts/index.d.ts +13 -0
- package/dist/transcripts/index.d.ts.map +1 -0
- package/dist/transcripts/index.js +17 -0
- package/dist/transcripts/index.js.map +1 -0
- package/dist/transcripts/logger.d.ts +190 -0
- package/dist/transcripts/logger.d.ts.map +1 -0
- package/dist/transcripts/logger.js +385 -0
- package/dist/transcripts/logger.js.map +1 -0
- package/dist/transcripts/logger.test.d.ts +5 -0
- package/dist/transcripts/logger.test.d.ts.map +1 -0
- package/dist/transcripts/logger.test.js +227 -0
- package/dist/transcripts/logger.test.js.map +1 -0
- package/dist/transcripts/redaction.d.ts +125 -0
- package/dist/transcripts/redaction.d.ts.map +1 -0
- package/dist/transcripts/redaction.js +416 -0
- package/dist/transcripts/redaction.js.map +1 -0
- package/dist/transcripts/redaction.test.d.ts +5 -0
- package/dist/transcripts/redaction.test.d.ts.map +1 -0
- package/dist/transcripts/redaction.test.js +267 -0
- package/dist/transcripts/redaction.test.js.map +1 -0
- package/dist/transcripts/signing.d.ts +108 -0
- package/dist/transcripts/signing.d.ts.map +1 -0
- package/dist/transcripts/signing.js +173 -0
- package/dist/transcripts/signing.js.map +1 -0
- package/dist/transcripts/verifier.d.ts +133 -0
- package/dist/transcripts/verifier.d.ts.map +1 -0
- package/dist/transcripts/verifier.js +489 -0
- package/dist/transcripts/verifier.js.map +1 -0
- package/dist/transcripts/verifier.test.d.ts +5 -0
- package/dist/transcripts/verifier.test.d.ts.map +1 -0
- package/dist/transcripts/verifier.test.js +330 -0
- package/dist/transcripts/verifier.test.js.map +1 -0
- package/dist/util/concurrency.d.ts +221 -0
- package/dist/util/concurrency.d.ts.map +1 -0
- package/dist/util/concurrency.js +339 -0
- package/dist/util/concurrency.js.map +1 -0
- package/dist/util/index.d.ts +12 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +12 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/json.d.ts +63 -0
- package/dist/util/json.d.ts.map +1 -0
- package/dist/util/json.js +134 -0
- package/dist/util/json.js.map +1 -0
- package/dist/util/paths.d.ts +56 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +128 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/retry.d.ts +185 -0
- package/dist/util/retry.d.ts.map +1 -0
- package/dist/util/retry.js +338 -0
- package/dist/util/retry.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,686 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MITRE ATLAS Compliance Framework
|
|
3
|
+
*
|
|
4
|
+
* Maps security findings to MITRE ATLAS (Adversarial Threat Landscape for
|
|
5
|
+
* Artificial-Intelligence Systems) techniques. ATLAS provides a knowledge
|
|
6
|
+
* base of adversary tactics and techniques against AI systems.
|
|
7
|
+
*
|
|
8
|
+
* @see https://atlas.mitre.org/
|
|
9
|
+
* @module compliance/frameworks/mitre-atlas
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* MITRE ATLAS Controls mapped from techniques
|
|
13
|
+
*
|
|
14
|
+
* Based on ATLAS Matrix version 4.5 (2024).
|
|
15
|
+
* Controls are derived from ATLAS techniques and mapped to finding categories.
|
|
16
|
+
*/
|
|
17
|
+
export const MITRE_ATLAS_CONTROLS = [
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Reconnaissance Techniques
|
|
20
|
+
// ============================================================================
|
|
21
|
+
{
|
|
22
|
+
id: "AML.T0000",
|
|
23
|
+
framework: "MITRE-ATLAS",
|
|
24
|
+
category: "Reconnaissance",
|
|
25
|
+
title: "Search for Victim's Publicly Available Research Materials",
|
|
26
|
+
description: "Adversaries may search for information about victim ML capabilities through research papers, blog posts, and documentation that reveal model architectures or training approaches.",
|
|
27
|
+
keywords: [
|
|
28
|
+
"reconnaissance",
|
|
29
|
+
"public research",
|
|
30
|
+
"model architecture",
|
|
31
|
+
"documentation",
|
|
32
|
+
],
|
|
33
|
+
findingCategories: [
|
|
34
|
+
"sensitive-disclosure",
|
|
35
|
+
],
|
|
36
|
+
severityThreshold: "low",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "AML.T0001",
|
|
40
|
+
framework: "MITRE-ATLAS",
|
|
41
|
+
category: "Reconnaissance",
|
|
42
|
+
title: "Search Public ML Model Repositories",
|
|
43
|
+
description: "Adversaries may search public model repositories (HuggingFace, GitHub) to find models that can be used as starting points for attacks or to understand target systems.",
|
|
44
|
+
keywords: [
|
|
45
|
+
"model repositories",
|
|
46
|
+
"huggingface",
|
|
47
|
+
"public models",
|
|
48
|
+
],
|
|
49
|
+
findingCategories: [
|
|
50
|
+
"supply-chain-vuln",
|
|
51
|
+
],
|
|
52
|
+
severityThreshold: "low",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "AML.T0002",
|
|
56
|
+
framework: "MITRE-ATLAS",
|
|
57
|
+
category: "Reconnaissance",
|
|
58
|
+
title: "Discover ML Model Ontology",
|
|
59
|
+
description: "Adversaries gather information about an ML model's structure, inputs, outputs, and capabilities through direct or indirect queries.",
|
|
60
|
+
keywords: [
|
|
61
|
+
"model ontology",
|
|
62
|
+
"model structure",
|
|
63
|
+
"api probing",
|
|
64
|
+
],
|
|
65
|
+
findingCategories: [
|
|
66
|
+
"model-theft",
|
|
67
|
+
"sensitive-disclosure",
|
|
68
|
+
],
|
|
69
|
+
severityThreshold: "medium",
|
|
70
|
+
},
|
|
71
|
+
// ============================================================================
|
|
72
|
+
// Resource Development Techniques
|
|
73
|
+
// ============================================================================
|
|
74
|
+
{
|
|
75
|
+
id: "AML.T0010",
|
|
76
|
+
framework: "MITRE-ATLAS",
|
|
77
|
+
category: "Resource Development",
|
|
78
|
+
title: "Acquire Public ML Artifacts",
|
|
79
|
+
description: "Adversaries may acquire publicly available ML models, datasets, or tools to use in their attacks against victim systems.",
|
|
80
|
+
keywords: [
|
|
81
|
+
"public artifacts",
|
|
82
|
+
"pretrained models",
|
|
83
|
+
"datasets",
|
|
84
|
+
],
|
|
85
|
+
findingCategories: [
|
|
86
|
+
"supply-chain-vuln",
|
|
87
|
+
],
|
|
88
|
+
severityThreshold: "low",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "AML.T0011",
|
|
92
|
+
framework: "MITRE-ATLAS",
|
|
93
|
+
category: "Resource Development",
|
|
94
|
+
title: "Develop Adversarial ML Tools",
|
|
95
|
+
description: "Adversaries develop or acquire tools specifically designed to attack ML systems, including prompt injection frameworks, model extraction tools, or adversarial example generators.",
|
|
96
|
+
keywords: [
|
|
97
|
+
"adversarial tools",
|
|
98
|
+
"attack frameworks",
|
|
99
|
+
"jailbreak tools",
|
|
100
|
+
],
|
|
101
|
+
findingCategories: [
|
|
102
|
+
"prompt-injection",
|
|
103
|
+
],
|
|
104
|
+
severityThreshold: "medium",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
id: "AML.T0012",
|
|
108
|
+
framework: "MITRE-ATLAS",
|
|
109
|
+
category: "Resource Development",
|
|
110
|
+
title: "Poison Training Data",
|
|
111
|
+
description: "Adversaries may poison public or private training datasets to embed backdoors or biases in models trained on that data.",
|
|
112
|
+
keywords: [
|
|
113
|
+
"data poisoning",
|
|
114
|
+
"training data",
|
|
115
|
+
"backdoors",
|
|
116
|
+
],
|
|
117
|
+
findingCategories: [
|
|
118
|
+
"training-data-poisoning",
|
|
119
|
+
"integrity-failure",
|
|
120
|
+
],
|
|
121
|
+
severityThreshold: "critical",
|
|
122
|
+
},
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// Initial Access Techniques
|
|
125
|
+
// ============================================================================
|
|
126
|
+
{
|
|
127
|
+
id: "AML.T0020",
|
|
128
|
+
framework: "MITRE-ATLAS",
|
|
129
|
+
category: "Initial Access",
|
|
130
|
+
title: "Supply Chain Compromise",
|
|
131
|
+
description: "Adversaries may compromise supply chain components including ML frameworks, model repositories, or dependency packages to gain access to target systems.",
|
|
132
|
+
keywords: [
|
|
133
|
+
"supply chain",
|
|
134
|
+
"compromised packages",
|
|
135
|
+
"malicious dependencies",
|
|
136
|
+
],
|
|
137
|
+
findingCategories: [
|
|
138
|
+
"supply-chain-vuln",
|
|
139
|
+
"dependency-vuln",
|
|
140
|
+
"vulnerable-component",
|
|
141
|
+
],
|
|
142
|
+
severityThreshold: "critical",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
id: "AML.T0021",
|
|
146
|
+
framework: "MITRE-ATLAS",
|
|
147
|
+
category: "Initial Access",
|
|
148
|
+
title: "Publish Poisoned Model",
|
|
149
|
+
description: "Adversaries publish poisoned or backdoored models to public repositories, hoping targets will download and deploy them.",
|
|
150
|
+
keywords: [
|
|
151
|
+
"poisoned model",
|
|
152
|
+
"backdoored model",
|
|
153
|
+
"malicious model",
|
|
154
|
+
],
|
|
155
|
+
findingCategories: [
|
|
156
|
+
"supply-chain-vuln",
|
|
157
|
+
"training-data-poisoning",
|
|
158
|
+
],
|
|
159
|
+
severityThreshold: "critical",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
id: "AML.T0022",
|
|
163
|
+
framework: "MITRE-ATLAS",
|
|
164
|
+
category: "Initial Access",
|
|
165
|
+
title: "Compromise ML Development Environment",
|
|
166
|
+
description: "Adversaries compromise ML development environments (notebooks, training pipelines) to inject malicious code or modify models.",
|
|
167
|
+
keywords: [
|
|
168
|
+
"development environment",
|
|
169
|
+
"notebooks",
|
|
170
|
+
"training pipeline",
|
|
171
|
+
],
|
|
172
|
+
findingCategories: [
|
|
173
|
+
"code-injection",
|
|
174
|
+
"integrity-failure",
|
|
175
|
+
],
|
|
176
|
+
severityThreshold: "critical",
|
|
177
|
+
},
|
|
178
|
+
// ============================================================================
|
|
179
|
+
// ML Model Access Techniques
|
|
180
|
+
// ============================================================================
|
|
181
|
+
{
|
|
182
|
+
id: "AML.T0030",
|
|
183
|
+
framework: "MITRE-ATLAS",
|
|
184
|
+
category: "ML Model Access",
|
|
185
|
+
title: "ML API Exploitation",
|
|
186
|
+
description: "Adversaries exploit APIs that provide access to ML models to perform attacks like model extraction, prompt injection, or data exfiltration.",
|
|
187
|
+
keywords: [
|
|
188
|
+
"api exploitation",
|
|
189
|
+
"model api",
|
|
190
|
+
"inference api",
|
|
191
|
+
],
|
|
192
|
+
findingCategories: [
|
|
193
|
+
"prompt-injection",
|
|
194
|
+
"model-theft",
|
|
195
|
+
"auth-bypass",
|
|
196
|
+
],
|
|
197
|
+
severityThreshold: "high",
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
id: "AML.T0031",
|
|
201
|
+
framework: "MITRE-ATLAS",
|
|
202
|
+
category: "ML Model Access",
|
|
203
|
+
title: "Prompt Injection",
|
|
204
|
+
description: "Adversaries craft inputs that manipulate an LLM to execute unintended actions, bypass safety controls, or leak sensitive information.",
|
|
205
|
+
keywords: [
|
|
206
|
+
"prompt injection",
|
|
207
|
+
"jailbreak",
|
|
208
|
+
"instruction override",
|
|
209
|
+
],
|
|
210
|
+
findingCategories: [
|
|
211
|
+
"prompt-injection",
|
|
212
|
+
"injection",
|
|
213
|
+
],
|
|
214
|
+
severityThreshold: "critical",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
id: "AML.T0032",
|
|
218
|
+
framework: "MITRE-ATLAS",
|
|
219
|
+
category: "ML Model Access",
|
|
220
|
+
title: "Indirect Prompt Injection",
|
|
221
|
+
description: "Adversaries inject malicious prompts through external data sources (documents, websites) that the LLM processes, causing it to execute attacker instructions.",
|
|
222
|
+
keywords: [
|
|
223
|
+
"indirect injection",
|
|
224
|
+
"external data",
|
|
225
|
+
"rag poisoning",
|
|
226
|
+
],
|
|
227
|
+
findingCategories: [
|
|
228
|
+
"prompt-injection",
|
|
229
|
+
"insecure-plugin",
|
|
230
|
+
],
|
|
231
|
+
severityThreshold: "critical",
|
|
232
|
+
},
|
|
233
|
+
// ============================================================================
|
|
234
|
+
// Execution Techniques
|
|
235
|
+
// ============================================================================
|
|
236
|
+
{
|
|
237
|
+
id: "AML.T0040",
|
|
238
|
+
framework: "MITRE-ATLAS",
|
|
239
|
+
category: "Execution",
|
|
240
|
+
title: "User Execution of Malicious Prompt",
|
|
241
|
+
description: "Adversaries trick users into executing malicious prompts that exploit the LLM to perform unauthorized actions.",
|
|
242
|
+
keywords: [
|
|
243
|
+
"user execution",
|
|
244
|
+
"social engineering",
|
|
245
|
+
"malicious prompt",
|
|
246
|
+
],
|
|
247
|
+
findingCategories: [
|
|
248
|
+
"prompt-injection",
|
|
249
|
+
],
|
|
250
|
+
severityThreshold: "high",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: "AML.T0041",
|
|
254
|
+
framework: "MITRE-ATLAS",
|
|
255
|
+
category: "Execution",
|
|
256
|
+
title: "Unsafe Model Loading",
|
|
257
|
+
description: "Adversaries exploit unsafe model deserialization to execute arbitrary code when a model file is loaded (pickle, joblib, torch.load).",
|
|
258
|
+
keywords: [
|
|
259
|
+
"unsafe loading",
|
|
260
|
+
"deserialization",
|
|
261
|
+
"pickle",
|
|
262
|
+
"code execution",
|
|
263
|
+
],
|
|
264
|
+
findingCategories: [
|
|
265
|
+
"code-injection",
|
|
266
|
+
"supply-chain-vuln",
|
|
267
|
+
],
|
|
268
|
+
severityThreshold: "critical",
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: "AML.T0042",
|
|
272
|
+
framework: "MITRE-ATLAS",
|
|
273
|
+
category: "Execution",
|
|
274
|
+
title: "Plugin/Tool Abuse",
|
|
275
|
+
description: "Adversaries abuse LLM plugins or tools to execute unauthorized actions, access sensitive data, or escape the intended sandbox.",
|
|
276
|
+
keywords: [
|
|
277
|
+
"plugin abuse",
|
|
278
|
+
"tool exploitation",
|
|
279
|
+
"mcp",
|
|
280
|
+
"function calling",
|
|
281
|
+
],
|
|
282
|
+
findingCategories: [
|
|
283
|
+
"insecure-plugin",
|
|
284
|
+
"excessive-agency",
|
|
285
|
+
"missing-sandbox",
|
|
286
|
+
],
|
|
287
|
+
severityThreshold: "critical",
|
|
288
|
+
},
|
|
289
|
+
// ============================================================================
|
|
290
|
+
// Persistence Techniques
|
|
291
|
+
// ============================================================================
|
|
292
|
+
{
|
|
293
|
+
id: "AML.T0050",
|
|
294
|
+
framework: "MITRE-ATLAS",
|
|
295
|
+
category: "Persistence",
|
|
296
|
+
title: "Poison Fine-Tuning Data",
|
|
297
|
+
description: "Adversaries poison fine-tuning datasets to embed persistent backdoors or biases that survive model updates.",
|
|
298
|
+
keywords: [
|
|
299
|
+
"fine-tuning poisoning",
|
|
300
|
+
"persistent backdoor",
|
|
301
|
+
"model corruption",
|
|
302
|
+
],
|
|
303
|
+
findingCategories: [
|
|
304
|
+
"training-data-poisoning",
|
|
305
|
+
],
|
|
306
|
+
severityThreshold: "critical",
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
id: "AML.T0051",
|
|
310
|
+
framework: "MITRE-ATLAS",
|
|
311
|
+
category: "Persistence",
|
|
312
|
+
title: "Inject Persistent System Prompt",
|
|
313
|
+
description: "Adversaries inject persistent instructions into system prompts or configuration that persist across sessions.",
|
|
314
|
+
keywords: [
|
|
315
|
+
"persistent prompt",
|
|
316
|
+
"system prompt injection",
|
|
317
|
+
"configuration tampering",
|
|
318
|
+
],
|
|
319
|
+
findingCategories: [
|
|
320
|
+
"prompt-injection",
|
|
321
|
+
"manifest-drift",
|
|
322
|
+
],
|
|
323
|
+
severityThreshold: "high",
|
|
324
|
+
},
|
|
325
|
+
// ============================================================================
|
|
326
|
+
// Defense Evasion Techniques
|
|
327
|
+
// ============================================================================
|
|
328
|
+
{
|
|
329
|
+
id: "AML.T0060",
|
|
330
|
+
framework: "MITRE-ATLAS",
|
|
331
|
+
category: "Defense Evasion",
|
|
332
|
+
title: "Evade ML-Based Detection",
|
|
333
|
+
description: "Adversaries craft inputs to evade ML-based security controls like content filters, spam detectors, or prompt injection classifiers.",
|
|
334
|
+
keywords: [
|
|
335
|
+
"detection evasion",
|
|
336
|
+
"filter bypass",
|
|
337
|
+
"adversarial examples",
|
|
338
|
+
],
|
|
339
|
+
findingCategories: [
|
|
340
|
+
"prompt-injection",
|
|
341
|
+
],
|
|
342
|
+
severityThreshold: "high",
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
id: "AML.T0061",
|
|
346
|
+
framework: "MITRE-ATLAS",
|
|
347
|
+
category: "Defense Evasion",
|
|
348
|
+
title: "Obfuscate Malicious Prompts",
|
|
349
|
+
description: "Adversaries obfuscate malicious prompts using encoding, unicode tricks, or semantic variations to bypass detection.",
|
|
350
|
+
keywords: [
|
|
351
|
+
"obfuscation",
|
|
352
|
+
"encoding",
|
|
353
|
+
"unicode",
|
|
354
|
+
"homoglyphs",
|
|
355
|
+
],
|
|
356
|
+
findingCategories: [
|
|
357
|
+
"prompt-injection",
|
|
358
|
+
],
|
|
359
|
+
severityThreshold: "high",
|
|
360
|
+
},
|
|
361
|
+
// ============================================================================
|
|
362
|
+
// Discovery Techniques
|
|
363
|
+
// ============================================================================
|
|
364
|
+
{
|
|
365
|
+
id: "AML.T0070",
|
|
366
|
+
framework: "MITRE-ATLAS",
|
|
367
|
+
category: "Discovery",
|
|
368
|
+
title: "Discover Model Architecture",
|
|
369
|
+
description: "Adversaries probe the ML system to discover model architecture, hyperparameters, and capabilities through API queries.",
|
|
370
|
+
keywords: [
|
|
371
|
+
"model discovery",
|
|
372
|
+
"architecture probing",
|
|
373
|
+
"fingerprinting",
|
|
374
|
+
],
|
|
375
|
+
findingCategories: [
|
|
376
|
+
"model-theft",
|
|
377
|
+
"sensitive-disclosure",
|
|
378
|
+
],
|
|
379
|
+
severityThreshold: "medium",
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
id: "AML.T0071",
|
|
383
|
+
framework: "MITRE-ATLAS",
|
|
384
|
+
category: "Discovery",
|
|
385
|
+
title: "Extract System Prompt",
|
|
386
|
+
description: "Adversaries craft prompts to extract the system prompt or hidden instructions from an LLM application.",
|
|
387
|
+
keywords: [
|
|
388
|
+
"system prompt extraction",
|
|
389
|
+
"prompt leakage",
|
|
390
|
+
"instruction disclosure",
|
|
391
|
+
],
|
|
392
|
+
findingCategories: [
|
|
393
|
+
"prompt-injection",
|
|
394
|
+
"sensitive-disclosure",
|
|
395
|
+
],
|
|
396
|
+
severityThreshold: "high",
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
id: "AML.T0072",
|
|
400
|
+
framework: "MITRE-ATLAS",
|
|
401
|
+
category: "Discovery",
|
|
402
|
+
title: "Enumerate Available Tools",
|
|
403
|
+
description: "Adversaries enumerate available tools, plugins, or functions that the LLM can invoke to identify attack vectors.",
|
|
404
|
+
keywords: [
|
|
405
|
+
"tool enumeration",
|
|
406
|
+
"plugin discovery",
|
|
407
|
+
"capability mapping",
|
|
408
|
+
],
|
|
409
|
+
findingCategories: [
|
|
410
|
+
"sensitive-disclosure",
|
|
411
|
+
"insecure-plugin",
|
|
412
|
+
],
|
|
413
|
+
severityThreshold: "medium",
|
|
414
|
+
},
|
|
415
|
+
// ============================================================================
|
|
416
|
+
// Collection Techniques
|
|
417
|
+
// ============================================================================
|
|
418
|
+
{
|
|
419
|
+
id: "AML.T0080",
|
|
420
|
+
framework: "MITRE-ATLAS",
|
|
421
|
+
category: "Collection",
|
|
422
|
+
title: "Data from ML Model",
|
|
423
|
+
description: "Adversaries extract training data, memorized information, or sensitive data from ML models through carefully crafted queries.",
|
|
424
|
+
keywords: [
|
|
425
|
+
"data extraction",
|
|
426
|
+
"memorization",
|
|
427
|
+
"training data leakage",
|
|
428
|
+
],
|
|
429
|
+
findingCategories: [
|
|
430
|
+
"sensitive-disclosure",
|
|
431
|
+
"pii-exposure",
|
|
432
|
+
],
|
|
433
|
+
severityThreshold: "high",
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
id: "AML.T0081",
|
|
437
|
+
framework: "MITRE-ATLAS",
|
|
438
|
+
category: "Collection",
|
|
439
|
+
title: "Credential Harvesting via LLM",
|
|
440
|
+
description: "Adversaries use the LLM to access or reveal credentials, API keys, or authentication tokens.",
|
|
441
|
+
keywords: [
|
|
442
|
+
"credential harvesting",
|
|
443
|
+
"api key extraction",
|
|
444
|
+
"secret disclosure",
|
|
445
|
+
],
|
|
446
|
+
findingCategories: [
|
|
447
|
+
"hardcoded-secret",
|
|
448
|
+
"credential-overscoped",
|
|
449
|
+
"exfil-path",
|
|
450
|
+
],
|
|
451
|
+
severityThreshold: "critical",
|
|
452
|
+
},
|
|
453
|
+
// ============================================================================
|
|
454
|
+
// ML Attack Staging Techniques
|
|
455
|
+
// ============================================================================
|
|
456
|
+
{
|
|
457
|
+
id: "AML.T0090",
|
|
458
|
+
framework: "MITRE-ATLAS",
|
|
459
|
+
category: "ML Attack Staging",
|
|
460
|
+
title: "Create Proxy Model",
|
|
461
|
+
description: "Adversaries create a proxy/substitute model that mimics the target model's behavior for developing attacks offline.",
|
|
462
|
+
keywords: [
|
|
463
|
+
"proxy model",
|
|
464
|
+
"substitute model",
|
|
465
|
+
"model cloning",
|
|
466
|
+
],
|
|
467
|
+
findingCategories: [
|
|
468
|
+
"model-theft",
|
|
469
|
+
],
|
|
470
|
+
severityThreshold: "medium",
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
id: "AML.T0091",
|
|
474
|
+
framework: "MITRE-ATLAS",
|
|
475
|
+
category: "ML Attack Staging",
|
|
476
|
+
title: "Generate Adversarial Examples",
|
|
477
|
+
description: "Adversaries generate inputs specifically crafted to cause the model to produce incorrect or malicious outputs.",
|
|
478
|
+
keywords: [
|
|
479
|
+
"adversarial examples",
|
|
480
|
+
"perturbations",
|
|
481
|
+
"attack generation",
|
|
482
|
+
],
|
|
483
|
+
findingCategories: [
|
|
484
|
+
"prompt-injection",
|
|
485
|
+
],
|
|
486
|
+
severityThreshold: "high",
|
|
487
|
+
},
|
|
488
|
+
// ============================================================================
|
|
489
|
+
// Exfiltration Techniques
|
|
490
|
+
// ============================================================================
|
|
491
|
+
{
|
|
492
|
+
id: "AML.T0100",
|
|
493
|
+
framework: "MITRE-ATLAS",
|
|
494
|
+
category: "Exfiltration",
|
|
495
|
+
title: "Model Extraction",
|
|
496
|
+
description: "Adversaries extract a copy of the ML model through repeated queries, allowing them to steal intellectual property or prepare offline attacks.",
|
|
497
|
+
keywords: [
|
|
498
|
+
"model extraction",
|
|
499
|
+
"model stealing",
|
|
500
|
+
"api abuse",
|
|
501
|
+
],
|
|
502
|
+
findingCategories: [
|
|
503
|
+
"model-theft",
|
|
504
|
+
],
|
|
505
|
+
severityThreshold: "critical",
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
id: "AML.T0101",
|
|
509
|
+
framework: "MITRE-ATLAS",
|
|
510
|
+
category: "Exfiltration",
|
|
511
|
+
title: "Exfiltrate Data via Model Output",
|
|
512
|
+
description: "Adversaries use the model as a covert channel to exfiltrate sensitive data by encoding it in model outputs.",
|
|
513
|
+
keywords: [
|
|
514
|
+
"data exfiltration",
|
|
515
|
+
"covert channel",
|
|
516
|
+
"output encoding",
|
|
517
|
+
],
|
|
518
|
+
findingCategories: [
|
|
519
|
+
"exfil-path",
|
|
520
|
+
"sensitive-disclosure",
|
|
521
|
+
],
|
|
522
|
+
severityThreshold: "critical",
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
id: "AML.T0102",
|
|
526
|
+
framework: "MITRE-ATLAS",
|
|
527
|
+
category: "Exfiltration",
|
|
528
|
+
title: "Exfiltrate via Tool Call",
|
|
529
|
+
description: "Adversaries use LLM tool/function calls to exfiltrate data to external systems through authorized network channels.",
|
|
530
|
+
keywords: [
|
|
531
|
+
"tool exfiltration",
|
|
532
|
+
"function call abuse",
|
|
533
|
+
"data theft",
|
|
534
|
+
],
|
|
535
|
+
findingCategories: [
|
|
536
|
+
"exfil-path",
|
|
537
|
+
"insecure-plugin",
|
|
538
|
+
],
|
|
539
|
+
severityThreshold: "critical",
|
|
540
|
+
},
|
|
541
|
+
// ============================================================================
|
|
542
|
+
// Impact Techniques
|
|
543
|
+
// ============================================================================
|
|
544
|
+
{
|
|
545
|
+
id: "AML.T0110",
|
|
546
|
+
framework: "MITRE-ATLAS",
|
|
547
|
+
category: "Impact",
|
|
548
|
+
title: "Denial of ML Service",
|
|
549
|
+
description: "Adversaries cause denial of service by exhausting ML system resources through crafted queries or adversarial inputs.",
|
|
550
|
+
keywords: [
|
|
551
|
+
"denial of service",
|
|
552
|
+
"resource exhaustion",
|
|
553
|
+
"model dos",
|
|
554
|
+
],
|
|
555
|
+
findingCategories: [
|
|
556
|
+
"model-denial-of-service",
|
|
557
|
+
"resource-exhaustion",
|
|
558
|
+
],
|
|
559
|
+
severityThreshold: "high",
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
id: "AML.T0111",
|
|
563
|
+
framework: "MITRE-ATLAS",
|
|
564
|
+
category: "Impact",
|
|
565
|
+
title: "Manipulate Model Output",
|
|
566
|
+
description: "Adversaries manipulate model outputs to cause incorrect decisions, spread misinformation, or cause harm to downstream systems.",
|
|
567
|
+
keywords: [
|
|
568
|
+
"output manipulation",
|
|
569
|
+
"misinformation",
|
|
570
|
+
"incorrect decisions",
|
|
571
|
+
],
|
|
572
|
+
findingCategories: [
|
|
573
|
+
"insecure-output",
|
|
574
|
+
"prompt-injection",
|
|
575
|
+
],
|
|
576
|
+
severityThreshold: "high",
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
id: "AML.T0112",
|
|
580
|
+
framework: "MITRE-ATLAS",
|
|
581
|
+
category: "Impact",
|
|
582
|
+
title: "Erode Trust in ML System",
|
|
583
|
+
description: "Adversaries cause the ML system to produce outputs that erode user trust through hallucinations, biased responses, or harmful content.",
|
|
584
|
+
keywords: [
|
|
585
|
+
"trust erosion",
|
|
586
|
+
"reputation damage",
|
|
587
|
+
"harmful content",
|
|
588
|
+
],
|
|
589
|
+
findingCategories: [
|
|
590
|
+
"overreliance",
|
|
591
|
+
"insecure-output",
|
|
592
|
+
],
|
|
593
|
+
severityThreshold: "medium",
|
|
594
|
+
},
|
|
595
|
+
];
|
|
596
|
+
/**
|
|
597
|
+
* Get all MITRE ATLAS controls
|
|
598
|
+
*/
|
|
599
|
+
export function getMITREATLASControls() {
|
|
600
|
+
return MITRE_ATLAS_CONTROLS;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Get MITRE ATLAS control by technique ID
|
|
604
|
+
*/
|
|
605
|
+
export function getMITREATLASControlById(id) {
|
|
606
|
+
return MITRE_ATLAS_CONTROLS.find((c) => c.id === id);
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Get MITRE ATLAS controls by tactic
|
|
610
|
+
*/
|
|
611
|
+
export function getMITREATLASControlsByTactic(tactic) {
|
|
612
|
+
return MITRE_ATLAS_CONTROLS.filter((c) => c.category === tactic);
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Get all MITRE ATLAS tactics
|
|
616
|
+
*/
|
|
617
|
+
export function getMITREATLASTactics() {
|
|
618
|
+
return [
|
|
619
|
+
"Reconnaissance",
|
|
620
|
+
"Resource Development",
|
|
621
|
+
"Initial Access",
|
|
622
|
+
"ML Model Access",
|
|
623
|
+
"Execution",
|
|
624
|
+
"Persistence",
|
|
625
|
+
"Defense Evasion",
|
|
626
|
+
"Discovery",
|
|
627
|
+
"Collection",
|
|
628
|
+
"ML Attack Staging",
|
|
629
|
+
"Exfiltration",
|
|
630
|
+
"Impact",
|
|
631
|
+
];
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Get mitigations for a specific technique
|
|
635
|
+
*/
|
|
636
|
+
export function getMitigationsForTechnique(techniqueId) {
|
|
637
|
+
const mitigations = {
|
|
638
|
+
"AML.T0031": [
|
|
639
|
+
"Implement prompt injection detection",
|
|
640
|
+
"Use privilege separation for system vs user prompts",
|
|
641
|
+
"Apply output filtering and validation",
|
|
642
|
+
"Use allowlisting for tool invocations",
|
|
643
|
+
],
|
|
644
|
+
"AML.T0032": [
|
|
645
|
+
"Sanitize all external data before processing",
|
|
646
|
+
"Implement content security policies",
|
|
647
|
+
"Use data provenance tracking",
|
|
648
|
+
"Apply sandboxing for document processing",
|
|
649
|
+
],
|
|
650
|
+
"AML.T0042": [
|
|
651
|
+
"Apply principle of least privilege to tools",
|
|
652
|
+
"Implement tool sandboxing",
|
|
653
|
+
"Require explicit user confirmation for sensitive actions",
|
|
654
|
+
"Monitor and log all tool invocations",
|
|
655
|
+
],
|
|
656
|
+
"AML.T0100": [
|
|
657
|
+
"Implement rate limiting on model APIs",
|
|
658
|
+
"Use query obfuscation techniques",
|
|
659
|
+
"Monitor for model extraction patterns",
|
|
660
|
+
"Apply watermarking to model outputs",
|
|
661
|
+
],
|
|
662
|
+
"AML.T0102": [
|
|
663
|
+
"Implement egress filtering for tool network access",
|
|
664
|
+
"Use data loss prevention controls",
|
|
665
|
+
"Monitor tool call patterns for anomalies",
|
|
666
|
+
"Apply network segmentation",
|
|
667
|
+
],
|
|
668
|
+
};
|
|
669
|
+
return mitigations[techniqueId] || [
|
|
670
|
+
"Implement defense-in-depth controls",
|
|
671
|
+
"Monitor for suspicious activity",
|
|
672
|
+
"Apply least privilege principles",
|
|
673
|
+
];
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Map MITRE ATLAS technique to ATT&CK techniques
|
|
677
|
+
*/
|
|
678
|
+
export const ATLAS_TO_ATTACK_MAPPING = {
|
|
679
|
+
"AML.T0020": ["T1195"], // Supply Chain Compromise
|
|
680
|
+
"AML.T0022": ["T1059"], // Command Execution
|
|
681
|
+
"AML.T0041": ["T1059.006"], // Python Execution
|
|
682
|
+
"AML.T0081": ["T1552"], // Credentials in Files
|
|
683
|
+
"AML.T0100": ["T1048"], // Exfiltration Over Alternative Protocol
|
|
684
|
+
"AML.T0110": ["T1499"], // Endpoint Denial of Service
|
|
685
|
+
};
|
|
686
|
+
//# sourceMappingURL=mitre-atlas.js.map
|