- AI 技能
- AI 插件
- 应用安全
- 网络安全
- AI 评测
【免费下载链接】skills
Trail of Bits Claude Code skills for security research, vulnerability detection, and audit workflows
本文是 Trail of Bitslet-fate-decide技能牌组详解系列中的一篇。let-fate-decide是一个面向 Claude Code 的技能(skill):当用户指令含糊、被随意委派或面临多种"都说得通"的技术路线时,它会用secrets密码学随机数洗牌并抽取塔罗牌阵,把不可预测的熵注入规划决策。本文聚焦宝剑八(Eight of Swords)这张牌——它是 Swords 花色(智力、冲突、真相)的第 8 号牌——剖析其正位/逆位含义、在"黄道十二宫"牌阵中的解读方法,以及如何在安全审计与正确性验证场景中把它翻译成具体的排查方向,同时守住"牌面只引导方向、证据才能下结论"的纪律底线。读完你将掌握:这张牌在技能牌组中的准确定位、如何按正逆位读取它、如何结合技术语境镜片(Technical Context Lenses)落地为可执行动作。
一张牌卡片的内部结构:这张牌说了什么
与牌组中全部 78 张牌一样,宝剑八卡片 遵循统一的三段式结构:Upright(正位含义)、Reversed(逆位含义)、In Technical Context(技术语境翻译)。这张牌是 Swords 花色(宝剑,对应空气元素:分析、逻辑、调试、切穿复杂、直面真相)的第 8 号牌,注意其 Rank 字段写作数字8——牌组测试明确约束了所有数字牌位必须以数字形式书写(见 test_draw_cards.py 中test_numbered_ranks_are_numeric_across_all_suits)。
正位(Upright)
Feeling trapped, restricted, and imprisoned by circumstances. Self-limiting beliefs create walls that aren't really there. The bindings are looser than they appear.
宝剑八正位的核心意象是"受困":被环境、局面或自己的预设困住,仿佛置身牢笼。但牌面给出的关键洞察是:这些墙往往并不真实存在,束缚比看起来要松。它的主题是自我设限(self-limiting beliefs),即那些由思维惯性、历史包袱或对失败的恐惧堆砌而成的"心墙"。
逆位(Reversed)
A new perspective breaks the illusion of captivity. Self-acceptance frees you from mental prison. The constraints were never as real as they seemed.
逆位宝剑八并非"坏事",而是换一个角度:新的视角戳破了囚禁的幻象,自我接纳把人从精神牢笼里解放出来。结论与正位一脉相承——约束从来就没有看上去那么真实。按 INTERPRETATION_GUIDE.md 的规则,逆位牌不表示"坏",它意味着能量被内化、受阻、延迟,或需要采用一种反转/另类的解读。
技术语境(In Technical Context)
You're more constrained than you need to be. Question the assumptions limiting your approach.
这是技能作者为这张牌准备的"技术翻译起点":你比自己以为的更自由,去质疑那些限制你方案的假设。这张牌在审计与工程场景中是一条经典的"反假设"指令——当你觉得"只能这么实现""这个接口只能走这条路""这段代码不可能改"时,宝剑八提醒你停下来检查这些前提是否成立。
在 78 张牌组中的位置:Swords 花色的智力主题
宝剑八属于 Minor Arcana(小阿卡纳)中的 Swords 组。牌组的组织方式见 SKILL.md 与 draw_cards.py:
cards/major/:22 张大阿卡纳(原型力量);cards/wands/:14 张权杖(火:行动、创意、意志、速度);cards/cups/:14 张圣杯(水:协作、直觉、关系、满意度);cards/swords/:14 张宝剑(空气:分析、逻辑、调试、切穿复杂、直面真相);cards/pentacles/:14 张星币(土:工艺、可靠性、测试、维护、实在成果)。
Swords 是"用思维切开问题"的花色。在技术解读中,一张宝剑牌通常指向:需要精确推理、需要直面不愉快的事实、需要砍掉多余的复杂度、或需要戳破某个看似坚固的假设。宝剑八的特殊之处在于:它把 Swords 的"锋利"指向了思考者自己——需要被切穿的,是你自己预设的边界。
黄道十二宫牌阵:宝剑八会出现在哪里
let-fate-decide的默认牌阵是12 Houses of the Zodiac(黄道十二宫)。每次抽牌输出 12 个宫位(house),每个宫位放 1 张大阿卡纳 + 2 张小阿卡纳,共 36 张牌;每张牌独立 50% 概率逆位。宫位及其技术映射如下(表源自 SKILL.md):
| 宫位 | 象征 | 回答的问题 / 技术映射 |
|---|---|---|
| 1 自我 | 身份、能动性、第一冲动 | 如何开始这项工作(初始姿态) |
| 2 资源 | 价值、资产、约束 | 哪些约束、依赖、预算、不变式重要 |
| 3 沟通 | 学习与交换 | 接口、命名、文档、协作协调 |
| 4 基础 | 根源与背景 | 现有架构、历史、隐藏耦合 |
| 5 创造 | 实验与玩味 | 原型、UI 选择、表达性设计 |
| 6 实践 | 服务与例行 | 测试、质量、维护、工作流 |
| 7 伙伴 | 他人与契约 | 用户、API、集成、协作 |
| 8 转化 | 风险与共享状态 | 迁移、密钥、权限、深层重构 |
| 9 探索 | 原则与广域愿景 | 策略、标准、研究、长期赌注 |
| 10 天职 | 公共结果与声誉 | 交付、可靠性、生产就绪 |
| 11 社群 | 群体与系统 | 生态契合、共享工具、团队影响 |
| 12 隐秘 | 盲点与终结 | 未知风险、清理、延迟成本 |
当宝剑八出现在某个宫位时,它的"自我设限"主题会与该宫位的关切叠加。例如落入第 8 宫(转化、风险、共享状态),可结合 第八宫参考文件 的引导——第 8 宫的问题设定是"这里发生了什么不可逆的变化?当所有权或状态被共享时,什么风险才会浮现?"——此时宝剑八的含义变为:你认为"必须这样迁移/必须这样设计权限"的假设,可能只是自我设限,先质疑它再动手。落入第 1 宫(自我)则指向开局姿态:你预设了"只能按老办法开始",但这面墙可能并不存在。
如何读取这张牌:正逆位与特殊模式
读取步骤
按 INTERPRETATION_GUIDE.md 的四步流程:
- 读取宫位文件与每张牌的文件:注意正位与逆位两种含义,用与抽牌方向(
reversed字段)匹配的那一种。卡片中的In Technical Context段落只是"翻译起点",不是方向的替代品——如果这段技术提示对逆位牌显得过于斩钉截铁,要按逆位文本来调整,而不是照字面直用。 - 映射到语境:大阿卡纳代表大局力量(架构决策、范式转换),小阿卡纳代表实践细节。Swords 牌直接对应"分析、逻辑、调试、直面真相"这一类动作。
- 综合叙事:把 12 个宫位连成一个故事,不要孤立解读单张牌。
- 做出决定:说明牌面支持哪条路线、哪些牌影响了选择、需要提防什么。
逆位不意味着"什么都不做"
技能在 SKILL.md 的 "Rationalizations to Reject" 表中明确列出:"reversed 牌意味着什么都不做"是错误合理化。逆位表示换一个角度切入,而不是放弃行动。因此逆位宝剑八的正确用法是:把"受困"读成"换个视角就会发现约束是假的",然后继续推进。
宝剑集中的特殊模式
INTERPRETATION_GUIDE.md 定义了两个与此相关的特殊模式:
- Heavy Minor Suit Concentration:每个小阿卡纳花色预期贡献约 24 次中的 6 次。若宝剑贡献达到 10 次或更多,牌面整体强调"分析、冲突、清晰思考"——此时宝剑八的"质疑假设"会成为贯穿多个宫位的总基调。
- 逆位数量:36 张牌平均 18 张逆位;若达到 24 张或更多(约占牌面 3%),说明大量事情受阻/反转,应先退一步重新审视驱动工作的假设——这与宝剑八的主题天然共鸣。
安全与正确性场景:牌面只选方向,证据下结论
let-fate-decide允许在安全、审计、正确性流水线中作为"创造性镜头"使用,但 SKILL.md 有严格纪律:读取必须由常规工程证据跟进——源码审查、测试、证明、追踪、复现步骤、可利用性分析等。牌面不能作为放行、压掉发现、跳过验证或推翻具体风险的理由。
把宝剑八翻译成安全/正确性动作时,TECHNICAL_CONTEXT_LENSES.md 提供了可选的"镜片":
- Audit Pipeline Stage(审计流水线阶段):宝剑八常落在"Discovery"阶段——生成创造性假设、寻找普通审查会漏掉的路径。它提示你:是不是一直只审查了同一类入口?换个没走过的攻击面试试。
- Evidence Mode(证据模式):抽牌只能排定注意力优先级,下一步必须产出源码级追踪、测试、静态分析查询(SARIF/semgrep/codeql)、协议图、PoC、复现器或时间测量中的一种。
- Failure Class Lens(失败类镜片):把"质疑假设"翻译成具体的 bug 狩猎提示——例如"访问控制假设是否只在单一上下文成立""状态机是否假设了不可能到达的迁移""解析器是否假设了不会出现的输入"。这些都与"被虚假约束困住"的牌义同构。
- Human/Organizational Lens(人与组织镜片):问"谁拥有这个决策/风险/工件?有哪些上下文没传达给利益相关方?"——团队层面的"自我设限"往往表现为"我们一直这么做所以只能这么做"。
技能在Security and Correctness Use一节反复强调:永远不要只把解读作为纯文本轮次输出,必须把解读连同下一步工具调用一起给出(实现所选项的动作)。推荐使用--content模式,让全部 36 张牌与 12 个宫位文本直接出现在抽牌输出里。
实战:用脚本真正抽出这张牌
技能通过draw命名代理执行抽牌(见 agents/draw.md),底层是 scripts/draw_cards.py。关键实现事实:
- 洗牌用
secrets.randbelow()实现 Fisher-Yates,无模数偏差;逆位翻转用secrets.randbits(1),每张牌独立 50% 概率(is_reversed())。 - 大阿卡纳(22 张)与小阿卡纳(56 张)分开洗牌,然后依次发到 12 个宫位:每个宫位 1 张大阿卡纳 + 2 张小阿卡纳。
- 默认牌阵的保守无序熵预算超过 100 位:
log2(C(22,12))+log2(C(56,24))+ 36 位逆位熵,精确值在输出 JSON 的entropy_bits字段中报告;实际有序排列包含更多熵。 - CLI 兼容旧工作流:
--legacy返回旧版 4 张手牌,--legacy <count>返回 1–78 张自定义手牌;不带--legacy的位置参数会被拒绝(新牌阵形状固定)。
抽牌命令(对应 SKILL.md 的 Quick Start):
# 默认:12 宫位牌阵,输出 JSON(每个宫位含 file 路径) uv run --no-config plugins/let-fate-decide/skills/let-fate-decide/scripts/draw_cards.py # 把宫位与牌面文本直接内联进 JSON,无需额外 Read 调用 uv run --no-config plugins/let-fate-decide/skills/let-fate-decide/scripts/draw_cards.py --content # 旧版兼容:4 张手牌,或自定义 1-78 张 uv run --no-config plugins/let-fate-decide/skills/let-fate-decide/scripts/draw_cards.py --legacy uv run --no-config plugins/let-fate-decide/skills/let-fate-decide/scripts/draw_cards.py --legacy 8输出中每张牌的记录包含suit、card_id、reversed、position、role(major_arcana/minor_arcana_1/minor_arcana_2)与相对技能根目录的file路径(cards/swords/eight-of-swords.md)。对应测试见 test_draw_cards.py:它验证 78 张牌构成、每个花色 14 张、牌阵 12 宫位 × 3 张、36 张全可逆位、熵预算 ≥100 位、且禁用os.urandom而强制使用secrets模块。
错误处理:绝不伪造熵
技能对抽牌失败的处置有硬性规定(SKILL.md 的 Error Handling):
- 脚本崩溃并输出 traceback:向用户报告错误并跳过解读,不得虚构牌面或模拟抽牌——整套技能的意义就在于真实熵;
- 卡片文件缺失:记下缺失文件,仅凭牌名与花色继续解读;
- 绝不伪造熵:如果脚本无法运行,不要用自己的"随机性"模拟抽牌,直接告知用户抽牌失败。
draw代理的规则同样如此:若draw_cards.py失败,返回 "fate unavailable",而不是编造一张牌。这正是宝剑八主题的镜像——当工具链"看似被卡住"时,最不该做的就是假装约束不存在。
结语:把"假设之墙"当作待审查对象
宝剑八在let-fate-decide牌组中的职责,是为技术决策注入一个反直觉的提醒:你认为无法绕开的墙,往往只是没有被质疑过的假设。读懂这张牌,意味着在安全审计中主动换攻击面、在架构决策中重新检视"只能这样"的前提、在正确性验证中挑战不可能的状态迁移。而技能的纪律同样重要——牌面可以指出"应该往哪看",但只有源码、测试、复现与推理给出的证据,才能决定一个风险是真实还是虚假。相关文件可按需深入:技能主文档、解读指南、技术语境镜片、抽牌脚本 与项目说明。
- AI 技能
- AI 插件
- 应用安全
- 网络安全
- AI 评测
【免费下载链接】skills
Trail of Bits Claude Code skills for security research, vulnerability detection, and audit workflows
相关推荐
let-fate-decide 技能中的宝剑牌组(Swords Suit):用宝剑 Ace 与全套宝剑牌驱动精准技术决策
let fate decide 技能中的宝剑牌组(Swords Suit):用宝剑 Ace 与全套宝剑牌驱动精准技术决策 本文以 Ace of Swords h
AI 技能AI 插件应用安全网络安全AI 评测let-fate-decide 中 Two of Swords(宝剑二)的工程化解读:用密码学熵打破技术选型僵局
let fate decide 中 Two of Swords(宝剑二)的工程化解读:用密码学熵打破技术选型僵局 本文围绕 let fate decide ht
AI 技能AI 插件应用安全网络安全AI 评测倒悬者(XII)在 let-fate-decide 中的技术解读:用"反转假设"打破调试、架构与审计决策僵局
倒悬者(XII)在 let fate decide 中的技术解读:用"反转假设"打破调试、架构与审计决策僵局 导读 :本文围绕 let fate decide
AI 技能AI 插件应用安全网络安全AI 评测
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考