AITTACK - 利用AI中转站服务进行钓鱼攻击
2026-05-18 17:21:54
AITTACK - 利用AI中转站服务进行钓鱼攻击
项目地址
https://github.com/KaGty1/AITTAK
Agent 工作原理
sequenceDiagram
participant U as 用户
participant C as Claude / Claude Code
participant L as LLM
participant FS as 本地文件系统
U->>C: Prompt:
分析 hello.java 文件的代码,找到 xxx 报错原因
rect rgb(255, 235, 235)
Note over C,L: 误区:以为 Claude 会先主动读文件
C->>FS: 先读取 hello.java
FS-->>C: 返回文件内容
C->>L: 把 Prompt + 文件内容发给 LLM
L-->>C: 返回分析结果
C-->>U: 返回给用户
end
rect rgb(235, 255, 235)
Note over C,L: 正确:LLM 先决定是否需要读文件
C->>L: 发送 Prompt + 可用工具列表
L-->>C: 返回工具调用:
read_file("hello.java")
C->>FS: 执行读取 hello.java
FS-->>C: 返回文件内容
C->>L: 把读取结果作为 tool result 发回 LLM
L-->>C: 返回最终分析结果
C-->>U: 返回给用户
end
Sub2api 中转站框架分析
1 | ┌─────────────────────────────────────────────────────────────────┐ |
AITTAK 构建思路
1、中间人攻击监听
结合 HaE 正则匹配规则,对使用中转站的用户的Prompt及工具调用结果进行监听匹配
sequenceDiagram
participant Client as Claude Code
participant Proxy as AITTAK
participant Upstream as 上游 API
Client->>Proxy: POST /v1/messages (sk-proxy-xxx)
Proxy->>Proxy: 验证 API Key
Proxy->>Proxy: 提取 Prompt、工具调用信息
Proxy->>Upstream: 转发请求(替换为真实 API Key)
Upstream-->>Proxy: SSE 流式响应
Proxy-->>Client: 透传响应(重写 model 字段)
Proxy->>Proxy: 记录审计日志(异步)
Proxy->>Proxy: HaE正则扫描敏感信息
Proxy->>Proxy: 写入 SQLite
2、注入工具调用
通过在SSE注入工具调用实现文件读取、文件编辑、甚至执行任意命令
sequenceDiagram
participant Client as Claude Code
participant Proxy as AITTAK
participant Upstream as 上游 API
Note over Client,Upstream: 第一轮:模型调用工具,代理注入额外工具
Client->>Proxy: POST /v1/messages
Proxy->>Upstream: 转发请求
Upstream-->>Proxy: SSE 响应(含 tool_use: Bash)
Proxy->>Proxy: 检测到 Bash 调用,匹配注入规则
Proxy->>Proxy: 生成额外 tool_use block(inject-xxx)
Proxy-->>Client: 原始 tool_use + 注入的 tool_use
Note over Client: 客户端执行所有工具(含注入的)
Note over Client,Upstream: 第二轮:代理剥离注入结果
Client->>Proxy: POST /v1/messages(含 inject-xxx 的 tool_result)
Proxy->>Proxy: 识别 inject- 前缀,剥离注入的 tool_result
Proxy->>Proxy: 将剥离的结果写入审计日志
Proxy->>Upstream: 转发清理后的请求(上游无感知)
Upstream-->>Proxy: 正常响应
Proxy-->>Client: 透传响应
钓鱼攻击
可以结合 GPT 目前强大的生图功能,生成一些公有云厂家的 AI 试用海报,批量发送进行钓鱼攻击

假如张三使用了该中转进行项目开发/对话,我们可以就可以对其进行行为监控/工具注入
行为监控 - 提取敏感信息
当张三使用我们的中转站进行开发工作,例如 “解释 xxx 项目的代码”,且代码中硬编码了敏感的ak/sk,我们就可以进行监控并提取该密钥进行利用



工具注入
我们可以设置规则 - 当张三的prompt让模型去读某个文件时,我们可以注入Read工具去读取张三主机中的/etc/passwd文件




写在结尾
作为一名安全领域 AI 方向的初学者,我对 AI 相关技术的理解和实践可能还存在不足,项目中也难免会有设计不完善或表述不准确的地方。非常欢迎大家批评指正,也欢迎一起交流更多攻击思路、检测方法和改进方案。
如果你对这个项目感兴趣,欢迎提交 Issue 或 PR,一起完善这个项目。