当AI成为安全工程师:ClaudeCode自主完成一次挖矿攻击事件响应全记录

admin 2025-12-14 00:47:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了ClaudeCodeAI自主完成一次挖矿攻击事件响应的全过程,包括检查恶意进程、网络连接、攻击痕迹和持久化机制,最终生成分析报告并提供安全建议。AI展现出自主规划能力、全面的安全知识和连贯的执行能力,证明了AI在安全运维中的价值,能够降低安全事件响应门槛,让非专业人员也能完成专业级安全工作。 综合评分: 100 文章分类: 应急响应,AI安全,WEB安全,安全运营,实战经验


cover_image

当 AI 成为安全工程师:Claude Code 自主完成一次挖矿攻击事件响应全记录

原创

雾能

雾帜智能

2025年12月6日 16:42 广东

引言

“帮我分析一下服务器上是否还有恶意软件残留,是否被植入了后门。”

当我把这个任务交给 Claude Code 时,并没有告诉它具体要执行哪些命令、检查哪些目录。接下来发生的事情让我印象深刻——它像一位经验丰富的安全工程师一样,自主规划检查流程,逐项排查系统各个角落,最终给出了完整的分析报告和修复方案。

本文记录了这次真实的安全事件响应过程,展示 AI 如何以”自主 Agent”的方式参与企业安全运维工作。

事件背景

我们的一台腾讯云服务器收到了安全告警:

  • • 检测到 Next.js 远程代码执行漏洞(CVE-2025-66478)
  • • 发现挖矿程序 Linux.Risk.Miner.Htgl

服务器上运行着一个 Next.js 应用,通过 3003 端口对外服务。我手动终止了可疑进程后,需要确认系统是否干净、是否存在后门。

我向 Claude Code 提供了以下信息:

  • • 服务器的 SSH 连接方式
  • • 云安全产品的告警内容
  • • 终端中观察到的部分日志

然后,我只说了一句:“帮我调查清楚,系统里有没有残留,有没有被植入后门。”

AI 自主执行的调查过程

Claude Code 接到任务后,没有询问”要执行什么命令”,而是直接开始行动。它自主规划了一套完整的检查流程:

第一步:检查恶意进程

AI 首先想到的是确认挖矿进程是否真的被清除:

ps aux | grep -E 'miner|xmrig|kinsing|kdevtmpfsi|crypto' | grep -v grep
top -b -n 1 | head -20

它知道常见挖矿程序的进程名特征,并且检查了 CPU 占用情况。

第二步:检查网络连接

接着,它主动检查了网络状态——这是判断是否存在外连后门的关键:

netstat -tulpn
netstat -an | grep ESTABLISHED

第三步:追踪攻击痕迹

AI 根据告警中提到的恶意文件路径,深入检查了 /tmp 目录:

ls -la /tmp/
find /tmp -type f -mtime -1 -ls

它发现了一个可疑的 config.json 文件,主动读取内容后确认这是 XMRig 挖矿程序的配置文件,包含矿池地址和钱包信息。

第四步:全面排查持久化机制

这是最关键的环节。Claude Code 展现出了对 Linux 系统安全的深入理解,自主检查了所有常见的持久化位置:

定时任务:

crontab -l
sudo crontab -l
ls -la /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/

SSH 后门:

cat ~/.ssh/authorized_keys
sudo cat /root/.ssh/authorized_keys

系统服务:

sudo find /etc/systemd/system -type f -mtime -1 -ls
sudo find /lib/systemd/system -type f -mtime -1 -ls

用户账户:

cat /etc/passwd | grep -E 'bash|sh'
sudo cat /etc/shadow | grep -v '!' | grep -v '*'

二进制文件篡改:

find /usr/bin /usr/sbin /bin /sbin -type f -mtime -1 -ls

LD_PRELOAD 劫持:

ls -la /etc/ld.so.preload

内核模块:

sudo lsmod

隐藏文件:

sudo find /home -name '.*' -type f -mtime -1 -ls

