PhillipC05/tpt-security-test
GitHub: tpt-solutions/tpt-security-test
集成多种扫描引擎与云服务审计能力的开源合规平台,将安全发现映射至 SOC 2、ISO 27001 和 HIPAA 控制项并生成可分享报告。
Stars: 0 | Forks: 0
# TPT Security Platform
一个开源的安全评估与合规审计平台。支持扫描目标、通过 API 审计您的基础设施、在内置的 Web UI 中浏览结果,并生成映射到 SOC 2、ISO 27001 和 HIPAA 控制的 HTML/PDF/JSON 报告。
```
# 启动 web UI + API server
tpt serve
# 运行扫描(web UI 实时更新)
tpt scan example.com --framework soc2,iso27001
# 审计您的 AWS account
tpt audit --provider aws --framework soc2,hipaa
# 生成可分享的 PDF 报告
tpt report --format html,pdf
```
### Web UI
`tpt serve` 会在 `http://localhost:4242` 启动一个浏览器仪表板 —— 支持暗黑模式,无需构建步骤。
| 仪表板 | 任务详情 | 发现详情 |
|-----------|-----------|----------------|
| 所有扫描/审计任务、待处理的发现数量、框架覆盖率 | 严重程度细分、按状态过滤、完整的发现表格 | 可展开的证据、修复建议、合规控制、行内状态更新 |
Web UI 使用 **HTMX** 进行实时更新(发现详情内联展开,状态更改立即保存),并使用 **Tailwind CSS + DaisyUI** 进行样式设计。
## 功能
**扫描 (`tpt scan`)**
- Nuclei(内嵌 SDK) — 基于模板的漏洞检测
- Naabu — 具备合规感知严重程度的端口扫描
- OWASP ZAP — 通过 REST API 进行 Web 应用扫描 (`--zap-url`)
- TLS 检查器 — 证书过期、弱加密算法、遗留协议检测 (`--scope tls`)
- 邮件安全 — SPF、DKIM、DMARC DNS 检查 (`--scope email`)
- Gitleaks — 源代码树中的硬编码机密 (`--secrets-dir`)
- govulncheck / osv-scanner — 依赖项 CVE 检测 (`--deps-dir`)
- Dalfox — 主动 XSS 和开放重定向检测
**文件导入 (`tpt import`)**
- Nessus (`.nessus`)、Burp Suite XML、OpenVAS/GVM XML
**内部审计 (`tpt audit`)**
| 类别 | 提供商 |
|----------|-----------|
| 云服务 | AWS · GCP · Azure · DigitalOcean · Hetzner · Cloudflare · Vercel · Supabase · Wasabi · Backblaze |
| 身份验证 | Okta · Azure AD / Entra · Google Workspace · Auth0 · Keycloak · Active Directory / LDAP |
| VCS | GitHub · GitLab · Bitbucket · Gitea / Forgejo |
| 基础设施 | Linux (SSH) · Kubernetes |
**合规框架**
- SOC 2 Type II (信任服务标准)
- ISO/IEC 27001:2022 (附录 A)
- HIPAA 安全规则 (45 CFR §164.308 / §164.312)
**报告生成 (`tpt report`)**
- HTML — 独立文件,包含执行摘要 + 控制覆盖矩阵 + 发现详情
- PDF — go-pdf/fpdf,严重程度网格,表格
- JSON — 适用于合规平台集成的机器可读格式
- AI 增强的修复建议(Anthropic / OpenAI / Grok / OpenRouter),带有静态兜底方案
**REST API (`tpt serve`)**
- `GET /api/jobs` · `GET /api/jobs/{id}/findings` · `GET /api/jobs/{id}/report`
- `PATCH /api/findings/{id}/status` — 重测追踪
## 安装说明
### 从源码构建
```
git clone https://github.com/tpt-security/tpt.git
cd tpt
go build -o tpt ./cmd/tpt
./tpt --help
```
需要 Go 1.22+。无需 CGO —— 可在所有平台上构建。
### Docker
```
docker compose up -d
# API 可在 http://localhost:4242 获取
```
## 快速开始
```
# 扫描 target 并映射至 SOC 2 + ISO 27001
tpt scan example.com --framework soc2,iso27001 --scope web,network,tls
# 导入现有的 Nessus 导出
tpt import scan.nessus --framework soc2 --target "Internal network Q1"
# 审计您的 AWS account
tpt audit --provider aws --aws-profile prod --framework soc2,hipaa
# 审计自托管的 Keycloak instance
tpt audit --provider keycloak \
--keycloak-url http://keycloak.internal:8080 \
--keycloak-realm master \
--keycloak-token
# 通过 SSH 审计 Linux server
tpt audit --provider linux \
--linux-host 10.0.0.5:22 \
--linux-user ubuntu \
--linux-key ~/.ssh/id_rsa \
--framework iso27001
# 生成报告(HTML + PDF,如果设置了密钥则启用 AI enhancement)
tpt report --format html,pdf --output reports/
# 启动 REST API server
tpt serve --port 4242
```
## AI 增强报告
设置以下任意环境变量以启用 AI 生成的执行摘要和针对单项发现的修复建议:
```
export ANTHROPIC_API_KEY=sk-ant-... # Claude Haiku (recommended)
export OPENAI_API_KEY=sk-... # GPT-4o mini
export GROK_API_KEY=... # Grok 3 mini
export OPENROUTER_API_KEY=... # Any model via OpenRouter
```
使用 `--no-ai` 可在设置了密钥的情况下禁用该功能。静态修复模板将始终作为兜底方案使用。
## 支持的扫描范围
| 标志值 | 激活的内容 |
|------------|-------------------|
| `network` | Naabu 端口扫描 + TLS 检查器 |
| `web` | Nuclei + Dalfox |
| `api` | Nuclei + Dalfox |
| `tls` | 仅 TLS 检查器 |
| `email` | SPF / DKIM / DMARC 检查 |
## Nuclei 模板
平台在 `templates/` 目录中内置了专注于合规性的模板:
| 模板 | 框架 | 检测内容 |
|----------|-----------|-----------------|
| `soc2/cc6.1-access-controls.yaml` | SOC 2 | 访问控制配置不当 |
| `soc2/cc6.3-broken-auth.yaml` | SOC 2 | JWT none-alg,不安全的会话 cookie |
| `soc2/cc6.6-cors-misconfig.yaml` | SOC 2 | 通配符 / 反射型 CORS |
| `soc2/cc6.7-crypto-transmission.yaml` | SOC 2 | 弱 TLS,缺少 HSTS |
| `soc2/cc7.1-vulnerability-detection.yaml` | SOC 2 | 漏洞扫描指标 |
| `soc2/cc9.2-api-exposure.yaml` | SOC 2 | Swagger,GraphQL 自省 |
| `iso27001/a.5.17-auth-weakness.yaml` | ISO 27001 | 默认凭据,HTTP Basic |
| `iso27001/a.8.8-technical-vulnerabilities.yaml` | ISO 27001 | CVE 检测 |
| `iso27001/a.8.9-configuration-management.yaml` | ISO 27001 | 配置错误检测 |
| `iso27001/a.8.20-network-exposure.yaml` | ISO 27001 | 暴露的 MongoDB、Redis、Elasticsearch |
| `iso27001/a.8.24-cryptography.yaml` | ISO 27001 | 加密弱点 |
| `iso27001/a.8.25-ssdlc.yaml` | ISO 27001 | 调试 endpoint,堆栈跟踪,.env |
| `iso27001/a.8.29-injection.yaml` | ISO 27001 | SQLi 指标,SSTI |
将 `--template-dir` 指向任何 Nuclei 模板目录即可使用您自己的模板。
## 添加自定义控制映射
控制映射以纯 YAML 文件的形式存放在 `mappings/` 中。文件名(去掉 `.yaml`)将成为框架名称。添加一个新文件即可支持任何自定义框架:
```
# mappings/pci-dss.yaml
- category: web
severity: [critical, high]
controls:
- id: "6.4"
name: Protect web-facing applications against known attacks
relevance: direct
```
然后使用 `--framework pci-dss` 调用它。
## 架构
```
cmd/tpt/ CLI entry point (cobra)
internal/
scan/ Scanner adapters (Nuclei, Naabu, ZAP, TLS, email, secrets, deps, Dalfox)
audit/ Internal audit providers
cloud/ AWS, GCP, Azure, DO, Hetzner, Cloudflare, Vercel, Supabase, Wasabi, Backblaze
idp/ Okta, Azure AD, Google Workspace, Auth0, Keycloak, LDAP
vcs/ GitHub, GitLab, Bitbucket, Gitea
infra/ Linux SSH, Kubernetes
importer/ File importers (.nessus, Burp XML, OpenVAS XML)
mapping/ YAML-based control mapping engine
report/ HTML, JSON, PDF report generators + methodology statement
remediation/ Static remediation template library
ai/ LLM client (Anthropic, OpenAI, Grok, OpenRouter)
api/ REST API server (stdlib net/http)
web/ Web UI — HTMX + Tailwind + DaisyUI, server-rendered templates
db/ SQLite storage (GORM, no CGO)
mappings/ soc2.yaml · iso27001.yaml · hipaa.yaml
templates/ Nuclei templates (soc2/ · iso27001/)
```
## 文档
| 文档 | 内容 |
|-----|---------|
| [docs/architecture.md](docs/architecture.md) | 系统设计、组件图、数据流、扩展点 |
| [docs/deployment.md](docs/deployment.md) | 二进制文件、Docker、Docker Compose、systemd 服务、nginx、CI/CD |
| [docs/configuration.md](docs/configuration.md) | 每个命令的所有 CLI 标志、API endpoint |
| [docs/frameworks.md](docs/frameworks.md) | SOC 2、ISO 27001、HIPAA 控制映射参考,自定义框架 YAML 格式 |
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。
标签:CISA项目, EVTX分析, Go, HTMX, Ruby工具, StruQ, Web安全, 安全合规审计, 密码管理, 插件系统, 日志审计, 网络测绘, 蓝队分析, 请求拦截