Pentest Swarm AI is a tool built for authorized security testing. Before running a scan against any system, you must have explicit written permission from the system’s owner — or an unambiguous grant of authorization such as an active bug bounty program scope or a CTF machine you have registered access to. The tool’s scope enforcement is technical; the authorization requirement is legal. No configuration option, flag, or source modification changes the law.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Armur-Ai/Pentest-Swarm-AI/llms.txt
Use this file to discover all available pages before exploring further.
Authorization Requirement
Authorization is the single most important prerequisite for running a pentest swarm campaign. The following situations constitute authorized use:Written permission from the system owner
Written permission from the system owner
A written document — email, contract, or signed scope agreement — that explicitly names the target systems and the types of testing permitted. This is the baseline requirement for professional engagements. Keep a copy accessible before running any campaign.
Active bug bounty program scope
Active bug bounty program scope
Programs on HackerOne, Bugcrowd, Intigriti, or equivalent platforms publish explicit scope definitions listing which domains, IP ranges, and applications are in scope. Scanning assets listed as in scope in an active program constitutes authorization. Scanning assets listed as out of scope — even within the same organization — does not.The tool’s
--scope flag enforces this boundary at the tool layer and at the executor. Passing a scope that matches the program’s in-scope assets is the correct usage pattern.CTF machines with registered access
CTF machines with registered access
Capture-the-flag platforms (Hack The Box, TryHackMe, PicoCTF, etc.) grant explicit authorization to attack machines as part of the challenge. Your registration and the platform’s terms of service constitute authorization for those specific machines.
Infrastructure you own or control
Infrastructure you own or control
Your own servers, VMs, cloud accounts, and lab environments. Self-hosted systems where you are the legal operator do not require external authorization — but be careful about shared hosting, managed services, and cloud providers’ acceptable-use policies, which may impose additional constraints even on your own resources.
- Believing a system is insecure or poorly defended
- Wanting to demonstrate a vulnerability to a vendor without prior engagement
- Running a scan “just to see” on a domain that looks interesting
- Having previously had authorized access that has since expired
- A verbal or informal indication that testing would be welcome
AGPL-3.0 License
Pentest Swarm AI is released under the GNU Affero General Public License v3.0 (AGPL-3.0). The AGPL was chosen specifically to close the SaaS-fork loophole: anyone who improves this tool and offers it commercially as a network service must share their modifications with the community under the same license terms. The project was made open source; the license keeps it open source as it scales.| Use case | Permitted? | Obligation |
|---|---|---|
| Run on your own infrastructure (CI, laptop, internal red team) | ✅ Yes | None |
| Use on authorized bug-bounty programs or professional pentests | ✅ Yes | None |
| Fork for private experiments | ✅ Yes | None |
| Distribute a modified binary | ✅ Yes | Share your modifications under AGPL-3.0 |
| Run a modified version as a paid SaaS or network service | ✅ Yes | Share your modifications under AGPL-3.0 |
Scope Enforcement
The--scope flag is the technical implementation of your authorization boundary. It is enforced at two independent layers so that no single code path can bypass it:
Tool layer — scope.Validate(target, scope) is called before any security tool (subfinder, httpx, nuclei, naabu, katana, nmap, etc.) executes against a host. It validates IPs against allowed CIDRs (with exclusion support), and domains against an allowlist (with wildcard and subdomain matching).
Executor layer — scope.ValidateCommand(cmd, scope) scans the full command string with a pattern that extracts every IP address and domain-like string, then validates each against the scope before the command runs. This catches cases where a tool would construct a target URL dynamically.
scope.enforce_strict is hardcoded to true in the configuration schema and cannot be disabled via config file, environment variable, or CLI flag. This is an intentional safety constraint documented explicitly in config.example.yaml: ALWAYS true — cannot be disabled. Safety constraint.Responsible Disclosure
If you discover a security vulnerability in Pentest Swarm AI itself — not in a target system, but in the tool’s own code — follow responsible disclosure:- Do not open a public GitHub issue. Public disclosure before a patch is available gives attackers information that can be used against other users of the tool.
-
Email the security inbox listed in
SECURITY.mdin the repository root, or open a private GitHub Security Advisory via the repository’s Security tab. - Include a reproducible proof-of-concept, the affected version, and your proposed severity assessment. The maintainers aim to acknowledge reports within one business day and to publish a patch within 90 days for critical issues.
- Dependencies — vulnerabilities in upstream packages used by Pentest Swarm AI should be reported through the same channel. The maintainers will coordinate disclosure with the relevant upstream project.
CONTRIBUTING.md:
Don’t open a public issue. Email the security inbox listed in SECURITY.md, or open a private GitHub Security Advisory. Same applies to vulnerabilities in dependencies.
If your use case isn’t clearly covered by the authorization scenarios above or by the license table, open an issue on GitHub and ask. The maintainers would rather answer a question about permitted use than discover an unauthorized use after the fact. See github.com/Armur-Ai/Pentest-Swarm-AI/issues.
Hardening
Four-layer defense against MINJA and MemoryGraft memory-injection attacks
Deployment
Docker Compose setup, database migrations, and production configuration