Erodenn/fetch-guard
GitHub: Erodenn/fetch-guard
一个带有三层 prompt 注入防御机制的 MCP 服务器和 CLI 工具,用于获取网页并返回干净的、适配 LLM 的 markdown 内容。
Stars: 0 | Forks: 1
# Fetch Guard
[](https://pypi.org/project/fetch-guard/)
[](https://github.com/Erodenn/fetch-guard/actions/workflows/ci.yml)
[](https://pypi.org/project/fetch-guard/)
[](LICENSE)
一个 [MCP](https://modelcontextprotocol.io/) 服务器和 CLI 工具,用于获取 URL 并返回干净的、适配 LLM 的 markdown。一个专用提取管道负责清洗 HTML、提取结构化元数据、检测 prompt 注入尝试,并处理那些会破坏简单获取器的边缘情况:机器人拦截、付费墙、登录墙、非 HTML 内容类型,以及需要 JavaScript 渲染的页面。
核心问题很直接:LLM 需要网络内容,但原始 HTML 嘈杂且可能具有敌意。获取的页面可能包含隐藏文本、不可见 Unicode、屏幕外元素,以及嵌入在内容本身的直接 prompt 注入尝试。该管道在内容到达模型之前清除所有这些内容。
三层机制专门处理注入防御:
1. **提取前清洗** 移除隐藏元素(`display:none`、`visibility:hidden`、`opacity:0`)、通过 `