Skip to main content

Find IDOR, missing authorization, SQL injection, and 30+ vulnerability types in Python, JavaScript, Go, Java, and C#. 100% CVE recall. Zero false positives on clean code. Fully offline. No API keys needed.

Project description

Guardmarly — Find authorization bugs before attackers do

The only free SAST with built-in IDOR detection. 100% CVE recall. Fully offline.

Guardmarly in action — CWE-22 path traversal detection in VS Code

Try Online Scanner PyPI CI License

pip install guardmarly && guardmarly src/

The problem

Authorization bugs — IDOR, missing access controls, privilege escalation — caused some of the largest data breaches in history. Most SAST tools can't find these bugs because they require tracing data from HTTP routes through auth guards into database queries.

What Guardmarly does differently

@app.route("/invoice/<id>")
def get_invoice(id):
    return Invoice.query.get(id)
    # ↑ CWE-639 IDOR: any user can view any invoice
    #   Bandit: silent. Semgrep OSS: silent. CodeQL: silent.
    #   Guardmarly: 🚨 CRITICAL — route flows to DB without auth check

Guardmarly maps every HTTP route, checks for auth guards, traces data flow to sinks, and flags the gap.

Quick start

pip install guardmarly
guardmarly src/                          # text output
guardmarly src/ --format json -o r.json  # JSON report
guardmarly src/ --format sarif           # SARIF for GitHub
guardmarly --show-stats                  # lifetime + today counts
guardmarly --list-rules                  # full rule catalog

Supported languages & CWEs

5 languages: Python, JavaScript/TypeScript, Go, Java, C#
35+ CWE types: IDOR (CWE-639), Missing Auth (CWE-862/306), SQLi (CWE-89), Command Injection (CWE-78), XSS (CWE-79), Path Traversal (CWE-22), SSRF (CWE-918), Deserialization (CWE-502), Hardcoded Secrets (CWE-798), Open Redirect (CWE-601), CSRF (CWE-352), XXE (CWE-611), and 25+ more.

Contributing

git clone https://github.com/mattybellx/Guardmarly.git
cd Guardmarly && pip install -e ".[dev]"
pytest tests/ -q                       # 1,183+ tests in ~12s

License

MIT © Matty Bell

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guardmarly-6.5.0.tar.gz (886.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guardmarly-6.5.0-py3-none-any.whl (878.8 kB view details)

Uploaded Python 3

File details

Details for the file guardmarly-6.5.0.tar.gz.

File metadata

  • Download URL: guardmarly-6.5.0.tar.gz
  • Upload date:
  • Size: 886.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for guardmarly-6.5.0.tar.gz
Algorithm Hash digest
SHA256 3c23b0ffe8985af53a345d1ccc75ca3a3ad1fd2bb8b857c7e0154c9a9f86f1ba
MD5 c0a13604afcb248071393d7d4d645a42
BLAKE2b-256 e4ec9426149bc04ba9b73438b247951db103a7199440f9e93d273c1ff3d61cff

See more details on using hashes here.

Provenance

The following attestation bundles were made for guardmarly-6.5.0.tar.gz:

Publisher: publish.yml on mattybellx/Guardmarly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file guardmarly-6.5.0-py3-none-any.whl.

File metadata

  • Download URL: guardmarly-6.5.0-py3-none-any.whl
  • Upload date:
  • Size: 878.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for guardmarly-6.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a83d58b6bd6c970d63efbe414ae6d09f0be6da3585bcffca7c92489689e1e129
MD5 17dc029d84ddc369f412796918d3ea3e
BLAKE2b-256 9afaa55c0ab6cbd8950621fc21e18f7a50bccc038d32808e0c1f5bcb97b44c9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for guardmarly-6.5.0-py3-none-any.whl:

Publisher: publish.yml on mattybellx/Guardmarly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page