内容
# 阿耳戈斯
> *在希腊神话中,阿耳戈斯潘普忒斯是百眼巨人——一个无所不知的守护者,他从不睡眠。*
**阿耳戈斯是一款开源的安全扫描器,拥有多双眼睛。**
它将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 image scan |
## 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 # Node/React通过npm
```
### 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 Marketplace上安装**阿耳戈斯安全扫描器**。
---
## 快速入门
### 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/ YAML规则,跨Python(和未来Go客户端)共享
│ ├── 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)