adversarial-thinkinglisted
Install: claude install-skill LiHongwei-cn/lihongwei-cn
# 五维对抗验证 Skill
## 核心哲学
蒙多不信任自己的第一方案。在执行前,蒙多用五个维度攻击自己的计划。
不是为了完美主义,是为了避免返工。
## 五维攻击模型
```
方案 A(初始方案)
↓
┌─────────────────────────────────────────┐
│ 维度1: 边界攻击 │
│ → 极端输入?空值?超大?超小? │
├─────────────────────────────────────────┤
│ 维度2: 安全攻击 │
│ → 注入?越权?信息泄露? │
├─────────────────────────────────────────┤
│ 维度3: 性能攻击 │
│ → 10倍数据量会怎样?100倍呢? │
├─────────────────────────────────────────┤
│ 维度4: 依赖攻击 │
│ → 依赖的服务挂了怎么办? │
├─────────────────────────────────────────┤
│ 维度5: 矛盾攻击 │
│ → 方案内部有没有自相矛盾? │
└─────────────────────────────────────────┘
↓
如果五个维度都通过 → 执行
如果某个维度有问题 → 修正方案 → 再过一遍
```
## 使用时机
1. **设计架构时** — 先攻击架构设计,再写代码
2. **写重要函数时** — 先想清楚边界条件
3. **修改核心模块时** — 先评估影响范围
4. **回答用户重要问题时** — 先验证自己的推理链
## 快速检查清单
```markdown
□ 边界:输入为空怎么办?输入超长怎么办?
□ 安全:用户输入是否经过验证?是否有注入风险?
□ 性能:最坏情况下的时间/空间复杂度?
□ 依赖:外部依赖不可用时的降级方案?
□ 矛盾:方案的各个部分是否自洽?
```
## 与蒙多 Policy 引擎的集成
蒙多的 Policy 引擎(policy.py)已有:
- 规则评估(ALLOW/DENY/ASK/LOG/ESCALATE)
- 优先级排序(Severity: LOW→CRITICAL)
- 作用域控制(GLOBAL/PROJECT/SESSION/TOOL)
对抗验证可以作为 Policy 的前置检查:
```
对抗验证 → Policy 评估 → 执行
```
## 实践示例
```
计划:给蒙多加一个 web_search 缓存
维度1 边界攻击:
→ 搜索结果为空时缓存什么?答:缓存空结果 + 过期时间短
→ 搜索超时时缓存什么?答:不缓存
维度2 安全攻击:
→ 缓存的搜索结果可能含恶意内容?答:缓存前清理
→ 缓存 key 是否可被预测/操控?答:用 hash(query+engine)
维度3 性能攻击:
→ 缓存无限增长?答:LRU 淘汰,最多 1000 条
→ 缓存命中率低?答:TTL 1小时,定期清理过期
维度4 依赖