ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

写出 Triager 级漏洞赏金报告:YesWeHack Claude Kit 插件原理、机制与实战裁决全解

写出 Triager 级漏洞赏金报告:YesWeHack Claude Kit 插件原理、机制与实战裁决全解 编译自YesWeHack 官方技术文章《Write triager-grade Bug Bounty reports with our Claude Kit plugin》2026-08-25原文https://www.yeswehack.com/learn-bug-bounty/triager-grade-reports-claude-code仓库https://github.com/yeswehack/claude-kit GPL-3.0-or-later101 stars / 13 forks编译哪吒网络安全 · 钟智强 2026-09-29 YWH-CK-2026-CN-01 公开一句话主旨这个插件不挖洞。它只做一件事——让你对自己已经找到的漏洞保持诚实使报告以可复现证据进入队列回来时是「已验证」而不是「已退回」。编译口径正文技术事实、机制描述、命令与案例结论均直译自原文「编译注」为编译者为工程落地补充的背景CVSS 向量还原与计算、UUIDv4 熵值、CORS 凭据语义等不属于原文主张。文中 CVSS 向量字符串由编译者依据原文事实还原原文未给出完整向量。23144结构层数常驻护栏 按需技能技能write / triage / gotchasgotchas 覆盖漏洞类别被拦截的失败模式1 AI 报告为什么被审单员打回AI 在侦察、读码、标疑点上确实能提速。反噬发生在写报告这一步放任不管时无人监督的 LLM 会用「听起来合理的注水内容plausible-sounding slop」填补技术空白——浪费审单员时间、拖慢修复、消耗猎人信誉。四类致命缺陷常驻护栏要拦的就是这四件事它们不是风格问题而是决定报告生死的缺陷失败模式原文表述在报告里的形态审单员处置编造事实inventing facts about a target凭空写技术栈、端点、鉴权模型、用户规模虚构响应片段复现失败 → 拒稿理论化影响writing theoretical impact把「如果攻击者进一步…」写成既成危害用 CWE 通用描述顶替本目标真实影响影响不成立 → 降级/拒稿套话填充padding with boilerplate与目标无关的通用风险段、教科书修复建议、不对应证据的 CVSS 术语堆砌噪声 → 质量不合格未证即认validating a lead you haven’t actually proven把你的猜想当已确认漏洞肯定对「看起来像」直接开绿灯提交非漏洞 → 损信誉审单员的唯一判据是可复现性换一个人按你的步骤从零做也能看到同样结果。它只问三件事——原语存在你声称的技术事实越权读到他人数据、请求被服务端发出、模板被求值是否真的发生了证据可核请求、载荷、响应是否完整给出能否被第三方独立重放影响对齐写下的危害是否恰好等于证据能支撑的范围而不是更大一圈。LLM 的失效几乎总在 ①把「像」当「是」和 ③把「可能」写成「必然」。原文判断极为直接A triager wants findings they can reproduce. Hand them unsubstantiated claims instead of verifiable evidence and the report will be rejected.被拒稿的三方代价审单员——每份需要反复追问的报告都在挤占真实高危的复核时间厂商——按夸大的影响做修复排序工程资源被投到低优先级真正高危反而延后猎人——多次不可复现或夸大提交会形成历史记录抬高后续报告的默认怀疑成本长期看是负收益。编译注为什么夸大是负期望赏金收益 ≈ 通过率 × 单份赏金是相乘不是相加。把一份 Medium 报成 9.1是「要么当场被识破、要么复现阶段被降级」的赌博一旦被标记为夸大后续报告的默认怀疑成本上升。「只主张你守得住的那一句」不是道德要求而是期望值最优策略——这也是本文全部机制设计的经济学基础。2 总览双层结构一个插件叠加两层能力。第一层 · 常驻护栏always-on guardrails从每次会话第一条提示起一组规则阻止助手编造事实、写理论化影响、套话填充、为未证明的线索背书。它在调查、起草、最终检查全程静默生效无需显式调用。第二层 · 三个按需技能/ywh:命名空间不与自写技能冲突技能职责典型触发语产出/ywh:write按 YesWeHack 结构把已确认发现逐段塑形只依据你给的事实「这个该怎么组织结构」「help me write this up」分章草稿 缺项清单缺什么标什么不替你补/ywh:triage提交前复核对照你提供的项目范围scope「is this ready to submit?」「triage this」三档裁决 逐行修法内部自动跑 unverified-output checklist 与对应类别 gotchas/ywh:gotchas按漏洞类别的最小证明 / 常见 N/A自动关闭模式 / 夸大陷阱直接点名漏洞类别该类三项知识三档裁决READY/NEEDS FIXES/DO NOT SUBMIT。triage 的产出不是评分或感觉而是一个明确 verdict 加可执行修改项批量复核时按**最坏优先worst-first**排序。裁决是与你提供的项目范围对照后给出的——范围外的资产或测试手法会直接影响结论。两层是分工不是重复护栏管过程每一步不让你跑偏技能管节点结构化与提交前两个决策点给强约束产出。缺前者调查阶段就被带偏缺后者提交前拿不到系统性复核。3 为什么是插件而不是一句提示词「请扮演严格的审单员」这类提示词不是无效而是不可靠地生效规则需要在每一步生效而不只是你想起来问的那一刻还需要跨会话存活且零维护成本。维度粘贴提示词Claude Code 插件生效时机只有你想起来粘贴之后的回合会话首条消息起SessionStart 钩子注入长会话稳定性上下文压缩compact后容易被挤出、静默失效start / resume / compact 均重新注入跨会话与多机每次重贴版本易分叉安装即固化用户级作用域下所有项目通用携带资源清单、类别知识只能一起塞进上下文占用高且易丢内部参考文件随插件分发按需载入不占常驻上下文护栏因此变成环境的一部分而不是又一件需要你记得维护的东西。4 底层机制钩子、命名空间、渐进式披露① 为什么不用 CLAUDE.mdClaude Code 插件无法发布会自动加载的 CLAUDE.md——插件「contribute context through skills, agents, and hooks rather than CLAUDE.md」。这条约束决定了整个设计走向必须用别的方式复现「工作区 CLAUDE.md 那种每会话加载一次」的行为。② SessionStart 钩子复现「每会话加载一次」常驻规则以随插件打包的SessionStart钩子发布。会话启动、恢复、压缩时钩子把规则文件打印进模型上下文——等价于工作区 CLAUDE.md 的每会话加载但随插件分发、零配置。③ 命名空间隔离三个技能均为带命名空间的命令永不与你自写技能撞名措辞匹配时模型可自主调用“is this ready to submit?” 会推向 triage。# 显式调用/ywh:write# 把已确认的发现塑形成报告结构/ywh:triage# 提交前复核返回裁决 逐行修法/ywh:gotchas# 按漏洞类别查询最小证明 / 自动关闭模式 / 夸大陷阱# 隐式触发语义匹配is this ready to submit?→ 自动导向 /ywh:triage注意自动触发是语义匹配并非保证Auto-invocation is semantic, not guaranteed。提交前的最终检查请显式跑一次/ywh:triage。④ 渐进式披露那份很长的未验证输出清单unverified-output checklist——可能渗入报告的 LLM 特征列表——不是独立技能而是 triage 复核时自动读取的内部参考文件。它在被需要之前一直留在上下文之外需要时按需拉入每一次 triage 都拿到完整检查你却从不需要直接调用它。编译注为什么这个设计重要长清单常驻会带来两个副作用——挤占你真正想让模型关注的目标信息清单自身「稀释注意力」关键条目被平均化对待。绑定在 triage 内部按需展开等于把清单的生效时机与使用场景绑定命中率与执行强度都更高。5 唯一铁律从事实起草不跨越空白draft from your verified facts, never over the gaps.给助手一个 URL、一份载荷、一个响应它帮你组织成干净的 prose 并给出备选写法让你作为作者保持掌控事实缺失时它提问而不是编一个。场景通用助手会写Kit 会写你只发了两个并发请求「攻击者可获得无限折扣造成严重经济损失」因为读起来漂亮「两个并行请求下同一优惠券被叠加抵扣购物车总额出现折扣翻倍是否存活至实际扣款金额尚未验证」你没给检出金额替你补一段「造成直接经济损失」因为报告看起来更完整拒绝起草 Impact 段并明确指出需要补什么证据这条规则区分了「一个你可以信任的起草助手」与「一个悄悄往你报告里塞满你无法防守的主张的工具」。6 测试台四份缺陷草稿无一放行规则只在能改变行为时才有意义。插件被放进一个由缺陷草稿构成、每份配一份虚构项目范围的测试台先问那个最直白的问题这些可以交了吗草稿已有证据缺口裁决下一步需要什么XSS只有「某处存在 XSS」的说法无载荷、无执行证据no real proof behind itDO NOT SUBMIT可复现载荷 实际执行证据弹窗 / DOM 变更 / 外带请求SSRF触发了 DNS 查询未证明请求被发出与可达reachNEEDS FIXES原文判为 incomplete带外OOB回连证据内部端点响应体如元数据响应体优惠券竞态并发方法 购物车总额翻倍文件仍是笔记形态持久化后状态未证NEEDS FIXES原文判为 just notes证明折扣存活到实际扣款金额见第 8 章IDOR单次跨账号读取成立标题「影响全体用户的大规模泄露」与证据不匹配NEEDS FIXES最接近 READY删除大规模泄露主张按 AC:H 重新评分见第 7 章Nothing gets waved through——没有任何一份被挥手放行。这是整套工具可信度的基石若测试台上有一份被无理由通过「通过」这个信号就没有信息量。四份都被拦下并给出具体缺陷才说明裁决是依据证据做出的而不是礼貌性肯定。7 案例 AIDOR 的 9.1 如何回到 Medium「我看挺好的」与「能挺过审单」在这里分道扬镳。核心发现是真的工具包也承认它拦下的是标题草稿称「mass data breach affecting the entire userbase」证据只是一次使用随机 UUIDv4 的单次跨账号读取。原文推理链随机 UUIDv4 → 不可猜测 → 无法规模化枚举can’t be enumerated at scale→ CVSS 判AC:H不是 AC:L→ 「大规模泄露」不成立 → 9.1 重评为可防守的Medium并指出需要什么证据才配更高分。编译注UUIDv4 的熵与 AC:HUUIDv4 共 128 位4 位版本位 2 位变体位随机位 122 位取值空间 ≈ 2^122 ≈ 5.3×10^36。即便每秒十亿次尝试穷举期望耗时也在 10^19 年量级——任何现实模型下不可枚举。这正是 CVSS v3.1 对 AC:H 的定义场景攻击者无法自主控制成功条件。反例对照自增整数、时间戳、UUIDv1含时间序与 MAC、可预测顺序 ID → 枚举成立 →AC:L此时「大规模读取」才具备证据基础。同一份 IDOR 报告的评分完全取决于标识符的生成方式——这是最容易被 LLM 忽略、也最容易被审单员一眼看穿的技术细节。表 7-1 重评分对照向量由编译者依据原文事实还原原文未给出完整向量分值按 CVSS v3.1 规范计算版本向量分值说明草稿虚高AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N9.1Critical假设 ID 可枚举 隐含完整性影响只修 I未证写入AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N7.5 High单次读取不支撑 I:H再修 ACUUIDv4 不可枚举AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N5.9Medium工具包结论若需登录才能触发AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N5.3 Medium编译者补充的敏感性对照要把分推上去必须演示一条获取其他用户 ID 的可行途径① 存在返回他人标识符的枚举接口用户列表、搜索、推荐关系② 存在 ID 泄露点响应体、前端资源、日志、导出文件、WebSocket 推送③ 标识符生成可预测自增、时间戳、UUIDv1、弱随机种子④ 能把不可猜测 ID 与其他漏洞组合成可规模化获取链且该链已实际走通而非理论推演。一句话判据「能读到别人的一个对象」是 AC:H 的单次越权「能读到所有人的对象」才配谈规模化影响。差别不在漏洞类型在标识符能否规模化获得。8 案例 B优惠券竞态与「拒绝起草 Impact」工具包不只会挑刺。把原始实验笔记交给它它会做笔记 → 章节映射并标出缺项并发方法与翻倍的购物车总额都在被持久化的后状态persisted post-state不在。报告章节笔记中已有状态说明摘要 / 概要优惠券可被叠加使用可起草与证据一致复现步骤并发方法两个并行请求可起草需保留请求时序与工具名观察结果购物车总额出现翻倍折扣可起草响应体证据齐全持久化后状态——缺失折扣未在结算 / 扣款金额中被确认影响Impact——拒绝起草在证明折扣存活到实际扣款金额之前不存在可主张的财务影响你的笔记只在购物车响应里看到重复折扣从未在结算处被确认因此它拒绝起草 Impact 章节。随后给出的是按章节的写作指引两个诚实的 Impact 备选版本取决于结算环节实际揭示什么、PR:L 的理由说明、CVSS 在持久化被确认前保持未评分——并明确拒绝替你主张你从未测试过的上限“don’t write attacker could get unlimited discounts”。通用助手会写的句子Kit 会写的句子「攻击者可利用该竞态条件获得无限折扣对平台造成严重经济损失。」理由读起来漂亮、显得严重。问题你只发过两个并行请求「无限」二字无证据支撑结算侧是否真的少收钱完全未证。「在两个并行请求下同一优惠券被叠加抵扣购物车总额出现折扣翻倍。折扣是否存活至实际扣款金额尚未验证。」理由主张范围恰好等于证据范围审单员按此复现必然看到同样结果。编译注为什么「响应体翻倍」不等于「财务影响」购物车、报价、预览类接口往往是无状态计算——按传入券码重算一遍价格本身不做核销redeem/consume。真正的核销通常发生在下单或支付环节那里才有券状态机与幂等约束。因此「购物车响应里折扣翻倍」可能只说明计算层缺少幂等而财务系统仍会正确核销一次。要闭合影响必须证明被破坏的金额进入了持久状态订单金额、支付捕获capture金额或对账记录。最小证据是「同一笔订单的最终应付金额确实低于正常值」的响应体或截图并附订单号供审单员核查。9 gotchas按漏洞类别沉淀的知识库triage 与 write 负责通用严谨性gotchas 存放类别专属知识——也就是决定一份报告是被受理还是被自动关闭的东西。每个漏洞类别一个章节每章三个部分你的 PoC 必须展示的最小证明minimum proof your PoC must show会被当场关闭的常见误报common false positives that get closed on sight影响夸大陷阱impact overclaim traps。表 9-1 六类高频拒稿场景最小证明 / 自动关闭模式 / 夸大陷阱类别最小证明PoC 必须展示会被当场关闭的误报影响夸大陷阱CORS源被真实反射 Access-Control-Allow-Credentials: true 响应含敏感会话数据 一个确实能读取受害者响应的 PoC 页面ACAO: *但没有ACAC: true浏览器不会带凭据发送什么都没泄露只看到响应头就写「可窃取任意用户数据」未做反射验证却声称可读响应竞态被破坏的不变量被持久化进状态落库 / 订单 / 扣款只是几个 200 快速返回没有状态层面的破坏把并发量放大成 DoS 来「证明」影响被明确警告IDOR跨账号访问成立不可猜测标识符须按 AC:H 评分把不可枚举 ID 当成可枚举主张规模化任何大规模主张都必须先演示如何取得其他用户的 IDSSRF证明请求确实被发出并到达OOB 回连 / 内部响应体仅能解析 DNS这只证明了 lookup不是 request「可访问云元数据」必须有元数据响应体不能靠推测开放重定向可实际复现的完整利用链与 OAuth 令牌窃取相链接但没有账号根本无法复现把理论上成立、实际不可复现的链条写成既成危害信息泄露泄露的密钥有效且你能展示它解锁了什么本就设计为随客户端发布的公开密钥Google Maps 浏览器密钥、Firebase 配置、Stripepk_公钥未验证有效性即声称「可导致完全接管」编译注CORS 的语义门槛浏览器只在带凭据的跨源请求下才允许读取响应而带凭据的跨源请求不允许服务端用通配符*必须反射具体源并显式置ACAC: true。因此「通配符 不带凭据」这一组合下攻击者页面发出的请求既不带受害者 Cookie也无法读取响应——读不到受害者数据收益为零。真正成立的组合是反射任意源 ACAC:true 响应含敏感数据 可用 PoC 页面读取四者缺一不可。审单员看到缺任一项的 CORS 报告会直接关闭。证明原语即止——不做破坏性后利用安全与合规红线每一个类别章节都告诉助手「证明原语然后停下」绝不推着你去做破坏性后利用来展示可达性。它不会怂恿你 dump 一个数据库或跑一个 fork bomb 来「展示影响」因为那违反项目规则会让你被处罚而不是拿到赏金。SQLi证明注入点可执行时间 / 布尔差异响应即可不去拖库SSRF证明可到达内部端点即可不去横向扫描内网竞态证明不变量被破坏并落库即可不去打 DoSRCE / 命令注入证明命令被执行无害的id或带外回连即可不去提权或持久化。14 类覆盖与客户端模板注入陷阱gotchas 当前覆盖14 个类别其中包括客户端模板注入陷阱Angular 中{{7 * 7}}被求值是XSS而不是服务端远程代码执行。表 9-2 gotchas 覆盖的 14 个漏洞类别依仓库 README 列举★ 为原文给出具体判据者#类别类别特有判据1XSS ★必须证明脚本被实际求值执行而非仅被反射回页面2SQLi ★证明原语即可不得 dump 数据库来「展示影响」3SSRF ★解析 ≠ 请求云元数据须有响应体4IDOR ★不可猜测 ID → AC:H规模化主张须先证 ID 获取途径5CSRF仓库列名判据以插件内条目为准6RCE证明命令被执行即止不提权、不持久化7SSTI ★与 CSTI 严格区分Angular 中{{7 * 7}}求值 XSS不是 RCE8XXE仓库列名判据以插件内条目为准9Open redirect ★链条不可复现则只报可证明部分10Auth bypass须证明鉴权被实际绕过而非仅配置「看起来弱」11Information disclosure ★密钥须有效 展示其解锁能力公开客户端密钥不是发现12Race condition ★被破坏的不变量持久化进状态禁止放大为 DoS13CORS ★反射源 ACAC:true 敏感数据 可读响应的 PoC四要素14Path traversal / LFI ★证明文件被读取区分有回显与盲读的证据强度说明原文正文只展开表 9-1 中的六类举例与 SSTI/CSTI 陷阱并给出总数 14仓库 README 明确列举了上表 14 类的类名。标注「仓库列名」者请以插件内 gotchas 条目实际内容为准。10 安装、作用域与验证# 安装两条命令/plugin marketplaceaddyeswehack/claude-kit /reload-plugins# 验证确认已列出并启用 —— 此时两层都已激活/plugin# 可选项目作用域仅当前挖洞工作区生效/plugin marketplaceaddyeswehack/claude-kit--scopeproject# 更新到最新发布/plugin update ywhyeswehack# 本地改插件克隆后按路径加为本地 marketplace改完 reloadgitclone https://github.com/yeswehack/claude-kit /plugin marketplaceadd./claude-kit /reload-plugins作用域参数生效范围与适用建议用户级默认无本机所有项目生效。适合把赏金挖掘作为主要工作模式、希望护栏始终在位的猎人项目级--scope project仅指定挖洞工作区生效。适合同时承担日常开发与安全研究、不希望报告规则干扰普通编码任务的工程师本地级本地 marketplace 路径参与贡献、改完立即验证编译注为什么默认选用户级护栏的收益来自「从未被绕过」而绕过的最大来源是作用域切换时的遗忘。装在项目级意味着你新开一个临时目标目录时要记得重装一旦忘记整个会话都在无护栏状态下产出内容而你可能直到提交前才发现。只有在护栏确实干扰其他工作时才退回项目级。11 典型会话三步循环照常调查。常驻护栏阻止助手为你尚未证明的线索背书——可疑行为得到的回应是「还不是漏洞这是能证明它的东西」而不是开绿灯让你写一份非发现。一旦确认了漏洞问一句「这个发现该怎么组织结构」——/ywh:write依据你的笔记塑形标出缺失项而不是替你把空白填上。提交之前运行/ywh:triage获取裁决与逐行修法并对照你提供的项目范围检查。这就是那个循环。它没有任何一处取代你的判断它只是让你更难提交出你无法防守的东西。12 边界它不是什么它不挖漏洞。没有增加任何扫描器、任何利用生成能力也没有任何能从无到有制造发现的东西。一切都始于你已经掌握的证据——你不喂它它就不产出这是设计使然。能力是否具备说明发现漏洞否不提供任何扫描器或发现能力生成利用exploit否无 exploit 生成能力结构化已确认发现是/ywh:write仅依据你给出的事实提交前复核与裁决是/ywh:triage返回裁决 逐行修法分类 PoC 知识是/ywh:gotchas14 类最小证明 / 自动关闭模式 / 夸大陷阱护栏不是保证。这些规则让常见失败模式的发生概率大大降低但语言模型仍可能是错的而你始终是每一句话的作者。这条标准同时适用于你和工具包每一个主张都必须经得起审单员的检验。如果一个主张经不起那是「删掉这句话」的信号——而不是因为工具写了它就去相信它。13 参与贡献与许可插件以GPL-3.0-or-later开源两条命令即可安装并且意在由使用它的猎人来改进。如果存在某种误报模式或夸大陷阱正在让你丢报告、而 gotchas 还没覆盖——那正是能让它对所有人变得更锋利的贡献。项内容名称YesWeHack Claude KitClaude Code 插件许可GPL-3.0-or-later安装/plugin marketplace add yeswehack/claude-kit/reload-plugins技能/ywh:write·/ywh:triage·/ywh:gotchas覆盖类别14 个漏洞类别截至原文发布时贡献方向补充未被覆盖的误报模式与影响夸大陷阱代码仓库https://github.com/yeswehack/claude-kit编译注把工具变成流程真正的收益不止于「装了插件」。把/ywh:triage固定为提交前的强制动作而不是「有空再跑」并把每次被审单员退回的原因回写成一条新的 gotchas 条目就把一次性工具变成了持续收敛的质量回路——通过率提升来自两处提交前拦截以及退回原因被沉淀后不再重犯。整个要点在于把你通常在被拒之后才拿到的反馈变成提交之前就能拿到的反馈。附录 A · 提交前自检 12 项未验证输出清单在插件中以内部参考文件形式存在由 triage 自动读取原文未公开其完整条目。下表为编译者依据全文论述归纳的可执行版本——任何一项为「否」即不应提交。#检查项判定标准1原语是否被实际观测报告中每个技术动词读到、发出、求值、写入都有对应的请求 / 响应证据而非推断2步骤是否可被第三方重放换一个审单员从零开始能看到同样结果不依赖你独有的账号状态或环境3载荷与响应是否完整给出请求报文、关键头、载荷、响应体均附上不出现「响应显示…」却无响应4是否混入编造的目标背景技术栈、端点、用户规模、生产环境等描述均可回溯到你自己的观测5影响段是否等于证据范围Impact 中每个危害都能被前面 PoC 直接支撑没有「进一步可能…」类外推6是否残留理论化措辞删除所有「攻击者可以进一步…」「如果…那么…」「理论上可导致…」而无实证的表述7是否残留套话删除与目标无关的通用风险描述、教科书式修复建议、不对应证据的 CVSS 术语堆砌8严重性评分是否逐项有据CVSS 每个被选中的指标都能指向一条具体证据尤其 AC 与 C/I/A9规模化主张是否已有获取途径凡涉及「大规模 / 全体用户 / 批量」必须先演示标识符或目标的获取方式10是否越过项目范围资产、测试手法、利用深度均落在 scope 内未做破坏性后利用11类别最小证明是否满足对照 gotchas 该类别「最小证明」逐条核对如 CORS 四要素、竞态落库12是否只主张你打中的那件事把「无限 / 任意 / 完全接管」替换为实际观测到的次数、范围与后果一句话版如果一个主张经不起审单员的检验那是删掉这句话的信号而不是因为工具写了它就去相信它。附录 B · CVSS v3.1 关键指标速查表 B-1 攻击复杂度AC取值判定标准典型场景AC:L攻击者可自主控制成功条件成功可规模化复现标识符可枚举自增 ID、时间戳、UUIDv1无需额外前置条件AC:H成功依赖攻击者无法控制的条件或需大量尝试 / 额外准备随机 UUIDv4122 位随机位不可枚举需特定时序窗口需受害者特定状态表 B-2 影响指标C / I / A与常见夸大点指标取值含义本报告涉及的夸大点机密性 CH / L / N信息被泄露的程度单次越权读取可支撑 C:H但不支撑「大规模」——规模由 AC 与可获取性决定完整性 IH / L / N数据被篡改的程度仅读取未证写入时 I 应为 N本案例草稿虚置 I:H 是 9.1 分的主因之一可用性 AH / L / N服务可用性受影响程度为「证明影响」而放大并发造成 DoS 属违规不应作为该竞态的 A 指标依据编译注本案例计算过程虚高向量AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NISS 1−(1−0.56)(1−0.56)(1−0) 0.8064Impact 6.42 × 0.8064 ≈ 5.18Exploitability 8.22 × 0.85 × 0.77 × 0.85 × 0.85 ≈ 3.89合计 9.06 → 向上取整9.1。重评向量AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NISS 0.56Impact 6.42 × 0.56 ≈ 3.60Exploitability 8.22 × 0.85 × 0.44 × 0.85 × 0.85 ≈ 2.22合计 5.82 → 向上取整5.9Medium。向量字符串为编译者依据原文事实还原原文未给出完整向量。附录 C · 术语表中文英文释义与本文语境审单员Triager平台侧复核、复现、定级与裁定赏金的工程师报告成立的最终裁判常驻护栏Always-on guardrails自会话首条消息起静默生效的约束规则层技能SkillClaude Code 中以/ns:name调用的按需能力单元钩子Hook在会话生命周期点自动执行的脚本本文为 SessionStart渐进式披露Progressive disclosure参考资料平时不进上下文仅在需要时按需载入未验证输出清单Unverified-output checklist可能渗入报告的 LLM 特征清单由 triage 内部自动读取概念验证PoC证明漏洞原语存在的最小可复现证据而非完整利用链注水内容Slop模型在技术空白处生成的、读起来合理但不可核实的表述套话Boilerplate与具体发现无关的通用风险与修复描述不变量Invariant系统本应恒成立的约束竞态报告须证明其被破坏并落库持久化后状态Persisted post-state竞态中被破坏的状态是否被写入持久存储订单 / 扣款 / 数据库攻击复杂度ACCVSS 基础指标可规模化复现为 L否则为 H项目范围Scope赏金项目授权的资产与测试边界triage 裁决会与之对照附录 D · 原文信息与版权项内容原文标题Write triager-grade Bug Bounty reports with our Claude Kit plugin发布平台YesWeHack — Learn Bug Bounty原文链接https://www.yeswehack.com/learn-bug-bounty/triager-grade-reports-claude-code发布日期2026-08-25涉及项目YesWeHack Claude KitClaude Code 插件GPL-3.0-or-later代码仓库https://github.com/yeswehack/claude-kit本文性质技术编译与解析作品非官方中文版编译 / 编号哪吒网络安全 · 钟智强 2026-09-29 YWH-CK-2026-CN-01关于配图文中插图均引自原文页面配图URL 直引图注为编译者依据原文论证链所拟。若需查看原始页面与完整上下文请访问上方原文链接。版权声明正文技术内容译自 YesWeHack 公开技术文章版权归原作者及 YesWeHack 所有。编译者补充的注解、CVSS 向量还原与附录清单均已明确标注不属于原文主张。本文档仅供安全研究与内部学习使用。编译哪吒网络安全的钟智强 · 2026-09-29 · YWH-CK-2026-CN-01 · 全文完
返回列表