Skip to main content

Smart contract security scanner — Slither + ML exploitability prediction

Project description

ChainAudit

Smart contract security scanner — Solidity, Solana/Rust, and L2/Arbitrum/Optimism support.

PyPI License: MIT


Install

Mac / Linux / Ubuntu

pip install chainaudit
pip install slither-analyzer
pip install solc-select
solc-select install 0.8.24
solc-select use 0.8.24

# Optional — for Solana/Rust scanning
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install cargo-audit

Windows

Requires Python 3.12. Download from python.org — check "Add Python to PATH" during install. Python 3.13 not yet supported on Windows.

pip install chainaudit
pip install slither-analyzer
pip install solc-select
solc-select install 0.8.24
solc-select use 0.8.24

If on a college/office network, use mobile hotspot for installation.


Usage

chainaudit scan contract.sol               # Solidity file
chainaudit scan program.rs                 # Solana/Rust program
chainaudit scan ./contracts --recursive    # directory
chainaudit scan contracts.zip              # zip archive
chainaudit scan contract.sol --json        # JSON output
chainaudit scan contract.sol --ml-only     # skip simulation
chainaudit --version                       # show version

Exit code 1 if CRITICAL vulnerabilities found — blocks deployments in CI.


GitHub Action

- uses: aizen299/smart-contract-auditor@v1
  with:
    target: contracts/
    fail-on-critical: true

What It Detects

EVM (Ethereum, Polygon, BNB Chain...)

Severity Examples
CRITICAL Reentrancy, Controlled Delegatecall
HIGH Unchecked Token Transfer, Weak Randomness, tx.origin Auth
MEDIUM Timestamp Dependence, Unchecked Send
LOW Missing Zero Check, Missing Events

L2 / Arbitrum / Optimism — auto-detected

Severity Examples
CRITICAL Cross-Chain Replay Attack, Bridge Reentrancy
HIGH L2 Block Number Assumption, Sequencer Dependence, Address Aliasing
MEDIUM Force-Include Griefing, Gas Price Assumption

Solana / Rust

Severity Examples
CRITICAL Missing Signer Check, Arbitrary CPI, Missing Owner Check
HIGH Integer Overflow, Unsafe Rust Code, CPI Reentrancy, Insecure Randomness
MEDIUM Missing Rent Exemption, PDA Seeds Not Validated
LOW Missing Freeze Authority, Deprecated Anchor Patterns

Detected via cargo-audit (CVE scanning) + pattern scanning on .rs source files.


ML Predictions

Each EVM finding includes an ML-predicted exploitability score (SmartBugs dataset, 88% accuracy).

{
  "title": "Reentrancy",
  "severity": "CRITICAL",
  "ml_exploitability": "CRITICAL",
  "ml_confidence": 0.96,
  "chain": "arbitrum"
}

Links

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

chainaudit-1.1.1.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

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

chainaudit-1.1.1-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file chainaudit-1.1.1.tar.gz.

File metadata

  • Download URL: chainaudit-1.1.1.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for chainaudit-1.1.1.tar.gz
Algorithm Hash digest
SHA256 4787d05eec98d472b45cfbce9cc2c3cca816b1343e93be44561d4146fd013fa6
MD5 735a35e757d78a6cc050c74f38350c5a
BLAKE2b-256 6a3c2d7d2ff2e09d26d36c7ff897fecfcffa304d906cbd8b3aa36d9f499cc2e3

See more details on using hashes here.

File details

Details for the file chainaudit-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: chainaudit-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for chainaudit-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e27dc7848bd9d6ce10e110c475e9aff505e06c0515e63e13822e77df8f0cf8f6
MD5 576162ff6b19b5f7adf70efba0adeb04
BLAKE2b-256 d596be99914da556d6830047c15beb6a71156b873204f6e63dbd8af2e99a791b

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