CodeQL extractor and queries for Solidity smart contract security analysis.
- Tree-sitter based Solidity parsing
- Dataflow and taint tracking
- Call graph and inheritance analysis
codeql pack download lucasamorimca/solidity-all
codeql pack download lucasamorimca/solidity-queriesDownload from Releases
# Create database
export CODEQL_EXTRACTOR_SOLIDITY_ROOT=/path/to/extractor-pack
codeql database create db --language=solidity --source-root=/path/to/contracts
# Run analysis
codeql database analyze db lucasamorimca/solidity-queries --format=sarif-latest --output=results.sarifcodeql-solidity/
├── extractor/ # Rust extractor binary
├── ql/lib/ # QL library (lucasamorimca/solidity-all)
├── queries/ # Security queries (lucasamorimca/solidity-queries)
├── extractor-pack/ # CodeQL extractor configuration
└── tests/ # Test fixtures
cd extractor
cargo build --release
# Generate schema and QL library
./target/release/codeql-extractor-solidity generate \
--dbscheme ../ql/lib/solidity.dbscheme \
--library ../ql/lib/codeql/solidity/ast/internal/TreeSitter.qllApache-2.0