schmug/Panoptes

GitHub: schmug/Panoptes

Panoptes是一款基于多智能体AI的自动化安全测试框架,用于发现系统漏洞。

Stars: 0 | Forks: 0

CI License: Apache 2.0 Docker Ready

PANOPTES

自主安全测试仪表板

基于Web的界面,用于编排AI驱动的漏洞发现

``` ██████╗ █████╗ ███╗ ██╗ ██████╗ ██████╗ ████████╗ ███████╗ ███████╗ ██╔(P)██╗ ██╔(██╗ █(N)█╗ ██║ ██╔(O)██╗ ██╔(P)██╗ ╚═██╔══╝ ██╔════╝ ██╔════╝ ██████╔╝ ███████║ ██╔██╗ ██║ ██║@(O)██║ ██████╔╝ ██║ █████╗(0)███████╗ ██╔═══╝ ██╔══██║ ██║╚██╗██║ ██║ @@██║ ██╔═══╝ ██║ ██╔══╝ ╚════██║ ██║ @ ██║ ██║ ██║ ╚████║ ╚██████╔╝ ███║ @ ██║ ███████╗ ███████║ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚══╝ ╚═╝ ╚══════╝ ╚══════╝ -*- .=+: . -+: . :#=:.. .: . =. . : . .++ . := -. =*+- .- .--+ . .- -: -#- .= :+- .: . -@@@@@@@++#*.=+ :. . . . .@@@@+ :#- +- .+:=%*+#@@@@@. #: :+ =@@@@ ++.@* : :%#*#@%+. -= :.#@=: @@ -= . : : - +%@@@@@@- -@@%. . -= : - =@%@@@@: . - : -: .. = :. =. @@ *#*::#%: :: -=-:#@@+= . =-%= @@@* + +@@- : #-- . -- .==-+=: -%@@@@@ -+@@@@@@+ - - . .*= @% : -# -= +- - : =. #@%#: =- :+* .:@@@@@#-#@@+ .-@: -@@% =:+%#- :* - .# @@. @@@@%% * ..=@=#@.- . +@ . := - -* - . .: %@#**. %@: -%=%@%@@@@@@= - % *- : : .: -#= -= . =#= ==#@@@@@#=+-@: . . =. - --: . =@%=%*= -: %% :: . :*@+ :#. -.- == : . %@@=.%@= =*- : - %@% +@@+-**: ..@@*=. :*#*- #@%@-@@- : . = .::- @#@#+- .:--. +- =@@# .%@+ :: @@:@@ :# .- :+#% :+ +%+@@@#@@* #@-+#+ :- +@+ =@ @+ + : : . =+: :*@*@:@@@@* %-@@@= -.+ - *@@@ : -. -: =*- .== ..%@@+@= =P@n0p+=5@- %@ #* :-@-@ =-= -#= -+*-.-=*: . . . ..@@@@ @@# * += *+@ :-:@@@. . =* # : .-- ==: -#-+: -#@@@- .:+@@@@@**@*. @@% - @+ . :+.. : .- - . .##=:#@@@@% . -*@@@+ :=**= @%@- .- =. +- . ++=. .- . . :. + +:. = +: +. +@- .- %@=@- .= @ -.==-. := .. . -=@%: . *= : *@@#@@ =: - : =@+ * - =@@+ *%* +@@@ : . *: . @@+++ : *@% .-@@+=@@@= . . -##: -- = .-..= . : =-:=. .% - - @@ @@= -- :.=@: *@=#*@ @@* . .:: .: : *: :+ == : ...-%* ..* =. .:. -= ``` ## 快速开始 ``` # 克隆并启动 git clone https://github.com/schmug/Panoptes.git cd Panoptes # 配置API密钥 cp .env.example .env # 使用您的 OPENROUTER_API_KEY 和 SUBAGENT_MODEL 编辑 .env # 启动堆栈 docker compose up -d # 访问仪表板 open http://localhost:8080 ``` **这就完成了。**仪表板现在在[localhost:8080](http://localhost:8080)上运行。 ## 什么是Panoptes? Panoptes是一个用于自主安全测试的Web仪表板。它编排多个AI代理以发现目标系统中的漏洞,提供实时监控、会话管理和结构化报告。 **关键功能:** - **会话管理** - 创建、监控、暂停和恢复安全测试会话 - **实时日志** - 通过严重性过滤查看代理活动 - **多代理编排** - 为不同的攻击向量生成专业代理 - **增强的分级验证** - 可配置规则、CVSS评分和置信度跟踪的3阶段验证 - **报告生成** - 将发现结果导出为CSV、PDF或SARIF格式 基于斯坦福大学Trinity的[ARTEMIS](https://github.com/Stanford-Trinity/ARTEMIS)构建。 ## 增强分级系统 Panoptes包括一个复杂的分级验证系统,可以显著减少误报: ### 功能 **🔍 可配置验证规则** - 每个漏洞类型的YAML规则(SQL注入、XSS等) - 必需的证据、禁止的模式和自动拒绝条件 - 通过仪表板UI或API编辑规则 **📊 CVSS v3.1自动计算** - 在严重性评估期间自动计算CVSS基本分数 - 完整的向量字符串和指标分解 - 仪表板中的交互式工具提示 **🎯 AI置信度评分** - 每个发现的0.0-1.0置信度分数 - 基于复现成功、证据质量、LLM确定性和历史准确性 - 可视徽章(非常低/低/中/高/非常高) **🔄 增强的自动去重** - 与历史发现相似度评分 - 加权比较(标题40%,类型25%,资产20%,描述15%) - 自动检测重复项,并按字段级别分解 **📈 误报率跟踪** - 每个会话的FP率监控 - 跟踪第一阶段拒绝、第二阶段非复现和有效发现 - 包含趋势的仪表板统计网格 **💬 分级反馈循环** - 将发现标记为有效或误报 - 用户反馈影响未来的分级决策 - 历史模式分析(常见拒绝原因,高FP漏洞类型) ### 仪表板 导航到任何会话并点击**分级**标签,可以进行以下操作: - 查看FP率统计(总分级、有效发现、FP率%) - 通过严重性、置信度水平和状态过滤发现 - 在所有发现字段中进行搜索 - 查看CVSS分数和指标分解工具提示 - 使用可视化编辑器编辑验证规则 - 对发现提交反馈 查看[docs/triage-validation.md](docs/triage-validation.md)获取全面文档。 ## 配置 ### 必需的环境变量 创建一个`.env`文件,包含: ``` # LLM API 访问(必需一个) OPENROUTER_API_KEY=your_key_here # 或 OPENAI_API_KEY=your_key_here # 派生代理的模型 SUBAGENT_MODEL=anthropic/claude-sonnet-4 ``` ### 可选配置 ``` # 覆盖监督模型 SUPERVISOR_MODEL=openai/gpt-4o # LLM 调试日志 LLM_LOG_LEVEL=1 ``` ### Codex配置(OpenRouter用户) 如果使用OpenRouter,创建`~/.codex/config.toml`: ``` model_provider = "openrouter" [model_providers.openrouter] name = "OpenRouter" base_url = "https://openrouter.ai/api/v1" env_key = "OPENROUTER_API_KEY" ``` ## 使用 ### 启动会话 1. 打开[localhost:8080](http://localhost:8080) 2. 点击**新建会话** 3. 选择配置文件(例如,`configs/juice-shop.yaml`) 4. 设置持续时间选项 5. 点击**开始** ### 使用Juice Shop进行测试 ``` # 使用 Juice Shop 目标启动完整堆栈 docker compose --profile targets up -d # 仪表板:http://localhost:8080 # Juice Shop:http://localhost:3000 ``` ### 查看日志 - **会话日志** - 点击会话查看实时代理活动 - **日志过滤** - 通过严重性(DEBUG、INFO、WARNING、ERROR)过滤 - **搜索** - 在日志条目中进行全文搜索 ## 服务 | 服务 | 端口 | 描述 | |---------|------|-------------| | 仪表板 | 8080 | Web界面 | | API | 8000 | REST API ([docs](http://localhost:8000/docs)) | | Phoenix | 6006 | LLM可观察性 | | Juice Shop | 3000 | 测试目标(使用`--profile targets`) | ## 文档 | 文档 | 描述 | |----------|-------------| | [docs/supervisor-usage.md](docs/supervisor-usage.md) | CLI参考和高级使用 | | [docs/triage-validation.md](docs/triage-validation.md) | 分级验证系统(规则、CVSS、置信度、去重) | | [docs/api-reference.md](docs/api-reference.md) | REST API文档 | | [docs/configuration.md](docs/configuration.md) | 配置选项 | | [docs/specialists.md](docs/specialists.md) | 专业代理提示和选择 | ## 开发 ``` # 本地运行(无需Docker) uv sync source .venv/bin/activate uvicorn supervisor.api.main:app --reload # 仪表板开发 cd dashboard npm install npm run dev ``` ## 致谢 - [Stanford Trinity / ARTEMIS](https://github.com/Stanford-Trinity/ARTEMIS) - 核心代理引擎和原始研究 - [Team-Atlanta/Atlantis](https://github.com/Team-Atlanta/aixcc-afc-atlantis) - LiteLLM、Phoenix和SARIF模式 ## 许可证 [Apache-2.0](LICENSE)
标签:Apache 2.0许可证, DNS解析, Docker, Python, Rust, SOC工具, Web界面, WSL, 人工智能, 可视化界面, 多代理系统, 安全测试, 安全防御评估, 开源项目, 攻击性安全, 无后门, 漏洞发现, 用户模式Hook绕过, 网络流量审计, 请求拦截, 逆向工具, 通知系统