首页 › skills-review › 凭据工位首拆:全栈最粗的一道门

凭据工位首拆:全栈最粗的一道门

概述

一、供给对账:凭据位连续四包零竞标

二、评测对比表:凭据卫生四维

总装的权限缝审计只给了站点级两星,本期拆细。四个维度按风险贡献配权:持币粒度 40%(这把钥匙能捅开多少门)、存放位 30%(币放在哪)、输出卫生 20%(币会不会流进对话与落盘文件)、轮换与预案 10%(泄了之后有没有下文)。标 ※ 者为定位级推演,置信度低一档:

工位 持币粒度 存放位 输出卫生 轮换与预案 加权
sentry ★★★★★ ★★★★ ★★★★★ ★ 4.3
linear(MCP)※ ★★★ ★★★★ ★★ ★ 2.9
github-actions-skill ★ ★★★★★ ★★ ☆ 2.3
gh-fix-ci ★★ ★★★ ★★ ★ 2.2
planning-with-files ※ ★★★★ ★ ★ ☆ 2.1
部署四方言(合评) ★ ★★★ ★ ☆ 1.5
loop(值守原语) 对账位,不评分——它不持币,但把别人的半径乘以时间 —

洗牌再度发生:接线拆解单件 3.3 分的 sentry 冲到全场第一,总装里拿了 4.8 全场最高的 planning-with-files 掉进下半区。凭据维度和功能维度、总装维度给出的冠军是三个不同的件——这已经是本栏第三次观察到「换一把尺子就换一个冠军」,评分表的维度选择从来不是技术细节,是立场。

三、持币姿势三分法

把八个工位怎么拿钥匙归纳一遍,全栈只有三种姿势,没有第四种。

姿势一:全账号钥匙(部署四方言、gh-fix-ci)。 部署件的既定前置是平台 CLI 登录——vercel login、wrangler login、netlify login(部署四件首拆存档原文),gh auth login 要 repo + workflow 两个 scope(接线拆解存档)。这把钥匙的粒度是你的整个账号:账号里有多少项目、多少域名、多少账单,钥匙就有多长。四件部署件的预检清单——环境变量、绑定配齐、yaml 漂移——没有一条问过「这把钥匙能不能降权」。gh-fix-ci 稍好,它的批准门管住了「改什么」,但没管住「用什么改」:读日志的活,用的是能 push 能重触发的全权 gh 身份。

姿势二:按站发钥匙(sentry,全栈唯一样本)。 接线拆解引过它的第一段:要求用户提供 read-only scopes(project:read、event:read)的 token,配三条输出卫生条款——"Never ask the user to paste the full token in chat"、"Never echo auth tokens"、输出中 PII 脱敏。外加一条硬规则:强制走 API、禁启发式禁缓存。这是全栈唯一一个在 SKILL.md 第一屏就规定钥匙形状的件。它的功能面因此最窄(只有查询),但泄漏半径被锁死在「看」这一格——总装说的「最细的门装在破坏面最小的位置」,本期给出的是它的凭据维度解释。

姿势三:递钥匙不持钥匙(github-actions-skill)。 它自己零依赖零 API,但生成的 deploy.yml 有一份 secret 清单,让用户手动把 SSH 私钥复制进 GitHub Secrets。接线拆解的判词原文:「该 key 一旦泄漏等于整机 shell」,且全程无最小权限提示。这第三种姿势最隐蔽:件本身干净得像向导,可它递出去的是全栈最粗的币——而且递进了最好的金库。单件评测时这个短板只扣了设计分,凭据维度下它是结构问题:向导的干净与钥匙的粗细无关。

四、存放位与币值:两个没人同时做对的维度

把八个工位摆进「存放位 × 币值」的格子里,全栈的真实分布是这样的:

粗币(全账号 / 整机) 细币(按站只读)
平台金库(Secrets / OAuth) github-actions-skill:SSH 私钥进 Secrets 空角,无人落座※
本机存放(CLI 登录态 / 环境变量) 部署三件 login、gh-fix-ci 的 gh 身份 sentry:只读 token 走环境变量

两个读法。其一,最好的金库里至今只进过最粗的币。 GitHub Secrets 有访问控制、有审计、可吊销——存放位满分;可它收的第一件货是 SSH 私钥。存放位选对不等于风险选对,这是 github-actions-skill 2.3 分的全部来源:粒度一星,存放五星。其二,本机存放不必然是坏选择。 sentry 把只读 token 放环境变量,粒度五星存放四星——只要币足够细,本机反而比金库更省事。反过来,linear 的 MCP OAuth 由宿主与 server 托管、SKILL.md 全程不碰 token 值,结构上最干净,但 scope 粒度由 server 说了算、18 个工具里含写操作※,给了中游分。「token 放哪」和「token 有多粗」是两个独立决策,全栈没有一件同时做对了这两个决策。

