文章总结: 文章介绍如何利用MCP与ReAct范式构建AI安全Agent:先以uv搭建Java内存马查杀MCP,集成SSH、本地命令及memory-shell-detector工具,实现一键检测清除;再给出ReAct提示模板与Linux应急Skill,演示自动溯源挖矿病毒并输出处置报告,验证AI可显著提效渗透测试与应急响应。 综合评分: 82 文章分类: AI安全,应急响应,安全工具,实战经验,漏洞分析
agent&mcp对于安全人员可以做什么?之初识ReAct&MCP
弱鸡
角宿安全
2026年1月13日 18:11 江苏
2026年年初计划通过编写AI辅助代码审计,次篇为agent初次尝试,使用agent+mcp进行应急响应。
参考:https://ruoji6.github.io/posts/39741.html
0.1 MCP server
MCP服务器是模型上下文协议(MCP)架构中的关键组件。
MCP只规定了与MCP server 与MCP host(cline、claude、kiro等agent)之间的协议。
也就是mcp server相等于AI的触手,AI可以通过MCP达成各种各样的操作,如下案例(在下文中会详细描述如何编写一个mcp)
0.1.2 java内存马查杀MCP编写
uv地址:https://github.com/astral-sh/uv
uv是一个极快的 Python 包和项目管理工具,由 Astral(Ruff 的创建者)开发,使用 Rust 编写。它旨在替代传统 Python 工具链中的多个工具(如pip、pip-tools、virtualenv、poetry等),提供更高效的依赖管理、环境管理和脚本执行功能。
使用下面命令创建项目:
uv init weather # 初始化一个名为 "weather" 的新项目
# 会创建 weather 文件夹,包含 pyproject.toml 等基础文件
cd weather # 进入项目目录
uv venv # 创建 Python 虚拟环境
# 默认在当前目录下生成 .venv 文件夹
source .venv/bin/activate # 激活虚拟环境(macOS/Linux)
# 激活后,pip/python 命令都指向虚拟环境
# Windows 用: .venv\Scripts\activate
这里使用kiro(aws编程助手,使用其他编程助手也可)编写一个mcp,下面为提示词:
网络搜索关于MCP的信息,帮我编写一个java 内存马查杀的mcp,其中你需要调用https://github.com/private-xss/memory-shell-detector 这个工具,下载地址是https://xget.xi-xu.me/gh/private-xss/memory-shell-detector/releases/download/1/java.zip
1、需要编写一个ssh连接的tools,并可以执行命令
2、需要编写一个在本地执行命令的tools
3、需要编写一个可以使用memory-shell-detector的tools(你需要查看https://github.com/private-xss/memory-shell-detector如果使用)
注意:
1、使用uv执行项目
2、加载source .venv/bin/activate虚拟环境秩序
3、你可以查看当前目录下的文件,修改,main.py
提示:
private-xss/memory-shell-detector 是一个内存马检测查杀的项目
MCP中可以有多个tools(功能,如:sqlmap,其中可以注入,查询,写文件等功能)
此时完成之后,我们只需要配置agent的MCP,就可以使用此MCP功能。
{
"mcpServers": {
// 服务器名称:Java 内存马检测器
"java-memory-shell-detector": {
// 启动命令:使用 uv (Python 包管理器) 来运行
"command": "uv",
// 命令参数:
// - "run": 执行 Python 脚本
// - "--directory": 指定项目目录
// - "/path/to/this/project": 项目的实际路径(需要替换为真实路径)
// - "main.py": 入口文件
"args": ["run", "--directory", "/path/to/this/project", "main.py"],
// 环境变量(当前为空)
"env": {},
// 是否禁用此服务器(false = 启用)
"disabled": false,
// 自动批准的工具列表(当前为空,所有工具调用都需要用户确认)
"autoApprove": []
}
}
}
如下图:
0.1.2 java内存马查杀MCP使用
此时我们打开对话框:
此时kiro会询问我们是否使用此tools。
运行结果:
0.2 agent之ReAct
在上面中MCP接入的kiro也是一个agent,包括claude也是一个agent,agent不同的区别在于架构范式以及内置tools。
- ReAct (Reasoning and Acting): 一种将“思考”和“行动”紧密结合的范式,让智能体边想边做,动态调整。
- Plan-and-Solve: 一种“三思而后行”的范式,智能体首先生成一个完整的行动计划,然后严格执行。
- Reflection: 一种赋予智能体“反思”能力的范式,通过自我批判和修正来优化结果。
上面三种是业内常见的架构范式,在下文中,我们使用ReAct编写一个排除挖坑病毒的agent,并且结合skills。
0.2.1 Agent Skills 概念
(总结skills,本质上就是提示词,只是加载方式不同,下面概念了解一下即可,只需要知道这个是链式调用,且可以执行脚本)
Agent Skills 是一种轻量级、开放的格式,用于通过专业知识和工作流扩展AI智能体的能力。
Skills 的核心是一个包含 SKILL.md 文件的文件夹。 该文件包含元数据(至少包含 name 和 description)以及指导智能体执行特定任务的指令。 Skills 还可以捆绑脚本、模板和参考资料。
(上图来源[3])
在agent与智能体进行通信的时候,将元数据发送给智能体,并结合用户的输入,如果用户输入和元数据挂钩,那么就会继续调用后续内容(链式调用)。
| 字段 | 必填 | 描述 |
| — | — | — |
| name | 是 | 最多64个字符。仅允许小写字母、数字和连字符。不能以连字符开头或结尾。 |
| description | 是 | 最多1024个字符。非空。描述该 Skill 的功能及适用场景。 |
| license | 否 | 许可证名称或引用的捆绑许可证文件。 |
| compatibility | 否 | 最多500个字符。说明环境要求(目标产品、系统包、网络访问权限等)。 |
| metadata | 否 | 用于附加元数据的任意键值映射。 |
| allowed-tools | 否 | Skill 可使用的预批准工具列表(空格分隔)。(实验性功能) |
---
name: pdf-processing
description: 从PDF文件中提取文本和表格,填写表单,合并文档。
---
# PDF处理
## 何时使用此 skill
当用户需要处理PDF文件时使用此 skill...
## 如何提取文本
1. 使用 pdfplumber 进行文本提取...
## 如何填写表格
...
目录结构示例
my-skill/
├── SKILL.md # 主指令
├── scripts/ # 可执行脚本
│ ├── process.py
│ └── analyze.sh
└── resources/ # 模板、示例
└── template.md
0.2.2 提示词
提示词:
REACT_PROMPT_TEMPLATE="""
# 角色定义
你是一个具备多种专业技能(Skills)的网络安全溯源专家智能体。你能够根据任务需求,自动激活相关技能并调用对应工具来完成复杂任务。
# 已加载的技能 (Skills)
以下是当前可用的技能模块:
{skills_summary}
# 当前激活的技能详情
{active_skill_content}
# 可用工具列表
{tools}
# 思考与行动框架 (ReAct Framework)
你必须遵循 "思考-行动-观察" 的循环模式来解决问题:
## 响应格式
Thought: [你的推理过程]
- 分析当前问题状态
- 确定需要激活哪个技能
- 规划下一步行动
Action: [执行的动作]
- 调用工具: `工具名[参数]`
- 结束任务: `Finish[最终答案]`
## 执行规则
1. **技能激活**: 根据任务关键词自动匹配并激活相关技能
2. **工具调用**: 每次只执行一个Action,等待Observation后再继续
3. **迭代推进**: 基于观察结果调整策略,逐步逼近目标
4. **任务完成**: 收集足够信息后,使用 `Finish[答案]` 输出最终结果
## 质量标准
- 推理过程清晰、有逻辑
- 工具调用准确、参数正确
- 参考技能文档中的专业知识
- 安全意识强、操作谨慎
# 当前任务
**Question**: {question}
**历史记录**:
{history}
# 开始执行
请基于上述框架和已激活的技能知识,开始你的思考和行动:
"""
skills详情(此处参考:[4])
---
name: Linux安全应急响应
description: Linux系统安全应急响应手册,包含挖矿病毒、远控后门、勒索病毒、暴力破解、隧道检测等安全事件的排查与处置方法
---
# Linux安全应急响应技能
本技能提供Linux系统安全应急响应的完整知识库,涵盖各类安全事件的排查与处置方法。
## 适用场景
- Linux服务器遭受攻击后的应急响应
- 挖矿病毒、远控后门、勒索病毒等恶意软件处置
- SSH/MySQL/Redis/FTP等服务暴力破解事件排查
- 隧道检测与处置(SSH隧道、DNS隧道、ICMP隧道等)
- 恶意软件包供应链攻击排查
- 系统常规安全检查与加固
- 安全事件善后处理
## 参考文档
- #[[file:references/注意事项.md]] - 应急响应注意事项
- #[[file:references/挖矿病毒.md]] - 挖矿病毒排查与处置
- #[[file:references/远控后门.md]] - 远控后门排查与处置
- #[[file:references/勒索病毒.md]] - 勒索病毒排查与处置
- #[[file:references/暴力破解.md]] - 暴力破解事件排查
- #[[file:references/非持续性事件.md]] - 非持续性安全事件处置
- #[[file:references/恶意软件包供应链攻击.md]] - 供应链攻击排查
- #[[file:references/隧道.md]] - 隧道检测与处置
- #[[file:references/常规安全检查.md]] - 系统安全检查清单
- #[[file:references/善后阶段.md]] - 安全事件善后处理
- #[[file:references/常见问题解决方法.md]] - 常见问题解决方案
- #[[file:references/小技巧.md]] - 应急响应实用技巧
其中这里的tools和mcp中的tools并没有区别,这里的tools只有连接ssh的tools。
0.2.3 运行效果(清除木马)
这里我们使用棉花糖的靶场[1]作为演示:
给agent的输入:
开始加载技能,并调用指定的tools:
结果:
最终内容:
挖矿病毒处置完成报告
发现的安全问题
1. 挖矿病毒进程:发现java进程运行/tmp/miner.jar,CPU占用率高达118.8%
2. 持久化机制:存在crontab定时任务,每分钟执行/usr/share/.per/persistence.sh守护脚本
3. 恶意文件备份:在/usr/share/.miner/目录下存在miner.jar备份文件
已执行的处置措施
1. 进程查杀:
– 杀死第一个挖矿进程组(PGID 1079)
– 杀死第二个挖矿进程组(PGID 60502)
2. 文件清理:
– 删除/tmp/miner.jar
– 删除/usr/share/.per/persistence.sh守护脚本
– 删除/usr/share/.miner/目录及其中的备份文件
3. 持久化机制清除:
– 使用crontab -r清除了所有定时任务
验证结果
– ✅ 当前无挖矿进程运行
– ✅ CPU使用率恢复正常(从133.3%降至0.0%)
– ✅ 所有恶意文件已删除
– ✅ 定时任务已清除
建议
1. 建议检查系统是否存在其他安全漏洞,防止再次被入侵
2. 建议定期更新系统和应用补丁
3. 建议配置防火墙规则,限制不必要的网络访问
4. 建议监控系统日志,及时发现异常行为
处置状态:✅ 挖矿病毒已完全清除
🤔 思考: 根据历史记录,我已经对服务器进行了挖矿病毒的排查和处置。现在需要总结整个过程,确认是否已经完全清除挖矿病毒,并给出最终结论。
🎉 最终答案: 挖矿病毒处置完成报告
0.3 总结
mcp:网安人员可以使用mcp调用各种各样的安全工具,集成在一起辅助渗透,以及进行一些重复性的工作,都可以结合mcp进行。
在测试的时候,笔者使用了glm-5.7以及deepseek-chat,不同模型对于结果影响很大,包括提示词(Prompt),以及不同的模型提供商,而且ReAct模式下,在Prompt描述不清晰的情况下会导致死循环,甚至有的模型出现了幻觉给出了。
0.4 参考&引用
1 https://vip.bdziyi.com/ulab/ 棉花糖靶场
2 https://datawhalechina.github.io/hello-agents/#/./chapter4/%E7%AC%AC%E5%9B%9B%E7%AB%A0%20%E6%99%BA%E8%83%BD%E4%BD%93%E7%BB%8F%E5%85%B8%E8%8C%83%E5%BC%8F%E6%9E%84%E5%BB%BA?id=_41-%e7%8e%af%e5%a2%83%e5%87%86%e5%a4%87%e4%b8%8e%e5%9f%ba%e7%a1%80%e5%b7%a5%e5%85%b7%e5%ae%9a%e4%b9%89 Hello-agent
3 https://www.bilibili.com/video/BV1cGigBQE6n/?share_source=copy_web&vd_source=33ab2fb0a56ff9d229e039e5c557497f 哔哩哔哩:Agent Skill 从使用到原理
4 https://books.noptrace.com/linux/5.%E6%8C%96%E7%9F%BF%E7%97%85%E6%AF%92/ 网络安全应急响应手册 — NOPTeam
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:角宿安全 弱鸡《agent&mcp对于安全人员可以做什么?之初识ReAct&MCP》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论