核心用法
safe-web 是一款面向AI系统的网络安全防护工具,通过命令行界面提供两种核心功能:
1. URL内容安全抓取(fetch)
- 下载指定网页并提取纯文本内容
- 使用BeautifulSoup移除脚本、样式等潜在风险元素
- 通过PromptGuard深度扫描检测提示注入攻击
- 支持JSON输出、文件保存、严格模式等灵活配置
2. 网页安全搜索(search)
- 集成Brave Search API获取搜索结果
- 对每个结果的标题和描述进行独立扫描
- 自动过滤包含威胁的条目,仅返回清洁内容
- 支持结果数量控制和结构化输出
关键安全特性
| 特性 | 说明 |
|------|------|
| **故障闭合(Fail-closed)** | 扫描组件异常时拒绝返回内容,而非放行 |
| **静态提取** | 不执行JavaScript,仅解析静态HTML |
| **内容脱毒** | 预过滤脚本、样式后再扫描,降低误报 |
| **分级响应** | 0/1/2退出码区分成功/错误/威胁三种状态 |
显著优点
- 零执行风险:设计原则明确禁止执行获取到的任何代码
- 分层防护:网络层+解析层+语义扫描层三重过滤
- AI场景专精:针对大语言模型上下文窗口的注入攻击优化
- 自动化友好:JSON输出和退出码设计便于CI/CD集成
局限性与注意事项
- 动态内容盲区:无法获取SPA应用、需要JS渲染的页面内容
- API依赖:搜索功能必须配置Brave API密钥(免费额度1000次/月)
- 语义覆盖边界:PromptGuard的检测能力受限于其训练语料,新型攻击模式可能存在滞后识别
- 性能权衡:扫描环节引入延迟,高频批量场景需评估吞吐量
适合人群
- 构建AI Agent需要外接网络能力的开发者
- 对提示注入风险敏感的企业级AI应用
- 自动化内容采集工作流的安全加固
- 任何"不可信URL→AI上下文"的数据流转场景
常规风险提示
- 该工具不替代浏览器沙箱、WAF等传统安全层
- 严格模式(
--strict)可能过度拦截,需按业务敏感度选择 - 网络超时默认30秒,慢响应站点需调整预期
- 依赖PromptGuard的本地安装状态,环境配置错误会导致服务中断