还有一个存放位本栏从未计分:对话记录本身。用户在聊天里贴过 .env、贴过 token,这些内容进了会话日志,复制面和留存期都超过任何单机文件※。sentry 的「不进对话、不回显」两条,防的正是这个没有存放位名称的存放位。

五、两处交叉污染:冠军的暗面与放大器的乘法

交叉一:落盘 × 凭据。 总装篇把全场最高分给了 planning-with-files——文件即接口、状态全量落盘。但落盘和凭据卫生在结构上是冲突的:状态文件是明文 markdown,如果会话里出现过敏感值,落盘就是把它从「易失的对话」固化成「持久的文件」※。全栈只有 sentry 一件写了输出卫生条款,也就是说只有它的落盘副产品是安全的——缝二的解药(多落盘)恰好是缝三的新病灶(多留存)。这不是要推翻 planning-with-files 的冠军位,是要给它补一条它自己没写的使用纪律:状态文件里记凭据名,不记凭据值。

交叉二:值守 × 凭据。 红灯值守篇已给出出事半径表,结论是「loop 把上面所有半径乘以时间」。放到凭据维度,乘法更具体:每 30 分钟被唤起一次的,如果是持全账号钥匙的部署件,等于把「一次泄漏概率」变成「每 30 分钟一次的持续暴露」。值守原语本身零持币,所以它在本期评分表里没有分——但它接谁的币,谁就按它的频率重新计价。给值守回路里的件换细币,收益比给任何单件换细币都大。

至于 update-config 与 fewer-permission-prompts 这对摩擦层双件:它们管的是动作放行(哪个命令免审批),不是身份粒度(token 能干什么)。动作白名单写得再细,背后的钥匙还是全账号的——allowlist 是门卫的名单,凭据是门卫自己的证件,两码事。

六、凭据流转全景

flowchart TD
    U["手上的钥匙"] --> A["全账号钥匙"]
    U --> B["按站发钥匙"]
    U --> C["递币不持币"]
    A --> A1["CLI 登录态落盘"]
    A1 --> D["部署四方言"]
    A1 --> G["gh-fix-ci"]
    B --> B1["环境变量"]
    B1 --> S["sentry 只读门"]
    C --> C1["SSH 私钥进金库"]
    C1 --> W["CI 里的整机钥匙"]
    D --> L["loop 值守放大"]
    G --> L
    W --> L
    L --> X["半径乘以时间"]

三个入口,一个出口:不管从哪种姿势进场,最后都汇入值守回路的放大器。这解释了为什么凭据位的空置比回滚缝更疼——回滚缝缺的是「做错了能撤」,凭据位缺的是「根本别让人拿到能做错的钥匙」,后者是前者的上游。

七、今天就能做的四件事

专用件没上架之前,凭据卫生靠既有工具就能补到及格线:

# 1. 先盘点:看手上这把 gh 钥匙有多粗
gh auth status

# 2. 细币换粗币:GitHub 改用细粒度 PAT(按仓库勾权限、设有效期)
#    Sentry 到后台签只读 token(scopes 只要 project:read + event:read)
export SENTRY_AUTH_TOKEN=<只读token>   # 币只进环境变量,不进对话

# 3. 部署件装机前先想一遍:这个登录态对应的账号,删库按钮离它几步
vercel login    # 登录态 = 全账号钥匙,装哪件就用哪件,不共享账号

另外两条不花钱的纪律:给值守回路(loop 唤醒链)里的每个件单独签细币,别让心跳带着全账号钥匙跑;planning 类状态文件落盘前,把任何密钥值替换成环境变量名——文件里留门牌,别留钥匙。

八、给仿写者的三条

凭据位既然无人上架,把本期证据提炼成写法,留给第一个竞标者:

  1. scope 写在第一屏(sentry 范本)。需要什么权限的 token,写进 SKILL.md 第一段而不是注意事项末尾——用户读完八百字向导才发现要去找降权入口,多数人会直接用全账号钥匙凑合。
  2. 把泄漏半径算给用户看(github-actions-skill 反面)。一枚 secret 写清一句话:「这把钥匙泄漏等于什么」——「等于整机 shell」这半句目前是评测文章替它补的,本该它自己写在 secret 清单每一行后面。
  3. 输出卫生三连 + 落盘脱敏。token 不进对话、不回显、敏感值脱敏后再落盘。上下文缝的落盘时代来了,这三条从加分项变成了必选项:你的件落不落盘不由你决定,但它吐出的内容会被别人落盘。

推荐排行榜

诚实条款

参考来源

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入