Skip to content
BreachPilot

Extensibility

Extend without forking core

Plugins are opt-in, trusted Python managed by tools/plugins.py: a plugin.yaml manifest plus a single register(registry) hook that contributes attack modules, MCP tools, skill directories and config sections. Target-touching plugin tools carry the same allowlist lock and audit trail as core tools.

Opt-in plugins
14
Need credentials
8
Advisory-only
2

For authorized testing only. Only run plugins against systems you own or have explicit written permission to assess.

14 opt-in extensions

Plugin catalog

Every plugin is disabled by default. When you enable one, its target-touching tools carry the same allowlist lock and audit trail as core tools.

Plugin catalog
Filter plugins

Showing 14 of 14 plugins

  • shodan_recon

    needs credentials advisory-only

    Passive Shodan OSINT for port, banner and CVE context without touching the target. Advisory-only.

    requires API credentials / server config

  • github_dorks

    needs credentials advisory-only

    Authorized-target code-leak discovery via GitHub Code Search. Finds leaked credentials in the target org's public repos, pre-recon. Advisory-only.

    requires API credentials / server config

  • webhook_notify

    needs credentials

    Outbound-only Slack / Discord run-status notifications on milestones and findings.

    requires API credentials / server config

  • sliver_c2

    needs credentials

    Sliver C2 bridge for implant generation, team server and session management.

    requires API credentials / server config

  • bloodhound_ce

    needs credentials

    BloodHound CE data exchange for AD attack-path ingest and query.

    requires API credentials / server config

  • zap_scan

    needs credentials

    OWASP ZAP REST integration with spider plus active scan for authenticated web targets.

    requires API credentials / server config

  • browser_attack

    no credentials

    Headless Chromium / Playwright driver for authenticated web testing and XSS-hunter callbacks.

  • mobile_attack

    no credentials

    Mobile testing with Frida, objection, apktool and jadx for local APK analysis and device instrumentation.

  • wireless

    no credentials

    Wireless / Bluetooth assessment with bettercap, aircrack-ng, hcxtools and bluez for authorized WLAN / BT testing.

  • spiderfoot

    needs credentials

    SpiderFoot OSINT integration (passive) covering DNS, whois, certificates and leaks in one tool.

    requires API credentials / server config

  • atomic_red_team

    no credentials local-only

    Atomic Red Team test YAML generator mapping weaknesses to MITRE ATT&CK techniques for detection validation. Local-only, no execution.

  • caldera

    needs credentials

    MITRE Caldera adversary-emulation plugin running abilities against an authorized Caldera server.

    requires API credentials / server config

  • firmware_analysis

    no credentials

    Firmware analysis with binwalk, firmadyne, FACT-extractor and EMUX for IoT firmware unpacking and emulation.

  • snmp

    no credentials

    SNMP enumeration for system inventory, users, processes and community-string checks.

What “advisory-only” means

Advisory-only plugins add context without touching the target. Passive OSINT and code-leak discovery that never sends packets to in-scope systems. They still run under the same audit trail, and anything active still needs explicit authorization and allowlist scope. See plugin development, extension guide and safety model.

How it works

One manifest, one hook, zero core edits

How plugins work

  1. 1. Declare a manifest

    plugin.yaml names the plugin, its entry module and its config section.

  2. 2. Contribute one hook

    register(registry) adds attack modules, MCP tools, skill directories and config.

  3. 3. Stay off until enabled

    Every plugin ships disabled. Operators opt in per engagement, never by default.

  4. 4. Inherit guardrails

    Target-touching tools get the allowlist lock, target lock and audit trail.

plugin.yaml
name: my_plugin
version: 0.1.0
entry: plugin.py
config_section: my_plugin
plugin.py
def register(registry):
    registry.add_module(MyModule)

For authors

Safety checklist for plugin authors

Authorized testing only. Plugins must hold the same line as core. Hard-blocked capabilities stay blocked, no matter how useful they look.

Safety checklist for plugin authors

  • Stack the allowlist / audit decorators on every plugin MCP tool.

  • Respect the target lock. Never expand scope from inside a plugin.

  • Redact secrets in logs, tool output and error paths.

  • Add focused tests for each new tool and config section.

Hard-blocked: log clearing, timestomping, EDR/AV defeat, DoS and malware distribution. Details in plugin development and the safety model.

Ship your own capability

Prototype on an authorized lab first

Build against systems you own, keep secrets in environment variables (never in config), and open a PR when the tests pass.

Built for authorized security testing

Only test systems you own or have explicit written permission to assess.

Plugins extend what BreachPilot can do, not what it is allowed to do. Scope, allowlists and audit apply to every plugin tool, every run. Read the safety model before enabling anything target-touching.