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/grounding.py
opfor/core/json_parse.py
opfor/core/ledger.py
opfor/core/markdown_docs.py
opfor/core/phase.py
opfor/core/result.py
opfor/core/rules.py
opfor/core/scenario.py
opfor/core/scope.py
opfor/core/severity.py
opfor/core/transient.py
opfor/core/triage.py
opfor/core/world.py
opfor/core/providers/__init__.py
opfor/core/providers/anthropic.py
opfor/core/providers/claude_agent.py
opfor/core/providers/contract.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/report.py
opfor/scenarios/attacksurface/seed.py
opfor/scenarios/attacksurface/assets/__init__.py
opfor/scenarios/attacksurface/assets/base.py
opfor/scenarios/attacksurface/assets/domain/__init__.py
opfor/scenarios/attacksurface/assets/domain/classifiers.py
opfor/scenarios/attacksurface/assets/domain/failures.py
opfor/scenarios/attacksurface/assets/domain/fingerprint.py
opfor/scenarios/attacksurface/assets/domain/identify.py
opfor/scenarios/attacksurface/assets/domain/nuclei.py
opfor/scenarios/attacksurface/assets/domain/nuclei_chain.py
opfor/scenarios/attacksurface/assets/domain/planner.py
opfor/scenarios/attacksurface/assets/domain/responses.py
opfor/scenarios/attacksurface/assets/domain/types.py
opfor/scenarios/attacksurface/assets/domain/capabilities/__init__.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/http.py
opfor/scenarios/attacksurface/assets/domain/capabilities/profile.py
opfor/scenarios/attacksurface/assets/domain/capabilities/specs.py
opfor/scenarios/attacksurface/assets/domain/knowledge/index.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/api-spec-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/exposed-admin-interface.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/graphql-introspection.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/improper-authentication.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/known-vulnerability.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/open-source-service-exposure.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/subdomain-takeover.md
opfor/scenarios/attacksurface/assets/domain/knowledge/findings/unauthenticated-interface.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/frameworks/angular.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/frameworks/nextjs.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/airflow.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/elasticsearch.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/gitlab.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/grafana.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/jenkins.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/kibana.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/metabase.md
opfor/scenarios/attacksurface/assets/domain/knowledge/fingerprints/products/sonarqube.md
opfor/scenarios/attacksurface/assets/domain/knowledge/nuclei/README.md
opfor/scenarios/attacksurface/assets/domain/sources/__init__.py
opfor/scenarios/attacksurface/assets/domain/sources/dns.py
opfor/scenarios/attacksurface/assets/domain/sources/enumeration.py
opfor/scenarios/attacksurface/assets/domain/sources/http.py
opfor/scenarios/attacksurface/assets/domain/sources/javascript.py
opfor/scenarios/attacksurface/assets/domain/sources/nvd.py
opfor/scenarios/attacksurface/assets/domain/sources/observations.py
opfor/scenarios/attacksurface/assets/domain/sources/parsers.py
opfor/scenarios/attacksurface/assets/domain/sources/seeds.py
opfor/scenarios/attacksurface/lifecycle/__init__.py
opfor/scenarios/attacksurface/lifecycle/completeness.py
opfor/scenarios/attacksurface/lifecycle/confirm.py
opfor/scenarios/attacksurface/lifecycle/grounding.py
opfor/scenarios/attacksurface/lifecycle/reproduce.py
opfor/scenarios/attacksurface/lifecycle/technique.py
opfor/scenarios/attacksurface/lifecycle/triage.py
opfor/scenarios/mock/__init__.py
tests/test_checkpoint.py
tests/test_checkpoint_persistence.py
tests/test_cli.py
tests/test_domain_content.py
tests/test_domain_cve.py
tests/test_domain_dns.py
tests/test_domain_endpoints.py
tests/test_domain_enumeration.py
tests/test_domain_http.py
tests/test_domain_reproduction.py
tests/test_domain_specs.py
tests/test_domain_surface.py
tests/test_engine.py
tests/test_engine_retry.py
tests/test_evals.py
tests/test_fingerprint.py
tests/test_frameworks.py
tests/test_grounding.py
tests/test_hostnames.py
tests/test_json_parse.py
tests/test_markdown_docs.py
tests/test_nuclei.py
tests/test_profile.py
tests/test_providers.py
tests/test_render.py
tests/test_report.py
tests/test_repro_backtest.py
tests/test_reproduce_confirm.py
tests/test_scenario_registry.py
tests/test_scope.py
tests/test_surface_triage.py
tests/test_technique.py
tests/test_triage_adversarial.py
tests/test_triage_parse.py