新闻详情

新闻详情

首页 / 资讯中心 / 详情

无头浏览器安全必修课:Moli防御SSRF与不可信网页的完整防护清单

发布时间:2026/10/3 12:35:08来源:尧图网络
无头浏览器安全必修课:Moli防御SSRF与不可信网页的完整防护清单
无头浏览器安全必修课Moli防御SSRF与不可信网页的完整防护清单【免费下载链接】moliBest headless browser for AI agents. Lite, Fast, High-Compatibility. Built in Rust项目地址: https://gitcode.com/gh_mirrors/moli/moliMoli 是一个用 Rust 编写的开源无头浏览器headless browser专为 AI agent 抓取、解析和自动化操作网页而设计。当你的 AI agent 自主访问不可信网页时SSRF服务器端请求伪造是头号风险。本文梳理 Moli 内置的完整安全防护清单私有网络阻断、URL 协议路由、robots.txt 合规、Profile 存储隔离帮你安全地部署 agent 工作流。为什么 AI agent 的无头浏览器是安全高危区传统爬虫只访问你指定的 URL而 AI agent 会自主决定访问哪里、执行页面里的什么脚本。一旦网页或 prompt 注入攻击诱导 agent 请求http://169.254.169.254云元数据接口或http://127.0.0.1:8080本机服务浏览器内核就可能变成攻击者的内网探针——这就是无头浏览器场景下的 SSRF。Moli 的答案是把安全边界内建到浏览器内核的分层设计中而不是指望上层框架自觉。防护层一私有网络阻断一键拦截内网探测Moli 提供--block-private-networks开关启用后所有网络传输在连接前逐地址检查命中即拒绝回环地址127.0.0.0/8、::1私有网段10/8、172.16/12、192.168/16链路本地、广播、未指定、组播地址CGNAT 段100.64.0.0/10、文档保留段、IPv6 ULA 等该策略定义在 moli-curl/src/network_policy.rs有两个值得新手注意的工程细节DNS 全答案校验一个域名解析出的任何一个IP 是内网地址整个解析结果直接拒绝杜绝公网 IP 混入内网 IP的选择性绕过IPv4 映射地址检查::ffff:127.0.0.1这类伪装成 IPv6 的回环地址也会被拆开识别并拦截。此外还支持通过block_cidrs追加自定义 CIDR 黑名单例如精确屏蔽云厂商元数据地址段。防护层二URL 协议路由把 file:// 挡在 HTTP 传输之外URL 解析合法 ≠ 浏览器允许加载它。Moli 用一个独立的策略层 moli-url-policy 把这两件事分开要求每个调用方先声明自己在做什么操作导航 / Fetch / XHR / WebSocket / Service Worker操作允许的协议HTTP 网络传输libcurl仅 HTTP / HTTPS导航HTTP(S)、data:、blob:、about:blankfile:需显式授权WebSocket仅ws:/wss:关键在于即使file://被授权用于导航它也永远不会被交给 libcurl 当 HTTP 请求发出——HTTP 传输层有一道独立的最终校验函数ensure_http_network_transport_url兜底见 moli-url-policy/src/route.rs。这直接封堵了一类隐蔽攻击诱导页面发起fetch(file:///etc/passwd)试图借浏览器进程读取本地文件。防护层三robots.txt 合规让 agent 访问有章法以 CLI 方式抓取网页时Moli 支持--obey-robots标志实现逻辑在 moli/src/robots.rs只检查顶层导航页面拉起的子资源不做检查因为半加载的文档比明确拒绝是更糟糕的答案robots.txt 按origin 作用域抓取使用空 cookie jar 且用完即弃不会污染会话robots.txt 无法读取时按 RFC 9309 将整个 origin 视为禁止不可达不等于无限制宁可保守也不放行。对运营 agent 集群的团队来说这一条是对外合规的最低成本保障。防护层四Profile 隔离与存储边界AI agent 长期运行时不可信网页留下的 localStorage、IndexedDB、cookie 都是污染源。Moli 通过 moli-browser-profile 实现Profile 分区隔离按 partition id 划分独立存储空间互不串扰Profile 文件锁同一 profile 目录被并发占用时会显式失败而不是静默写坏状态相关 CLI 行为测试见 moli/tests/profile_lock_cli.rs持久化默认关闭--profile-dir、--http-cache-dir、--cookie-file均需显式开启一次性的抓取任务默认不留任何磁盘痕迹。防护层五用安全测试套件持续验证Moli 的 CORS、cookie 隔离、同源策略、沙箱 preload 等行为由专门的回归测试持续守护核心测试在 moli-core/tests/fetch/security.rs。该套件在本地临时起双 origin 服务验证跨源请求的Origin头、cookie 是否被正确携带或拒绝、CORS 预检失败时请求是否被拦截等保证不可信网页在 Moli 里的行为边界稳定可信。快速防护清单部署前逐项核对 ✅#防护措施使用方式状态1私有网络阻断--block-private-networks默认关闭对外抓取强烈建议开启2自定义 CIDR 黑名单block_cidrs配置按需如屏蔽元数据地址段3URL 协议路由内核内置默认生效无需配置4file:// 访问授权仅显式 BrowserGranted 时启用默认拒绝5robots.txt 合规--obey-robots默认关闭对外访问建议开启6Profile 存储隔离--profile-dir按任务划分默认不留持久化状态7行为回归测试内置安全测试套件随版本持续运行小结给 AI agent 配无头浏览器安全不该是事后补丁Moli 把SSRF 阻断、协议路由、robots 合规、存储隔离做成内核级的一等公民配合 README.md 中列出的资源策略、连接限制、超时等可控运维选项你可以用一张简单清单就把 agent 的浏览器行为边界锁死。【免费下载链接】moliBest headless browser for AI agents. Lite, Fast, High-Compatibility. Built in Rust项目地址: https://gitcode.com/gh_mirrors/moli/moli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

