安全扫描
OpenClaw
安全
high confidence该技能的需求、说明与所含文件均与NFC标签发现/检查/写入助手的定位一致,使用libnfc命令行工具;包内未发现与其声明目的无关或不成比例的内容。
评估建议
该技能与其NFC用途一致,仅为指令集(安装风险低)。安装/使用前:确保已安装受信任的libnfc/nfc-utils并拥有支持的读卡器;准备好授予或创建udev规则(需sudo)以访问设备;注意MIFARE Classic流程可能引用或需要密钥文件(请检查您提供的任何密钥文件);调试时代理可能要求您暴露完整UID——仅在必要时提供。请阅读README与SKILL.md,了解显式确认门(CONFIRM NFC WRITE / CONFIRM NFC FORMAT)以防止意外破坏性写入。...详细分析 ▾
✓ 用途与能力
名称/描述(NFC发现、检查、谨慎写入流程)与文件及运行时指令一致。该技能依赖libnfc/nfc-utils CLI工具和NFC读卡器,符合声明用途。
ℹ 指令范围
SKILL.md提供明确、限定范围的运行时步骤(发现、读取、写入、擦除),并在破坏性操作前强制文本确认。它引用提供密钥文件或默认密钥包,以及在多读卡器情况下使用LIBNFC_DEVICE环境变量——两者对NFC流程合理,但代理可能在操作中请求或引用本地密钥文件或设备标识符。
✓ 安装机制
无安装规范(仅指令)且仅含小型健全性检查脚本;无下载或归档提取。README中的安装指令为标准OS包管理命令安装libnfc及udev规则,符合预期。
ℹ 凭证需求
该技能未声明必需的环境变量或凭证。提到可选的LIBNFC_DEVICE作为设备选择器,并引用密钥文件/默认密钥包用于MIFARE Classic操作;比例适当,但用户应知流程可能接触本地密钥文件(且安装udev/规则时可能需要提升权限)。
✓ 持久化与权限
always为false且技能由用户调用;不请求常驻或系统级配置更改。技能在安装阶段提供修改系统udev规则的指导,这对硬件支持属正常。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/10
初始版本,带安全写入/格式化确认门及UID脱敏指导
● 无害
安装命令
点击复制官方npx clawhub@latest install nfc-tools
镜像加速npx clawhub@latest install nfc-tools --registry https://cn.longxiaskill.com
技能文档
快速开始
- 确认已安装
libnfc/nfc-utils,读卡器已供电,且操作系统已配置 udev 规则或类似权限(参见 README)。 - 运行
scripts/check-nfc.sh,确认 CLI 工具已在PATH中,且nfc-list --help能正常响应,再接触任何硬件。 - 当工作区报告硬件缺失时,按
references/fallback.md中的离线规划步骤操作。
UID 隐私
- 默认在用户可见文本和日志中对标签 UID 及标识符打码(例如替换为
或[UID REDACTED]),防止敏感标签元数据泄露。 - 仅在操作明确需要时(调试、配对细节或用户显式请求)才展示完整 UID,并记录解掩原因,如需存储需注明操作理由。
发现
- 运行
nfc-list或nfc-poll枚举已连接读卡器,捕获UID、Manufacturer和Firmware字符串;仅在需要检查驱动选项时才使用nfc-list --verbose。 - 每次交互窗口内执行一次
nfc-poll保持标签唤醒;先捕获信号强度 (RSSI) 与技术类型 (ISO14443A/B、MIFARE Classic等),再执行后续命令。 - 使用
nfc-taginfo -v或nfc-taginfo -t展示NDEF/MIFARE块布局、扇区密钥与标签容量,且不对标签做任何修改。
读取标签
- 从
nfc-list输出选择读卡器连接字符串(例如pn532_uart:/dev/ttyACM0),若存在多 reader 则设置LIBNFC_DEVICE。 - NDEF 标签用
nfc-ndefcat --list;Ultralight 块用nfc-mfultralight r 0 64 dump.ul;MIFARE Classic 扇区用nfc-mfclassic r a dump.mfd(提供正确密钥文件或默认密钥包)。 - 在提出任何编辑建议前,务必先导出二进制/十六进制转储,以便用户可回溯写入前状态;在推理中注明转储路径,并在回答时描述其布局。
写入标签(安全关键)
- 确认标签 UID、目标读卡器及将被覆盖的确切块/记录。要求用户回复
CONFIRM NFC WRITE(全大写且完全一致)后再开始任何写入。 - 创建经验证的载荷文件(如
payload.ndef、payload.ul、payload.mfd),可行时用ndef-tool dump payload.ndef或xxd预览,避免意外。 - Ultralight 标签用
nfc-mfultralight w 0 payload.ul写入;MIFARE Classic 先用nfc-mfclassic w a payload.mfd,若仅部分块变动,再执行nfc-mfclassic c a payload.mfd。写入 NDEF 内容时,优先用ndef-tool(libndef)或等效工具生成最终 TLV 二进制,再喂给写入命令,确保记录大小/CRC 正确。 - 写入后,重新运行对应读取命令(
nfc-ndefcat、nfc-mfultralight或nfc-mfclassic),验证载荷与目标文件一致,再宣告成功。 - 绝不擅自执行标签写入;每次请求必须包含步骤 1 的显式确认,才能运行任何破坏性命令。
擦除、格式化或重置标签(安全关键)
- 当操作会擦除、重新格式化或重置标签(如
ndef-tool format、nfc-mfclassic wipe、扇区重新格式化或块重置)时,先记录期望的空或初始化状态及将执行的命令。 - 要求用户回复
CONFIRM NFC FORMAT(全大写且完全一致)后再运行任何此类命令;若流程同时包含重写,则将其视为与CONFIRM NFC WRITE并列的第二道关卡,缺一不可。 - 用已验证的载荷或清零步骤执行已确认的擦除/格式化命令,并监控 CLI 输出中的成功标志或错误。
- 重新运行对应读取命令(
nfc-ndefcat、nfc-mfultralight、nfc-mfclassic或nfc-taginfo),证明标签已按请求清空或重置,再报告完成。
硬件缺失时
- 参考
references/fallback.md规划标签内容、预览二进制转储,并列出手动转换步骤(例如从模板构建ndef-tool数据),以便人类在 NFC 读卡器可用后执行写入。 - 记录缺失硬件状态,注明预期的读卡器/设备,并说明何时可重新连接物理 NFC 读卡器。
资源
scripts/check-nfc.sh:在执行任何工作流前,检查nfc-list、nfc-poll和nfc-taginfo是否存在的快速验证脚本。references/fallback.md:硬件或驱动不可用时,用于离线设计标签载荷的指南。