安全策略

我们扫描什么、漏掉什么、又该如何上报漏洞。

133 已扫描的技能
10 威胁分类
338 累计审计要点
0% 触发未审计 / 风险判定

当前索引下,63 个技能拿到「已审计」,70 个判为「社区」,0 个「未审计」,0 个被标记「风险」。判定依据见下方公式。

静态审计能抓到的

gitleaks(熵阈值 3.8)会抓 AWS / 腾讯 / 阿里 / OpenAI 的 API Key,以及 JWT 和形如 DSN 的密码 URL。技能侧的审计会再额外标记 curl-pipe-bash 安装、递归删除、未限定范围的工具授权。

类别 风险 描述 检测方式
密钥外泄 high AWS / 腾讯 / 阿里 / OpenAI / Anthropic Key 与 JWT 出现在 SKILL.md 或仓库中 gitleaks 7 条自定义规则 + 香农熵阈值 3.8
管道安装 high 安装命令包含 curl … | bash 等远程脚本直接管道执行 正则匹配 curl/wget … | (ba)?sh 模式
递归删除根目录 high 出现 rm -rf / 或等价的全树删除指令 词法扫描 rm -rf /、find / -delete 等模式
工具无界限 medium 没有 allowed-tools 字段,相当于把全部 Agent 能力授权给该技能 解析 frontmatter 检查 allowed-tools 是否存在
未声明许可证 low 法律上无法转载与商用,下游集成会受阻 frontmatter 缺 license 或 LICENSE 文件不存在
未声明版本 low 变更追踪困难,订阅者无法判断是否需要升级 frontmatter 中缺 version 或不符合 semver
description 超长 low Agent 启动 progressive disclosure 的预算被吃掉,触发命中率下降 > 140 字直接降权
高熵字符串 medium SKILL.md 中嵌入的疑似密钥/Token,可能误漏到下游 gitleaks 熵阈值 3.8 + 长度 > 20 字符
提示词注入 medium SKILL.md 内含「忽略上文 / 你现在是 …」类越狱指令 关键词列表匹配 + 大写连续标点启发式
数据外传 high 脚本里把仓库内容、env 变量或剪贴板 POST 到外部 URL 静态识别 fetch/curl 到非白名单 host 的写操作

信任分计算公式

基础分 70
+ 6   声明 license
+ 4   声明 version (semver)
+ 6   allowed-tools 范围明确
+ 5   不使用 curl … | bash
+ 5   不使用 rm -rf /
+ 4   全树 gitleaks 0 命中

≥ 90 → 已审计  ·  ≥ 75 → 社区
≥ 50 → 未审计  ·  其它 → 风险

它抓不到的

行为风险。静态扫描判断不了一个技能在运行时会不会偷偷外传数据、会不会引诱 Agent 越狱、会不会调到不安全的工具上。请把每次安装都当作引入一个新依赖来对待。

  • 运行时行为:脚本被实际调用后做了什么,静态扫描看不到。
  • 链式风险:一个 Skill 可能调用另一个 Skill / MCP server,耦合层级我们暂未追踪。
  • 社会工程:description 写得很「乖」但正文藏指令——靠 LLM 复审而非规则匹配。
  • 供应链替换:仓库被恶意贡献者替换 SKILL.md 后我们靠下次抓取兜底,而非实时。

上报一个漏洞

发邮件到 security@fluxly.cc,附上重现步骤。48 小时内我们会确认收到,目标在 14 天内给出修复或公开通告。