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绕过, 访问控制, 轻量级, 逆向工具, 错误基检测, 静态代码分析