SuperAPI AI 工具集

unicode-hygiene

安全与审计

查看项目

更新于 10-15 20:08

技能介绍

用途:检测本仓库发布文件中嵌入的非打印或视觉伪装 Unicode 字符,这类字符在人工查看时显示为正常文本,但可能被 LLM 或 shell 解析为隐藏指令,属于 schema 校验和人工审查都容易漏掉的供应链攻击。

主要能力:以仓库根目录脚本 scripts/validate-unicode-hygiene.py 为唯一事实来源(纯标准库)。严重级别分三档:BLOCKER 为不可见标签字符(U+E0000–U+E007F)和双向控制字符(U+202A–U+202E、U+2066–U+2069),默认扫描即失败;MAJOR 为其他零宽/格式字符(Unicode 类别 Cf),默认仅报告,加 --strict 后失败;MINOR 为安装命令行上的混合脚本同形字标识符,例如安装命令中隐藏的西里尔字母,永不失败。文件偏移 0 处的字节顺序标记(U+FEFF)允许存在。

使用方式:需从仓库根目录运行,脚本路径相对仓库根。扫描默认仓库目标 globs(技能、插件、命令、智能体、市场文件):uv run scripts/validate-unicode-hygiene.py。扫描指定文件或目录:uv run scripts/validate-unicode-hygiene.py path/to/SKILL.md path/to/plugin.json。将 MAJOR 也视为失败:uv run scripts/validate-unicode-hygiene.py --strict。仅报告不失败:uv run scripts/validate-unicode-hygiene.py --warn-only。每条发现输出为 path:line:col: SEVERITY category U+XXXX message,并附带汇总行 Scanned N file(s): X BLOCKER, Y MAJOR, Z MINOR。发现 BLOCKER(或 --strict 下的 MAJOR)时退出码非零。

适用场景:提交或发布技能、插件、命令、智能体文件前;审查不受信任或外部贡献的 SKILL.md、plugin.json、agent、command 文件时;审计 .claude-plugin/marketplace.json 中的隐藏载荷时。CI 与 pre-commit 调用同一脚本。相关的 agent-harness PreToolUse 钩子(hooks/pre_tool_use.py)会用相同的两个码点集对 Write/Edit 内容做轻量内联 BLOCKER 扫描,在写入文件前拦截引入标签字符或双向控制的编辑;这两个集合规范定义在 scripts/validate-unicode-hygiene.py 的 TAG_RANGE 和 BIDI_CONTROLS,需与钩子保持同步。

限制:未提供价格、平台要求或安装步骤说明;除上述脚本与钩子外,未提供其他功能细节。