Skip to main content

Real-time vulnerability monitoring and auto-remediation for Vyper smart contracts

Project description

Vyper Guard

Vyper Guard is a static security analyzer for Vyper smart contracts. It helps teams detect common vulnerability patterns, review security posture before deployment, and generate structured reports for engineering and CI workflows.

Highlights

  • Native Vyper-focused static analysis
  • 12 built-in detectors across reentrancy, access control, external call safety, arithmetic risks, and compiler advisories
  • Multiple report formats: CLI, JSON, Markdown, SARIF, and HTML
  • Optional baseline suppression and baseline-diff workflows for CI stability
  • Optional remediation mode with tiered auto-fix controls
  • Optional compiler-backed semantic mode (requires vyper extra)
  • Explorer and on-chain analysis workflows (explorer, analyze-address)
  • AI advisory triage support with explicit fallback control (--allow-ai-fallback)

What is New in v0.3.9

  • Added semantic mode selection (--semantic-mode) with source (default) and compiler options
  • Compiler-backed semantic extraction via the Vyper AST when available, with safe fallback to source mode
  • Semantic mode configuration in .guardianrc and env override (GUARDIAN_SEMANTIC_MODE)
  • Coverage metadata aligned with runtime detector catalog for report integrity

Installation

pip install vyper-guard

Verify:

vyper-guard --version

Optional compiler-backed semantic mode:

pip install vyper-guard[vyper]

Quick Start

Analyze a contract:

vyper-guard analyze contract.vy

Generate a machine-readable report:

vyper-guard analyze contract.vy --format json --output report.json

Generate a SARIF report for code scanning:

vyper-guard analyze contract.vy --format sarif --output report.sarif

Generate an HTML report:

vyper-guard analyze contract.vy --format html --output report.html

Core Commands

Command Purpose
analyze <file_or_dir> Analyze a single contract or directory of contracts
scan <file_or_dir> Alias for analyze
ast <file> Structural AST-oriented contract output
flow <file> Function/call-flow visualization data
fix <file> Remediation workflow
stats <file> Contract metrics and graph artifacts
diff <before> <after> Compare security posture between revisions
explorer <address> Fetch verified source and ABI metadata
analyze-address <address> Analyze explorer-fetched contract source
detectors List detector catalog with severity/category
benchmark [dir] Detector quality benchmark run
baseline <address> Build monitor baseline profile
monitor <address> Runtime monitoring and alerts
help Full command catalog and usage hints

Security Scoring

Each run produces a score from 0 to 100 and a grade.

Base score is 100 with severity-based deductions:

  • CRITICAL: -40 points (capped at -50)
  • HIGH: -20 points (capped at -40)
  • MEDIUM: -8 points (capped at -20)
  • LOW: -3 points (capped at -10)
  • INFO: -1 point (capped at -5)

Additional trust penalty:

  • Detector runtime failures: -10 each (capped at -30)

Detector Catalog

  1. missing_nonreentrant
  2. unsafe_raw_call
  3. missing_event_emission
  4. timestamp_dependence
  5. integer_overflow
  6. unprotected_selfdestruct
  7. dangerous_delegatecall
  8. unprotected_state_change
  9. send_in_loop
  10. unchecked_subtraction
  11. cei_violation
  12. compiler_version_check

Remediation

Use remediation mode for guided fixes:

vyper-guard analyze contract.vy --fix

Limit remediation scope by risk tier:

vyper-guard analyze contract.vy --fix --max-auto-fix-tier B

Dry-run remediation:

vyper-guard analyze contract.vy --fix-dry-run --fix-report remediation-report.json

License

MIT. See LICENSE.

Disclaimer

Vyper Guard is a static analysis aid and does not guarantee absence of vulnerabilities. Use it together with manual review, testnet validation, and professional audits for high-value deployments.

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

vyper_guard-0.3.9.tar.gz (130.1 kB view details)

Uploaded Source

Built Distribution

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

vyper_guard-0.3.9-py3-none-any.whl (151.7 kB view details)

Uploaded Python 3

File details

Details for the file vyper_guard-0.3.9.tar.gz.

File metadata

  • Download URL: vyper_guard-0.3.9.tar.gz
  • Upload date:
  • Size: 130.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for vyper_guard-0.3.9.tar.gz
Algorithm Hash digest
SHA256 d4ce1656461e31174b7c41a7d0c895defe40d6bc8957a421a92d3368a039fe6c
MD5 162072e8e3619c580881cfb9fcb9bcba
BLAKE2b-256 4d91a605f986c661c1cf37b6d1333ebf1aa374cb1e509bf24608ac830161894f

See more details on using hashes here.

File details

Details for the file vyper_guard-0.3.9-py3-none-any.whl.

File metadata

  • Download URL: vyper_guard-0.3.9-py3-none-any.whl
  • Upload date:
  • Size: 151.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for vyper_guard-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d5b83753fce399df9ddb0d1fc47eb37340273a802990f1d071ce60c073b80925
MD5 c5b5dc59e21f1f459877365da5003703
BLAKE2b-256 2900d3bfb3e1f1b56be7f07d0f8e96bb42d22fa5b77169b6567e0588a9854ece

See more details on using hashes here.

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