Skip to content

YingxueSec/AI-Code_Sec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 AI Code Security Audit System v2.6.0

一个基于大语言模型的智能代码安全审计系统,具备Web管理界面高精度漏洞检测能力,实现了专家级代码安全审计。

🎯 系统特色

🌐 Web管理系统

  • 现代化UI界面 - 基于React + Ant Design的响应式设计
  • 用户权限管理 - 多级用户权限与邀请码系统
  • 实时审计监控 - 任务进度追踪与结果可视化
  • 导出权限控制 - 精确到用户的文件格式权限管理
  • 系统分析仪表板 - 全面的数据统计与可视化

🔍 AI安全审计引擎

  • Ultra级检测模板 - 95.7%的漏洞检出率
  • 跨文件分析 - 复杂的代码依赖关系分析
  • 多模型支持 - OpenAI、Qwen、Kimi等主流LLM
  • 智能报告生成 - 多格式导出(JSON/Markdown/PDF/HTML/CSV/XML)

🏗️ 系统架构

AI-CodeSec/
├── 📁 ai_code_audit/           # 核心审计引擎
│   ├── analysis/               # 多轮分析引擎
│   ├── audit/                  # 审计核心
│   ├── llm/                    # LLM集成
│   └── templates/              # 审计模板
├── 📁 web-system/              # Web管理系统
│   ├── backend/                # FastAPI后端服务
│   │   ├── app/
│   │   │   ├── api/           # API路由
│   │   │   ├── models/        # 数据模型
│   │   │   ├── services/      # 业务逻辑
│   │   │   └── core/          # 核心配置
│   │   └── run_server.py      # 服务启动脚本
│   └── frontend/               # React前端应用
│       ├── src/
│       │   ├── components/    # UI组件
│       │   ├── pages/         # 页面组件
│       │   ├── services/      # API服务
│       │   └── utils/         # 工具函数
│       └── package.json
├── 📁 docs/                    # 项目文档
└── 📁 examples/                # 示例项目

🚀 快速开始

环境要求

  • Python 3.8+
  • Node.js 16+
  • MySQL 8.0+
  • Redis (可选,用于缓存)

1. 克隆项目

git clone https://github.com/YingxueSec/AI_CodeSec.git
cd AI_CodeSec

2. 后端设置

# 进入后端目录
cd web-system/backend

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库和API密钥

# 初始化数据库
mysql -u root -p < ../../database_setup.sql
mysql -u root -p ai_code_audit_web < ../../database_export_permissions.sql
mysql -u root -p ai_code_audit_web < ../../database_user_specific_permissions.sql

# 启动后端服务
python run_server.py

3. 前端设置

# 进入前端目录
cd web-system/frontend

# 安装依赖
npm install

# 启动开发服务器
npm start

4. 访问系统

🔧 配置说明

环境变量配置

# 数据库配置
DATABASE_URL=mysql://user:password@localhost/ai_code_audit_web

# LLM API配置
OPENAI_API_KEY=your-openai-key
QWEN_API_KEY=your-qwen-key
KIMI_API_KEY=your-kimi-key

# JWT安全配置
SECRET_KEY=your-secret-key
ACCESS_TOKEN_EXPIRE_MINUTES=30

# Redis配置 (可选)
REDIS_URL=redis://localhost:6379/0

数据库配置

系统使用MySQL作为主数据库,包含以下核心表:

  • users - 用户信息管理
  • audit_tasks - 审计任务记录
  • audit_results - 审计结果存储
  • invitation_codes - 邀请码管理
  • export_permission_configs - 导出权限配置
  • user_specific_export_permissions - 用户专属权限
  • system_logs - 系统日志记录

🎯 功能特性

用户管理系统

  • 多级用户权限 - Admin/Premium/Standard/Basic四级权限
  • 邀请码注册 - 灵活的用户邀请机制
  • JWT身份验证 - 安全的用户认证
  • 用户活动追踪 - 完整的操作日志

审计任务管理

  • 项目上传审计 - 支持ZIP文件上传
  • 实时进度监控 - WebSocket实时状态更新
  • 多模板选择 - 不同级别的审计模板
  • 历史记录管理 - 完整的审计历史

