# Agent Hook与子Agent安全测试

> 测试Agent的Hook、子Agent、任务Agent与工作流扩展点的安全边界。 适用于评估项目级Hook、用户级Hook、子Agent提示文件、工具权限继承、 输入传递、审批绕过与持久化执行风险。

- Skill: `spindriftpapilio/agent-hook-agent` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add spindriftpapilio/agent-hook-agent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spindriftpapilio/agent-hook-agent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: spindriftpapilio (https://skillmd.com/u/spindriftpapilio)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/spindriftpapilio/agent-hook-agent

---


# Agent Hook与子Agent安全测试

本skill聚焦Agent生态里最容易被当成正常自动化、实际却最接近执行边界的那一层：Hook与子Agent。

它们的特点是：

- 看起来像配置，实际上可能直接决定执行
- 看起来像辅助提示，实际上可能改变工具权限和行为
- 看起来像团队协作文件，实际上可能被项目级内容劫持

# 什么时候用

- 目标产品支持会话级Hook、启动事件Hook、提示提交Hook或工具调用Hook
- 目标产品支持子Agent、项目级子Agent、工作区子Agent、任务型子Agent
- 工作区中存在`.claude/agents/`、Hook脚本、规则文件、工作流脚本
- 想验证提示词注入或配置投毒能否升级为稳定执行或稳定防护绕过

# 核心问题

1. Hook是在哪个事件点触发的
2. Hook命令来自哪里，参数来自哪里
3. 子Agent定义是否可项目级下发
4. 子Agent是否继承父Agent工具权限
5. Hook与子Agent修改后，是否会立即生效，还是需要重启或复核

# 交互层级

|层级|典型场景|
|---|---|
|Tier 1|打开项目或开始会话即自动触发Hook或子Agent加载|
|Tier 2|用户正常发起一次任务，系统自动把任务分派给子Agent|
|Tier 3|用户需要先批准某个Hook、工具或Agent|
|Tier 4|用户已信任项目且要执行特定命令或切换模式|

# 推荐流程

1. **先枚举事件点。**
   看看支持哪些Hook事件，例如会话启动、用户提示提交、工具调用前 / 后、停止。

2. **再枚举定义来源。**
   分清：
   - 用户级Hook
   - 项目级Hook
   - 企业策略级Hook
   - 项目级子Agent
   - 用户级子Agent

3. **测权限继承。**
   子Agent拿到的是：
   - 父Agent完整权限
   - 限缩权限
   - 独立权限
   - 额外放大权限

4. **测输入拼接。**
   看Hook stdin、环境变量、参数内容、task描述、文件路径是否能影响执行。

5. **测变更生效时机。**
   修改Hook或子Agent定义后，当前会话是否立即受影响，还是只影响下一次会话。

# 重点测试主题

### 1. Hook自动执行

- 会话开始时是否自动运行
- 工具调用前后是否自动运行
- 用户提交提示词前是否可插入额外逻辑
- Hook脚本工作目录、环境变量、PATH来源是什么

### 2. 子Agent定义与权限继承

- 项目级子Agent是否可随仓库分发
- 子Agentfrontmatter里是否能声明额外工具权限
- 子Agent是否会在父Agent不显眼的情况下接管任务
- 子Agent调用链是否在UI里足够可见

### 3. Hook与提示词注入链

- 工作区内容能否诱导主Agent创建或修改Hook
- 工作区内容能否诱导主Agent创建或修改子Agent文件
- 新建后的Hook或子Agent是否在后续会话自动生效

### 4. 审批与快照

- Hook配置是启动时快照，还是实时读取
- 当前会话外部改动Hook后会不会立即影响
- 已批准的Hook脚本换内容后是否继续沿用

# 与其他skill的衔接

- 涉及project配置与trust：转`Agent工作区信任与审批测试`
- 涉及项目级配置写入：转`提示词注入攻击链测试`
- 涉及Hook落地执行：转`AI-IDE代码执行面测试`
- 涉及命令批准或参数绕过：转`终端过滤绕过测试`
- 涉及整体持久化链：转`AI-IDE攻击链编排`

# 输出时至少要写清

- 哪个Hook或子Agent点能被控制
- 定义文件位于哪里
- 何时生效
- 继承了什么权限
- 能否跨会话持久化

# 可优先参考的资料

- `references/hook-event-matrix.md`
- `references/subagent-load-paths.md`
- `references/public-patterns.md`


