工具

AALpy 自动机学习库

通用的 Python 自动机学习库,可通过主动查询或被动轨迹数据,推断黑盒系统的确定性、非确定性、随机及下推自动机模型。其 README 链接了一项独立的低功耗蓝牙(BLE)研究,该研究的仓库报告了学习得到的设备连接与传统配对(legacy pairing)状态机;该库本身不推断报文格式。

使用条件与局限

  • PyPI 最新版本为 1.6.2,上传于 2026-08-03,要求 Python >=3.6。所审阅的 master 分支自标为尚未发布的 2.0.0,要求 Python 3.10+;上游说明 1.6.2 是支持旧版 Python 的最后一个版本。
  • 主动学习需要用户编写的被学习系统(SUL)适配器、输入字母表和等价判定器(equivalence oracle);被动学习需要符合文档格式的轨迹数据。学到的模型受所选字母表、抽象方式和判定器限制,不能证明已覆盖完整的协议行为。
  • 唯一的 Python 依赖是 pydot;可视化模型需要将 Graphviz 加入 PATH。采用 MIT 许可。
  • ble-learning 研究仓库独立于本库:需要一块 nRF52840 Dongle 或开发板,并刷入仓库提供的、源自 SweynTooth 的固件,还需要 Python 3.9 和所列依赖库;该仓库没有许可证文件。本次未运行学习实验。

关于此条目

类型
工具
类别
协议分析工具
关联
基础工具
目标
协议

来源核查于

说明依据一手来源核查,不表示已进行运行测试、安全审计或兼容性验证。

一手来源

  1. https://github.com/DES-Lab/AALpy/blob/335c50a1b4b5a830d788f86b7c30a8cb6c73ecc0/README.md
  2. https://github.com/DES-Lab/AALpy/blob/335c50a1b4b5a830d788f86b7c30a8cb6c73ecc0/pyproject.toml
  3. https://github.com/DES-Lab/AALpy/blob/335c50a1b4b5a830d788f86b7c30a8cb6c73ecc0/LICENCE.txt
  4. https://github.com/DES-Lab/AALpy/releases/tag/v.1.6.2
  5. https://pypi.org/project/aalpy/1.6.2/
  6. https://github.com/apferscher/ble-learning/blob/febd774109c41a6635659b8847cc766e667841dd/README.md