导出权限管理

  • 用户级权限控制 - 基于用户等级的权限配置
  • 用户专属权限 - 精确到个人的权限设置
  • 多格式支持 - JSON/Markdown/PDF/HTML/CSV/XML
  • 导出次数限制 - 每日导出次数控制
  • 文件大小限制 - 导出文件大小控制

系统监控与分析

  • 用户统计分析 - 用户活跃度与使用情况
  • 审计任务统计 - 任务成功率与性能分析
  • 系统健康监控 - 服务状态与性能监控
  • 日志管理 - 详细的系统操作日志

📊 API接口文档

认证相关

POST /api/v1/auth/login          # 用户登录
POST /api/v1/auth/logout         # 用户登出
POST /api/v1/auth/refresh        # 刷新Token
GET  /api/v1/auth/me             # 获取当前用户信息

用户管理

GET    /api/v1/users             # 获取用户列表
POST   /api/v1/users             # 创建用户
PUT    /api/v1/users/{id}        # 更新用户
DELETE /api/v1/users/{id}        # 删除用户

审计任务

GET  /api/v1/audit/tasks         # 获取任务列表
POST /api/v1/audit/upload        # 上传项目审计
GET  /api/v1/audit/results/{id}  # 获取审计结果
GET  /api/v1/audit/download/{id} # 下载审计报告

导出权限

GET  /api/v1/export-permission/my-permissions     # 获取我的权限
GET  /api/v1/export-permission/configs           # 获取权限配置
POST /api/v1/export-permission/user-specific     # 创建用户专属权限

🔐 安全特性

身份认证与授权

  • JWT Token认证 - 无状态的安全认证
  • 角色权限控制 - 基于角色的访问控制(RBAC)
  • API接口保护 - 所有敏感接口需要认证
  • 密码安全存储 - bcrypt哈希加密存储

数据安全

  • SQL注入防护 - 参数化查询防止注入
  • XSS防护 - 前端输入验证与转义
  • CORS配置 - 跨域请求安全控制
  • 文件上传安全 - 文件类型与大小验证

系统安全

  • 环境变量保护 - 敏感信息环境变量存储
  • 日志记录 - 完整的操作审计日志
  • 错误处理 - 安全的错误信息返回
  • 限流保护 - API请求频率限制

🧪 测试与质量保证

测试覆盖

  • 单元测试 - 核心业务逻辑测试
  • 集成测试 - API接口集成测试
  • 前端测试 - 组件与页面功能测试
  • 安全测试 - 安全漏洞扫描与测试

代码质量

  • 代码规范 - ESLint + Prettier前端代码规范
  • 类型检查 - TypeScript静态类型检查
  • API文档 - 自动生成的API文档
  • 性能监控 - 系统性能指标监控

🚀 部署指南

Docker部署

# 使用Docker Compose一键部署
docker-compose up -d

# 或者分别构建
docker build -t ai-codesec-backend ./web-system/backend
docker build -t ai-codesec-frontend ./web-system/frontend

生产环境部署

# 后端生产环境启动
cd web-system/backend
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app.main:app

# 前端生产构建
cd web-system/frontend
npm run build
# 使用Nginx提供静态文件服务

📈 性能指标

审计引擎性能

  • 漏洞检出率: 95.7%
  • 分析速度: ~5分钟/项目(中等规模)
  • 支持文件数: 1000+文件/项目
  • 并发处理: 10+并发审计任务

Web系统性能

  • 响应时间: <100ms (API平均响应)
  • 并发用户: 100+同时在线用户
  • 数据处理: 10GB+审计数据存储
  • 可用性: 99.9%系统可用性

🤝 贡献指南

开发环境设置

# 克隆仓库
git clone https://github.com/YingxueSec/AI_CodeSec.git

# 安装开发依赖
pip install -r requirements-dev.txt
npm install --dev

# 运行测试
pytest tests/
npm test

提交规范

  • feat: 新功能
  • fix: 修复bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建过程或辅助工具的变动

📄 许可证

本项目采用MIT许可证 - 详见 LICENSE 文件

🔗 相关链接

🎉 致谢

感谢所有为本项目做出贡献的开发者和用户!


🚀 让AI为您的代码安全保驾护航!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages