DhruvJawalkar/Cloud-Security-Copilot-LLM-based

GitHub: DhruvJawalkar/Cloud-Security-Copilot-LLM-based

基于 FastAPI 和 LLM 的云安全告警分析工具,将云日志转化为事件解读、攻击模式识别和修复建议。

Stars: 0 | Forks: 0

# Cloud Security Copilot (基于 LLM) Cloud Security Copilot 是一个 FastAPI 入门应用,用于接收云日志或告警并返回: - 关于事件发生的通俗英语解释 - 可能的攻击模式或安全问题 - 可操作的修复步骤 该入门应用支持两种分析模式: - `heuristic-fallback`:在本地运行,基于小型安全知识库进行检索 - `openai:*`:在配置 `OPENAI_API_KEY` 并安装 `openai` 包的情况下使用 OpenAI 模型 检索功能现已支持基于 embedding 的搜索: - `VECTOR_STORE=faiss`:使用 FAISS 的本地向量索引 - `VECTOR_STORE=pinecone`:Pinecone 中的托管向量搜索 - `EMBEDDING_PROVIDER=local`:用于离线开发的确定性本地嵌入 - `EMBEDDING_PROVIDER=openai`:用于更好语义检索的 OpenAI 嵌入 ## 架构 输入信号 -> embedding 模型 -> FAISS 或 Pinecone 向量搜索 -> LLM 或回退分析器 -> 解释 + 修复 核心栈: - FastAPI 后端 - Python 服务层 - 目前的本地 JSON 知识库 - 现已支持 FAISS 向量检索 - 用于托管向量搜索的 Pinecone 后端 ## 项目结构 ``` app/ api/routes.py core/config.py main.py models/schemas.py services/ knowledge_base.py llm.py retrieval.py data/ demo_alerts.json knowledge_base.json main.py requirements.txt ``` ## 本地运行 1. 激活虚拟环境: ``` .\venv\Scripts\Activate.ps1 ``` 2. 如有需要,安装依赖: ``` pip install -r requirements.txt ``` 3. 可选:根据 `.env.example` 创建 `.env` 文件。 使用 OpenAI 进行生成和嵌入: ``` OPENAI_API_KEY=your_key_here EMBEDDING_PROVIDER=openai OPENAI_MODEL=gpt-4.1-mini OPENAI_EMBEDDING_MODEL=text-embedding-3-small VECTOR_STORE=faiss ``` 使用 Pinecone 作为向量后端: ``` OPENAI_API_KEY=your_key_here EMBEDDING_PROVIDER=openai OPENAI_EMBEDDING_MODEL=text-embedding-3-small VECTOR_STORE=pinecone PINECONE_API_KEY=your_pinecone_key_here PINECONE_INDEX_NAME=cloud-security-copilot PINECONE_NAMESPACE=cloud-security-copilot PINECONE_CLOUD=aws PINECONE_REGION=us-east-1 PINECONE_AUTO_CREATE_INDEX=true ``` 当设置 `VECTOR_STORE=pinecone` 时,应用会在运行进程首次使用时,将当前知识库文档更新插入到配置的命名空间中。 4. 启动 API: ``` uvicorn main:app --reload ``` 5. 打开文档: - `http://127.0.0.1:8000/docs` ## 示例请求 ``` curl -X POST "http://127.0.0.1:8000/api/v1/analyze" \ -H "Content-Type: application/json" \ -d '{ "provider": "aws_guardduty", "signal_type": "alert", "title": "UnauthorizedAccess:IAMUser/ConsoleLogin", "raw_text": "GuardDuty detected an IAM user console login from an unusual geolocation without MFA followed by multiple sts:GetCallerIdentity and iam:ListUsers API calls." }' ``` ## 建议的后续步骤 1. 添加真实的云连接器,用于 AWS Security Hub、GuardDuty、Azure Defender 或 GCP SCC。 2. 添加后台同步,以便在知识库更改时自动刷新 Pinecone 索引。 3. 添加告警标准化,以便将不同供应商的告警映射到共享的事件 schema 中。 4. 存储分析结果和分析师反馈,以便后续评估和微调。 5. 在将应用暴露给多用户之前,添加身份验证和审计日志。 ## 应用快照 ![Application UI](app_snapshots/app-snapshot.png "Application UI") ![Request](app_snapshots/request.png "Request with security log text") ![Response](app_snapshots/server-response.png "Server response") ![Pinecone vector store](app_snapshots/pinecone-vector-store.png "Pinecone Vector Store") ![Pinecone DB](app_snapshots/pinecone-db.png "Pinecone DB")
标签:AI安全, AMSI绕过, AV绕过, Chat Copilot, DLL 劫持, FAISS, FastAPI, GPT-4, OpenAI, Petitpotam, Pinecone, Python, RAG, Ruby, SOC自动化, 内存规避, 向量检索, 告警解释, 大语言模型, 威胁检测, 安全Copilot, 安全建议, 安全日志分析, 快速启动模板, 无后门, 本地嵌入, 知识库, 自动修复, 逆向工具