mirror of
https://github.com/Ky0toFu/Mirror-Flowers.git
synced 2025-09-18 04:51:06 +00:00
157 lines
3.8 KiB
Plaintext
157 lines
3.8 KiB
Plaintext
![]() |
# Mirror Flowers (镜花)
|
|||
|
|
|||
|

|
|||
|
|
|||
|
基于 AI 的代码安全审计工具,支持多种编程语言的代码分析,可以帮助开发者快速发现代码中的潜在安全漏洞。支持DeepSeek-R1,ChatGPT-4o等多种大模型。
|
|||
|
|
|||
|
## 支持的API接口
|
|||
|
|
|||
|
FREEGPTAPI:https://github.com/popjane/free_chatgpt_api
|
|||
|
SiliconFlow(硅基流动):https://siliconflow.cn/
|
|||
|
|
|||
|
如需要使用GPT大模型则使用FREEGPTAPI,使用DeepSeek-R1大模型则使用SiliconFlow API。
|
|||
|
|
|||
|
SiliconFlow(硅基流动)注册可免费领取14元使用额度,可通过SMS接码平台注册账号,理论可无限免费使用API KEY。
|
|||
|
|
|||
|
## 功能特点
|
|||
|
|
|||
|
- 支持单文件和项目文件夹审计
|
|||
|
- 支持多种编程语言 (PHP, Java, JavaScript, Python)
|
|||
|
- 实时进度显示
|
|||
|
- 深度代码分析
|
|||
|
- 漏洞详细报告
|
|||
|
- 支持亮色/暗色主题切换
|
|||
|
- 支持自定义 API 配置
|
|||
|
|
|||
|
## 支持的文件类型
|
|||
|
|
|||
|
- PHP (.php)
|
|||
|
- Java (.java)
|
|||
|
- JavaScript (.js)
|
|||
|
- Python (.py)
|
|||
|
|
|||
|
## 快速开始
|
|||
|
|
|||
|
### 环境要求
|
|||
|
|
|||
|
- Python 3.8+
|
|||
|
- FastAPI
|
|||
|
- Node.js (可选,用于前端开发)
|
|||
|
|
|||
|
### 安装步骤
|
|||
|
|
|||
|
1. 克隆项目
|
|||
|
```bash
|
|||
|
git clone https://github.com/yourusername/code-audit-tool.git
|
|||
|
cd code-audit-tool
|
|||
|
```
|
|||
|
|
|||
|
2. 安装依赖
|
|||
|
```bash
|
|||
|
pip install -r requirements.txt
|
|||
|
```
|
|||
|
|
|||
|
3. 配置环境变量
|
|||
|
创建 `.env` 文件并配置以下参数:
|
|||
|
```env
|
|||
|
OPENAI_API_KEY=your_api_key_here
|
|||
|
OPENAI_API_BASE=your_api_base_url
|
|||
|
OPENAI_MODEL=your_preferred_model
|
|||
|
```
|
|||
|
|
|||
|
4. 启动服务
|
|||
|
```bash
|
|||
|
cd backend
|
|||
|
uvicorn app:app --reload
|
|||
|
```
|
|||
|
|
|||
|
5. 访问工具
|
|||
|
打开浏览器访问 `http://localhost:8000`
|
|||
|
|
|||
|
## 使用说明
|
|||
|
|
|||
|
### 单文件审计
|
|||
|
|
|||
|
1. 在界面上选择"单文件审计"
|
|||
|
2. 点击选择文件,上传需要审计的源代码文件
|
|||
|
3. 点击"开始审计"按钮
|
|||
|
4. 等待分析完成,查看审计结果
|
|||
|
|
|||
|
### 项目文件夹审计
|
|||
|
|
|||
|
1. 在界面上选择"项目文件夹审计"
|
|||
|
2. 点击选择文件夹,选择需要审计的项目文件夹
|
|||
|
3. 系统会自动过滤支持的文件类型
|
|||
|
4. 点击"开始审计"按钮
|
|||
|
5. 等待分析完成,查看完整的项目审计报告
|
|||
|
|
|||
|
### 自定义 API 配置
|
|||
|
|
|||
|
1. 在页面顶部的 API 配置区域输入:
|
|||
|
- OpenAI API Key
|
|||
|
- API Base URL(可选)
|
|||
|
- 选择模型(可选)
|
|||
|
2. 点击"更新配置"保存设置
|
|||
|
|
|||
|
### 主题切换
|
|||
|
|
|||
|
- 点击右上角的主题切换按钮可以在亮色/暗色主题之间切换
|
|||
|
- 主题选择会被保存在本地
|
|||
|
|
|||
|
## 审计报告说明
|
|||
|
|
|||
|
审计报告包含以下内容:
|
|||
|
|
|||
|
1. 漏洞分析
|
|||
|
- 漏洞类型
|
|||
|
- 漏洞位置
|
|||
|
- 严重程度
|
|||
|
- 详细描述
|
|||
|
- 影响范围
|
|||
|
- 修复建议
|
|||
|
|
|||
|
2. 上下文分析
|
|||
|
- 代码结构分析
|
|||
|
- 数据流分析
|
|||
|
- 相关函数调用
|
|||
|
|
|||
|
3. 相关文件
|
|||
|
- 受影响的相关文件列表
|
|||
|
- 文件依赖关系
|
|||
|
|
|||
|
## 注意事项
|
|||
|
|
|||
|
1. 文件大小限制:项目文件夹总大小不能超过 10MB
|
|||
|
2. 支持的文件类型有限,不支持的文件类型会被自动过滤
|
|||
|
3. API Key 请妥善保管,不要泄露
|
|||
|
4. 分析结果仅供参考,建议结合人工审查
|
|||
|
|
|||
|
## 常见问题
|
|||
|
|
|||
|
1. Q: 为什么上传文件后按钮仍然禁用?
|
|||
|
A: 请确保上传的文件类型是支持的文件类型之一。
|
|||
|
|
|||
|
2. Q: 如何处理大型项目?
|
|||
|
A: 建议分模块上传,每次上传的文件总大小不要超过 10MB。
|
|||
|
|
|||
|
3. Q: 分析过程中中断了怎么办?
|
|||
|
A: 可以刷新页面重新上传文件进行分析。
|
|||
|
|
|||
|
## 技术栈
|
|||
|
|
|||
|
- 后端:Python + FastAPI
|
|||
|
- 前端:HTML + JavaScript + Bootstrap
|
|||
|
- AI:OpenAI API
|
|||
|
- 其他:JSZip, Bootstrap Icons
|
|||
|
|
|||
|
## 贡献指南
|
|||
|
|
|||
|
欢迎提交 Issue 和 Pull Request 来帮助改进这个工具。
|
|||
|
|
|||
|
## 许可证
|
|||
|
|
|||
|
MIT License
|
|||
|
|
|||
|
## 联系方式
|
|||
|
|
|||
|
如有问题或建议,请通过 Issue 与我联系。
|