Bueno queria aprender y porbar que tan efectiva y efciente era la utomatizaciond e procesos de pruebas de seguridad en Smarts Cotracts : analizar qué contratos están moviendo tokens en la red Ethereum y evaluar rápidamente si representan un riesgo real.
ScannerUsdt reúne un conjunto de herramientas en Python que automatizan tres procesos importantyes a tomar en cuenta a la hora de analizar SC DeFi :
- Descubrir actividad on-chain relevante (escaneo de eventos ERC-20).
- Priorizar contratos según riesgo y volumen.
- Lanzar auditorías rápidas y reproducibles (bytecode + fuente + heurísticas + Slither/Mythril opcionales).
Espacio reservado para el GIF del flujo completo:
- Seguridad de smart contracts / auditoría DeFi
- Data engineering on-chain
- Desarrollo de tooling para análisis de contratos
El resultado del proyecto muestra:
- JSON-RPC
- Logs de eventos Transfer
- Bytecode desde RPC
- Queries a Etherscan v2
Se identifican patrones de riesgo frecuentes:
- delegatecall
- selfdestruct
- tx.origin
- inline assembly
- bucles no acotados
- timestamp y balance dependiente
- Descubrimiento (scanner)
- Priorización (volumen + opcodes peligrosos)
- Auditoría rápida
- Escaneo multi-token (USDT, USDC, DAI, WETH)
- Obtención de eventos
- Determinación de contratos
- Extracción de opcodes peligrosos
- Filtrado por volumen mínimo
- Verificación en Etherscan v2
- Clasificación bluechip / no bluechip
- Ejecución de auditorías rápidas
- Descarga y guardado de source/ABI/metadata
- Heurísticas sobre bytecode y fuente
- Detección de funciones críticas
- Integración opcional con Slither y Mythril
Utilidad para cargar .env y ejecutar comandos con variables correctas.
Salida automatizada por contrato auditado:
- source.sol
- abi.json
- metadata.json
- summary.json
- slither_report.json (opcional)
- mythril_report.json (opcional)
Python 3.10+
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
ETH_RPC_URL=""
ETHERSCAN_API_KEY=""
ETHERSCAN_CHAIN_ID=1
SLITHER_CMD="slither"
MYTHRIL_CMD="myth"
MYTHRIL_ENABLED=0
MYTHRIL_DEPTH=8
MYTHRIL_TIMEOUT_SECS=120
.venv/bin/python token_transfer_scanner.py --token usdt --blocks-back 3000 --limit 200 > scanner_usdt.json
.venv/bin/python filter_and_audit_from_scanner.py scanner_usdt.json --min-volume 1000 --max 20
.venv/bin/python contract_deep_audit.py --address 0x... --no-mythril
Mapa general de actividad del token.
Lista priorizada con:
- volumen
- fuente verificada
- flags de riesgo
Resumen detallado:
- risk_flags
- oracle_flags
- design_flags
- funciones críticas
- Heurísticas simples
- Sin integración interna con Hardhat/Foundry
- Rotación de RPCs
- Export de laboratorios para Foundry
- Tests unitarios
- y escalar
lo que quise hacer con este proyetco fue irecatuar con la automatizacion de pruebas de seguridad en SC :
- datos on-chain
- auditoría ligera
- tooling DeFi
- habilidad para construir pipelines claros y reproducibles
