LICENSE
README.md
pyproject.toml
opfor/__init__.py
opfor/__main__.py
opfor/cli.py
opfor.egg-info/PKG-INFO
opfor.egg-info/SOURCES.txt
opfor.egg-info/dependency_links.txt
opfor.egg-info/entry_points.txt
opfor.egg-info/requires.txt
opfor.egg-info/top_level.txt
opfor/core/__init__.py
opfor/core/budget.py
opfor/core/capability.py
opfor/core/checkpoint.py
opfor/core/confirm.py
opfor/core/engine.py
opfor/core/json_parse.py
opfor/core/ledger.py
opfor/core/markdown_docs.py
opfor/core/phase.py
opfor/core/post_triage.py
opfor/core/result.py
opfor/core/rules.py
opfor/core/scenario.py
opfor/core/scope.py
opfor/core/severity.py
opfor/core/triage.py
opfor/core/world.py
opfor/core/providers/__init__.py
opfor/core/providers/anthropic.py
opfor/core/providers/base.py
opfor/core/providers/claude_agent.py
opfor/core/providers/factory.py
opfor/core/providers/mock.py
opfor/core/providers/openai.py
opfor/core/providers/retry.py
opfor/scenarios/__init__.py
opfor/scenarios/registry.py
opfor/scenarios/attacksurface/__init__.py
opfor/scenarios/attacksurface/config.py
opfor/scenarios/attacksurface/hostnames.py
opfor/scenarios/attacksurface/render.py
opfor/scenarios/attacksurface/types.py
opfor/scenarios/attacksurface/assets/__init__.py
opfor/scenarios/attacksurface/assets/domain/__init__.py
opfor/scenarios/attacksurface/assets/domain/candidates.py
opfor/scenarios/attacksurface/assets/domain/identify.py
opfor/scenarios/attacksurface/assets/domain/planner.py
opfor/scenarios/attacksurface/assets/domain/types.py
opfor/scenarios/attacksurface/assets/domain/capabilities/__init__.py
opfor/scenarios/attacksurface/assets/domain/capabilities/artifacts.py
opfor/scenarios/attacksurface/assets/domain/capabilities/cves.py
opfor/scenarios/attacksurface/assets/domain/capabilities/discovery.py
opfor/scenarios/attacksurface/assets/domain/capabilities/dns.py
opfor/scenarios/attacksurface/assets/domain/capabilities/helpers.py
opfor/scenarios/attacksurface/assets/domain/capabilities/http.py
opfor/scenarios/attacksurface/assets/domain/capabilities/ports.py
opfor/scenarios/attacksurface/assets/domain/capabilities/specs.py
opfor/scenarios/attacksurface/assets/domain/capabilities/storage.py
opfor/scenarios/attacksurface/assets/domain/capabilities/tls.py
opfor/scenarios/attacksurface/assets/domain/knowledge/backups.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/exposures.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/interfaces.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/paths.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/root_discovery.md
opfor/scenarios/attacksurface/assets/domain/knowledge/secret_patterns.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/takeover.yaml
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/api-spec-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/cors-misconfiguration.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/dns-email-security.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/exposed-cloud-bucket.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/exposed-service.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/graphql-introspection.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/index.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/insecure-cookie.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/interesting-surface.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/known-vulnerability.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/missing-security-headers.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/open-source-service-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/secret-in-code.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/sensitive-file-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/source-code-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/subdomain-takeover.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/tls-hygiene.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/unauthenticated-interface.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/verbose-error-disclosure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/classes/zero-trust-proxy.md
opfor/scenarios/attacksurface/assets/domain/sources/__init__.py
opfor/scenarios/attacksurface/assets/domain/sources/dns.py
opfor/scenarios/attacksurface/assets/domain/sources/http.py
opfor/scenarios/attacksurface/assets/domain/sources/javascript.py
opfor/scenarios/attacksurface/assets/domain/sources/parsers.py
opfor/scenarios/attacksurface/assets/domain/sources/passive.py
opfor/scenarios/attacksurface/assets/domain/sources/ports.py
opfor/scenarios/attacksurface/assets/domain/sources/storage.py
opfor/scenarios/attacksurface/assets/domain/sources/tls.py
opfor/scenarios/attacksurface/assets/github/__init__.py
opfor/scenarios/attacksurface/assets/github/capabilities.py
opfor/scenarios/attacksurface/assets/github/planner.py
opfor/scenarios/attacksurface/assets/github/sources.py
opfor/scenarios/attacksurface/assets/github/types.py
opfor/scenarios/attacksurface/lifecycle/__init__.py
opfor/scenarios/attacksurface/lifecycle/confirm.py
opfor/scenarios/attacksurface/lifecycle/grounding.py
opfor/scenarios/attacksurface/lifecycle/reproduce.py
opfor/scenarios/attacksurface/lifecycle/structural.py
opfor/scenarios/attacksurface/lifecycle/triage.py
opfor/scenarios/mock/__init__.py
tests/test_checkpoint.py
tests/test_cli.py
tests/test_domain_content.py
tests/test_domain_endpoints.py
tests/test_domain_passive.py
tests/test_domain_specs.py
tests/test_domain_surface.py
tests/test_domain_transport.py
tests/test_engine.py
tests/test_evals.py
tests/test_providers.py
tests/test_reproduce_confirm.py
tests/test_scope.py
tests/test_surface_triage.py