Rajashekar25-colud/AI_Code_Review_And_Security_Analysis_Agent
GitHub: Rajashekar25-colud/AI_Code_Review_And_Security_Analysis_Agent
基于大语言模型与 RAG 技术的静态代码审查平台,自动分析 Python 与 Java 代码的质量问题与 OWASP 安全漏洞。
Stars: 0 | Forks: 0
# 🤖 AI 代码审查与安全分析 Agent
## 🔗 GitHub 仓库
https://github.com/Rajashekar25-colud/AI_Code_Review_And_Security_Analysis_Agent
## 🌐 在线演示
https://aicodereviewandsecurityanalysisagent-nhndxuyepv8368zmzk39kx.streamlit.app/
# 📌 项目概述
**AI 代码审查与安全分析 Agent** 是一个基于 AI 的静态代码分析平台,使用 **Python**、**Streamlit**、**LangChain**、**HuggingFace Embeddings** 和 **ChromaDB** 开发。
该应用程序会自动分析 **Python** 和 **Java** 源代码的:
- 语法验证
- 代码质量分析
- 安全漏洞检测
- 基于 OWASP 的安全编码审查
- 检索增强生成 (RAG) 知识库
该系统可帮助开发者在部署前识别编码问题、安全漏洞以及安全编码的最佳实践。
# ✨ 功能
## 📂 代码提交
- 上传 Python (.py) 文件
- 上传 Java (.java) 文件
- 直接粘贴源代码
- 自动语言检测
## ✅ 语法验证
### Python
- 语法检查
- 错误报告
### Java
- 使用 javalang 进行语法验证
- 错误报告
# 🔍 代码质量分析
代码分析 Agent 可检测:
- 控制台输出语句
- 过长的方法
- 过长的行
- 过多的参数
- 魔法数字
- TODO / FIXME 注释
- 重复导入
- 未使用的导入
- 全局变量
- 不带异常类型的 Except 块
- 捕获通用异常
- 空异常块
- 无限循环
- 过深的嵌套
# 🔒 安全漏洞检测
安全 Agent 可检测与 OWASP 相关的漏洞,包括:
- SQL 注入
- 硬编码密钥
- 弱密码
- 命令注入
- 路径遍历
- 跨站脚本攻击 (XSS)
- 弱加密算法
- 不安全的反序列化
- 弱随机数生成
每个漏洞包含:
- 严重程度
- 描述
- 建议
# 📚 安全编码知识库 (RAG)
该应用程序从安全编码文档中构建了一个可搜索的知识库。
包含的文档:
- OWASP Top 10
- OWASP Top 10 2025
- SQL 注入
- 访问控制失效
- 身份验证失效
- 安全配置错误
- 加密失败
- 不安全设计
- 日志与监控不足
- 易受攻击的组件
- SSRF
- SSL 安全
- XML 安全
- Java 安全编码
- Python 安全注意事项
- Python Secrets 模块
- 安全编码指南
- Pickle 安全
- Subprocess 安全
# 🛠 技术栈
## 前端
- Streamlit
## 后端
- Python
## AI & RAG
- LangChain
- HuggingFace Embeddings
- ChromaDB
## 文档处理
- PyPDF
## 支持的编程语言
- Python
- Java
# 📂 项目结构
```
AI-Code-Review-Agent/
│
├── app.py
├── requirements.txt
├── .env
│
├── agents/
│ ├── __init__.py
│ ├── orchestrator.py
│ ├── code_analysis_agent.py
│ └── security_agent.py
│
├── modules/
│ ├── file_handler.py
│ ├── language_detector.py
│ ├── submission.py
│ └── syntax_validator.py
│
├── rag/
│ ├── loader.py
│ ├── splitter.py
│ ├── embedding.py
│ ├── vector_store.py
│ ├── build_knowledgebase.py
│ └── groq_model.py
│
├── knowledge_base/
│
├── chroma_db/
│
└── uploads/
```
# ⚙ 安装说明
## 克隆仓库
```
git clone https://github.com/Rajashekar25-colud/AI_Code_Review_And_Security_Analysis_Agent.git
```
## 导航至项目
```
cd AI_Code_Review_And_Security_Analysis_Agent
```
## 安装依赖
```
pip install -r requirements.txt
```
## 配置环境变量
在项目根目录下创建一个 **.env** 文件。
```
GROQ_API_KEY=your_groq_api_key
EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
CHROMA_DB=chroma_db
KNOWLEDGE_BASE=knowledge_base
UPLOAD_FOLDER=uploads
```
## 运行应用程序
```
streamlit run app.py
```
# 🏗 系统工作流
```
User Source Code
│
▼
Language Detection Module
│
▼
Syntax Validation Module
│
▼
Code Analysis Agent
│
▼
Security Analysis Agent
│
▼
Severity Classification
│
▼
Consolidated Review Report
```
# 📚 RAG Pipeline
```
Knowledge Base PDFs
│
▼
PDF Loader
│
▼
Text Splitter
│
▼
HuggingFace Embeddings
│
▼
Chroma Vector Database
│
▼
Similarity Search
│
▼
Context Retrieval
```
# 📊 分析仪表板
该应用程序提供:
- 语言检测
- 语法验证
- 代码分析发现
- 安全发现
- 严重程度摘要
- 建议
- 汇总审查报告
严重程度级别:
- 🔴 严重
- 🟠 高
- 🟡 中
- 🟢 低
# 🧪 功能
## 代码提交
- 上传 Python 文件
- 上传 Java 文件
- 粘贴源代码
## 语言检测
- 自动检测
- Python
- Java
## 语法验证
- Python 语法验证
- Java 语法验证
## 代码分析
- 控制台输出检测
- 过长方法检测
- 过长行检测
- 过多参数
- 魔法数字
- 重复导入
- 未使用的导入
- 全局变量
- TODO/FIXME 注释
- 无限循环检测
- 过深嵌套检测
- 不带异常类型的 Except 块检测
- 通用异常捕获检测
- 空异常块
## 安全分析
- SQL 注入
- 硬编码密钥
- 弱密码检测
- 命令注入
- 路径遍历
- 跨站脚本攻击 (XSS)
- 弱加密算法
- 不安全的反序列化
- 弱随机数生成
## 知识库
- 加载安全编码 PDF
- 拆分文档
- 生成 Embeddings
- 存储在 ChromaDB 中
- 检索相关上下文
# 📦 依赖项
- streamlit
- langchain
- langchain-community
- langchain-chroma
- langchain-huggingface
- chromadb
- sentence-transformers
- pypdf
- python-dotenv
- javalang
- groq
# 🚀 未来增强
- AI 生成的修复建议
- PDF 报告导出
- HTML 报告导出
- 分析历史记录
- 用户身份验证
- GitHub Pull Request 集成
- SonarQube 风格的仪表板
- 额外的 OWASP 规则
- CI/CD 集成
# 👨💻 开发者
**Rajashekar Kanneboina**
B.Tech – 计算机科学与工程
Marri Laxman Reddy Institute of Technology and Management (MLRITM)
印度海得拉巴
# 📄 许可证
本项目出于教育和学习目的而开发。
标签:Kubernetes, LangChain, RAG, Streamlit, XXE攻击, 人工智能, 代码审查, 用户模式Hook绕过, 访问控制, 轻量级, 逆向工具, 错误基检测, 静态代码分析