中望3D钣金:轮廓凸缘 2026/10/3 12:52:02

中望3D钣金:轮廓凸缘

首先创建一个基体平板,然后选择要创建非标准造型法兰的边。单击“编辑轮廓”按钮

阅读更多 →
苹果Mac电脑玩我的世界没有版本?用PCL-R即可! 2026/10/3 12:51:30

苹果Mac电脑玩我的世界没有版本?用PCL-R即可!

玩《我的世界》的 Mac 用户应该都懂这个痛点:PCL2 启动器原生只支持 Windows,官方没有 Mac 版本。 网上方案翻遍了,无非几种: 装 Parallels / VMware 虚拟机,开销巨大,M 芯片 Mac 发热严重、掉帧&#xff…

阅读更多 →
中望3D钣金:拉伸凸缘 2026/10/3 12:51:23

中望3D钣金:拉伸凸缘

该命令通过草图创建凸缘(支持开放和闭合草图)1.创建一个开放草图2.拉伸凸缘注意:若草图已有半径,半径选项将不生效.带闭合草图轮廓的拉伸凸缘注意:如果切口点是空白的,那么它将创建一个不能展开的封闭形状 …

阅读更多 →
LeetCode.1047.删除字符串中的所有相邻重复项 2026/10/3 12:50:05

LeetCode.1047.删除字符串中的所有相邻重复项

题目给出由小写字母组成的字符串 s,重复项删除操作 会选择两个相邻且相同的字母,并删除它们。在 s 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。就是用栈去遍历,碰上…

阅读更多 →
html学习第二天 2026/10/3 12:50:05

html学习第二天

1.ctrl shift /- 使vscode界面扩大/缩小 相对路径:相对于当前位置 2.本地绝对路径:src“E:/demo1/demo2/xxx.jpg” 3.网络绝对路径:src“图片地址,例如: https://i-blog.csdnimg.cn/direct/e7ea10edf06c4907a2ae713e0…

阅读更多 →
LeetCode.020.有效的括号 2026/10/3 12:49:18

LeetCode.020.有效的括号

题目给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