SuperAPI AI 工具集

security-advisory

安全与审计

查看项目

更新于 10-18 06:09

技能介绍

该技能定义了在 modelcontextprotocol/servers 仓库中处理私下报告的安全漏洞的完整流程。私有漏洞报告通过仓库的 SECURITY.md 路由到安全公告,报告以安全公告形式到达,而非 issue。在整个处理周期中,公告细节不得出现在任何公开位置,包括 issue、PR、提交信息、分支名称和评论;在公告发布前,公开渠道只能提及各状态下的聚合数量。

流程分为六个步骤:

  1. 将公告登记为看板草稿卡:草稿卡标题仅使用 GHSA id(如 [GHSA-xxxx-yyyy-zzzz]),正文首行放置公告链接,然后记录报告者声称的严重性、报告日期和暂定优先级。不得将漏洞描述复制到卡片上。状态设为 Incoming,并根据声称的严重性映射暂定优先级(critical/high→High,medium→Medium,low→Low)。

  2. 核实声明:确认漏洞代码是否属于本仓库 src/ 下的七个服务器之一,还是属于已归档的 servers-archived 或第三方服务器;确认代码路径属于服务器本身还是其依赖的 SDK(TypeScript 服务器基于 @modelcontextprotocol/sdk,Python 服务器基于 mcp)。检查服务器是否声称了被跨越的边界。根据核实后的严重性重新评分优先级,并在卡片正文中追加已验证的优先级行。

  3. 接受或关闭(仅限人类):有效且属于本仓库的公告由维护者接受,状态从 triage 变为 draft,卡片从 Incoming 移到 Todo。无效、超出范围、重复或属于 SDK 的公告需关闭并附上原因说明。关闭后删除草稿卡。接受、关闭和回复报告者均为人类操作,智能体只能撰写建议。

  4. 私有 fork:已接受的公告在 GitHub 创建的私有 fork 中修复,fork 名称为 servers-ghsa-xxxx-yyyy-zzzz。先读取 private_fork 字段确认是否已存在,仅在不存在时创建。修复需遵循 AGENTS.md 规则,包含回归测试,分支命名为 v2/fix/<ghsa-id>,PR 目标为 v2/main。卡片状态随工作进展移动(In Progress、In Review)。

  5. 合并、发布、公开(仅限人类):修复随版本发布后才能发布公告。合并到 v2/main 后补丁即不再保密,应尽量缩短合并到发布之间的时间。发布公告前需检查受影响产品、漏洞版本范围、首个修复版本、严重性、致谢和可选的 CVE。发布不可逆且仅限人类执行。

  6. 发布后转换卡片:公告发布后,先将草稿卡标题更新为包含已发布摘要的格式,再将草稿卡转换为公开 issue,而非手动新建 issue。

该技能还列出了三个可访问主机的服务器(filesystem、git、fetch)及其需要检查的漏洞类别:路径遍历、符号链接逃逸、Roots 绕过、参数注入、SSRF、robots 绕过等。其他服务器(everything、memory、sequentialthinking、time)的访问范围较小。

限制与注意事项:没有用于安全公告的评论 API,与报告者的所有交流需手动进行且无法通过 gh 读取。删除私有 fork 需要 delete_repo OAuth 权限,默认 gh token 不具备。智能体不得执行接受、关闭、回复报告者或发布公告等对外操作。