Runoff is a security assessment tool designed for authorized penetration testing and security research. It queries BloodHound Community Edition's Neo4j database to identify Active Directory misconfigurations and attack paths.
This tool is intended for:
- Authorized penetration testers
- Security researchers
- Red team operators
- System administrators auditing their own environments
If you discover a security vulnerability in Runoff, please report it responsibly:
- Do not open a public GitHub issue for security vulnerabilities
- Open a private security advisory at GitHub Security Advisories
- Alternatively, contact the maintainer via GitHub: @Real-Fruit-Snacks
- Include steps to reproduce the issue
- Allow reasonable time for a fix before public disclosure
- Never commit Neo4j credentials to version control
- Use environment variables for sensitive values:
export RUNOFF_NEO4J_PASSWORD="your-password" python -m runoff -p "$RUNOFF_NEO4J_PASSWORD" -a
- Runoff connects to Neo4j over the Bolt protocol (default port 7687)
- Ensure your Neo4j instance is not exposed to untrusted networks
- Use TLS/SSL for production Neo4j deployments
- Query results may contain sensitive Active Directory information
- Protect output files (JSON, CSV, HTML reports) appropriately
- Do not share BloodHound data without authorization
| Version | Supported |
|---|---|
| 2.5.x | ✅ |
| 2.0.x | ✅ |
| < 2.0 | ❌ |
This tool is provided for legitimate security testing purposes only. Users are responsible for:
- Obtaining proper authorization before testing
- Complying with all applicable laws and regulations
- Following their organization's security policies
- Protecting any sensitive data discovered during assessments