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应用安全, 企业安全解决方案, 侦察自动化, 扫描编排, 漏洞利用准备, 漏洞评估, 漏洞验证, 私有测试版软件, 红队操作, 网络安全, 证书分析, 证据规范化, 请求拦截, 逆向工具, 隐私保护