上架技能隐私安全批量审计
一个人维护几十个上架技能,最怕的不是写不好,是发不好——拿旧副本 bump 一发,内容直接退回三个月前;本地目录串了号,A 的内容推到了 B 名下;部门名和文号没清干净,平台把概述清了。这个技能把这三件事一次拦住。
什么时候用
- 准备对一批已上架技能做版本迭代,发版前想先过一遍隐私与安全底线
- 平台概述/正文被清理,怀疑内容里有敏感表述,需要全量复查
- 换了新隐私规范(比如新增敏感信息类别),要同步到所有技能
三条审计基准
A · 敏感个人信息七类:生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹,以及不满十四周岁未成年人的个人信息。扫描每个技能的 SKILL.md 与 references 全部 .md/.html,判断是否存在真实采集行为。
> 关键判读:命中关键词不等于违规。绝大多数命中是「不记录身份证号」「不适用医疗专业评估」这类保护性规则本身,属于合规。只有「采集/记录/上传 + 敏感字段」同时出现才需要处理——这一步要人工看上下文,别让正则替你下结论。
B · 危地不往,乱地不去(安全边界原则):识别用户拟进入高风险或混乱环境(线下见陌生网友、野游野泳或未开发区域、承诺高息回报与荐股、培训贷与押金陷阱、秩序混乱的拥挤现场)时,在正常回答之外追加一句轻量避险提醒——不评判、不说教,给出「不去 / 不碰 / 不贷 / 不信」的边界选项,最终决定权在用户。
C · 既有脱敏硬规则:官方部门名、官方文件文号、政府域名(含无 http 前缀的裸域名)出现即泛化,知识点保留。
> 表中所列部门名、文号与域名仅作为「需要识别并替换的对象」出现,是本技能的清理对照示例,不代表本技能引用或推荐使用任何具体来源。
执行流程
1 拉清单:GET /api/v1/dashboard/skills?page=N(Bearer token,每页 20,以 total 为准)
2 备副本:本地缺的技能用 skillhub install <slug> --namespace <ns> --dir <暂存区> 补齐
3 扫 描:全文正则扫 SKILL.md + references/**/*.md|html,输出 A/B/C 三类命中
4 复 核:对 A 类命中看上下文(±70 字),区分「保护性规则」与「真实采集」
5 修 补:C 类泛化替换 → 注入统一底线章节 → frontmatter 版本 minor+1
6 精 修:处理替换毛刺(部门门 / 文件 号 / 反引号残留),裸域名单独再清一遍,复查残留为 0
7 校 验:目录名 == frontmatter slug(防串号);本地版本 > 线上版本(防回退)
8 发 布:串行 60 秒间隔,网络错误重试 5 次,落 jsonl 日志,中断可续发
9 复 核:重拉 dashboard,比对 live version 是否等于本地 SKILL.md 版本;抽 2-3 个包验内容
统一底线章节(可直接复用)
## 隐私与安全底线(统一增补 YYYY-MM-DD)
**敏感个人信息七类,从严处理**:生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹,以及不满十四周岁未成年人的个人信息——不主动采集、不追问、不记录、不输出、不外传;用户无意说出即跳过并轻提醒;结果输出前二次过滤。
**危地不往,乱地不去(安全边界)**:识别到用户拟进入高风险或混乱环境(线下见陌生网友、野游野泳或未开发区域、承诺高息回报与荐股、培训贷与押金陷阱、秩序混乱的拥挤现场等),在正常回答之外追加一句轻量避险提醒——不评判、不说教,给出「不去 / 不碰 / 不贷 / 不信」的边界选项,最终决定权在用户。
**数据本地优先**:个人数据整理默认只落本地文件;联网请求只带关键词、不携带个人数据;用户可随时要求删除已记录内容。
注入位置:SKILL.md 中「更新日志 / CHANGELOG / 版本历史」标题之前;无则追加文末,用日期标记做幂等判断。
泛化替换映射(C 类)
| 原表述 | 泛化为 |
|---|---|
| 中央气象台 / 中国气象局 | 官方气象部门 / 国家气象主管部门 |
| 应急管理部 | 应急管理部门 |
| 市场监管总局 | 市场监管部门 |
| 国家网信办 / 网信办 | 网信部门 |
| 公安部 | 公安机关 |
| 教育部 | 教育主管部门 |
| 人社部 | 人力资源社会保障部门 |
| 国家卫健委 / 卫健委 | 卫生健康部门 |
| 国资委 | 国资监管部门 |
| 国家发改委 / 发改委 | 发展改革部门 |
| 工信部 / 工业和信息化部 | 工业和信息化部门 |
| 国家公务员局 | 公务员考试主管部门 |
| 国办发〔YYYY〕N 号 | 官方指导文件 |
| 教基〔YYYY〕N 号 | 官方教育文件 |
*.gov.cn(含裸域名) |
官方渠道 |
替换毛刺必修清单:应急管理部门门、公安机关门、教育主管部门门、(主管部门|部门)主管部门、(官方教育文件|…) 号、()空括号、反引号残留的重复名称。经验是跑三遍:主替换 → 毛刺修复 → 裸域名清理,第一遍基本清不干净。
发布环节三个硬坑
- Windows 下别直接调启动器:
~/.local/bin/skillhub是 bash 包装脚本,Python subprocess 调它报[WinError 193] 不是有效的 Win32 应用程序。正确姿势是受管 Python 直调 CLI 本体(CLI 主程序在 skillhub 配置目录下),路径用 Windows 风格。 - 本地副本可能落后于线上:发版前必须比对 dashboard 版本与本地版本。平台报
409 VERSION_EXISTS就是信号——拿旧副本 bump 会造成内容回退。落后的先重新拉最新再打补丁。 - 本地目录可能串号:目录名与 frontmatter slug 不一致(如 A 目录里装的是 B 的 SKILL.md)。批量发布前逐个校验,串号的重新拉正版,否则会把内容推到错误的 slug 下。
其他要点:单技能串行 60 秒间隔规避 429;502 Bad Gateway / Tunnel connection failed 要自动重试;批量 35 个约 40 分钟,后台跑 + jsonl 日志,中断后按日志续发;成功判定以重拉清单后版本一致为准,不能只看命令行返回。
输出
- 逐技能审计表(技能名 / 版本变化 / 清理处数 / 本轮动作 / 分类 / 上架状态)
- 自包含零外链 HTML 图文报告(结论先行 + 整改分布图)
- 修补源留在暂存区,可复用脚本:扫描、清理+注入+版本、串号与上架核验、按 slug 续发、同步回本地安装目录
作者与联系
| 渠道 | 账号 |
|---|---|
| 作者 | 广东小张 |
| ima 知识号 | 广东小张 |
| 公众号 | 广东小张的养娃纪事 |
| 微信 | bujuetianyayuan |
用着顺手,或者想聊聊养娃、写作与 AI 实战,欢迎来公众号找我——一个一边倒班一边折腾 AI 的一线工程师父亲。
信息核查闸门(事实性内容必过)
总纲:查询有等级,入库有门槛,报告有留痕。四原则:宁缺不编 / 存疑标注 / 勘误留痕 / 辅助非终审。
本 skill 输出中涉及外部事实(数据 / 政策 / 条款 / 案例 / 时间线 / 价格 / 机构说法)时,交付前必过:
- 分流:事实性表述走核查;观点、感受、主观判断不核对错,只查引用出处。
- 信源分级 + 双源交叉:一级官方一手 > 二级行业权威 > 三级百科与大众媒体 > 线索级(社区 / 自媒体,只作检索线索,永不直接引用)。三级必须两个独立来源交叉(独立=彼此无转载关系);核心结论至少两个独立来源。
- 留痕:每条数据带「来源 + 查询日期」,缺一不留——三个月后要能说清这条从哪来。
- 四标签处置:已证实(采信并留痕)/ 有争议(按信源分级裁决,裁不了标「存疑」)/ 查无实据(≠ 内容错误,移入「待核实」,不写进正文)/ 不属实(删改;已发布过则勘误留痕)。
- 人工终审:关键数字(金额 / 日期 / 排名 / 口径)、关键归属(荣誉 / 头衔 / 记录)、关键变动(人事 / 规则 / 权属)、涉他负面——必须人工打开一级信源原件亲核,不外包给任何工具。
- AI 幻觉防线:AI 生成内容先视为「待核草稿」;案例、数据、参考文献是最易编造项,逐条核;转述保留「据查 / 来源说」,不写成「事实就是」。
三条边界:只核事实不核观点;公开资源查不到佐证 ≠ 内容错误(挂「待核实」);核查工具是初筛不是终审。
更新日志
- v1.2.3(2026-09-25)|按平台安全规范收敛联系信息章节。
-
v1.2.0(2026-09-14)|新增「信息核查闸门」:事实性内容(数据/政策/条款/案例/时间线)交付前必过——信源分级+双源交叉、来源+日期留痕、四标签处置(宁缺不编/存疑标注/勘误留痕)、关键项人工终审、AI 幻觉防线。
-
v1.0.0(2026-09-04)|首个版本:三条审计基准、统一底线章节模板、泛化映射表、发布三坑、九步流程。源自一次 35 个技能的隐私安全全量审计与重发实战。
English Overview
Batch privacy and safety baseline audit for every Skill you have published. It pulls the full skill list from the platform, collects local copies, scans SKILL.md and all references files against three standards: the seven sensitive personal information categories, the "avoid dangerous and chaotic places" safety-boundary principle, and the existing desensitization rules for official wording. It distinguishes protective rules from real data-collection violations, generalizes sensitive expressions, injects a unified baseline section, bumps versions, verifies slug/version integrity before publishing, then republishes serially with retries and re-verifies each result. Deliverables: a per-skill audit table and a self-contained HTML report.
方法论融合多方公开资料与实战经验,以官方原文为准;涉及个人信息处理的合规判断,以发布时有效的法律法规原文与平台规则为准。