核心用法
safe-web 是一款专为 AI 场景设计的安全网页获取工具,提供 fetch 和 search 两大核心命令。fetch 命令支持从指定 URL 下载内容并自动扫描,可选 --output 保存文件、、--json 输出结构化数据、、--strict 严格模式(MEDIUM 级别即阻断)。search 命令依赖 Brave Search API,支持自定义结果数量与 JSON 输出。工具通过环境变量 BRAVE_API_KEY 配置搜索功能,推荐创建系统级 symlink 实现全局调用。
显著优点
1. 主动安全防护:集成 PromptGuard 扫描引擎,在内容进入 AI 上下文前拦截提示注入攻击,匹配 instruction_override、role_manipulation 等 8 类威胁模式。
2. Fail-closed 安全模型:扫描失败或依赖不可用时阻断内容而非放行,避免安全降级。
3. 内容净化处理:自动移除 HTML 中的 script、style 等危险标签,降低误报与攻击面。
4. 清晰的信号反馈:独创退出码 2 标识威胁阻断,便于自动化流程集成与安全审计。
5. 零执行承诺:仅获取与扫描,永不执行 JavaScript 或网页中的命令。
潜在缺点与局限性
- 动态内容盲区:不支持 JavaScript 渲染,无法获取 SPA 或动态加载内容。
- 搜索功能受限:依赖 Brave API key,免费 tier 有用量限制。
- 大页面截断:超长页面可能在文本提取阶段被截断。
- 单点依赖风险:核心安全能力完全依赖外部 PromptGuard 库,若其失效则工具失效。
- 网络超时固定:30 秒超时无法自定义,弱网环境可能失败。
适合的目标群体
- AI 应用开发者:需将网络内容安全注入 LLM 上下文的场景。
- 安全研究团队:进行网页内容安全分析与威胁情报收集。
- 自动化工作流构建者:需要可靠退出码与 JSON 输出的 CI/CD 或数据处理管道。
- 企业知识库维护者:从外部来源安全抓取文档与参考资料。
使用风险
- 依赖项维护:需同时维护 Python 3.8+、requests、beautifulsoup4 及 PromptGuard 的版本兼容性。
- API 可用性:搜索功能受 Brave API 服务稳定性与配额限制。
- 扫描盲区:PromptGuard 的检测规则可能滞后于新型攻击手法,存在漏报可能。
- 性能开销:每次获取增加一次本地扫描延迟,高频场景需评估吞吐影响。