📦 NFC Tools — NFC标签读写

v1.0.0

基于libnfc/nfc-utils的命令行NFC标签发现、解析与安全写入工具,支持读取NDEF、写入前双重确认,防止误操作。

0· 238·0 当前·0 累计
ppopen 头像by @ppopen (pp)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/10
0
安全扫描
VirusTotal
无害
查看报告
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规则的指导,这对硬件支持属正常。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

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-listnfc-poll 枚举已连接读卡器,捕获 UIDManufacturerFirmware 字符串;仅在需要检查驱动选项时才使用 nfc-list --verbose
  • 每次交互窗口内执行一次 nfc-poll 保持标签唤醒;先捕获信号强度 (RSSI) 与技术类型 (ISO14443A/BMIFARE Classic 等),再执行后续命令。
  • 使用 nfc-taginfo -vnfc-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.ndefpayload.ulpayload.mfd),可行时用 ndef-tool dump payload.ndefxxd 预览,避免意外。
  • 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-ndefcatnfc-mfultralightnfc-mfclassic),验证载荷与目标文件一致,再宣告成功。
  • 绝不擅自执行标签写入;每次请求必须包含步骤 1 的显式确认,才能运行任何破坏性命令。

擦除、格式化或重置标签(安全关键)

  • 当操作会擦除、重新格式化或重置标签(如 ndef-tool formatnfc-mfclassic wipe、扇区重新格式化或块重置)时,先记录期望的空或初始化状态及将执行的命令。
  • 要求用户回复 CONFIRM NFC FORMAT(全大写且完全一致)后再运行任何此类命令;若流程同时包含重写,则将其视为与 CONFIRM NFC WRITE 并列的第二道关卡,缺一不可。
  • 用已验证的载荷或清零步骤执行已确认的擦除/格式化命令,并监控 CLI 输出中的成功标志或错误。
  • 重新运行对应读取命令(nfc-ndefcatnfc-mfultralightnfc-mfclassicnfc-taginfo),证明标签已按请求清空或重置,再报告完成。

硬件缺失时

  • 参考 references/fallback.md 规划标签内容、预览二进制转储,并列出手动转换步骤(例如从模板构建 ndef-tool 数据),以便人类在 NFC 读卡器可用后执行写入。
  • 记录缺失硬件状态,注明预期的读卡器/设备,并说明何时可重新连接物理 NFC 读卡器。

资源

  • scripts/check-nfc.sh:在执行任何工作流前,检查 nfc-listnfc-pollnfc-taginfo 是否存在的快速验证脚本。
  • references/fallback.md:硬件或驱动不可用时,用于离线设计标签载荷的指南。
数据来源ClawHub ↗ · 中文优化:龙虾技能库