Documentation
ΒΆ
Overview ΒΆ
Package pentestswarm (the module root) exists to embed repo assets into the compiled binary so distributed installs (npm, Homebrew, go install, Docker) ship the bundled playbooks without needing a repo checkout on disk. A playbook present in ./playbooks always overrides its embedded copy.
Index ΒΆ
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func BundledChains ΒΆ added in v0.2.26
BundledChains returns the embedded exploit-chain library rooted so entries are addressed as "<id>.yaml". This is the small curated default set shipped in the binary; the rest of the library is fetched on demand (pentestswarm chains update) so a fresh chain can ship the day a CVE drops, without a new binary release.
func BundledPlaybooks ΒΆ
BundledPlaybooks returns the embedded playbooks tree rooted so that entries are addressed as "<name>.yaml" (e.g. "bug-bounty.yaml").
Types ΒΆ
This section is empty.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
pentestswarm
command
|
|
|
deploy
|
|
|
metrics
command
|
|
|
internal
|
|
|
agent/prompts
Package prompts provides offensive-security prompt scaffolding for the swarm β curated system-prompt templates, a few-shot example library, and a refusal-detector + retry/fallback wrapper around llm.Provider.
|
Package prompts provides offensive-security prompt scaffolding for the swarm β curated system-prompt templates, a few-shot example library, and a refusal-detector + retry/fallback wrapper around llm.Provider. |
|
agent/report/bounty
Package bounty estimates a dollar range for a finding based on its severity and (optionally) the target program's published bounty stats.
|
Package bounty estimates a dollar range for a finding based on its severity and (optionally) the target program's published bounty stats. |
|
agent/report/dedup
Package dedup detects likely duplicate submissions by comparing a new finding's title (+ optional target) against a corpus of prior reports.
|
Package dedup detects likely duplicate submissions by comparing a new finding's title (+ optional target) against a corpus of prior reports. |
|
agent/report/evidence
Package evidence captures report-ready artifacts from a finding's Reproduction block:
|
Package evidence captures report-ready artifacts from a finding's Reproduction block: |
|
agent/report/qualitygate
Package qualitygate runs a generated submission draft through a second LLM call that grades it on clarity, impact framing, and reproducibility.
|
Package qualitygate runs a generated submission draft through a second LLM call that grades it on clarity, impact framing, and reproducibility. |
|
agent/report/roi
Package roi computes the return-on-investment footer that lands at the bottom of every campaign report: expected bounty value vs.
|
Package roi computes the return-on-investment footer that lands at the bottom of every campaign report: expected bounty value vs. |
|
attackgraph
Package attackgraph models a target as a typed graph the swarm reasons over β "BloodHound for the app/cloud layer." Nodes are things an attacker moves through (assets, endpoints, identities, tokens, secrets, object references, capabilities); edges are the transitions between them (reach one, leak a secret, authenticate as an identity, escalate to a capability), each weighted by how reliably it can be exploited.
|
Package attackgraph models a target as a typed graph the swarm reasons over β "BloodHound for the app/cloud layer." Nodes are things an attacker moves through (assets, endpoints, identities, tokens, secrets, object references, capabilities); edges are the transitions between them (reach one, leak a secret, authenticate as an identity, escalate to a capability), each weighted by how reliably it can be exploited. |
|
chains
Package chains defines exploit chains: named, versioned, CVE-tied attacks where one vulnerability enables the next (e.g.
|
Package chains defines exploit chains: named, versioned, CVE-tied attacks where one vulnerability enables the next (e.g. |
|
compliance
Package compliance maps a finding's already-resolved standard labels (its OWASP Top 10 2021 category, with CWE as a refinement) onto the specific governance-framework controls it touches: PCI DSS v4.0, SOC 2 (AICPA Trust Services Criteria), ISO/IEC 27001:2022 Annex A, and NIST CSF 2.0.
|
Package compliance maps a finding's already-resolved standard labels (its OWASP Top 10 2021 category, with CWE as a refinement) onto the specific governance-framework controls it touches: PCI DSS v4.0, SOC 2 (AICPA Trust Services Criteria), ISO/IEC 27001:2022 Annex A, and NIST CSF 2.0. |
|
dashboard
Package dashboard serves a live, self-contained web view of a running swarm campaign.
|
Package dashboard serves a live, self-contained web view of a running swarm campaign. |
|
integrations/burp
Package burp is a thin MCP client that talks to PortSwigger's Burp Suite MCP server.
|
Package burp is a thin MCP client that talks to PortSwigger's Burp Suite MCP server. |
|
integrations/jira
Package jira sends pentest findings to Atlassian Jira as issues.
|
Package jira sends pentest findings to Atlassian Jira as issues. |
|
integrations/metasploit
Package metasploit is a thin HTTP/JSON client for msfrpcd, the daemon that ships with Metasploit.
|
Package metasploit is a thin HTTP/JSON client for msfrpcd, the daemon that ships with Metasploit. |
|
integrations/slack
Package slack posts findings + campaign events to Slack.
|
Package slack posts findings + campaign events to Slack. |
|
integrations/webhook
Package webhook dispatches campaign events to a customer-configured endpoint with HMAC-SHA256 request signing and exponential-backoff retry.
|
Package webhook dispatches campaign events to a customer-configured endpoint with HMAC-SHA256 request signing and exponential-backoff retry. |
|
integrations/zap
Package zap is a minimal REST client for OWASP ZAP.
|
Package zap is a minimal REST client for OWASP ZAP. |
|
jev
Package jev is a tiny client for TypeSafe's Jev "System One" model (https://typesafe.ai).
|
Package jev is a tiny client for TypeSafe's Jev "System One" model (https://typesafe.ai). |
|
keychain
Package keychain stores secrets in the operating system's native secret store (macOS Keychain, linux-secret-service, Windows Credential Manager).
|
Package keychain stores secrets in the operating system's native secret store (macOS Keychain, linux-secret-service, Windows Credential Manager). |
|
osint
Package osint holds passive intelligence clients β Shodan, Censys, GitHub code search, etc.
|
Package osint holds passive intelligence clients β Shodan, Censys, GitHub code search, etc. |
|
pipeline/fpcache
Package fpcache persists a researcher's "this was a false positive" marks so future scans can suppress the same pattern automatically.
|
Package fpcache persists a researcher's "this was a false positive" marks so future scans can suppress the same pattern automatically. |
|
pipeline/nvdcheck
Package nvdcheck cross-references the classifier's CVSS score against NVD's canonical score for the same CVE.
|
Package nvdcheck cross-references the classifier's CVSS score against NVD's canonical score for the same CVE. |
|
poc
Package poc generates β and optionally self-verifies β proof-of-concept scripts that PROVE a finding, the difference between "this looks vulnerable" and "run this and watch it prove it."
|
Package poc generates β and optionally self-verifies β proof-of-concept scripts that PROVE a finding, the difference between "this looks vulnerable" and "run this and watch it prove it." |
|
scope/importer
Package importer adapts bug-bounty platform APIs into our scope.yaml shape.
|
Package importer adapts bug-bounty platform APIs into our scope.yaml shape. |
|
scope/importer/bugcrowd
Package bugcrowd imports scope from Bugcrowd programs via the v4 API.
|
Package bugcrowd imports scope from Bugcrowd programs via the v4 API. |
|
scope/importer/hackerone
Package hackerone imports scope from HackerOne programs.
|
Package hackerone imports scope from HackerOne programs. |
|
scope/importer/intigriti
Package intigriti imports scope from Intigriti programs via the external researcher API (https://api.intigriti.com/external/researcher/v1).
|
Package intigriti imports scope from Intigriti programs via the external researcher API (https://api.intigriti.com/external/researcher/v1). |
|
scope/programterms
Package programterms parses a bug-bounty program's rules-of-engagement text and extracts machine-readable constraints (rate limits, banned paths, required headers, prohibited techniques).
|
Package programterms parses a bug-bounty program's rules-of-engagement text and extracts machine-readable constraints (rate limits, banned paths, required headers, prohibited techniques). |
|
shellsafe
Package shellsafe provides a quote-aware command parser that rejects shell metacharacters outside of quoted regions.
|
Package shellsafe provides a quote-aware command parser that rejects shell metacharacters outside of quoted regions. |
|
swarm
Package swarm contains the scheduler and agent contract that together replace the sequential 5-phase runner with a stigmergic swarm.
|
Package swarm contains the scheduler and agent contract that together replace the sequential 5-phase runner with a stigmergic swarm. |
|
swarm/agents
Package agents contains the swarm adapters that bridge the existing specialist agents (recon, classifier, exploit, report) into the blackboard + scheduler model.
|
Package agents contains the swarm adapters that bridge the existing specialist agents (recon, classifier, exploit, report) into the blackboard + scheduler model. |
|
swarm/blackboard
Package blackboard implements the stigmergic shared state for the swarm.
|
Package blackboard implements the stigmergic shared state for the swarm. |
|
swarm/memorygraft
Package memorygraft scans the blackboard for patterns characteristic of memory-graft attacks (MemoryGraft, arXiv:2512.16962).
|
Package memorygraft scans the blackboard for patterns characteristic of memory-graft attacks (MemoryGraft, arXiv:2512.16962). |
|
swarm/provenance
Package provenance signs blackboard findings with an Ed25519 keypair per agent so that any read can detect tampering.
|
Package provenance signs blackboard findings with an Ed25519 keypair per agent so that any read can detect tampering. |
|
swarm/quality
Package quality guards a heterogeneous swarm against context poisoning.
|
Package quality guards a heterogeneous swarm against context poisoning. |
|
swarm/ratelimit
Package ratelimit caps the rate at which an agent processes findings off the blackboard.
|
Package ratelimit caps the rate at which an agent processes findings off the blackboard. |
|
swarm/tuning
Package tuning loads per-finding-type pheromone settings (base weight + half-life) from YAML and applies a global exploration-bias multiplier.
|
Package tuning loads per-finding-type pheromone settings (base weight + half-life) from YAML and applies a global exploration-bias multiplier. |
|
swarm/verify
Package verify adds an active corroboration layer at the boundary where one agent's judgment is passed to a stronger downstream agent β without eroding the cost win that makes a heterogeneous swarm worthwhile.
|
Package verify adds an active corroboration layer at the boundary where one agent's judgment is passed to a stronger downstream agent β without eroding the cost win that makes a heterogeneous swarm worthwhile. |
|
taxonomy
Package taxonomy maps a finding's (free-form) attack category and title onto the industry-standard labels security teams triage by: an OWASP Top 10 (2021) category and a CWE id.
|
Package taxonomy maps a finding's (free-form) attack category and title onto the industry-standard labels security teams triage by: an OWASP Top 10 (2021) category and a CWE id. |
|
toolpath
Package toolpath makes pentestswarm self-sufficient at finding the external security binaries it shells out to (httpx, nuclei, ffuf, ...) without requiring the user to add GOPATH/bin (or anything else) to their shell PATH.
|
Package toolpath makes pentestswarm self-sufficient at finding the external security binaries it shells out to (httpx, nuclei, ffuf, ...) without requiring the user to add GOPATH/bin (or anything else) to their shell PATH. |
|
toolprobe
Package toolprobe reports which external security tools are installed on the current host.
|
Package toolprobe reports which external security tools are installed on the current host. |
|
tests
|
|
|
bench/cybench
Package cybench is the harness for running Pentest Swarm AI against the Cybench benchmark (arXiv:2408.08926) β 40 CTF-style challenges covering web, crypto, pwn, forensics.
|
Package cybench is the harness for running Pentest Swarm AI against the Cybench benchmark (arXiv:2408.08926) β 40 CTF-style challenges covering web, crypto, pwn, forensics. |
|
bench/speed
Package speed is the harness for Pentest Swarm AI's most on-brand, easiest-to-produce benchmark: swarm mode vs.
|
Package speed is the harness for Pentest Swarm AI's most on-brand, easiest-to-produce benchmark: swarm mode vs. |
|
llm_eval
Package llm_eval holds the evaluation harness for classifier / recon / exploit agent prompts.
|
Package llm_eval holds the evaluation harness for classifier / recon / exploit agent prompts. |