akmalmuhammed/secutil-agentic-pentest
GitHub: akmalmuhammed/secutil-agentic-pentest
Secutil 是一个智能安全评估平台,用于自动化漏洞评估和渗透测试,通过证据优先的方法提升测试效率和准确性。
Stars: 0 | Forks: 0
# Secutil 智能渗透测试
Secutil 是一个用于授权漏洞评估、渗透测试和红队演练的智能安全评估平台。它将侦察自动化、主动 Web 评估、证据规范化、扫描编排和渐进式报告整合到一个操作员工作流中。
产品模型围绕四个引擎构建:
- **GHOST**:被动情报、DNS/证书/OSINT 信息增强、云和代码仓库暴露上下文。
- **VIPER**:主动表面映射、实时端点发现、基于浏览器的探测、参数和路由情报。
- **SIGMA**:利用扫描器输出、证据合约、OOB 状态和认证工作流检查进行的针对性验证。
- **STRIKE**:仅基于已确认证据的审批门控式利用准备。
## 当前状态
此仓库是一个高级私有测试版安全平台,而非已完成的托管式企业产品。核心后端、前端、编排、知识包和主要工具适配器均已就绪,但生产部署仍需更强的租户绑定授权、隔离的工具执行、证据保管链、CI/CD 门控和依赖修复。
近期加固措施包括:
- SIGMA 扫描器发现结果默认为`候选`,而非`已验证`。
- STRIKE 目标选择仅需已确认或已确认为活跃状态的已验证证据。
- 除非明确启用,否则默认禁用公开的 Ghostwire 和 VIPER 实时启动。
- 组织扫描在持久化或排队前会拒绝缺少范围确认的请求。
- 默认阻止特权 Docker 执行和主机网络。
- 默认的 compose 文件不再将 `/var/run/docker.sock` 挂载到 API 或 worker 容器中。
- Ghostwire 结果页面可以在规范知识包仍在处理时渲染部分档案制品。
参阅 [docs/enterprise-improvement-plan-2026-05-10.md](docs/enterprise-improvement-plan-2026-05-10.md) 了解当前的企业就绪计划。
## 存在意义
大多数自动化安全扫描器要么是工具包装器,要么是静态报告生成器。Secutil 被设计为一个证据优先的评估系统:
- 它将原始制品、规范化观察结果、面向操作员的发现和派生的断言分开存储。
- 它使用渐进式知识包作为 UI 和报告的权威读取模型。
- 它以波次调度工作,以便后续模块可以使用早期模块的证据。
- 它将 AI 视为用于排名、关联、规划、去重和报告的助手,而非漏洞声明的权威。
- 它通过明确的运行时策略将漏洞评估、渗透测试和红队意图区分开来。
## 高层架构
```
Input Envelope
-> Target normalization
-> Runtime policy and scope checks
-> Wave scheduler
-> GHOST / VIPER / SIGMA execution
-> Knowledge bundle persistence
-> Findings, attack paths, recommendations
-> Ghostwire / Viper frontend dossier
```
核心后端区域:
- `secutil/api`:FastAPI 路由、启动 API、组织 API、运行时健康检查。
- `secutil/phase`:波次调度器及 GHOST、VIPER、SIGMA、STRIKE 的阶段实现。
- `secutil/tools`:基于 Docker 的工具适配器和运行层。
- `secutil/ghostwire`:被动情报、档案持久化、面向证据的 Ghostwire 服务。
- `secutil/viper`:主动表面映射仓库和 API 投射。
- `secutil/knowledge`:运行知识包模型和持久化助手。
- `secutil/evidence`:证据存储抽象层。
- `frontend`:基于 React 和 TypeScript 的操作员 UI。
- `docs`:架构、标准操作程序、审计、成熟度计划和实施说明。
## 评估模式
### 外部 URL / 域名
当唯一输入是 URL、域名或主机时使用。
典型流程:
1. 规范化目标和运行时预算。
2. 运行 GHOST 被动发现和主机情报。
3. 运行 VIPER 实时验证和表面映射。
4. 将排名靠前的目标提升至 SIGMA。
5. 生成证据关联的发现和建议。
### 认证应用评估
当操作员拥有会话材料、角色分离账户或源代码/代码仓库上下文时使用。
附加能力:
- 会话感知的浏览器和 API 重放。
- 角色差异探索。
- 受保护路由重放。
- 认证、会话、RBAC、IDOR、密码重置、CSRF 和上传工作流检查。
- 代码仓库到运行时路由和接收端点的关联。
### 红队 / STRIKE 准备
STRIKE 不是默认利用。它是一个门控准备阶段,应仅消耗已确认的证据和明确的批准。当前的实现有意保守,在托管使用前仍需加强企业审批工作流。
## 安全模型
重要的运行时默认设置:
- 公开的 Ghostwire 实时启动需要 `SECUTIL_ALLOW_PUBLIC_GHOST_PASSIVE_PLUS=true`。
- 公开的 VIPER 实时启动需要 `SECUTIL_ALLOW_PUBLIC_VIPER_RUNS=true`。
- 生产验证拒绝公开的实时启动标志。
- 生产验证拒绝遗留的未认证扫描 API。
- 生产验证要求认证、非占位符密钥、托管数据库和托管证据存储。
- 特权工具容器需要 `SECUTIL_ALLOW_PRIVILEGED_TOOL_CONTAINERS=true`。
- 主机网络工具容器需要 `SECUTIL_ALLOW_HOST_NETWORK_TOOLS=true`。
这是故意为之。安全测试平台默认必须采用“安全失败”原则。
## 快速开始
### 后端
```
py -m venv .venv
.\.venv\Scripts\python -m pip install -e ".[dev]"
.\.venv\Scripts\secutil --help
```
运行 API:
```
.\.venv\Scripts\secutil serve --port 8000
```
健康检查:
```
Invoke-RestMethod http://127.0.0.1:8000/healthz
Invoke-RestMethod http://127.0.0.1:8000/health/ready
```
### 前端
```
cd frontend
npm install
npm run dev
```
默认本地前端:
```
http://127.0.0.1:5173
```
默认本地后端:
```
http://127.0.0.1:8000
```
## ruction says to translate headings to Simplified Chinese, but with the caveat to keep professional terms in English.
Compose 栈包含用于开发的本地基础设施。默认情况下,API 端口绑定到 localhost。
```
docker compose up --build
```
不要将 compose 文件视为生产基础设施。托管部署仍需托管服务、隔离工作器、私有网络、密钥管理、CI/CD、监控和专用的工具运行代理。
## 配置
从以下文件开始:
- [.env.example](.env.example)
- [.env.production.example](.env.production.example)
关键生产要求:
- `SECUTIL_ENVIRONMENT=production`
- `SECUTIL_DATABASE_URL` 使用托管的 PostgreSQL
- `SECUTIL_OBJECT_STORAGE_BACKEND=gcs` 或其他托管对象存储
- `SECUTIL_CLERK_JWKS_URL`
- `SECUTIL_CLERK_ISSUER`
- `SECUTIL_CLERK_AUDIENCE`
- `SECUTIL_PLATFORM_ADMIN_EMAILS`
- `SECUTIL_ENCRYPTION_KEY`
- `SECUTIL_EXECUTION_TICKET_SECRET`
- `SECUTIL_INTERNAL_SERVICE_TOKEN`
- `SECUTIL_ENABLE_LEGACY_SCAN_API=false`
- `SECUTIL_ALLOW_PUBLIC_GHOST_PASSIVE_PLUS=false`
- `SECUTIL_ALLOW_PUBLIC_VIPER_RUNS=false`
## 验证
后端主导的测试:
```
pytest -q tests\test_config_runtime.py tests\test_api.py tests\test_viper_api.py tests\test_enterprise_api.py tests\tools\test_runner.py tests\test_phase\test_sigma_pipeline.py tests\test_phase\test_strike_pipeline.py
```
前端测试和构建:
```
cd frontend
npm test
npx tsc --noEmit
npm run build
```
已知当前警告:
- 前端生产包具有一个较大的主 chunk。
- 本地安装中的 Browserslist 数据可能过时。
- 部分依赖审计发现在生产启动前仍需修复。
- 完整的后端套件在本地运行可能较慢,应迁移到具有稳定服务固定装置的 CI 后面。
## 企业路线图
P0:
- 将布尔型范围确认替换为租户绑定的授权记录。
- 将 Docker 套接字执行替换为隔离的工具运行代理。
- 添加签名的证据清单和制品哈希。
- 在 SIGMA 内部强制执行 SIGMA 的侵入性/OOB/认证重放策略。
- 将 KEV、EPSS、NVD CPE 匹配、nuclei 模板新鲜度和工具版本清单接入规划。
- 用组织认证或读取令牌保护公开的结果和证据表面。
P1:
- 添加包含后端测试、前端测试、类型检查、依赖审计、密钥扫描、SAST、容器扫描和 SBOM 的 CI/CD。
- 通过摘要固定工具镜像,移除`:latest`的运行时使用。
- 添加带有审核人签字、PDF/DOCX 导出和证据包的报告发布工作流。
- 扩展认证浏览器重放和角色差异证据。
- 添加用于召回率和误报回归测试的种子漏洞实验室。
## 负责任的使用
Secutil 仅用于授权的安全工作。操作员有责任获得许可、定义范围、设置速率限制、遵守交战规则并遵守适用的法律和合同。
在没有明确书面授权的情况下,不要对第三方系统运行实时扫描。
## 许可证
此仓库中当前未声明开源许可证。除非添加许可证,否则将代码视为私有/专有。
标签:AES-256, DNS分析, Docker容器安全, Maven, OSINT情报, web应用安全, 企业安全解决方案, 侦察自动化, 扫描编排, 漏洞利用准备, 漏洞评估, 漏洞验证, 私有测试版软件, 红队操作, 网络安全, 证书分析, 证据规范化, 请求拦截, 逆向工具, 隐私保护