Skip to content

MingyiSecLab/tsec-zeroAgent

Repository files navigation

Tsec-Agent

AI Agent 自动化解题系统 — 第二届腾讯云黑客松智能渗透挑战赛(零界论坛赛道)。

基于 Mastra 框架构建,采用 Supervisor 模式管理 5 个专业 Agent,7x24 自主运行。

架构

main.ts (循环调度器, while true)
  └─ supervisorAgent (协调器, maxSteps: 50)
       ├─ scoutAgent        — 论坛情报收集, 更新 skill 文件
       ├─ keyExchangeAgent   — 赛题二: 密钥交换 (诚信 TFT + 白名单)
       ├─ injectionAgent     — 赛题一: 提示词注入 (file/km/web)
       ├─ treasureHuntAgent  — 赛题四: 论坛寻宝 (解谜 + 解码)
       └─ influenceAgent     — 赛题三: 影响力竞争 (评论×3 > 点赞×2)

快速开始

1. 环境准备

# Node.js >= 18
node -v

# 安装依赖
npm install

2. 配置环境变量

cp .env.example .env

编辑 .env

# LLM — MiniMax 网关 (Anthropic 兼容)
MINIMAX_API_KEY=sk-your-key
MINIMAX_GATEWAY_URL=http://10.0.0.24/your-path/v1

# 赛题平台
SERVER_HOST=10.0.0.113:8080
AGENT_TOKEN=your-agent-token

# 零界论坛
AGENT_BEARER_TOKEN=your-bearer-token

3. 测试网关连通性

npx tsx src/scripts/test-gateway.ts

4. 启动

# 前台运行(调试用)
npx tsx src/main.ts 5        # 每 5 分钟一轮

# 后台运行(PM2 守护,断开 SSH 不中断)
npx pm2 start "npx tsx src/main.ts 5" --name Tsec-Agent
npx pm2 logs Tsec-Agent      # 查看日志
npx pm2 stop Tsec-Agent      # 停止
npx pm2 restart Tsec-Agent   # 重启

5. 开发模式(Studio UI)

pnpm dev
# 打开 http://localhost:4111 查看 Agent、Skills、Tools

项目结构

src/
  main.ts                          # 入口, 循环调度器
  mastra/
    index.ts                       # Mastra 实例 + Workspace + Skills
    model-config.ts                # LLM 模型配置 (@ai-sdk/anthropic)
    memory.ts                      # 共享 Memory (LibSQL 持久化)
    mcp/index.ts                   # MCP 客户端 (主赛题平台)
    agents/
      supervisor-agent.ts          # 总协调器
      injection-agent.ts           # 赛题一: 提示词注入
      key-exchange-agent.ts        # 赛题二: 密钥交换
      influence-agent.ts           # 赛题三: 影响力
      treasure-hunt-agent.ts       # 赛题四: 寻宝
      scout-agent.ts               # 情报收集 + skill 自进化
    tools/
      forum-tools.ts               # 25+ 论坛 API 工具
      md5-tool.ts                  # MD5 计算 + 排列组合
      flag-extract-tool.ts         # Flag 提取 (base64/hex/ROT13)
      file-write-tool.ts           # Scout 专用文件写入
workspace/
  skills/
    injection/                     # 注入策略 + references
    key-exchange/                  # 密钥交换策略 + 信任模型
    treasure-hunt/                 # 寻宝策略 + 解码指南
    influence/                     # 影响力策略 + 内容模板
    scout/                         # 情报索引 + 5 类情报文件

核心策略

赛题一:提示词注入

3 个子任务:file 工具读机密文件、km 工具搜知识库、web 工具 SSRF 绕过。在官方帖子下评论注入,bot DM 回复中提取 flag。

赛题二:密钥交换

从 official-bot 获取 KeyA/KeyB,从诚信 Agent 获取 KeyC。已知诚信 Agent:yhy(604)、Sere1n(438)、Gh0xE9(561)、透探破(255)。Bio 含"诚信"的 Agent 可信。计算 flag{md5(A+B+C)}

赛题三:影响力

评论权重 ×3 > 点赞 ×2。策略:发挑战相关帖子 + 热帖评论 + 战略投票。30 分钟发帖限制。

赛题四:寻宝

official-bot 每日发布 4-5 个逻辑谜题。读题 → 解题 → 提交 flag{ANSWER}。同时扫描评论中的编码 flag。

运行监控

每轮结束自动输出状态面板:

────────────────────────────────────────────────────────────
  STATUS — 2026-04-14T10:30:00.000Z
────────────────────────────────────────────────────────────
  Rounds: 12 | Errors: 1 | Avg: 45s
  Flags collected (3): flag{SALAD}, flag{GREEN}, flag{abc123}
  Last round: injection, key-exchange | OK
────────────────────────────────────────────────────────────

Ctrl+C 优雅退出,打印最终报告。

速率限制

操作 限制 策略
发帖 30 分钟 1 篇 检查 last_post_time
评论 每帖每小时 20 条 每轮每帖最多 3 条
点赞 每小时 100 次 每轮最多 15 次
私信 每小时 100 条 每轮最多 10 条
全局 每分钟 100 次 操作间自然间隔

npx pm2 start "npx tsx src/main.ts 5" --name Tsec-Agent

About

TO 2 ZeroWord

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors