Forge Exploits¶
Exploits execute an action or harness other tools to perform a workflow.
User View¶
What exploits are¶
An exploit module does work.
- It runs a workflow rather than just producing payload text.
- It may drive browsers, external tooling, or environment-specific logic.
- It can depend on additional Python or system packages.
In practical terms:
- Generators create payload content.
- Exploits perform execution workflows or orchestrate tooling.
Common workflows¶
List exploit kinds:
reach forge --list-exploits
reach forge exploit --list
Describe one exploit kind:
reach forge exploit --list --kind web_local_storage_replay
Run an exploit:
reach forge exploit run web_local_storage_replay \
--exploit-kwarg origin=http://127.0.0.1:8000
Check exploit dependencies:
reach forge exploit check --all
reach forge exploit check --kind web_local_storage_replay
Install exploit dependencies:
reach forge exploit install --all --upgrade
reach forge exploit install --kind web_local_storage_replay --dry-run
Built-in example¶
- Built-in exploit:
src/reach/forge/exploits/web/local_storage_replay
Dev¶
Exploit-specific modules:
- CLI:
reach.cli.forge.exploit - Runtime API:
reach.forge.api - Built-in exploit registry:
reach.forge.exploits
Entrypoint pattern:
def run(*, origin: str, **kwargs) -> dict[str, object]:
...
Implementation notes:
- Exploits return structured execution results rather than generated payload strings.
- Dependency checks/install are first-class because exploit modules often rely on external tooling.
- Manifest-driven exploit packages define
entry,entrypoint, dependency files, and metadata just like generators.