核心用法
safe-web 是一个面向 AI 系统的安全增强型网页工具,封装了标准的网络抓取(fetch)和搜索(search)功能,在返回内容前强制通过 PromptGuard 进行注入攻击扫描。工具提供 fetch 与 search 两大命令,支持 --strict 严格模式、--json 自动化输出、--output 文件保存等常用选项。
显著优点
1. 主动防御架构:不同于原生 web_fetch,所有内容必经 PromptGuard 扫描,可识别 instruction override、role manipulation、system impersonation 等 8 类 prompt 注入模式。
2. Fail-closed 设计:若 PromptGuard 加载失败或扫描异常,工具直接报错(exit code 1),绝不返回未验证内容,避免"带病运行"。
3. 内容预净化:使用 BeautifulSoup 预先剥离 HTML 中的 scripts、styles,降低误报率,同时减少上下文噪声。
4. 清晰的安全信号:exit code 2 专用于"威胁拦截",便于上游自动化流程做分流处理;控制台输出附带结构化 SHIELD 报告。
5. 零执行承诺:仅做静态文本提取,绝不执行 JavaScript 或解析页面内的可执行指令。
潜在缺点与局限性
- 功能约束:
fetch不执行 JavaScript,动态渲染站点(SPA、重度 React/Vue 应用)可能抓取失败;search依赖 Brave Search API,需自备 API key。 - 性能损耗:双层网络请求(下载 + 扫描)+ 文本解析,延迟高于原生工具;大页面会截断,存在信息完整性风险。
- 误报可能:激进的安全规则可能将合法的技术文档(如包含 "ignore previous instructions" 示例的教程)误判为攻击。
- 依赖链长:需预先安装 PromptGuard 及 Python 生态(requests、beautifulsoup4),对纯容器/最小化环境不够友好。
适合人群
- 需要让 LLM 处理不可信网页内容的开发者(公开爬虫、用户提交的 URL)
- 构建 AI Agent 平台、RAG 系统的安全工程师
- 对提示词注入有合规要求的金融、医疗、政务 AI 应用
常规风险
- API key 泄露:Brave API key 若硬编码或写入日志,存在密钥泄露风险
- 网络侧信道:30 秒默认超时可能被用于探测内网存活主机(时间侧信道)
- PromptGuard 绕过:作为基于规则的扫描器,面对编码绕过、多语言混淆、图像隐写等高级攻击可能存在盲区
- DoS 向量:大页面截断逻辑若被利用,可导致扫描资源耗尽