Το Teatime είναι ένα Framework επίθεσης RPC, που στοχεύει στο να διευκολύνει τον εντοπισμό εσφαλμένων διαμορφώσεων σε κόμβους blockchain.
Εντοπίζει μια μεγάλη ποικιλία ζητημάτων ασφαλείας, από διαρροές πληροφοριών έως και άνοιγμα λογαριασμών αλλά και χειρισμό ρυθμίσεων.
Ο στόχος του είναι να ενεργοποιηθούν τα εργαλεία σάρωσης ευπαθών των κόμβων και να ελαχιστοποιηθεί ο κίνδυνος επιθέσεων με βάση τους κόμβους λόγω των κοινών ευπαθειών που υπάρχουν. Το Teatime χρησιμοποιεί μια αρχιτεκτονική που βασίζεται σε προσθήκες, επομένως η επέκταση της βιβλιοθήκης με τους δικούς σας ελέγχους είναι απλή και εύχρηστη.
Εγκατάσταση
Το Teatime τρέχει σε Python 3.6+.
Για να ξεκινήσετε, απλώς εκτελέστε
$ pip3 install teatime
Εναλλακτικά, κατεβάστε το αποθετήριο και εκτελέστε το
$ pip3 install .
Ή απευθείας μέσω του Python’s setuptools:
$ python3 setup.py install
Παράδειγμα
Για να ξεκινήσετε τη λειτουργία του, απλώς δημιουργήστε μια Scanner κλάση και περάστε την IP του στόχου σας, τη θύρα, τον τύπο του κόμβου και μια λίστα με εγκατεστημένα plugins. Εξετάστε το ακόλουθο παράδειγμα για να ελέγξετε εάν ένας κόμβος συγχρονίζεται και λειτουργεί:
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())