Quickstart Guide
Get started with MIESC in 5 minutes.
Basic Usage
Analyze a single contract:
miesc audit full MyContract.sol
Quick scan (faster, fewer tools):
miesc audit quick MyContract.sol
Static analysis only:
miesc audit static MyContract.sol
Output Formats
Generate different output formats:
# JSON output
miesc audit full MyContract.sol -o results.json
# Generate HTML report
miesc report results.json -f html -o report.html
# Generate PDF report
miesc report results.json -f pdf -o report.pdf
# SARIF format (for CI/CD)
miesc audit full MyContract.sol -f sarif -o results.sarif
Python API
Use MIESC programmatically:
from miesc.cli import analyze_contract
# Analyze a contract
results = analyze_contract("MyContract.sol", mode="full")
# Print findings
for finding in results.findings:
print(f"[{finding.severity}] {finding.title}")
print(f" Location: {finding.location}")
print(f" Tool: {finding.tool}")
Using Adapters Directly
Use individual tool adapters:
from src.adapters.slither_adapter import SlitherAdapter
# Initialize adapter
adapter = SlitherAdapter()
# Check availability
if adapter.is_available():
# Run analysis
result = adapter.analyze("MyContract.sol")
for finding in result["findings"]:
print(f"{finding['severity']}: {finding['message']}")
LLM-Enhanced Analysis
Enable LLM interpretation:
# With Ollama (local)
export OLLAMA_HOST=http://localhost:11434
miesc audit full MyContract.sol --llm-interpret
# Premium report with attack scenarios
miesc report results.json -t premium --llm-interpret -f pdf
Docker Usage
Run analysis in Docker:
# Mount contract and output directories
docker run --rm \\
-v $(pwd)/contracts:/contracts \\
-v $(pwd)/output:/output \\
ghcr.io/fboiero/miesc:full \\
audit full /contracts/MyContract.sol -o /output/results.json
With LLM (macOS):
docker run --rm \\
-v $(pwd)/contracts:/contracts \\
-e OLLAMA_HOST=http://host.docker.internal:11434 \\
ghcr.io/fboiero/miesc:full \\
audit full /contracts/MyContract.sol --llm-interpret
Configuration
Create a configuration file:
# miesc.yaml
analysis:
default_mode: full
timeout: 300
skip_unavailable: true
llm:
backend: ollama
model: mistral:latest
temperature: 0.1
output:
format: json
include_raw_output: false
Next Steps
Read the API Reference for detailed documentation
Check Architecture Overview for system design
See Contributing to contribute to MIESC