hackmyagent 0.7.2 → 0.8.1
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/LICENSE +191 -0
- package/README.md +172 -261
- package/dist/abgr/controls.d.ts +35 -0
- package/dist/abgr/controls.d.ts.map +1 -0
- package/dist/abgr/controls.js +1058 -0
- package/dist/abgr/controls.js.map +1 -0
- package/dist/abgr/detector.d.ts +45 -0
- package/dist/abgr/detector.d.ts.map +1 -0
- package/dist/abgr/detector.js +175 -0
- package/dist/abgr/detector.js.map +1 -0
- package/dist/abgr/index.d.ts +24 -0
- package/dist/abgr/index.d.ts.map +1 -0
- package/dist/abgr/index.js +50 -0
- package/dist/abgr/index.js.map +1 -0
- package/dist/abgr/scorer.d.ts +36 -0
- package/dist/abgr/scorer.d.ts.map +1 -0
- package/dist/abgr/scorer.js +205 -0
- package/dist/abgr/scorer.js.map +1 -0
- package/dist/abgr/templates.d.ts +35 -0
- package/dist/abgr/templates.d.ts.map +1 -0
- package/dist/abgr/templates.js +668 -0
- package/dist/abgr/templates.js.map +1 -0
- package/dist/abgr/tier.d.ts +27 -0
- package/dist/abgr/tier.d.ts.map +1 -0
- package/dist/abgr/tier.js +115 -0
- package/dist/abgr/tier.js.map +1 -0
- package/dist/abgr/types.d.ts +59 -0
- package/dist/abgr/types.d.ts.map +1 -0
- package/dist/abgr/types.js +10 -0
- package/dist/abgr/types.js.map +1 -0
- package/dist/agent-scan/checks.d.ts +6 -0
- package/dist/agent-scan/checks.d.ts.map +1 -0
- package/dist/agent-scan/checks.js +93 -0
- package/dist/agent-scan/checks.js.map +1 -0
- package/dist/agent-scan/index.d.ts +10 -0
- package/dist/agent-scan/index.d.ts.map +1 -0
- package/dist/agent-scan/index.js +16 -0
- package/dist/agent-scan/index.js.map +1 -0
- package/dist/agent-scan/scanner.d.ts +31 -0
- package/dist/agent-scan/scanner.d.ts.map +1 -0
- package/dist/agent-scan/scanner.js +484 -0
- package/dist/agent-scan/scanner.js.map +1 -0
- package/dist/agent-scan/types.d.ts +63 -0
- package/dist/agent-scan/types.d.ts.map +1 -0
- package/dist/agent-scan/types.js +10 -0
- package/dist/agent-scan/types.js.map +1 -0
- package/dist/arp/cli/index.d.ts +3 -0
- package/dist/arp/cli/index.d.ts.map +1 -0
- package/dist/arp/cli/index.js +225 -0
- package/dist/arp/cli/index.js.map +1 -0
- package/dist/arp/config/loader.d.ts +8 -0
- package/dist/arp/config/loader.d.ts.map +1 -0
- package/dist/arp/config/loader.js +102 -0
- package/dist/arp/config/loader.js.map +1 -0
- package/dist/arp/enforcement/kill-switch.d.ts +22 -0
- package/dist/arp/enforcement/kill-switch.d.ts.map +1 -0
- package/dist/arp/enforcement/kill-switch.js +122 -0
- package/dist/arp/enforcement/kill-switch.js.map +1 -0
- package/dist/arp/engine/event-engine.d.ts +29 -0
- package/dist/arp/engine/event-engine.d.ts.map +1 -0
- package/dist/arp/engine/event-engine.js +233 -0
- package/dist/arp/engine/event-engine.js.map +1 -0
- package/dist/arp/index.d.ts +81 -0
- package/dist/arp/index.d.ts.map +1 -0
- package/dist/arp/index.js +239 -0
- package/dist/arp/index.js.map +1 -0
- package/dist/arp/intelligence/adapters.d.ts +45 -0
- package/dist/arp/intelligence/adapters.d.ts.map +1 -0
- package/dist/arp/intelligence/adapters.js +222 -0
- package/dist/arp/intelligence/adapters.js.map +1 -0
- package/dist/arp/intelligence/anomaly.d.ts +32 -0
- package/dist/arp/intelligence/anomaly.d.ts.map +1 -0
- package/dist/arp/intelligence/anomaly.js +80 -0
- package/dist/arp/intelligence/anomaly.js.map +1 -0
- package/dist/arp/intelligence/budget.d.ts +33 -0
- package/dist/arp/intelligence/budget.d.ts.map +1 -0
- package/dist/arp/intelligence/budget.js +150 -0
- package/dist/arp/intelligence/budget.js.map +1 -0
- package/dist/arp/intelligence/coordinator.d.ts +43 -0
- package/dist/arp/intelligence/coordinator.d.ts.map +1 -0
- package/dist/arp/intelligence/coordinator.js +301 -0
- package/dist/arp/intelligence/coordinator.js.map +1 -0
- package/dist/arp/interceptors/a2a-protocol.d.ts +29 -0
- package/dist/arp/interceptors/a2a-protocol.d.ts.map +1 -0
- package/dist/arp/interceptors/a2a-protocol.js +111 -0
- package/dist/arp/interceptors/a2a-protocol.js.map +1 -0
- package/dist/arp/interceptors/filesystem.d.ts +33 -0
- package/dist/arp/interceptors/filesystem.d.ts.map +1 -0
- package/dist/arp/interceptors/filesystem.js +199 -0
- package/dist/arp/interceptors/filesystem.js.map +1 -0
- package/dist/arp/interceptors/mcp-protocol.d.ts +25 -0
- package/dist/arp/interceptors/mcp-protocol.d.ts.map +1 -0
- package/dist/arp/interceptors/mcp-protocol.js +126 -0
- package/dist/arp/interceptors/mcp-protocol.js.map +1 -0
- package/dist/arp/interceptors/network.d.ts +26 -0
- package/dist/arp/interceptors/network.d.ts.map +1 -0
- package/dist/arp/interceptors/network.js +146 -0
- package/dist/arp/interceptors/network.js.map +1 -0
- package/dist/arp/interceptors/process.d.ts +26 -0
- package/dist/arp/interceptors/process.d.ts.map +1 -0
- package/dist/arp/interceptors/process.js +157 -0
- package/dist/arp/interceptors/process.js.map +1 -0
- package/dist/arp/interceptors/prompt.d.ts +29 -0
- package/dist/arp/interceptors/prompt.d.ts.map +1 -0
- package/dist/arp/interceptors/prompt.js +82 -0
- package/dist/arp/interceptors/prompt.js.map +1 -0
- package/dist/arp/license/index.d.ts +59 -0
- package/dist/arp/license/index.d.ts.map +1 -0
- package/dist/arp/license/index.js +78 -0
- package/dist/arp/license/index.js.map +1 -0
- package/dist/arp/monitors/filesystem.d.ts +21 -0
- package/dist/arp/monitors/filesystem.d.ts.map +1 -0
- package/dist/arp/monitors/filesystem.js +141 -0
- package/dist/arp/monitors/filesystem.js.map +1 -0
- package/dist/arp/monitors/network.d.ts +32 -0
- package/dist/arp/monitors/network.d.ts.map +1 -0
- package/dist/arp/monitors/network.js +301 -0
- package/dist/arp/monitors/network.js.map +1 -0
- package/dist/arp/monitors/process.d.ts +24 -0
- package/dist/arp/monitors/process.d.ts.map +1 -0
- package/dist/arp/monitors/process.js +205 -0
- package/dist/arp/monitors/process.js.map +1 -0
- package/dist/arp/patterns/ai-threats.d.ts +48 -0
- package/dist/arp/patterns/ai-threats.d.ts.map +1 -0
- package/dist/arp/patterns/ai-threats.js +215 -0
- package/dist/arp/patterns/ai-threats.js.map +1 -0
- package/dist/arp/proxy/forward.d.ts +23 -0
- package/dist/arp/proxy/forward.d.ts.map +1 -0
- package/dist/arp/proxy/forward.js +152 -0
- package/dist/arp/proxy/forward.js.map +1 -0
- package/dist/arp/proxy/server.d.ts +45 -0
- package/dist/arp/proxy/server.d.ts.map +1 -0
- package/dist/arp/proxy/server.js +331 -0
- package/dist/arp/proxy/server.js.map +1 -0
- package/dist/arp/reporting/local-log.d.ts +22 -0
- package/dist/arp/reporting/local-log.d.ts.map +1 -0
- package/dist/arp/reporting/local-log.js +116 -0
- package/dist/arp/reporting/local-log.js.map +1 -0
- package/dist/arp/types.d.ts +230 -0
- package/dist/arp/types.d.ts.map +1 -0
- package/dist/arp/types.js +4 -0
- package/dist/arp/types.js.map +1 -0
- package/dist/attack/custom-payloads.d.ts +11 -0
- package/dist/attack/custom-payloads.d.ts.map +1 -0
- package/dist/attack/custom-payloads.js +108 -0
- package/dist/attack/custom-payloads.js.map +1 -0
- package/dist/attack/fail-policy.d.ts +16 -0
- package/dist/attack/fail-policy.d.ts.map +1 -0
- package/dist/attack/fail-policy.js +36 -0
- package/dist/attack/fail-policy.js.map +1 -0
- package/dist/attack/index.d.ts +12 -0
- package/dist/attack/index.d.ts.map +1 -0
- package/dist/attack/index.js +30 -0
- package/dist/attack/index.js.map +1 -0
- package/dist/attack/payloads/a2a-attacks.d.ts +12 -0
- package/dist/attack/payloads/a2a-attacks.d.ts.map +1 -0
- package/dist/attack/payloads/a2a-attacks.js +221 -0
- package/dist/attack/payloads/a2a-attacks.js.map +1 -0
- package/dist/attack/payloads/capability-abuse.d.ts +8 -0
- package/dist/attack/payloads/capability-abuse.d.ts.map +1 -0
- package/dist/attack/payloads/capability-abuse.js +222 -0
- package/dist/attack/payloads/capability-abuse.js.map +1 -0
- package/dist/attack/payloads/context-manipulation.d.ts +8 -0
- package/dist/attack/payloads/context-manipulation.d.ts.map +1 -0
- package/dist/attack/payloads/context-manipulation.js +217 -0
- package/dist/attack/payloads/context-manipulation.js.map +1 -0
- package/dist/attack/payloads/data-exfiltration.d.ts +8 -0
- package/dist/attack/payloads/data-exfiltration.d.ts.map +1 -0
- package/dist/attack/payloads/data-exfiltration.js +249 -0
- package/dist/attack/payloads/data-exfiltration.js.map +1 -0
- package/dist/attack/payloads/index.d.ts +29 -0
- package/dist/attack/payloads/index.d.ts.map +1 -0
- package/dist/attack/payloads/index.js +76 -0
- package/dist/attack/payloads/index.js.map +1 -0
- package/dist/attack/payloads/jailbreak.d.ts +8 -0
- package/dist/attack/payloads/jailbreak.d.ts.map +1 -0
- package/dist/attack/payloads/jailbreak.js +265 -0
- package/dist/attack/payloads/jailbreak.js.map +1 -0
- package/dist/attack/payloads/mcp-exploitation.d.ts +12 -0
- package/dist/attack/payloads/mcp-exploitation.d.ts.map +1 -0
- package/dist/attack/payloads/mcp-exploitation.js +221 -0
- package/dist/attack/payloads/mcp-exploitation.js.map +1 -0
- package/dist/attack/payloads/prompt-injection.d.ts +8 -0
- package/dist/attack/payloads/prompt-injection.d.ts.map +1 -0
- package/dist/attack/payloads/prompt-injection.js +262 -0
- package/dist/attack/payloads/prompt-injection.js.map +1 -0
- package/dist/attack/scanner.d.ts +84 -0
- package/dist/attack/scanner.d.ts.map +1 -0
- package/dist/attack/scanner.js +509 -0
- package/dist/attack/scanner.js.map +1 -0
- package/dist/attack/types.d.ts +153 -0
- package/dist/attack/types.d.ts.map +1 -0
- package/dist/attack/types.js +46 -0
- package/dist/attack/types.js.map +1 -0
- package/dist/benchmarks/index.d.ts +16 -0
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/index.js +27 -0
- package/dist/benchmarks/index.js.map +1 -0
- package/dist/benchmarks/oasb-1.d.ts +112 -0
- package/dist/benchmarks/oasb-1.d.ts.map +1 -0
- package/dist/benchmarks/oasb-1.js +1124 -0
- package/dist/benchmarks/oasb-1.js.map +1 -0
- package/dist/checker/check-skill.d.ts +48 -0
- package/dist/checker/check-skill.d.ts.map +1 -0
- package/dist/checker/check-skill.js +105 -0
- package/dist/checker/check-skill.js.map +1 -0
- package/dist/checker/index.d.ts +12 -0
- package/dist/checker/index.d.ts.map +1 -0
- package/dist/checker/index.js +16 -0
- package/dist/checker/index.js.map +1 -0
- package/dist/checker/permission-analyzer.d.ts +12 -0
- package/dist/checker/permission-analyzer.d.ts.map +1 -0
- package/dist/checker/permission-analyzer.js +84 -0
- package/dist/checker/permission-analyzer.js.map +1 -0
- package/dist/checker/publisher-verifier.d.ts +34 -0
- package/dist/checker/publisher-verifier.d.ts.map +1 -0
- package/dist/checker/publisher-verifier.js +121 -0
- package/dist/checker/publisher-verifier.js.map +1 -0
- package/dist/checker/skill-identifier.d.ts +14 -0
- package/dist/checker/skill-identifier.d.ts.map +1 -0
- package/dist/checker/skill-identifier.js +55 -0
- package/dist/checker/skill-identifier.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3534 -0
- package/dist/cli.js.map +1 -0
- package/dist/hardening/index.d.ts +7 -0
- package/dist/hardening/index.d.ts.map +1 -0
- package/dist/hardening/index.js +9 -0
- package/dist/hardening/index.js.map +1 -0
- package/dist/hardening/llm-checks.d.ts +18 -0
- package/dist/hardening/llm-checks.d.ts.map +1 -0
- package/dist/hardening/llm-checks.js +434 -0
- package/dist/hardening/llm-checks.js.map +1 -0
- package/dist/hardening/mcp-tool-enum.d.ts +45 -0
- package/dist/hardening/mcp-tool-enum.d.ts.map +1 -0
- package/dist/hardening/mcp-tool-enum.js +315 -0
- package/dist/hardening/mcp-tool-enum.js.map +1 -0
- package/dist/hardening/scanner.d.ts +147 -0
- package/dist/hardening/scanner.d.ts.map +1 -0
- package/dist/hardening/scanner.js +5445 -0
- package/dist/hardening/scanner.js.map +1 -0
- package/dist/hardening/security-check.d.ts +85 -0
- package/dist/hardening/security-check.d.ts.map +1 -0
- package/dist/hardening/security-check.js +6 -0
- package/dist/hardening/security-check.js.map +1 -0
- package/dist/hardening/shell-checks.d.ts +21 -0
- package/dist/hardening/shell-checks.d.ts.map +1 -0
- package/dist/hardening/shell-checks.js +236 -0
- package/dist/hardening/shell-checks.js.map +1 -0
- package/dist/index.d.ts +38 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -3525
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +10 -10
- package/dist/mcp-server.js.map +1 -1
- package/dist/oasb/config/dvaa-targets.d.ts +13 -0
- package/dist/oasb/config/dvaa-targets.d.ts.map +1 -0
- package/dist/oasb/config/dvaa-targets.js +89 -0
- package/dist/oasb/config/dvaa-targets.js.map +1 -0
- package/dist/oasb/harness/arp-wrapper.d.ts +29 -0
- package/dist/oasb/harness/arp-wrapper.d.ts.map +1 -0
- package/dist/oasb/harness/arp-wrapper.js +134 -0
- package/dist/oasb/harness/arp-wrapper.js.map +1 -0
- package/dist/oasb/harness/dvaa-client.d.ts +46 -0
- package/dist/oasb/harness/dvaa-client.d.ts.map +1 -0
- package/dist/oasb/harness/dvaa-client.js +98 -0
- package/dist/oasb/harness/dvaa-client.js.map +1 -0
- package/dist/oasb/harness/dvaa-manager.d.ts +17 -0
- package/dist/oasb/harness/dvaa-manager.d.ts.map +1 -0
- package/dist/oasb/harness/dvaa-manager.js +132 -0
- package/dist/oasb/harness/dvaa-manager.js.map +1 -0
- package/dist/oasb/harness/event-collector.d.ts +33 -0
- package/dist/oasb/harness/event-collector.d.ts.map +1 -0
- package/dist/oasb/harness/event-collector.js +86 -0
- package/dist/oasb/harness/event-collector.js.map +1 -0
- package/dist/oasb/harness/metrics.d.ts +14 -0
- package/dist/oasb/harness/metrics.d.ts.map +1 -0
- package/dist/oasb/harness/metrics.js +56 -0
- package/dist/oasb/harness/metrics.js.map +1 -0
- package/dist/oasb/harness/mock-llm-adapter.d.ts +34 -0
- package/dist/oasb/harness/mock-llm-adapter.d.ts.map +1 -0
- package/dist/oasb/harness/mock-llm-adapter.js +69 -0
- package/dist/oasb/harness/mock-llm-adapter.js.map +1 -0
- package/dist/oasb/harness/types.d.ts +74 -0
- package/dist/oasb/harness/types.d.ts.map +1 -0
- package/dist/oasb/harness/types.js +3 -0
- package/dist/oasb/harness/types.js.map +1 -0
- package/dist/plugins/core.d.ts +109 -0
- package/dist/plugins/core.d.ts.map +1 -0
- package/dist/plugins/core.js +30 -0
- package/dist/plugins/core.js.map +1 -0
- package/dist/plugins/credvault.d.ts +22 -0
- package/dist/plugins/credvault.d.ts.map +1 -0
- package/dist/plugins/credvault.js +374 -0
- package/dist/plugins/credvault.js.map +1 -0
- package/dist/plugins/signcrypt.d.ts +27 -0
- package/dist/plugins/signcrypt.d.ts.map +1 -0
- package/dist/plugins/signcrypt.js +317 -0
- package/dist/plugins/signcrypt.js.map +1 -0
- package/dist/plugins/skillguard.d.ts +25 -0
- package/dist/plugins/skillguard.d.ts.map +1 -0
- package/dist/plugins/skillguard.js +346 -0
- package/dist/plugins/skillguard.js.map +1 -0
- package/dist/registry/client.d.ts +125 -0
- package/dist/registry/client.d.ts.map +1 -0
- package/dist/registry/client.js +308 -0
- package/dist/registry/client.js.map +1 -0
- package/dist/registry/contribution.d.ts +178 -0
- package/dist/registry/contribution.d.ts.map +1 -0
- package/dist/registry/contribution.js +272 -0
- package/dist/registry/contribution.js.map +1 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +10 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/scanner/external-scanner.d.ts +13 -0
- package/dist/scanner/external-scanner.d.ts.map +1 -0
- package/dist/scanner/external-scanner.js +299 -0
- package/dist/scanner/external-scanner.js.map +1 -0
- package/dist/scanner/index.d.ts +6 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +9 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/types.d.ts +32 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +6 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/semantic/deep-scan.d.ts +13 -0
- package/dist/semantic/deep-scan.d.ts.map +1 -0
- package/dist/semantic/deep-scan.js +63 -0
- package/dist/semantic/deep-scan.js.map +1 -0
- package/dist/semantic/index.d.ts +17 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/index.js +39 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/integration/cost-estimator.d.ts +17 -0
- package/dist/semantic/integration/cost-estimator.d.ts.map +1 -0
- package/dist/semantic/integration/cost-estimator.js +54 -0
- package/dist/semantic/integration/cost-estimator.js.map +1 -0
- package/dist/semantic/integration/finding-adapter.d.ts +34 -0
- package/dist/semantic/integration/finding-adapter.d.ts.map +1 -0
- package/dist/semantic/integration/finding-adapter.js +41 -0
- package/dist/semantic/integration/finding-adapter.js.map +1 -0
- package/dist/semantic/integration/oasb-upgrader.d.ts +20 -0
- package/dist/semantic/integration/oasb-upgrader.d.ts.map +1 -0
- package/dist/semantic/integration/oasb-upgrader.js +47 -0
- package/dist/semantic/integration/oasb-upgrader.js.map +1 -0
- package/dist/semantic/llm/budget.d.ts +50 -0
- package/dist/semantic/llm/budget.d.ts.map +1 -0
- package/dist/semantic/llm/budget.js +139 -0
- package/dist/semantic/llm/budget.js.map +1 -0
- package/dist/semantic/llm/cache.d.ts +36 -0
- package/dist/semantic/llm/cache.d.ts.map +1 -0
- package/dist/semantic/llm/cache.js +103 -0
- package/dist/semantic/llm/cache.js.map +1 -0
- package/dist/semantic/llm/client.d.ts +49 -0
- package/dist/semantic/llm/client.d.ts.map +1 -0
- package/dist/semantic/llm/client.js +64 -0
- package/dist/semantic/llm/client.js.map +1 -0
- package/dist/semantic/llm/index.d.ts +33 -0
- package/dist/semantic/llm/index.d.ts.map +1 -0
- package/dist/semantic/llm/index.js +129 -0
- package/dist/semantic/llm/index.js.map +1 -0
- package/dist/semantic/llm/prompts.d.ts +30 -0
- package/dist/semantic/llm/prompts.d.ts.map +1 -0
- package/dist/semantic/llm/prompts.js +120 -0
- package/dist/semantic/llm/prompts.js.map +1 -0
- package/dist/semantic/structural/credential-context.d.ts +14 -0
- package/dist/semantic/structural/credential-context.d.ts.map +1 -0
- package/dist/semantic/structural/credential-context.js +295 -0
- package/dist/semantic/structural/credential-context.js.map +1 -0
- package/dist/semantic/structural/index.d.ts +28 -0
- package/dist/semantic/structural/index.d.ts.map +1 -0
- package/dist/semantic/structural/index.js +138 -0
- package/dist/semantic/structural/index.js.map +1 -0
- package/dist/semantic/structural/instruction.d.ts +19 -0
- package/dist/semantic/structural/instruction.d.ts.map +1 -0
- package/dist/semantic/structural/instruction.js +167 -0
- package/dist/semantic/structural/instruction.js.map +1 -0
- package/dist/semantic/structural/mcp-config.d.ts +22 -0
- package/dist/semantic/structural/mcp-config.d.ts.map +1 -0
- package/dist/semantic/structural/mcp-config.js +294 -0
- package/dist/semantic/structural/mcp-config.js.map +1 -0
- package/dist/semantic/structural/permission-model.d.ts +16 -0
- package/dist/semantic/structural/permission-model.d.ts.map +1 -0
- package/dist/semantic/structural/permission-model.js +121 -0
- package/dist/semantic/structural/permission-model.js.map +1 -0
- package/dist/semantic/types.d.ts +122 -0
- package/dist/semantic/types.d.ts.map +1 -0
- package/dist/semantic/types.js +10 -0
- package/dist/semantic/types.js.map +1 -0
- package/package.json +25 -14
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAmKH,sCAEC;AAnKY,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,iBAAiB;AACjB,qCAImB;AAHjB,qGAAA,UAAU,OAAA;AACV,+GAAA,oBAAoB,OAAA;AACpB,6GAAA,kBAAkB,OAAA;AAcpB,mBAAmB;AACnB,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AAGzB,0BAA0B;AAC1B,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AAQxB,gBAAgB;AAChB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AAEtB,mCAYkB;AAXhB,2GAAA,iBAAiB,OAAA;AACjB,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AACtB,6GAAA,mBAAmB,OAAA;AACnB,oGAAA,UAAU,OAAA;AACV,mHAAA,yBAAyB,OAAA;AACzB,6GAAA,mBAAmB,OAAA;AAiBrB,oBAAoB;AACpB,2CAUsB;AATpB,+GAAA,iBAAiB,OAAA;AACjB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AACf,kHAAA,oBAAoB,OAAA;AACpB,8GAAA,gBAAgB,OAAA;AAalB,kBAAkB;AAClB,uCAMoB;AALlB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AACpB,sHAAA,0BAA0B,OAAA;AAU5B,+CAA+C;AAC/C,uCAeoB;AAdlB,8GAAA,kBAAkB,OAAA;AAClB,qHAAA,yBAAyB,OAAA;AACzB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA;AACR,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AAGrB,gBAAgB;AAChB,uCAKwB;AAJtB,sGAAA,cAAc,OAAA;AACd,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,qGAAA,aAAa,OAAA;AAaf,mBAAmB;AACnB,iDAA4E;AAAnE,kHAAA,YAAY,OAAyB;AAC9C,iDAA4E;AAAnE,kHAAA,YAAY,OAAyB;AAC9C,mDAA8E;AAArE,oHAAA,YAAY,OAA0B;AAE/C,2BAA2B;AAC3B,6BAA+C;AAAtC,6GAAA,sBAAsB,OAAA;AAgB/B,SAAgB,aAAa;IAC3B,OAAO,IAAI,OAAO,EAAE,CAAC;AACvB,CAAC;AAED,MAAa,OAAO;IAClB,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC;CACF;AARD,0BAQC"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -48,8 +48,8 @@ exports.startMcpServer = startMcpServer;
|
|
|
48
48
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
49
49
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
50
50
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
51
|
-
const
|
|
52
|
-
const
|
|
51
|
+
const index_1 = require("./index");
|
|
52
|
+
const semantic_1 = require("./semantic");
|
|
53
53
|
const TOOL_DEFINITIONS = [
|
|
54
54
|
{
|
|
55
55
|
name: 'hackmyagent_scan',
|
|
@@ -135,7 +135,7 @@ function formatFindingsForLLM(findings) {
|
|
|
135
135
|
return lines.join('\n');
|
|
136
136
|
}
|
|
137
137
|
async function startMcpServer() {
|
|
138
|
-
const server = new index_js_1.Server({ name: 'hackmyagent', version:
|
|
138
|
+
const server = new index_js_1.Server({ name: 'hackmyagent', version: index_1.VERSION }, { capabilities: { tools: {} } });
|
|
139
139
|
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
140
140
|
tools: TOOL_DEFINITIONS,
|
|
141
141
|
}));
|
|
@@ -148,7 +148,7 @@ async function startMcpServer() {
|
|
|
148
148
|
const fix = args?.fix || false;
|
|
149
149
|
const ignoreStr = args?.ignore || '';
|
|
150
150
|
const ignore = ignoreStr ? ignoreStr.split(',').map((s) => s.trim()) : [];
|
|
151
|
-
const scanner = new
|
|
151
|
+
const scanner = new index_1.HardeningScanner();
|
|
152
152
|
const result = await scanner.scan({ targetDir: dir, autoFix: fix, ignore });
|
|
153
153
|
const issues = result.findings.filter((f) => !f.passed && !f.fixed);
|
|
154
154
|
const fixed = result.findings.filter((f) => f.fixed);
|
|
@@ -171,10 +171,10 @@ async function startMcpServer() {
|
|
|
171
171
|
case 'hackmyagent_deep_scan': {
|
|
172
172
|
const dir = args?.directory || process.cwd();
|
|
173
173
|
// Run Layer 1+2
|
|
174
|
-
const scanner = new
|
|
174
|
+
const scanner = new index_1.HardeningScanner();
|
|
175
175
|
const result = await scanner.scan({ targetDir: dir });
|
|
176
176
|
// Get structural findings and files
|
|
177
|
-
const structural = new
|
|
177
|
+
const structural = new semantic_1.StructuralAnalyzer();
|
|
178
178
|
const files = await structural.discoverFiles(dir);
|
|
179
179
|
const structuralFindings = await structural.analyze(dir);
|
|
180
180
|
// Build deep scan result with analysis guidance
|
|
@@ -186,7 +186,7 @@ async function startMcpServer() {
|
|
|
186
186
|
file: f.file,
|
|
187
187
|
message: f.message,
|
|
188
188
|
}));
|
|
189
|
-
const deepResult = (0,
|
|
189
|
+
const deepResult = (0, semantic_1.buildDeepScanResult)(layer1Findings, structuralFindings, files);
|
|
190
190
|
return {
|
|
191
191
|
content: [
|
|
192
192
|
{
|
|
@@ -253,11 +253,11 @@ async function startMcpServer() {
|
|
|
253
253
|
case 'hackmyagent_benchmark': {
|
|
254
254
|
const dir = args?.directory || process.cwd();
|
|
255
255
|
const level = (args?.level || 'L1').toUpperCase();
|
|
256
|
-
const scanner = new
|
|
256
|
+
const scanner = new index_1.HardeningScanner();
|
|
257
257
|
const result = await scanner.scan({ targetDir: dir });
|
|
258
258
|
// Generate benchmark assessment
|
|
259
259
|
const allFindings = result.allFindings || result.findings;
|
|
260
|
-
const controls = (0,
|
|
260
|
+
const controls = (0, index_1.getControlsForLevel)(level);
|
|
261
261
|
const checkIdResults = new Map();
|
|
262
262
|
for (const f of allFindings) {
|
|
263
263
|
checkIdResults.set(f.checkId, f.passed);
|
|
@@ -287,7 +287,7 @@ async function startMcpServer() {
|
|
|
287
287
|
}
|
|
288
288
|
const total = passed + failed;
|
|
289
289
|
const compliance = total > 0 ? Math.round((passed / total) * 100) : 0;
|
|
290
|
-
const rating = (0,
|
|
290
|
+
const rating = (0, index_1.calculateRating)(compliance, compliance, compliance, level);
|
|
291
291
|
return {
|
|
292
292
|
content: [
|
|
293
293
|
{
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHH,wCAsNC;AApUD,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** DVAA agent port and endpoint configuration */
|
|
2
|
+
export interface DVAATarget {
|
|
3
|
+
name: string;
|
|
4
|
+
port: number;
|
|
5
|
+
protocol: 'api' | 'mcp' | 'a2a';
|
|
6
|
+
securityLevel: 'hardened' | 'weak' | 'vulnerable' | 'critical' | 'standard';
|
|
7
|
+
vulnerabilities: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare const DVAA_TARGETS: DVAATarget[];
|
|
10
|
+
export declare const DVAA_DASHBOARD_PORT = 3000;
|
|
11
|
+
export declare function getTarget(name: string): DVAATarget | undefined;
|
|
12
|
+
export declare function getTargetsByProtocol(protocol: 'api' | 'mcp' | 'a2a'): DVAATarget[];
|
|
13
|
+
//# sourceMappingURL=dvaa-targets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dvaa-targets.d.ts","sourceRoot":"","sources":["../../../src/oasb/config/dvaa-targets.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,aAAa,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5E,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,UAAU,EA4EpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,EAAE,CAElF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** DVAA agent port and endpoint configuration */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DVAA_DASHBOARD_PORT = exports.DVAA_TARGETS = void 0;
|
|
5
|
+
exports.getTarget = getTarget;
|
|
6
|
+
exports.getTargetsByProtocol = getTargetsByProtocol;
|
|
7
|
+
exports.DVAA_TARGETS = [
|
|
8
|
+
// API Agents (OpenAI-compatible)
|
|
9
|
+
{
|
|
10
|
+
name: 'SecureBot',
|
|
11
|
+
port: 3001,
|
|
12
|
+
protocol: 'api',
|
|
13
|
+
securityLevel: 'hardened',
|
|
14
|
+
vulnerabilities: [],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'HelperBot',
|
|
18
|
+
port: 3002,
|
|
19
|
+
protocol: 'api',
|
|
20
|
+
securityLevel: 'weak',
|
|
21
|
+
vulnerabilities: ['promptInjection', 'dataExfiltration', 'contextManipulation'],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'LegacyBot',
|
|
25
|
+
port: 3003,
|
|
26
|
+
protocol: 'api',
|
|
27
|
+
securityLevel: 'critical',
|
|
28
|
+
vulnerabilities: ['promptInjection', 'jailbreak', 'dataExfiltration', 'capabilityAbuse', 'contextManipulation'],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'CodeBot',
|
|
32
|
+
port: 3004,
|
|
33
|
+
protocol: 'api',
|
|
34
|
+
securityLevel: 'vulnerable',
|
|
35
|
+
vulnerabilities: ['capabilityAbuse'],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'RAGBot',
|
|
39
|
+
port: 3005,
|
|
40
|
+
protocol: 'api',
|
|
41
|
+
securityLevel: 'weak',
|
|
42
|
+
vulnerabilities: ['dataExfiltration'],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'VisionBot',
|
|
46
|
+
port: 3006,
|
|
47
|
+
protocol: 'api',
|
|
48
|
+
securityLevel: 'weak',
|
|
49
|
+
vulnerabilities: ['promptInjection'],
|
|
50
|
+
},
|
|
51
|
+
// MCP Agents
|
|
52
|
+
{
|
|
53
|
+
name: 'ToolBot',
|
|
54
|
+
port: 3010,
|
|
55
|
+
protocol: 'mcp',
|
|
56
|
+
securityLevel: 'vulnerable',
|
|
57
|
+
vulnerabilities: ['capabilityAbuse', 'mcpToolExploitation'],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'DataBot',
|
|
61
|
+
port: 3011,
|
|
62
|
+
protocol: 'mcp',
|
|
63
|
+
securityLevel: 'weak',
|
|
64
|
+
vulnerabilities: ['dataExfiltration'],
|
|
65
|
+
},
|
|
66
|
+
// A2A Agents
|
|
67
|
+
{
|
|
68
|
+
name: 'Orchestrator',
|
|
69
|
+
port: 3020,
|
|
70
|
+
protocol: 'a2a',
|
|
71
|
+
securityLevel: 'standard',
|
|
72
|
+
vulnerabilities: ['agentToAgent'],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Worker',
|
|
76
|
+
port: 3021,
|
|
77
|
+
protocol: 'a2a',
|
|
78
|
+
securityLevel: 'weak',
|
|
79
|
+
vulnerabilities: ['agentToAgent', 'capabilityAbuse'],
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
exports.DVAA_DASHBOARD_PORT = 3000;
|
|
83
|
+
function getTarget(name) {
|
|
84
|
+
return exports.DVAA_TARGETS.find((t) => t.name === name);
|
|
85
|
+
}
|
|
86
|
+
function getTargetsByProtocol(protocol) {
|
|
87
|
+
return exports.DVAA_TARGETS.filter((t) => t.protocol === protocol);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=dvaa-targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dvaa-targets.js","sourceRoot":"","sources":["../../../src/oasb/config/dvaa-targets.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AA0FjD,8BAEC;AAED,oDAEC;AAtFY,QAAA,YAAY,GAAiB;IACxC,iCAAiC;IACjC;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,EAAE;KACpB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KAChF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;KAChH;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,YAAY;QAC3B,eAAe,EAAE,CAAC,iBAAiB,CAAC;KACrC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,kBAAkB,CAAC;KACtC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,iBAAiB,CAAC;KACrC;IAED,aAAa;IACb;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,YAAY;QAC3B,eAAe,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KAC5D;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,kBAAkB,CAAC;KACtC;IAED,aAAa;IACb;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,CAAC,cAAc,CAAC;KAClC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;KACrD;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,oBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAA+B;IAClE,OAAO,oBAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AgentRuntimeProtection, EventEngine, EnforcementEngine, type ARPEvent } from '../../arp';
|
|
2
|
+
import { EventCollector } from './event-collector';
|
|
3
|
+
import type { LabConfig } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps AgentRuntimeProtection for controlled testing.
|
|
6
|
+
* Creates temp dataDir per test, registers EventCollector,
|
|
7
|
+
* and provides injection + assertion helpers.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ArpWrapper {
|
|
10
|
+
private arp;
|
|
11
|
+
private _dataDir;
|
|
12
|
+
readonly collector: EventCollector;
|
|
13
|
+
constructor(labConfig?: LabConfig);
|
|
14
|
+
start(): Promise<void>;
|
|
15
|
+
stop(): Promise<void>;
|
|
16
|
+
/** Get the underlying ARP instance */
|
|
17
|
+
getInstance(): AgentRuntimeProtection;
|
|
18
|
+
/** Get the event engine for direct event injection */
|
|
19
|
+
getEngine(): EventEngine;
|
|
20
|
+
/** Get the enforcement engine */
|
|
21
|
+
getEnforcement(): EnforcementEngine;
|
|
22
|
+
/** Inject a synthetic event into the ARP engine (for testing without real OS activity) */
|
|
23
|
+
injectEvent(event: Omit<ARPEvent, 'id' | 'timestamp' | 'classifiedBy'>): Promise<ARPEvent>;
|
|
24
|
+
/** Wait for an event matching a predicate */
|
|
25
|
+
waitForEvent(predicate: (event: ARPEvent) => boolean, timeoutMs?: number): Promise<ARPEvent>;
|
|
26
|
+
/** Get the data directory */
|
|
27
|
+
get dataDir(): string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=arp-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arp-wrapper.d.ts","sourceRoot":"","sources":["../../../src/oasb/harness/arp-wrapper.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAEjB,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,QAAQ,CAAS;IACzB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;gBAEvB,SAAS,CAAC,EAAE,SAAS;IAkD3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,sCAAsC;IACtC,WAAW,IAAI,sBAAsB;IAIrC,sDAAsD;IACtD,SAAS,IAAI,WAAW;IAIxB,iCAAiC;IACjC,cAAc,IAAI,iBAAiB;IAInC,0FAA0F;IACpF,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhG,6CAA6C;IAC7C,YAAY,CACV,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,EACvC,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,QAAQ,CAAC;IAIpB,6BAA6B;IAC7B,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ArpWrapper = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const os = __importStar(require("os"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const arp_1 = require("../../arp");
|
|
41
|
+
const event_collector_1 = require("./event-collector");
|
|
42
|
+
/**
|
|
43
|
+
* Wraps AgentRuntimeProtection for controlled testing.
|
|
44
|
+
* Creates temp dataDir per test, registers EventCollector,
|
|
45
|
+
* and provides injection + assertion helpers.
|
|
46
|
+
*/
|
|
47
|
+
class ArpWrapper {
|
|
48
|
+
constructor(labConfig) {
|
|
49
|
+
this._dataDir = labConfig?.dataDir ?? fs.mkdtempSync(path.join(os.tmpdir(), 'arp-lab-'));
|
|
50
|
+
const config = {
|
|
51
|
+
agentName: 'arp-lab-target',
|
|
52
|
+
agentDescription: 'Test target for ARP security lab',
|
|
53
|
+
declaredCapabilities: ['file read/write', 'HTTP requests'],
|
|
54
|
+
dataDir: this._dataDir,
|
|
55
|
+
monitors: {
|
|
56
|
+
process: {
|
|
57
|
+
enabled: labConfig?.monitors?.process ?? false,
|
|
58
|
+
intervalMs: labConfig?.processIntervalMs,
|
|
59
|
+
},
|
|
60
|
+
network: {
|
|
61
|
+
enabled: labConfig?.monitors?.network ?? false,
|
|
62
|
+
intervalMs: labConfig?.networkIntervalMs,
|
|
63
|
+
allowedHosts: labConfig?.networkAllowedHosts,
|
|
64
|
+
},
|
|
65
|
+
filesystem: {
|
|
66
|
+
enabled: labConfig?.monitors?.filesystem ?? false,
|
|
67
|
+
watchPaths: labConfig?.filesystemWatchPaths,
|
|
68
|
+
allowedPaths: labConfig?.filesystemAllowedPaths,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
rules: labConfig?.rules,
|
|
72
|
+
intelligence: {
|
|
73
|
+
enabled: labConfig?.intelligence?.enabled ?? false,
|
|
74
|
+
budgetUsd: 0,
|
|
75
|
+
},
|
|
76
|
+
interceptors: {
|
|
77
|
+
process: { enabled: labConfig?.interceptors?.process ?? false },
|
|
78
|
+
network: {
|
|
79
|
+
enabled: labConfig?.interceptors?.network ?? false,
|
|
80
|
+
allowedHosts: labConfig?.interceptorNetworkAllowedHosts,
|
|
81
|
+
},
|
|
82
|
+
filesystem: {
|
|
83
|
+
enabled: labConfig?.interceptors?.filesystem ?? false,
|
|
84
|
+
allowedPaths: labConfig?.interceptorFilesystemAllowedPaths,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
this.arp = new arp_1.AgentRuntimeProtection(config);
|
|
89
|
+
this.collector = new event_collector_1.EventCollector();
|
|
90
|
+
// Register event and enforcement collectors
|
|
91
|
+
this.arp.onEvent(this.collector.eventHandler);
|
|
92
|
+
this.arp.onEnforcement(this.collector.enforcementHandler);
|
|
93
|
+
}
|
|
94
|
+
async start() {
|
|
95
|
+
await this.arp.start();
|
|
96
|
+
}
|
|
97
|
+
async stop() {
|
|
98
|
+
await this.arp.stop();
|
|
99
|
+
this.collector.reset();
|
|
100
|
+
// Clean up temp dir
|
|
101
|
+
try {
|
|
102
|
+
fs.rmSync(this._dataDir, { recursive: true, force: true });
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Best effort cleanup
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Get the underlying ARP instance */
|
|
109
|
+
getInstance() {
|
|
110
|
+
return this.arp;
|
|
111
|
+
}
|
|
112
|
+
/** Get the event engine for direct event injection */
|
|
113
|
+
getEngine() {
|
|
114
|
+
return this.arp.getEngine();
|
|
115
|
+
}
|
|
116
|
+
/** Get the enforcement engine */
|
|
117
|
+
getEnforcement() {
|
|
118
|
+
return this.arp.getEnforcement();
|
|
119
|
+
}
|
|
120
|
+
/** Inject a synthetic event into the ARP engine (for testing without real OS activity) */
|
|
121
|
+
async injectEvent(event) {
|
|
122
|
+
return this.getEngine().emit(event);
|
|
123
|
+
}
|
|
124
|
+
/** Wait for an event matching a predicate */
|
|
125
|
+
waitForEvent(predicate, timeoutMs = 10000) {
|
|
126
|
+
return this.collector.waitForEvent(predicate, timeoutMs);
|
|
127
|
+
}
|
|
128
|
+
/** Get the data directory */
|
|
129
|
+
get dataDir() {
|
|
130
|
+
return this._dataDir;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.ArpWrapper = ArpWrapper;
|
|
134
|
+
//# sourceMappingURL=arp-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arp-wrapper.js","sourceRoot":"","sources":["../../../src/oasb/harness/arp-wrapper.ts"],"names":[],"mappings":"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"}
|