Kim-Hammar/multiagent-incident-response

GitHub: Kim-Hammar/multiagent-incident-response

基于大语言模型的多智能体系统,用于自主调查安全事件并生成具有理论性能保证的响应计划。

Stars: 0 | Forks: 0

# 基于代码模型的多智能体事件响应规划 本仓库包含一个**多智能体事件响应系统**的代码,该系统能够自主调查 安全事件并推荐优化的响应措施。该系统将事件响应分解为由智能体层级管理的子任务, 其中每个智能体都使用大语言模型作为处理引擎。 在该层级结构的顶层是一个 orchestrator,负责管理子智能体的执行,这些子智能体通过 运行系统命令和读取日志文件来调查事件。基于调查结果,智能体会生成一个 响应过程的代码模型,随后将其传递给外部规划引擎,以计算出具有理论性能保证的响应计划。

Method overview

## 演示 ## 配置 在构建或部署之前,请复制示例环境文件并填入您的凭据: ``` cp .env.example .env ``` `.env` 文件包含以下设置: | 变量名 | 描述 | 默认值 | |---------------------|------------------------------------|----------------------------------| | `POSTGRES_DB` | PostgreSQL 数据库名称 | `incident_response` | | `POSTGRES_USER` | PostgreSQL 用户 | `incident_response` | | `POSTGRES_PASSWORD` | PostgreSQL 密码 | `CHANGE_ME_TO_A_STRONG_PASSWORD` | | `ADMIN_USERNAME` | 应用管理员登录用户名 | `admin` | | `ADMIN_PASSWORD` | 应用管理员登录密码 | `CHANGE_ME_TO_A_STRONG_PASSWORD` | | `GEMINI_API_KEY` | Google Gemini API key | `CHANGE_ME_TO_YOUR_GEMINI_API_KEY` | | `ANTHROPIC_API_KEY` | Anthropic API key | `CHANGE_ME_TO_YOUR_ANTHROPIC_API_KEY` | | `TAVILY_API_KEY` | Tavily 网络搜索 API key | `CHANGE_ME_TO_YOUR_TAVILY_API_KEY` | | `NVD_API_KEY` | NIST NVD API key | `CHANGE_ME_TO_YOUR_NVD_API_KEY` | | `VIRUSTOTAL_API_KEY`| VirusTotal API key | `CHANGE_ME_TO_YOUR_VIRUSTOTAL_API_KEY` | | `ABUSEIPDB_API_KEY` | AbuseIPDB API key | `CHANGE_ME_TO_YOUR_ABUSEIPDB_API_KEY` | | `OTX_API_KEY` | AlienVault OTX API key | `CHANGE_ME_TO_YOUR_OTX_API_KEY` | 管理员凭据用于在首次启动时初始化登录账户。在部署之前,请确保设置了强密码。 要使用 Ansible 进行远程部署,请将您的目标主机添加到 `ansible/inventory.yml` 中的 `servers` 组下: ``` servers: hosts: web1.example.com: ansible_user: ubuntu ``` 然后使用 `--limit servers` 运行 playbook。详情请参阅 [`ansible/README.md`](ansible/README.md)。 ## 前置条件 - Python 3.11+ - Node.js 22+ ## 构建前端 ``` cd response-planner-frontend npm install npm run build ``` 这将在 `response-planner-frontend/build/` 中生成生产环境包。 ## 安装后端 ``` cd response-planner-backend pip install -e ".[test]" ``` ## 启动服务器 后端将前端的生产构建版本作为静态文件提供服务。请确保您已先构建前端。 ``` cd response-planner-frontend python server/server.py ``` 服务器将在 http://localhost:8888 启动。它会在 `/` 路径提供 React 应用,并在 `/api` 下暴露 REST API endpoint。 ## 开发 在端口 3005 上运行前端开发服务器(支持热重载): ``` cd response-planner-frontend npm start ``` ## 测试与检查 在项目根目录下: ``` ./unit_tests.sh # Backend (pytest) + frontend (vitest) tests ./agent_tests.sh # Agent integration tests with real LLM calls (needs API keys) ./agent_tests.sh --no-docker # Agent tests without Docker-dependent tests ./python_linter.sh # flake8 ./js_linter.sh # eslint ./linter.sh # Both linters ./type-checker.sh # mypy ``` ## Docker Docker 配置位于 `docker/` 中。详情请参阅 [`docker/README.md`](docker/README.md)。 快速开始: ``` cd docker make up ``` 服务器将在 http://localhost:8888 启动。 ## Ansible `ansible/` 目录中提供了一个 Ansible playbook,用于在 Ubuntu/Debian 主机上自动化部署。它会安装 Docker、克隆仓库并启动应用。详情请参阅 [`ansible/README.md`](ansible/README.md)。 快速开始: ``` cd ansible ansible-playbook playbook.yml -i inventory.yml --limit local ``` ## 发布管理 要创建新版本,请使用 semver 版本号运行 `release.sh` 脚本: ``` ./release.sh 1.0.0 ``` 这将执行以下操作: 1. 更新 `__version__.py` 中的 Python 包版本 2. 运行后端和前端测试 3. 构建并将 Docker 镜像推送到 DockerHub (`kimham/incident_response_planner:`) 4. 构建并将 Python 包上传到 PyPI 在运行脚本之前,请确保您已登录 DockerHub (`docker login`) 并配置了 PyPI token (`~/.pypirc`)。 ## 作者与维护者 Kim Hammar ## 版权与许可 [许可协议](LICENSE.md) 知识共享 (C) 2026, Kim Hammar, Tansu Alpcan, Emil C. Lupu
标签:DLL 劫持, MITM代理, 人工智能, 多智能体, 大语言模型, 安全运营, 库, 应急响应, 扫描框架, 测试用例, 用户模式Hook绕过, 系统提示词, 网络调试, 自动化, 请求拦截, 逆向工具