# Performing Bluetooth Security Assessment

> 通过扫描、枚举 GATT 服务并检测漏洞，评估蓝牙低功耗（BLE）设备的安全性。

- Skill: `killvxk/performing-bluetooth-security-assessment` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/performing-bluetooth-security-assessment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/performing-bluetooth-security-assessment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/performing-bluetooth-security-assessment

---


## 概述

本技能使用 Python bleak 库执行蓝牙低功耗（BLE，Bluetooth Low Energy）安全评估。BLE 设备广泛应用于物联网（IoT）、医疗健康、健身和智能家居等场景，许多设备出厂时安全控制薄弱甚至完全缺失。本评估可识别未加密的 GATT 特征值、广播敏感数据的设备、已知漏洞设备指纹，以及配对配置不安全的问题。

代理使用 bleak 的异步（asyncio）API 发现附近的 BLE 设备，连接到目标设备，枚举所有 GATT 服务和特征值，并分析每个特征值的安全属性。它会标记允许未认证读/写访问敏感数据的特征值，并识别符合已知漏洞特征的设备。

## 前置条件

- Python 3.9 或更高版本
- bleak 库（`pip install bleak`）
- 支持 BLE（蓝牙 4.0+）的蓝牙适配器
- Linux：BlueZ 5.43+ 及 D-Bus 权限
- Windows：Windows 10 1709 版本以上，含蓝牙支持
- macOS：macOS 10.15+ 含 CoreBluetooth

## 步骤

1. **扫描 BLE 设备**：使用 BleakScanner 发现范围内所有广播的 BLE 设备。捕获设备名称、地址（MAC）、RSSI 信号强度和已广播的服务 UUID。

2. **识别目标设备**：按名称模式、地址或最低信号强度筛选发现的设备。标记广播了默认名称或已知漏洞名称的设备。

3. **连接并枚举 GATT 服务**：使用 BleakClient 连接目标设备并遍历所有 GATT 服务。对每个服务记录其 UUID、描述和包含的特征值。

4. **分析特征值属性**：对每个特征值检查其属性（读取、写入、无响应写入、通知、指示）。标记无需认证或加密即可读写的特征值。

5. **检查已知漏洞 UUID**：将发现的服务和特征值 UUID 与已知漏洞或敏感服务数据库（心率、血压、设备信息、电池电量）对比，这些服务应要求加密。

6. **检测未加密数据暴露**：尝试读取应受保护的特征值。未认证即可成功读取敏感数据表明缺少安全控制。

7. **生成安全报告**：将所有发现整合成带严重性分级和修复建议的结构化 JSON 报告。

## 预期输出

```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
}
```

