刚刚部署了一个区块链节点?喝点茶。

teatime的Python项目详细描述


Teatime-一个区块链RPC攻击框架

https://img.shields.io/pypi/v/teatime.svghttps://img.shields.io/travis/dmuhs/teatime.svghttps://coveralls.io/repos/github/dmuhs/teatime/badge.svg?branch=masterDocumentation StatusUpdates

部署节点?喝一杯。

Teatime是一个RPC攻击框架,旨在使其易于发现 区块链节点配置错误。它能检测到各种各样的问题, 从信息泄露到开户,再到配置 操纵。在

目标是启用工具扫描易受攻击的节点并将其最小化 由于常见漏洞导致的基于节点的攻击的风险。茶点时间使用 一个基于插件的架构,所以用你自己的检查扩展库 直截了当。在

请注意,此库仍然是PoC,缺少文档。如果有 是你想看到的插件,请随时在Twitter上联系我!在

安装

Teatime运行在python3.6+上。在

要开始,只需运行

$ pip3 install teatime

或者,克隆存储库并运行

^{pr2}$

或者直接通过Python的setuptools

$ python3 setup.py install

示例

要开始,只需实例化一个Scanner类并传入 目标IP、端口、节点类型和实例化插件的列表。考虑一下 以下示例检查节点是否已同步和挖掘:

fromteatime.scannerimportScannerfromteatime.plugins.contextimportNodeTypefromteatime.plugins.eth1importNodeSync,MiningStatusTARGET_IP="127.0.0.1"TARGET_PORT=8545INFURA_URL="Infura API Endpoint"defget_scanner():returnScanner(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())

查看示例目录以获取更多小示例!茶点时间满了 输入的,所以如果阅读 不是您的首选文档。:)

未来发展

茶时间的未来是不确定的,尽管我想补充更广泛的 超出RPC接口的检查,特别是针对以下技术:

  • 以太坊2.0
  • 文件币
  • IPFS公司

如果你想为更小,没有意义的链集成插件,比如 作为比特币或以太坊的仿冒品,你可以自由地进行项目划分和整合 他们分开了。在

历史

0.2.3(2020-10-01)

  • 添加缺少的节点签入帐户导入检查
  • AccountImport重命名为GethAccountImport,因为它是特定于节点的

0.2.0(2020-07-13)

  • PyPI的第一个版本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java随机填充2d数组   java运行时。getRuntime。带有长参数的exec(cmd)   java Minecraft无法放置自定义背景   java AChartEngine YAxis自定义标签区域边距和图表值为字符串?   泛型类的java类型安全错误   整数的java符号等价物。toBinaryString方法?   Java中数组列表的数组   java WebView应用程序在谷歌登录后显示空白屏幕   java从backback中删除特定片段   如果服务器不支持使用的协议,java JSSE是否实现回退?   java Sonarqube正在进行核心漏洞查找。如何解决   javajavax。jcr。UnsupportedPositionOperationException:testVersionable处的节点不可版本化   java在安卓中每隔X小时运行一次文件/函数,无需打开应用程序   java如何为磁盘持久性配置BigMemory?   java BufferWriter不转换383以上的整数   Java7交集类型:规范具体说明了什么?   Java:CollectionHow创建多列   java如何检测运算符的空白   java问题:在firebase中为导航栏中的第二个表单提交数据第一个表单工作正常。实际isse是连接Mainactivity中的另一个活动