Tutorial: AutoSafeCoder
这个项目 AutoSafeCoder 是一个自动化安全编码助手。它使用一个多智能体协作框架 (像项目经理) 来协调不同的 AI 智能体工作。
首先,程序员智能体 会根据需求生成 Python 代码。
然后,静态安全分析器 会检查代码中是否有已知的安全漏洞模式。
接着,模糊测试部分(包括输入生成器和执行器)会在一个安全的代码执行环境中,用各种自动生成的奇怪输入来运行代码,以发现潜在的运行时错误或崩溃。
如果发现了问题,框架会把反馈给程序员智能体,让它尝试修复代码。
整个过程利用大语言模型接口与底层 AI 模型进行交互,以生成代码、分析代码和生成测试数据。
Source Repository: https://github.com/SecureAIAutonomyLab/AutoSafeCoder
flowchart TD
A0["多智能体协作框架 (Multi-Agent Collaboration Framework)
"]
A1["程序员智能体 (Programmer Agent)
"]
A2["静态安全分析器 (Static Security Analyzer)
"]
A3["模糊测试执行器 (Fuzzing Executor)
"]
A4["模糊测试输入生成器 (Fuzzing Input Generator)
"]
A5["大语言模型交互接口 (Large Language Model Interaction Interface)
"]
A6["安全代码执行环境 (Secure Code Execution Environment)
"]
A0 -- "协调编程与修复" --> A1
A0 -- "请求静态分析" --> A2
A0 -- "请求执行模糊测试" --> A3
A0 -- "请求生成/变异输入" --> A4
A1 -- "调用大模型生成/修改代码" --> A5
A2 -- "调用大模型进行分析" --> A5
A3 -- "使用安全环境执行代码" --> A6
A4 -- "调用大模型生成初始输入" --> A5
A2 -- "提供静态分析结果" --> A0
A3 -- "提供模糊测试结果" --> A0
Chapters
- 多智能体协作框架 (Multi-Agent Collaboration Framework)
- 程序员智能体 (Programmer Agent)
- 静态安全分析器 (Static Security Analyzer)
- 模糊测试输入生成器 (Fuzzing Input Generator)
- 模糊测试执行器 (Fuzzing Executor)
- 安全代码执行环境 (Secure Code Execution Environment)
- 大语言模型交互接口 (Large Language Model Interaction Interface)
Generated by AI Codebase Knowledge Builder