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. 在将应用暴露给多用户之前,添加身份验证和审计日志。
## 应用快照





标签:AI安全, AMSI绕过, AV绕过, Chat Copilot, DLL 劫持, FAISS, FastAPI, GPT-4, OpenAI, Petitpotam, Pinecone, Python, RAG, Ruby, SOC自动化, 内存规避, 向量检索, 告警解释, 大语言模型, 威胁检测, 安全Copilot, 安全建议, 安全日志分析, 快速启动模板, 无后门, 本地嵌入, 知识库, 自动修复, 逆向工具