内容
# 阿耳戈斯
> *在希腊神话中,阿耳戈斯潘诺普忒斯是一位百眼巨人——一位永不眠的万能守护者。*
**阿耳戈斯是一款具有多重视角的开源安全扫描器。**
它将 20 多种行业标准的扫描工具——Semgrep、Trivy、OWASP ZAP、Bandit、Gitleaks、tfsec、ansible-lint、KICS、Checkov、TruffleHog 等等——集中在一个命令行界面(CLI)和 MCP 服务器后面。通过一条命令即可运行 SAST、DAST、SCA、密钥扫描、IaC、Terraform 和 Ansible 安全审计。无需 AI 订阅。
[](https://github.com/OkiriGabriel/argus-codescan-mcp/actions/workflows/ci-python.yml)
[](https://github.com/OkiriGabriel/argus-codescan-mcp/actions/workflows/ci-npm.yml)
[](https://github.com/OkiriGabriel/argus-codescan-mcp/actions/workflows/ci-go.yml)
[](LICENSE)
---
## 使用阿耳戈斯的两种方式
### 1 — 独立 CLI(无需 AI)
```bash
argus scan sast /my/project
argus scan terraform /my/infra
argus scan all /my/project --fail-on high
argus tools
```
适用于任何人。只需安装阿耳戈斯和开源扫描器工具。
### 2 — MCP 服务器(AI 辅助,可选)
```bash
argus mcp # 启动 MCP 服务器
```
连接 Cursor、Claude Desktop 或任何与 MCP 兼容的 AI 助手,并通过自然语言驱动扫描。AI 订阅适用于 AI 客户端——阿耳戈斯本身始终免费。
---
## 阿耳戈斯扫描的内容
| 类别 | 工具 |
|----------|-------|
| **静态应用安全测试(SAST)** | Semgrep · Bandit · ESLint-security · flake8-bandit |
| **动态应用安全测试(DAST)** | OWASP ZAP · Nikto |
| **软件成分分析(SCA)** | Trivy · Safety · pip-audit · npm audit |
| **密钥扫描** | Gitleaks · detect-secrets · TruffleHog |
| **基础设施即代码(IaC)** | Checkov · Trivy config · Terrascan · KICS |
| **Terraform** | tfsec · tflint · terraform validate · KICS · Checkov |
| **Ansible** | ansible-lint · KICS · Checkov |
| **容器** | Trivy 镜像扫描 |
## MCP 工具(适用于 AI 客户端)
| 工具 | 功能 |
|------|-------------|
| `scan_sast` | 静态代码分析——所有语言 |
| `scan_dast` | 运行中的 Web 应用程序的动态扫描 |
| `scan_sca` | 漏洞依赖项检测 |
| `scan_secrets` | 泄露的 API 密钥、令牌、密码 |
| `scan_iac` | Terraform、K8s、Dockerfile、Helm、Ansible 配置错误 |
| `scan_terraform` | 深入 Terraform 扫描(tfsec、tflint、validate、KICS) |
| `scan_ansible` | Ansible 剧本和角色安全扫描 |
| `scan_container` | 容器镜像 CVE 扫描 |
| `scan_all` | 并行执行所有操作 |
| `check_tools` | 列出已安装的扫描器 |
---
## 安装
选择与您的项目匹配的软件包:
| 您的项目 | 安装 | 扫描命令 |
|--------------|---------|--------------|
| **React / Next.js / Node** | `npm install -D argus-codescan` | `npx argus-codescan scan all .` |
| **Java, PHP, Flutter, Terraform, Ansible** | `pip install argus-languages` | `argus-languages scan /path/to/project` |
| **完整套件(MCP、DAST、IaC 工具)** | `pip install argus-scan` | `argus scan all /path/to/project` |
### React / Node(npm)——无需 Python
```bash
npm install -D argus-codescan
npx argus-codescan scan sca . # 依赖项(npm audit)
npx argus-codescan scan sast . # 源代码(JS/TS)
npx argus-codescan scan secrets . # API 密钥、令牌
npx argus-codescan scan all . # 所有操作
# CSV 报告自动写入(或使用 --output 设置路径)
npx argus-codescan scan all . --output ./reports/security.csv
```
添加到 `package.json`:
```json
{
"scripts": {
"security:scan": "argus-codescan scan sca . --output ./reports/deps.csv",
"security:code": "argus-codescan scan sast . --output ./reports/code.csv",
"security:secrets": "argus-codescan scan secrets . --output ./reports/secrets.csv",
"security:all": "argus-codescan scan all . --output ./reports/full.csv"
}
}
```
### Java, PHP, Flutter, IaC(pip —— 轻量级)
```bash
pip install argus-languages
# 单个命令扫描所有支持的语言 / IaC
argus-languages scan /path/to/project
# 示例
argus-languages scan ./my-java-app
argus-languages scan ./terraform
argus-languages scan ./flutter-app
```
### 完整阿耳戈斯 CLI + MCP(pip)
```bash
pip install argus-scan
# 包含所有 Python 原生扫描器:
pip install "argus-scan[all-tools]"
argus scan code /path/to/project # 内置多语言(使用 argus-languages)
argus scan sast /path/to/project # + Semgrep, Bandit, ESLint(如果已安装)
argus scan terraform /path/to/infra
argus scan ansible /path/to/playbooks
argus scan all /path/to/project --fail-on high
argus tools # 显示已安装的扫描器
argus mcp # 为 Cursor / Claude 启动 MCP 服务器
```
### 零安装
```bash
uvx argus-scan # 通过 uv 实现完整的 Python CLI
npx argus-codescan # 通过 npm 实现 Node/React
```
### Go(单个二进制文件)
```bash
go install github.com/OkiriGabriel/argus-codescan-mcp/packages/go/cmd/argus@latest
```
### Shell 脚本
```bash
curl -sSfL https://raw.githubusercontent.com/OkiriGabriel/argus-codescan-mcp/main/packages/shell/install.sh | sh
```
### Docker(所有扫描器捆绑)
```bash
docker pull ghcr.io/okirigabriel/argus-codescan-mcp:latest
# MCP 服务器(添加到 ~/.cursor/mcp.json — 参见 packages/docker/README.md)
docker run --rm -i -v "$(pwd):/workspace" ghcr.io/okirigabriel/argus-codescan-mcp
# 一次性 CLI 扫描
docker run --rm -v "$(pwd):/workspace" ghcr.io/okirigabriel/argus-codescan-mcp \
scan all /workspace
```
完整 Docker 指南:[packages/docker/README.md](packages/docker/README.md)
### VS Code 扩展
在 VS Code 市场中安装 **阿耳戈斯安全扫描器**。
---
## 快速入门
### React / Next.js
```bash
npm install -D argus-codescan
npm run security:all # 在添加脚本后 — 参见上方的安装部分
```
### Flutter / Java / PHP / Terraform
```bash
pip install argus-languages
argus-languages scan /path/to/project
```
### 完整 CLI(所有扫描类型)
```bash
pip install "argus-scan[all-tools]"
argus tools
argus scan code /path/to/project
argus scan terraform /path/to/infra
argus scan all /path/to/project --format table
argus scan all /path/to/project --fail-on high
```
### MCP(Cursor / Claude Desktop)
添加到 `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"argus": { "command": "argus", "args": ["mcp"] }
}
}
```
或使用 `uvx` 零安装:
```json
{
"mcpServers": {
"argus": { "command": "uvx", "args": ["argus-scan", "mcp"] }
}
}
```
然后询问您的 AI:
```
扫描 /path/to/myproject 以查找安全漏洞
此存储库中是否有硬编码的密钥?
扫描我的 Kubernetes 清单文件是否有配置错误
运行完整的安全审计并给我一个优先修复列表
```
---
## 安装扫描器
运行 `argus tools` 以查看已安装的内容。常见工具的快速安装:
```bash
# macOS
brew install semgrep trivy gitleaks trufflehog tfsec tflint kics
pip install bandit safety pip-audit detect-secrets checkov ansible-lint
docker pull ghcr.io/zaproxy/zaproxy:stable # OWASP ZAP
# Linux
pip install "argus-scan[all-tools]"
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
```
完整指南:[docs/tool-setup.md](docs/tool-setup.md)
---
## 我需要令牌或订阅吗?
**不需要。** 阿耳戈斯使用的所有扫描器都是开源的,并在本地运行:
| 层 | 成本 | 需要 |
|-------|------|---------|
| 阿耳戈斯 CLI | 免费 | Python 3.10+ |
| Semgrep, Trivy, Bandit, tfsec… | 免费 | 本地安装 |
| 阿耳戈斯 MCP 服务器 | 免费 | Python 3.10+ |
| AI 客户端(Cursor, Claude) | 需要订阅 | 仅当您想要 AI 驱动的扫描 |
AI 订阅适用于 **AI 客户端**,而不适用于阿耳戈斯。
---
## 仓库结构
```
argus-codescan-mcp/
├── packages/
│ ├── python/ pip install argus-scan
│ │ └── src/argus/
│ │ ├── cli.py 独立 CLI
│ │ ├── server.py MCP 服务器
│ │ └── tools/ SAST, DAST, SCA, 密钥扫描, IaC, …
│ ├── languages/ pip install argus-languages ← Java, PHP, Terraform, Ansible, 所有代码
│ │ └── src/argus_languages/
│ │ └── bundled_rules/ 跨 Python(和未来 Go 客户端)共享的 YAML 规则
│ ├── npm/ npx argus-codescan (Node.js / JS-TS 仅限)
│ ├── go/ go install .../argus@latest
│ ├── shell/ curl | sh 安装程序
│ └── docker/ ghcr.io/okiriGabriel/argus-codescan-mcp
├── extensions/
│ └── vscode/ 阿耳戈斯安全扫描器 VS Code 扩展
├── docs/
│ ├── getting-started.md
│ ├── architecture.md
│ ├── api-reference.md
│ └── tool-setup.md
└── .github/
├── workflows/ Python、npm、Go、VS Code、Docker 的 CI
└── ISSUE_TEMPLATE/
```
---
## 文档
| 文档 | 描述 |
|-----|-------------|
| [快速入门](docs/getting-started.md) | 安装、配置、首次扫描 |
| [架构](docs/architecture.md) | 阿耳戈斯内部工作原理 |
| [API 参考](docs/api-reference.md) | 所有 MCP 工具、参数、模式 |
| [工具设置](docs/tool-setup.md) | 在所有平台上安装每个扫描器 |
| [贡献](CONTRIBUTING.md) | 添加扫描器、客户端和修复 |
| [安全策略](SECURITY.md) | 报告漏洞 |
---
## 贡献
欢迎所有贡献——新的扫描器、新的语言客户端、错误修复、文档。
参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
MIT —— 参见 [LICENSE](LICENSE)