
La hora del té es un ámbito de ataque RPC destinado a solucionar la detección de configuraciones incorrectas en los nodos de blockchain. Detecta una gran variedad de problemas, que van desde fugas de información hasta cuentas abiertas y manipulación de la configuración.
El objetivo es habilitar herramientas para escanear nodos vulnerables y minimizar el aventura de ataques basados en nodos oportuno a vulnerabilidades comunes. Teatime utiliza una edificio basada en complementos, por lo que ampliar la biblioteca con sus propias comprobaciones es sencillo.
Tenga en cuenta que esta biblioteca sigue siendo una PoC y carece de documentación. Si hay complementos que le gustaría ver, ¡no dude en contactarme en Twitter!
Instalación
La hora del té se ejecuta en Python 3.6+.
- Para comenzar, simplemente ejecute
$ pip3 instalar la hora del té
- Alternativamente, clone el repositorio y ejecute
$ pip3 install.
- O directamente a través de Python
setuptools
:
$ python3 setup.py instalar
Ejemplo
Para comenzar, simplemente cree una instancia Scanner
class y pase la IP de destino, el puerto, el tipo de nodo y una letanía de complementos instanciados. Considere el posterior ejemplo para compulsar si un nodo está sincronizado y minado:
from teatime.scanner import Scanner from teatime.plugins.context import NodeType from teatime.plugins.eth1 import NodeSync, MiningStatus TARGET_IP = "127.0.0.1" TARGET_PORT = 8545 INFURA_URL = "Infura API Endpoint" def get_scanner(): return Scanner( ip=TARGET_IP, port=TARGET_PORT, node_type=NodeType.GETH, plugins=[ NodeSync(infura_url=INFURA_URL, block_threshold=10), MiningStatus(should_mine=False) ] ) if __name__ == '__main__': scanner = get_scanner() report = scanner.run() print(report.to_dict())
¡Consulte el directorio de ejemplos para ver más ejemplos pequeños! La hora del té está completamente mecanografiada, por lo que igualmente puede explorar las opciones en su IDE si descubrir la documentación no es su opción preferida. 🙂
Exposición futuro
El futuro de Teatime es incierto, aunque me encantaría unir comprobaciones más amplias que vayan más allá de las interfaces RPC, específicamente para tecnologías como:
Si desea integrar complementos para cadenas más pequeñas y menos significativas, como imitaciones de Bitcoin o Ethereum, no dude en bifurcar el tesina e integrarlos por separado.