AuditLuma - AI代码审计系统(智能体)

AuditLuma - AI代码审计系统(智能体) 🔍

AuditLuma是一个智能代码审计系统,它利用多个AI代理和先进的技术,包括多代理合作协议(MCP)和Self-RAG(检索增强生成),为代码库提供全面的安全分析。

项目地址

AuditLuma

演示视频

AuditLuma – 高级代码审计AI系统智能体演示视频

报告页面展示

在这里插入图片描述
在这里插入图片描述

✨ 特性

  • 🤖 多代理架构 - 针对不同审计任务的专门代理
  • 🔄 MCP(多代理合作协议) - 增强代理之间的协调与合作
  • 🔍 Self-RAG技术 - 提高上下文理解和知识检索能力
  • 🛡️ 综合安全分析 - 全面检测漏洞并提出有效修复建议
  • 📊 可视化功能 - 生成依赖关系图和详细安全报告
  • 🌐 多LLM厂商支持 - 支持OpenAI、DeepSeek、MoonShot、通义千问等多家厂商
  • 🔄 自动厂商检测 - 根据模型名称自动识别并配置正确的厂商API
  • 异步并行处理 - 使用异步并发技术提高性能,加快分析速度

📋 目录

🚀 安装

克隆仓库并安装依赖:

git clone https://github.com/Vistaminc/AuditLuma.git
cd AuditLuma
pip install -r requirements.txt

可选依赖

FAISS向量检索库

默认情况下,AuditLuma会使用一个简单的内置向量存储实现。如果需要处理大型代码库,建议安装FAISS以提高性能:

# CPU版本
pip install faiss-cpu

# GPU版本(支持CUDA)
pip install faiss-gpu

安装FAISS后,系统将自动检测并使用它进行向量存储和检索,显著提高分析大型项目时的性能。

🛠 使用

基本用法:

python main.py -d ./goalfile -o ./reports

命令行参数

参数说明默认值
-d, --directory目标项目目录./goalfile
-o, --output报告输出目录./reports
-w, --workers并行工作线程数配置中的max_batch_size
-f, --format报告格式(html/pdf/json)配置中的report_format
--no-mcp禁用多智能体协作协议默认启用
--no-self-rag禁用Self-RAG检索默认启用
--no-deps跳过依赖分析默认不跳过
--no-remediation跳过生成修复建议默认不跳过
--verbose启用详细日志记录默认禁用

⚙️ 配置

通过编辑config/config.yaml文件配置系统。主要配置项包括:

模型规范格式

AuditLuma支持使用统一的模型规范格式 model@provider 来指定模型和提供商:

deepseek-chat@deepseek  # 指定使用DeepSeek提供商的deepseek-chat模型
gpt-4-turbo@openai      # 指定使用OpenAI提供商的gpt-4-turbo模型
qwen-turbo@qwen         # 指定使用通义千问提供商的qwen-turbo模型

如果不指定提供商(不使用@符号),系统将自动根据模型名称推断提供商。

配置文件示例

# 默认模型配置
default_models:
  code_analysis: "deepseek-chat@deepseek"   # 代码分析模型
  security_audit: "gpt-4-turbo@openai"      # 安全审计模型
  remediation: "deepseek-chat@deepseek"     # 修复建议模型
  summarization: "qwen-turbo@qwen"          # 报告总结模型

# Self-RAG配置
self_rag:
  enabled: true
  embedding_model: "text-embedding-3-small@openai"  # 嵌入模型

# 多智能体配置
mcp:
  enabled: true
  agents:
    - name: "orchestrator"
      type: "coordinator"
      model: "deepseek-chat@deepseek"  # 编排智能体使用的模型
    - name: "security_analyst"
      type: "analyst"
      model: "gpt-4-turbo@openai"      # 安全分析智能体使用的模型

多厂商支持

AuditLuma支持多家LLM厂商,并能根据模型名称自动检测厂商:

模型前缀厂商
gpt-OpenAI
deepseek-DeepSeek
moonshot-硅基流动
qwen-通义千问
glm-chatglm智谱AI
baichuan百川

💻 支持语言

AuditLuma支持分析以下编程语言:

主要语言(包括排名前10)

  • Python (.py)
  • JavaScript (.js, .jsx)
  • TypeScript (.ts, .tsx)
  • Java (.java)
  • C# (.cs)
  • C++ (.cpp, .cc, .hpp)
  • C (.c, .h)
  • Go (.go)
  • Ruby (.rb)
  • PHP (.php)
  • Lua (.lua)

其他支持的语言

  • Rust (.rs)
  • Swift (.swift)
  • Kotlin (.kt)
  • Scala (.scala)
  • Dart (.dart)
  • Bash (.sh, .bash)
  • PowerShell (.ps1, .psm1)

标记和配置语言

  • HTML (.html, .htm)
  • CSS (.css)
  • JSON (.json)
  • XML (.xml)
  • YAML (.yml, .yaml)
  • SQL (.sql)

🏛 架构

  1. Agent Orchestrator - 协调工作流中的所有代理
  2. 代码分析代理 - 分析代码结构并提取依赖关系
  3. 安全分析代理 - 识别安全漏洞
  4. 修复建议代理 - 生成针对性漏洞修复方案
  5. 可视化组件 - 生成直观的报告和依赖关系图

📊 报告格式

AuditLuma支持以下报告格式:

  • 📋 HTML报告 - 包含漏洞详情、统计图表和交互式可视化
  • 📄 PDF报告 - 适合打印和分享的格式
  • 🔄 JSON报告 - 适合进一步处理和集成的机器可读格式

💬 贡献

欢迎贡献代码和建议!请遵循以下步骤:

  1. Fork 仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建Pull Request

📜 许可证

MIT


Built with ❤️ by AuditLuma Team
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值