关于 performing-bluetooth-security-assessment
使用 Python bleak 执行 BLE 安全评估的技能,面向安全测试人员。它扫描附近设备、检查 GATT 特征的访问保护,并整理发现结果与修复建议。
主要功能
- 01扫描附近 BLE 设备
- 02连接设备并枚举 GATT 服务
- 03检查特征读写权限
- 04识别已知易受攻击的 UUID
- 05生成含严重性与建议的 JSON 报告
适用场景
- 01审计 IoT 或智能家居 BLE 设备
- 02检查特征是否暴露未加密数据
- 03评估配对和访问控制配置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-bluetooth-security-assessment安装后在 Claude Code 中输入/performing-bluetooth-security-assessment确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/agent.py详细介绍
执行蓝牙安全评估
概述
本技能涵盖使用 Python bleak 库执行低功耗蓝牙 (BLE) 安全评估。BLE 设备在 IoT、医疗保健、健身和智能家居应用中无处不在,其中许多设备出厂时安全控制薄弱或缺失。此评估可识别未加密的 GATT 特征、广播敏感数据的设备、已知存在漏洞的设备指纹以及未正确配置安全保护的配对设置。
Agent 使用 bleak 的 asyncio API 来发现附近的 BLE 设备、连接目标设备、枚举所有 GATT 服务和特征,并分析每个特征的安全属性。它会标记允许未经身份验证读写敏感数据的特征,并识别与已知漏洞配置文件匹配的设备。
何时使用
- 在开展涉及执行蓝牙安全评估的安全评估时
- 在针对相关安全事件遵循事件响应流程时
- 在执行定期安全测试或审计活动时
- 通过动手测试验证安全控制措施时
前置条件
- Python 3.9 或更高版本
- bleak 库(
pip install bleak) - 支持 BLE 的蓝牙适配器(Bluetooth 4.0+)
- Linux:BlueZ 5.43+ 并具有 D-Bus 权限
- Windows:Windows 10 版本 1709+ 并支持蓝牙
- macOS:macOS 10.15+ 并支持 CoreBluetooth
步骤
-
扫描 BLE 设备:使用 BleakScanner 发现范围内所有正在广播的 BLE 设备。捕获设备名称、地址 (MAC)、RSSI 信号强度和广播的服务 UUID。
-
识别目标设备:按名称模式、地址或最低信号强度筛选发现的设备。标记正在广播默认名称或已知存在漏洞的名称的设备。
-
连接并枚举 GATT 服务:使用 BleakClient 连接目标设备并遍历所有 GATT 服务。对于每个服务,记录 UUID、描述和包含的特征。
-
分析特征属性:对于每个特征,检查其属性(read、write、write-without-response、notify、indicate)。标记在无需身份验证或加密的情况下即暴露读或写访问权限的特征。
-
检查已知存在漏洞的 UUID:将发现的服务和特征 UUID 与已知存在漏洞或敏感服务的数据库(心率、血压、设备信息、电池电量)进行比对,这些服务应要求加密。
-
检测未加密的数据暴露:尝试读取应受保护的特征。未经身份验证即可成功读取敏感数据表明缺少安全控制措施。
-
生成安全报告:将所有发现汇总为结构化 JSON 报告,包含严重性分类和修复建议。
预期输出
{
"assessment_type": "ble_security_audit",
"target_device": {
"name": "SmartBand-XR",
"address": "AA:BB:CC:DD:EE:FF",
"rssi": -42
},
"services_found": 5,
"characteristics_found": 18,
"findings": [
{
"severity": "high",
"finding": "Heart Rate Measurement readable without encryption",
"uuid": "00002a37-0000-1000-8000-00805f9b34fb",
"properties": ["read", "notify"],
"remediation": "Enable encryption requirement on characteristic"
}
],
"risk_score": 7.5
}