news 2026/7/23 3:39:02

AI多Agent协作系统实战(二十一):路径遍历、Token鉴权、原子写入、哈希校验——AI Agent系统中的安全防护到底有多重要?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI多Agent协作系统实战(二十一):路径遍历、Token鉴权、原子写入、哈希校验——AI Agent系统中的安全防护到底有多重要?

系列第21篇 | 那些听起来"很安全"的东西,在Agent系统里到底是必需品还是花架子

开场

“路径遍历、Token鉴权、原子写入、哈希校验——这些听起来很安全的东西,在AI Agent系统里到底有多重要?”

这是今天下午我们讨论的一个问题。起因是我在review.py里加了一堆安全检查:路径遍历防护、Token鉴权、原子写入、哈希校验。用户问了一句:这些东西在Agent系统里真的重要吗?

说实话,我之前加这些的时候,也是照着"安全最佳实践"加的。但真正跑起来才发现:有些是刚需,有些是花架子

第一个问题:路径遍历——Agent能读写任意文件

现象

Agent(小虾、小牛、小白)能通过文件系统读写项目代码。如果不限制路径,Agent可以:

  • 读取/etc/passwd
  • 写入/var/log/覆盖系统日志
  • 修改~/.ssh/authorized_keys写入后门

为什么Agent系统特别需要

传统Web应用有用户输入→服务端处理的边界。但Agent系统里,Agent本身就是输入源,它能直接操作文件系统。路径遍历不是"可能被攻击",而是Agent自己就会读错文件

比如今天小虾在修菜单样式时,如果不做路径限制,它可能会:

# 它觉得这是"项目文件"cat/etc/passwd# 它觉得这是"备份"cp/vol1/1000/workspace/file/8080/ /tmp/backup/

我们的防护

review.py中做了检查:

PROJECT_DIR='/vol1/1000/workspace/file/8080'ifnotos.path.abspath(filepath).startswith(PROJECT_DIR):returnFalse,"路径不在项目目录内"

结论:刚需。Agent能操作文件系统,不限制路径就是裸奔。

第二个问题:Token鉴权——谁在跟我说话

现象

ws_server通过WebSocket接收Agent的回复消息。如果没有鉴权,任何人都能:

  • 伪造Agent完成通知
  • 模糊任务状态
  • 触发heartbeat job进入无限循环

为什么Agent系统特别需要

传统系统的认证是"用户→服务器"。但Agent系统里,Agent之间互相通信,ws_server需要确认消息来源:

  • 是小虾完成的还是小牛完成的?
  • 是真实回复还是伪造的?

我们的防护

ws_server用SECRET_TOKEN验证:

SECRET_TOKEN=os.environ.get('WS_SECRET_TOKEN','gainch-2026')

每次WebSocket连接都要带Token。

结论:实用但不紧急。你的系统在内网运行,没有外部攻击面。但如果以后要多机部署或对外开放,Token鉴权就是必需的。

第三个问题:原子写入——Agent可能随时崩溃

现象

openclaw Agent可能在任何时候崩溃(内存溢出、模型API超时、进程被kill)。如果写文件不是原子的:

  • 写到一半崩溃 → 文件损坏
  • 损坏的JSON → Agent读取失败 → 任务卡住

为什么Agent系统特别需要

Agent的执行环境不稳定:

  • 模型API可能超时
  • Agent可能OOM
  • 系统可能重启

传统服务有优雅关闭机制,Agent没有。写文件就是和时间赛跑。

我们的防护

atomic_json_write先写临时文件再rename:

defatomic_json_write(filepath,data):tmp=filepath+'.tmp'withopen(tmp,'w')asf:json.dump(data,f)os.rename(tmp,filepath)# 原子操作

崩溃时最多丢一条消息,不会损坏文件。

结论:刚需。Agent崩溃是常态,非原子写入就是定时炸弹。

第四个问题:哈希校验——消息有没有被重复处理

现象

heartbeat每分钟检查inbox,如果同一消息被处理两次:

  • 同一任务被派发两次
  • 同一通知被发送两次

为什么Agent系统特别需要

Agent系统是异步的:

  • Agent可能重试
  • heartbeat可能重复触发
  • ws_server可能重复处理

没有哈希校验,重复消息就是常态。

我们的防护

inbox写入时计算MD5:

hashlib.md5(content.encode()).hexdigest()

处理时对比hash,相同则跳过。

结论:实用但有冗余。我们已经有processed_ids去重了,哈希校验是额外保障。

总结:按重要性排序

路径遍历 > 原子写入 > Token鉴权 > 哈希校验
防护防什么必要性
路径遍历Agent读写任意文件⭐⭐⭐ 必需
原子写入Agent崩溃导致文件损坏⭐⭐⭐ 必需
Token鉴权伪造消息/外部攻击⭐⭐ 实用
哈希校验重复处理⭐⭐ 实用

核心原则:Agent系统最重要的不是"防攻击",而是"防Agent自己搞坏数据"。

Agent不是恶意的,但它不稳定。路径遍历和原子写入是保护Agent不搞坏自己的数据,Token和哈希是防止Agent被外部干扰。

一句话总结

Agent系统的安全防护,优先级不是"防坏人",而是"防自己"。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 3:38:37

清唱就能生成歌曲的AI软件 2026实测横评

很多人都有过随口哼出一段旋律、清唱几句灵感的时刻,却因为不懂乐理、不会编曲,只能让想法停留在备忘录里。如今AI音乐工具已经能实现“清唱一键生成完整歌曲”,但市面上产品参差不齐,很多人踩过“识别跑偏、版权模糊、音质拉胯”…

作者头像 李华
网站建设 2026/7/23 3:35:49

基于大数据Python的软件漏洞风险预警管理系统

大数据与Python在软件漏洞风险预警管理中的背景随着信息技术的飞速发展,软件系统在现代社会的各个领域扮演着至关重要的角色,从金融交易到医疗健康,从智能家居到工业控制,软件已成为支撑社会运转的核心基础设施。然而,…

作者头像 李华
网站建设 2026/7/23 3:35:07

OpenClaw与LobsterAI:智能体开发平台核心技术解析

1. 项目背景与生态定位OpenClaw与LobsterAI作为网易有道推出的智能体开发平台,正在构建一个以"技能商店MCP双驱动"为核心的开放智能体生态系统。这个生态系统的核心价值在于通过标准化协议降低开发门槛,同时提供商业化通道,让开发者…

作者头像 李华
网站建设 2026/7/23 3:34:23

Grok、Kimi、Claude多模型整合:构建智能编码工作流实践

最近在折腾几个大模型工具时,我发现了一个挺有意思的现象:很多人把 Grok、Kimi、Claude 这些模型装进 Codex 后,第一反应是“怎么用起来这么别扭”。不是登录报错,就是输出不稳定,或者根本不知道该怎么把一次性的对话变…

作者头像 李华
网站建设 2026/7/23 3:31:07

lvs学习记录及心得

文章目录一、集群与分布式基础1.1 系统性能扩展方式1.2 集群的三种类型1.3 集群 vs 分布式——面试高频题二、LVS 架构原理2.1 LVS 是什么2.2 核心概念:五个 IP2.3 四种工作模式——LVS 的精华NAT 模式DR 模式(直接路由)TUN 模式(…

作者头像 李华