系统日志:

sudo journalctl --since '2025-12-06 14:00' --until '2025-12-06 15:00'

这些检查项覆盖了 Linux 系统中几乎所有常见的持久化手段,而我并没有逐一指示它去做这些。

第五步:清理与修复

确认系统状态后,Claude Code 主动执行了清理:

sudo rm -v /tmp/config.json

然后,它查看了项目的 package.json,确认当前 Next.js 版本存在漏洞,并完成了升级:

npm install [email protected] [email protected]
npm run build

AI 给出的分析报告

完成所有检查后,Claude Code 自动生成了一份结构化的分析报告:

攻击行为还原:

  1. 1. 攻击者利用 Next.js 漏洞执行命令
  2. 2. 从外部服务器下载挖矿程序(约 2.67MB)
  3. 3. 在 /tmp 目录部署挖矿程序和配置文件
  4. 4. 尝试在 /dev 目录创建持久化脚本(失败)
  5. 5. 尝试使用 pkill 终止其他进程(失败)

检查结果汇总:

| 检查项 | 状态 | 说明 | | — | — | — | | 挖矿进程 | ✅ 已清除 | 进程已被终止 | | 恶意文件 | ✅ 已清理 | 配置文件已删除 | | Crontab | ✅ 正常 | 未被篡改 | | SSH 密钥 | ✅ 正常 | 无新增后门密钥 | | 系统服务 | ✅ 正常 | 无恶意服务 | | 系统二进制 | ✅ 正常 | 未被替换 | | LD_PRELOAD | ✅ 正常 | 无劫持 | | 用户账户 | ✅ 正常 | 无新增用户 |

结论: 系统目前是干净的,攻击者的持久化尝试因权限不足而失败。

安全建议:

  1. 1. 升级 Next.js 到最新版本(已完成)
  2. 2. 使用 Cloudflare Tunnel 等方式避免直接暴露端口
  3. 3. 检查应用代码是否被注入

为什么攻击影响有限?

Claude Code 还主动分析了攻击未能得逞的原因:

  1. 1. 权限隔离:Next.js 应用以普通用户运行,没有 root 权限
  2. 2. 文件系统保护/dev 等关键目录对普通用户只读
  3. 3. 及时响应:云安全产品告警后快速处置

思考:AI 在安全运维中的价值

这次经历让我对 AI 参与安全运维有了新的认识:

1. 自主规划能力

我只描述了问题,没有给出具体指令。Claude Code 自己规划了完整的检查流程,覆盖了进程、网络、文件系统、持久化机制等多个维度。这种能力对于安全事件响应尤为重要——你不需要是安全专家,AI 会帮你想到该查什么。

2. 知识的广度和深度

从常见挖矿程序的进程名,到各种持久化技术(crontab、systemd、SSH 密钥、LD_PRELOAD、内核模块),Claude Code 展现出对 Linux 安全的全面理解。它甚至能识别出日志中的漏洞利用特征(MEOWWWWWWWWW)。

3. 执行的连贯性

整个过程一气呵成:检查 → 分析 → 清理 → 修复 → 报告。不需要人工在每个步骤之间做衔接,AI 自己判断下一步该做什么。

4. 降低响应门槛

不是每个团队都有专职的安全工程师。有了 AI 的辅助,运维人员也能完成专业级别的安全事件响应。

写在最后

这篇文章的目的不是说 AI 可以完全取代安全工程师,而是展示一种新的协作模式:人类负责决策和判断,AI 负责执行和分析

在这次事件中,我做的事情很简单:

  • • 提供背景信息和访问权限
  • • 确认是否执行清理和升级操作

其他所有工作——规划检查流程、执行命令、分析结果、生成报告——都是 Claude Code 自主完成的。

当 AI 能够像一位经验丰富的同事一样协助工作时,我们的效率和能力边界都会得到扩展。这可能就是 AI Agent 在企业场景中的真正价值所在。


评论:0   参与:  5