SquirrelScan
面向编码智能体的网站 QA 工具:跨 SEO、性能、安全、无障碍与智能体体验的 282 条审计规则,为你的 AI 编码智能体给出精确修复指引。
证据显示权限克制(CI 最小权限、NO_TELEMETRY),依赖审计有 workflow 并用 overrides 固定多个已知漏洞依赖,但 audit:dependencies 忽略了 7 个 GHSA,未在文件中说明缓解理由,故 dependency_security 扣分不满分;遥测默认开启但可关闭且字段受限,扣 user_confirmation 一分;数据流(云端 MCP、OAuth/API key、遥测)在 README 有说明但云端实现私有,data_flow_transparency 与 sensitive_data_handling 仅及格;回滚/恢复仅提 checkpoint 恢复,self-update 无回滚说明;DCO 签署与 CodeQL、secret-scan 支持来源治理,但发布者身份未验证,source_attribution 不给满分。
测试文件显示对选项合并、超时钳制、WAF 误报等有细致的单测覆盖,CI 有 suites 一致性检查,自洽性良好;但提供的样本只覆盖少数模块,failure_messages 未见到具体证据,仅给 1 分。
README 明确多受众(开发者、CI、coding agent、MCP 客户端)与多环境(macOS/Linux/Windows/npm/Bun 源码构建),场景划分清晰;quick/full 档位与 --rule-include 提供精度控制;但对旧版本、非 Bun 环境的兼容边界未说明,capability_boundaries 部分依赖外部文档。
信息架构清晰(特性表、规则分类表、各 agent 安装章节、安装说明三平台齐全,LICENSE 完整);但 CHANGELOG 本身未见(仅有 release 脚本测试),known_limitations 无专门章节,私有云端服务与开源范围的界限只在 README 一段带过,均扣分;商标文件被引用但内容未见。
七种输出格式含 LLM 专用格式与内嵌修复指引,输出可用性证据充分;282 规则的边际价值声称合理但无执行验证;成本方面有 quick 档与增量爬取,但云审计的 credits/定价机制仅提及未说明。
README 声称可追溯到测试、golden 数据、CI workflow,引用 issue 编号(#513、#267、#1066)便于追踪;但示例报告、规则文档、遥测声明均指向外部站点,本仓库内无法交叉印证,cross_source_corroboration 仅 1 分。
- 静态审查,未执行任何命令;所有结论基于仓库文件。
- audit:dependencies 显式忽略 7 个已知漏洞通告,使用前应自行确认这些依赖是否可达敏感路径。
- 遥测与安装注册默认开启,需主动设置 NO_TELEMETRY 或配置关闭。
- 云端 MCP、报表发布与 cloud worker 为私有实现,审计数据流向无法从本仓库核实。
- curl | bash 安装脚本未在提供的文件中展示,安装前应审查 install.sh 内容。
- 无可见 CHANGELOG 与已知限制章节,版本行为差异需自行核对。
这个 Agent 能做什么,适合哪些场景?
SquirrelScan 是一个开源 CLI 工具,用于审计网站的 SEO、性能、安全、无障碍和智能体体验(AX)问题,并生成可供编码智能体执行的精确修复说明。它包含一个高性能、内存优化的爬虫和 282 条规则,覆盖 21 个类别,从可抓取性到 WCAG 无障碍覆盖。支持 CLI 直接运行、云审计、MCP 服务器(mcp.squirrelscan.com)、以及面向 Claude Code、Cursor、Codex 和 opencode 的插件与技能。输出格式涵盖控制台、JSON、HTML、Markdown、Text、LLM 和 XML。本仓库开源了完整的本地 CLI、爬虫、审计引擎、规则、报告生成器与文档站点;托管 API、网站、仪表盘和云端 worker 为独立的私有服务。
运行 squirrel audit example.com 后,工具会爬取目标站点,执行 282 条规则(如 robots.txt 与 sitemap 校验、LCP/CLS/TTFB 性能提示、HTTPS/HSTS/CSP 安全检查、61 条 WCAG 无障碍规则、GPTBot/Claude-User 等爬虫是否获得同等内容的 AX 检查),并为各类别打分。可用 -f html 生成报告、--format llm 输出管道给 Claude、-C quick 做快速探测、--rule-include ax,performance 只跑指定规则。通过 squirrel auth login 登录后可使用云审计与云端渲染。作为 MCP 服务器接入编码智能体后,可执行审计、定位源文件、批量修复并反复重审的完整闭环。
- 独立开发者在发布新站点后,用 squirrel audit example.com 快速发现 SEO 与性能回归。
- Claude Code 用户安装 squirrelscan 插件,让智能体自动审计本地项目站点、映射问题到源文件并批量修复。
- Cursor 用户通过一键安装 MCP 服务器,在 IDE 内对客户的网站进行可共享的 HTML 报告审计。
- SEO 顾问使用增量爬取(ETag、Last-Modified、内容哈希、断点续爬)定期跟踪大型站点的演变并对比历史爬取结果。
- 安全团队利用站点完整性规则检测钓鱼工具包、注入的桥页、混淆脚本和泄露的凭据。
- AI 产品团队审计其网站对 GPTBot、Claude-User 等智能体的友好度,包括 AGENTS.md、llms.txt 与 Markdown 响应。
这个 Agent 有哪些优点和局限?
- 282 条规则、21 个类别,覆盖含独特的智能体体验(AX)类别——检查 GPTBot/Claude-User 是否获得与浏览器相同的内容、AGENTS.md、llms.txt 等,这是多数审计工具没有的维度。
- 多种交付形态:单二进制零依赖 CLI、远程 MCP 服务器、Claude Code 插件、Agent Skills,适配不同工作流。
- 工程化细节扎实:ETag/Last-Modified/内容哈希的智能增量爬取与断点续爬、爬取历史对比、七种输出格式、shell 补全与自更新。
- MIT 许可,完整的 CLI、爬虫、审计引擎、规则和报告生成器均开源可审计。
- 云端审计、云端渲染、仪表盘等依赖私有托管服务,需要 squirrel auth login 和可能的账户/额度,并非全部本地。
- 源码开发绑定 Bun 1.4.0 运行时,Node.js 环境无法直接开发构建。
- 默认开启遥测(虽可关闭且声称极简),对隐私敏感团队需额外配置 NO_TELEMETRY。
- 贡献要求 Developer Certificate of Origin 签署(git commit -s),对贡献者有额外流程成本。
如何安装或部署这个 Agent?
macOS/Linux:curl -fsSL https://install.squirrelscan.com | bash;Windows:iwr -useb https://install.squirrelscan.com/install.ps1 | iex;npm:npm install -g squirrelscan;免安装运行:npx squirrelscan audit example.com。接入 Claude Code 插件:/plugin marketplace add squirrelscan/squirrelscan 然后 /plugin install squirrelscan@squirrelscan;或仅添加 MCP 服务器:claude mcp add --transport http squirrelscan https://mcp.squirrelscan.com/mcp。Cursor 一键安装徽章或手动在 ~/.cursor/mcp. 添加 {"mcpServers":{"squirrelscan":{"url":"https://mcp.squirrelscan.com/mcp"}}}。源码开发需要 Bun 1.4.0:git clone 仓库后 bun install --frozen-lockfile。
如何使用这个 Agent?
基础审计:squirrel audit example.com;生成 HTML 报告:squirrel audit example.com -f html -o report.html;管道给 Claude 分析:squirrel audit example.com --format llm | claude;快速探测:squirrel audit example.com -C quick;只跑指定规则:squirrel audit example.com --rule-include ax,performance;登录云服务:squirrel auth login。安装技能:npx skills add squirrelscan/squirrelscan,然后在智能体中说"Use the audit-website skill to audit this site and fix all issues but only crawl 10 pages"。关闭遥测:squirrel self settings set telemetry false 或设 NO_TELEMETRY=1。