关于 datahogo
datahogo 是面向开发者的开源安全扫描器,可在本机检查项目而不上传源文件。其命令行工具能扫描多种语言栈、解释发现的问题,也可通过 MCP 提供相同的扫描引擎。
主要功能
- 01在本机扫描多种语言栈的项目
- 02检测密钥和有漏洞的依赖项
- 03导出 JSON 和 SARIF 结果
- 04检查部署网址和数据库规则
- 05使用自有密钥生成 AI 解释
适用场景
- 01提交更改前扫描项目
- 02发现达到严重性阈值的问题时让 CI 失败
- 03检查部署网址的标头、SSL 和 CORS
- 04让 MCP Agent 检查扫描发现
MCP 相关
@datahogo/mcp 软件包提供扫描项目和网址、获取发现项及检查数据库规则的工具,并通过 stdio 传输连接 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 否 | 要扫描的目录,可以是绝对路径,也可以是相对于当前工作目录的路径。 |
| min_severity | enum | 否 | 仅包含严重程度不低于此级别的发现项。默认显示所有内容,包括低级别发现项。critical | high | medium | low | info |
详细介绍
为什么选择 Data Hogo
大多数安全扫描器都会要求你交出代码仓库的访问权限。Data Hogo 不会。它是一个完全在你的设备上运行的 CLI:在本地读取文件、查找漏洞,并将结果打印到终端。不会上传任何内容。无需账户,无需注册,也没有需要你信任的服务器。源代码就在这里,供你查阅。
它专为构建真实项目、但并非安全专家的开发者和 vibecoder 打造:它会用通俗易懂的语言解释扫描结果,并且在你愿意的情况下,使用你自己的 AI 密钥生成修复方案。
npx datahogo
就是这样。指定一个项目,它就会扫描当前目录。
快速开始
# Scan the current directory
npx datahogo
# Scan a specific path
npx datahogo scan ./my-app
# Fail CI if there are high-severity findings
npx datahogo scan --fail-on high
# Output SARIF for GitHub Code Scanning
npx datahogo scan --sarif > results.sarif
如果你不想每次都使用 npx,可以全局安装:
npm install -g datahogo
datahogo scan
检查内容
Data Hogo 会自动检测你的技术栈,并运行相应的分析器。JavaScript/TypeScript 生态系统的覆盖最全面;其他语言则提供一组重点检测高风险问题的检查项。
| 技术栈 | 检测示例 |
|---|---|
| JavaScript / TypeScript | Node、Next.js、React、Express、Fastify、NestJS — 注入、XSS、eval、不安全配置、易受攻击的依赖项、泄露的密钥 |
| Python | Django DEBUG、硬编码的 SECRET_KEY、通配符 ALLOWED_HOSTS、Flask/FastAPI 缺少身份验证、易受攻击的软件包 |
| Go | SQL 注入、命令注入、弱加密、硬编码凭据 |
| Java / Kotlin | 缺少授权机制的 Spring 端点、不安全的反序列化、XXE、SQL 注入 |
| PHP / Laravel | 批量赋值、SQL 注入、不安全的文件处理 |
| C# / .NET | 缺少 [Authorize]、BinaryFormatter 反序列化、XXE、弱哈希 |
| 移动端 | React Native、Expo、Flutter/Dart — 不安全存储、硬编码密钥 |
| Supabase | 行级安全策略缺口、暴露的服务密钥、不安全策略 |
无论项目使用哪种语言,都会进行密钥检测和依赖项扫描。
可选:深入分析
安装后,两个业界标准工具可提供更深入的分析。即使没有安装它们,Data Hogo 也能正常工作——它会使用内置检查项,并告知你缺少哪些工具。
datahogo doctor # shows what's installed and how to add the rest
AI 说明与修复(使用你自己的密钥)
每项检查结果都会附带通俗易懂的说明和建议修复方案。如果你想获得由 Claude 生成、内容更丰富且能结合上下文的修复方案,可以设置自己的 Anthropic API 密钥——调用会直接从你的设备发送到 Anthropic,费用由你承担。我们绝不会看到这些调用。
export ANTHROPIC_API_KEY=sk-ant-...
datahogo scan --explain
在 CI 中使用
GitHub Action
# .github/workflows/security.yml
name: Security
on: [push, pull_request]
permissions:
contents: read
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: datahogo/datahogo@main
with:
fail-on: high
检查结果会自动显示在代码仓库的 Security 选项卡中。有关所有输入项(path、url、upload-sarif),请参阅 action.yml。
其他 CI
如果发现的问题达到或超过你选择的严重性级别,Data Hogo 会以非零代码退出,因此可以直接接入任何流水线:
- run: npx datahogo scan --fail-on high --sarif > results.sarif
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: results.sarif
SARIF 输出会显示在代码仓库的 Security 选项卡中。
命令与选项
datahogo [scan] [path] Scan a directory (default: current directory)
datahogo doctor Check optional external tools
--json Machine-readable JSON output
--sarif SARIF 2.1.0 (GitHub Code Scanning)
--fail-on <severity> Exit 1 if findings >= critical|high|medium|low
--url <url> Also scan a deployed URL (headers, SSL, CORS)
--explain AI explanations (requires ANTHROPIC_API_KEY)
--all Include informational / non-production findings
--help, --version
在 Claude Code、Cursor 或 Claude Desktop 中使用(MCP)
@datahogo/mcp 将同一套扫描引擎作为 MCP 工具开放,因此你的 Agent 可以扫描项目、提取特定发现、检查已部署的 URL,或审查 Supabase/Firebase 规则,然后自行编写说明和修复方案,无需你承担任何 AI 费用。
claude mcp add datahogo -- npx -y @datahogo/mcp
对于 Cursor 或其他 MCP 客户端,将其指向同一条命令:npx -y @datahogo/mcp,使用 stdio 传输。
工具:scan_project、get_finding、scan_url、check_db_rules。
想在 Claude Code 中尽可能减少占用?请改为安装
Claude Code 技能——它只会教 Agent
运行 npx datahogo scan --json 并解读输出,无需启动 MCP 服务
进程:
npx skills add datahogo/datahogo/skills/datahogo
Data Hogo Cloud
CLI 免费,并且永远免费。如果你需要扫描历史记录、跨提交跟踪发现、自动创建修复拉取请求、定期扫描和团队仪表板,Data Hogo Cloud 可基于同一引擎提供这些功能。使用 CLI 从不需要 Data Hogo Cloud。
贡献
欢迎提交问题和拉取请求——尤其欢迎为任何语言添加新的检测规则。扫描引擎位于 packages/core,CLI 位于 packages/cli。
git clone https://github.com/datahogo/datahogo.git
cd datahogo
npm install
npm run build
npm test
支持项目
Data Hogo 免费且开源。如果它帮你避免发布存在漏洞的项目,不妨考虑赞助该项目——赞助资金将用于新增检测规则,并维持项目运转。
许可证
AGPL-3.0 © Data Hogo。你可以自由使用、阅读、运行和修改它。如果你将修改后的版本作为网络服务提供,就必须根据相同的许可证公开源代码。
为什么选择 Data Hogo
大多数安全扫描器都要求访问你的代码仓库。Data Hogo 不会。它是一款完全在你的计算机上运行的命令行工具:在本地读取文件、查找漏洞,并在终端中显示结果。不会上传任何内容。无需账户,无需注册,也无需信任任何服务。代码就在这里,任你查阅。
它面向发布真实项目、但并非安全专家的开发者和 vibecoder:它会用简单的语言解释发现,并可按需使用你自己的 AI 密钥生成修复方案。
npx datahogo
就这么简单。将它指向一个项目,即可扫描当前目录。
快速开始
# Escanear el directorio actual
npx datahogo
# Escanear una ruta específica
npx datahogo scan ./mi-app
# Romper el CI si hay hallazgos de severidad alta
npx datahogo scan --fail-on high
# Generar SARIF para GitHub Code Scanning
npx datahogo scan --sarif > results.sarif
如果你不想每次都使用 npx,可以全局安装:
npm install -g datahogo
datahogo scan
检查内容
Data Hogo 会自动检测你的技术栈,并运行相应的分析器。它对 JavaScript/TypeScript 生态的覆盖更深入;其他语言则提供一组针对性强、信号明确的检查。
| 技术栈 | 检测示例 |
|---|---|
| JavaScript / TypeScript | Node、Next.js、React、Express、Fastify、NestJS——注入、XSS、eval、不安全配置、存在漏洞的依赖、泄露的密钥 |
| Python | Django 的 DEBUG、硬编码的 SECRET_KEY、带通配符的 ALLOWED_HOSTS、未启用身份验证的 Flask/FastAPI、存在漏洞的软件包 |
| Go | SQL 注入、命令注入、弱加密、硬编码凭据 |
| Java / Kotlin | 未经授权的 Spring 端点、不安全反序列化、XXE、SQL 注入 |
| PHP / Laravel | 批量赋值、SQL 注入、不安全的文件处理 |
| C# / .NET | 缺少 [Authorize]、使用 BinaryFormatter 反序列化、XXE、弱哈希 |
| 移动端 | React Native、Expo、Flutter/Dart——不安全存储、硬编码密钥 |
| Supabase | 行级安全(Row Level Security)故障、暴露的 service keys、不安全策略 |
无论项目使用哪种语言,密钥检测和依赖扫描都会运行。
可选:更深入的分析
如果已安装两款行业标准工具,它们可以提供更深入的分析。Data Hogo 无需它们也能正常运行:它会使用内置检查,并告诉你缺少哪些内容。
datahogo doctor # muestra qué tienes instalado y cómo agregar lo demás
使用 AI 生成解释和修复建议(使用你自己的密钥)
每个发现都会附带通俗易懂的解释和开箱即用的修复建议。如果你想获得由 Claude 生成、更丰富且结合上下文的修复建议,可以配置自己的 Anthropic API 密钥:调用会直接从你的机器发送到 Anthropic,费用由你承担。我们绝不会看到这些调用。
export ANTHROPIC_API_KEY=sk-ant-...
datahogo scan --explain
在 CI 中使用
GitHub Action
# .github/workflows/security.yml
name: Security
on: [push, pull_request]
permissions:
contents: read
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: datahogo/datahogo@main
with:
fail-on: high
发现的问题会自动显示在仓库的 Security 选项卡中。查看 action.yml 了解所有选项(path、url、upload-sarif)。
其他 CI
当发现达到你所选严重性级别的问题时,Data Hogo 会以非零代码退出,因此可以用于任何流水线:
- run: npx datahogo scan --fail-on high --sarif > results.sarif
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: results.sarif
SARIF 结果会显示在仓库的 Security 选项卡中。
命令和选项
datahogo [scan] [ruta] Escanea un directorio (por defecto: el actual)
datahogo doctor Revisa las herramientas externas opcionales
--json Salida JSON legible por máquina
--sarif SARIF 2.1.0 (GitHub Code Scanning)
--fail-on <severidad> Sale con 1 si hay hallazgos >= critical|high|medium|low
--url <url> Escanea también una URL desplegada (headers, SSL, CORS)
--explain Explicaciones con AI (requiere ANTHROPIC_API_KEY)
--all Incluye hallazgos informativos / no productivos
--help, --version
在 Claude Code、Cursor 或 Claude Desktop 中使用(MCP)
@datahogo/mcp 将同一套扫描引擎作为 MCP 工具公开,因此你的 Agent 可以扫描项目、查询特定发现、检查已部署的 URL,或审计 Supabase/Firebase 规则;还可以自行编写解释和修复建议,无需你支付 AI 费用。
claude mcp add datahogo -- npx -y @datahogo/mcp
对于 Cursor 或其他 MCP 客户端,将其指向同一条命令:npx -y @datahogo/mcp,使用 stdio 传输。
工具:scan_project、get_finding、scan_url、check_db_rules。
如果你更倾向于在 Claude Code 中使用更轻量的方式,可以改为安装
Claude Code 技能——它只会教会
Agent 运行 npx datahogo scan --json 并解读输出,无需
启动 MCP 服务进程:
npx skills add datahogo/datahogo/skills/datahogo
Data Hogo Cloud
CLI 免费且永远免费。如果你需要扫描历史记录、跨提交跟踪发现、自动修复拉取请求、定期扫描和团队仪表板,Data Hogo Cloud 基于同一套引擎提供了这些功能。使用 CLI 永远不需要 Data Hogo Cloud。
参与贡献
欢迎提交 issues 和拉取请求——尤其欢迎为任何语言新增检测规则。扫描引擎位于 packages/core,CLI 位于 packages/cli。
git clone https://github.com/datahogo/datahogo.git
cd datahogo
npm install
npm run build
npm test
支持项目
Data Hogo 免费且开源。如果它曾帮你避免发布漏洞,不妨考虑赞助该项目——这能为新增检测规则提供资金,并帮助项目持续发展。
许可证
AGPL-3.0 © Data Hogo。你可以自由使用、阅读、运行和修改它。如果你将修改后的版本作为网络服务提供,则必须按照相同的许可证公开你的代码。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。