Skip to main content

AI-assisted offensive reconnaissance and attack surface mapping.

Project description

 ██████╗ ██████╗ ███████╗ ██████╗ ██████╗
██╔═══██╗██╔══██╗██╔════╝██╔═══██╗██╔══██╗
██║   ██║██████╔╝█████╗  ██║   ██║██████╔╝
██║   ██║██╔═══╝ ██╔══╝  ██║   ██║██╔══██╗
╚██████╔╝██║     ██║     ╚██████╔╝██║  ██║
 ╚═════╝ ╚═╝     ╚═╝      ╚═════╝ ╚═╝  ╚═╝

AI-assisted offensive reconnaissance and attack surface mapping.

One generic engine drives every scenario, web, internal network, AI agents, phishing. You change scenario by swapping data, plugins, and knowledge, never by editing the engine.

It mirrors codejury's "generic engine, knowledge as data" decoupling. The difference is that codejury reads code and judges, while opfor acts on live targets: it grows a live situation graph, gates every action by authorized scope, survives async waits, and keeps an audit ledger.

Layers

Layer What it owns Form
Capabilities How to reach a target and report the raw facts Capability, one tool per verb
Planner What to try next, gated on facts RuleSet under a scenario
Knowledge What a finding is and how severe Markdown the triage reads
Triage The verdict, the only place findings are minted Rule-based or model-backed
Kernel The blackboard, phase spine, scope, ledger, budget opfor/core/

The kernel is generic and names no host, contract, or person. A scenario is a plugin under opfor/scenarios/<name>/ that supplies capabilities, a planner, a triage, a declared terminal phase, and a knowledge/ tree.

Install

pip install opfor

The base install is keyless. Triage runs on the operator's Claude Code subscription by default, and a vendor API is used instead when a key is set. For the vendor SDKs install an extra, opfor[anthropic] or opfor[openai].

Use

opfor scenarios
opfor run attacksurface --root example.com

Develop

python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
pytest

See AGENTS.md for the architecture and the non-negotiable invariants.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opfor-0.4.0.tar.gz (205.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opfor-0.4.0-py3-none-any.whl (202.3 kB view details)

Uploaded Python 3

File details

Details for the file opfor-0.4.0.tar.gz.

File metadata

  • Download URL: opfor-0.4.0.tar.gz
  • Upload date:
  • Size: 205.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opfor-0.4.0.tar.gz
Algorithm Hash digest
SHA256 91dbe5d93e7c580d6263ab80ec91246eb8292ece3388b1c9932f4fd6ecdf41c4
MD5 a5f003341bf1e5d0c86f01bd67ac62df
BLAKE2b-256 5afa11c6a39c37112facf5098e6bc19fcd67fdb643df22e9a77c2b5501decb35

See more details on using hashes here.

Provenance

The following attestation bundles were made for opfor-0.4.0.tar.gz:

Publisher: publish.yml on aiseclabs/opfor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opfor-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: opfor-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 202.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opfor-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2d73d3f34f7212c7f2c87e9d7844ccb2c137d32839727a68efec80f8938b4c8
MD5 809937e003ef1e105a84ee7c4a07813b
BLAKE2b-256 11c2713b156b42f3a999bb752bbf77f4d83b3b3d441f52876617080647799110

See more details on using hashes here.

Provenance

The following attestation bundles were made for opfor-0.4.0-py3-none-any.whl:

Publisher: publish.yml on aiseclabs/opfor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page