🦀 CrabGuard
Enterprise web security scanner. Burp Suite + OWASP ZAP — without the $400/year license.
pip install crabguard
crabguard scan https://your-site.com
Scans for OWASP Top 10 vulnerabilities and generates a beautiful, branded security report in seconds.
What it checks
| Category | Free (Passive) | Pro (Active) |
|---|---|---|
| Security Headers (CSP, HSTS, XFO...) | ✅ | ✅ |
| Cookie Security (HttpOnly, Secure, SameSite) | ✅ | ✅ |
| TLS/HTTPS + Certificate Expiry | ✅ | ✅ |
| Mixed Content | ✅ | ✅ |
| Subresource Integrity (SRI) | ✅ | ✅ |
| Vulnerable JS Libraries | ✅ | ✅ |
| CORS Misconfiguration | ✅ | ✅ |
| Information Disclosure | ✅ | ✅ |
| SQL Injection (error + time-based blind) | — | ✅ |
| Reflected XSS | — | ✅ |
| Sensitive File Discovery (.env, .git, ...) | — | ✅ |
| SSRF | — | ✅ |
| Open Redirect | — | ✅ |
| Default Credentials | — | ✅ |
| PDF Reports | — | ✅ |
| White-label Reports | — | ✅ |
Quick Start
# Install
pip install crabguard
# Passive scan (free, no account needed)
crabguard scan https://example.com
# Full active scan (Pro — requires API key)
crabguard scan https://example.com --mode full --api-key YOUR_KEY --consent
# Save as PDF
crabguard scan https://example.com --format pdf --api-key YOUR_KEY
# Route through Burp Suite / OWASP ZAP
crabguard scan https://example.com --proxy http://127.0.0.1:8080
# JSON output for CI/CD
crabguard scan https://example.com --format json --quiet
echo $? # exit 1 if critical/high findings, 0 if clean
Python API
from crabguard import CrabGuardScanner, CrabGuardConfig, ScanMode
# Free passive scan
scanner = CrabGuardScanner("https://example.com", verbose=True)
report = scanner.scan()
scanner.save_report(report, "report.html")
# Pro active scan
config = CrabGuardConfig(api_key="YOUR_KEY", active_consent=True)
scanner = CrabGuardScanner("https://example.com", mode=ScanMode.FULL, config=config)
report = scanner.scan()
scanner.save_report(report, "report.html")
scanner.save_report(report, "report.pdf", fmt="pdf")
# Access findings programmatically
for finding in report.all_findings:
print(f"[{finding.severity.value.upper()}] {finding.title}")
if finding.remediation:
print(f" Fix: {finding.remediation}")
CI/CD Integration (GitHub Actions)
- name: Security scan
run: |
pip install crabguard
crabguard scan ${{ env.STAGING_URL }} --format json --quiet
# Fails the build automatically if critical/high findings are found
Report Sample
CrabGuard generates a full HTML or PDF report with:
- Overall security score (0–100)
- Per-category scores and OWASP Top 10 mapping
- Detailed findings with remediation steps and code snippets
- CrabGuard branded watermark (white-label available on Pro)
Pricing
| Free | Pro | Enterprise | |
|---|---|---|---|
| Passive scan | ✅ | ✅ | ✅ |
| Active scan (SQLi, XSS, SSRF...) | — | ✅ | ✅ |
| PDF reports + white-label | — | ✅ | ✅ |
| Scan history & dashboard | — | — | ✅ |
| Team seats | — | — | ✅ |
| SLA + priority support | — | — | ✅ |
| Price | Free | $49/mo | Contact us |
Get your API key at ashishjsharda.github.io/crabguard
⚠️ Responsible Use
Active scanning sends real payloads to the target server. Only scan systems you own or have explicit written permission to test. Unauthorized scanning may be illegal under the CFAA and similar laws. Always pass --consent to confirm you have permission.
License
MIT — free to use, modify, and distribute. See [LICENSE](LI
Release files for crabguard 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crabguard-1.0.1.tar.gz | 35.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crabguard-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.0 kB
Release files / crabguard-1.0.1.tar.gz
| Download URL | crabguard-1.0.1.tar.gz |
|---|---|
| Size | 35.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bafd9a49e33e3195770a677ae15b151720a26b4bef3e0ed8285ec8bac039e32e
|
|
BLAKE2b-256 checksum How to use checksums |
1e440e2278fda4592666bf0afdd391123de29b71bfc04b4db50194c9ae2b407f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.1
|
Release files / crabguard-1.0.1-py3-none-any.whl
| Download URL | crabguard-1.0.1-py3-none-any.whl |
|---|---|
| Size | 43.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
000c7e3ac596fbb654c1ff91211df81142402c768d71efceaa172286bed0adaf
|
|
BLAKE2b-256 checksum How to use checksums |
bbb67e229d19beceac2fc1143c70b6e6c5c5ee953691ee094bf8694735e22a15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.1
|