Skip to main content

Crate sentri_analyzer_evm

Crate sentri_analyzer_evm 

Source
Expand description

EVM (Ethereum/Solidity) program analyzer with advanced analysis capabilities.

This crate provides comprehensive static and dynamic analysis for EVM smart contracts:

  • AST Analysis: Parse Solidity using solc JSON AST via AstWalker
  • Control Flow: Build and analyze control flow graphs
  • Data Flow: Track variable definitions, uses, and taint propagation
  • Bytecode Analysis: Disassemble and analyze compiled EVM bytecode
  • Symbolic Execution: Verify invariants hold for all inputs

Re-exports§

pub use analyzer::EvmAnalyzer;
pub use ast::AstContract;
pub use ast::SolidityParser;
pub use ast::Visibility;
pub use ast_types::AstNode;
pub use ast_types::SourceUnit;
pub use ast_walker::AstVisitor;
pub use ast_walker::AstWalker;
pub use bytecode::BytecodeAnalyzer;
pub use bytecode::Instruction;
pub use bytecode::Opcode;
pub use cfg::ControlFlowGraph;
pub use dataflow::DataFlow;
pub use errors::AnalysisError;
pub use errors::AnalysisResult;
pub use symbolic::SymbolicExecutor;

Modules§

analyzer
EVM analyzer implementation with advanced static analysis capabilities.
ast
Solidity source code and AST parsing using solc compiler.
ast_types
Type definitions for Solidity AST from solc JSON output.
ast_walker
AST visitor pattern for walking and analyzing Solidity AST.
bytecode
EVM Bytecode analysis and disassembly.
cfg
Control Flow Graph (CFG) construction and analysis.
dataflow
Data Flow Analysis for value and taint tracking.
detectors
AST-based vulnerability detectors for EVM smart contracts.
errors
Error types for EVM analysis operations.
symbolic
Symbolic Execution for invariant verification.