Image
9399c01d8c
Merge branch 'v3.0.0' of github.com:lintsinghua/DeepAudit into feature/git_ssh
...
# Conflicts:
# backend/app/services/scanner.py
# backend/uv.lock
# frontend/src/pages/Projects.tsx
2025-12-25 14:41:09 +08:00
vinland100
e4f1391a28
merge: 同步上游 v3.0.0 并更新 uv 依赖锁文件
2025-12-25 11:45:52 +08:00
rockmelodies
91290802a8
在 GoTestTool 类的 _build_wrapper_code 方法中,第 770 行有语法错误。
...
以修复
2025-12-24 17:39:24 +08:00
Image
a79b27a6d2
✨ feat(ssh):新增SSH密钥认证支持,支持通过SSH方式访问Git仓库
...
新增SSH密钥管理功能,包括生成、查看、测试和删除SSH密钥对。在agent_tasks.py中集成SSH私钥解密和SSH克隆逻辑,支持git@格式的SSH URL。在projects.py中为SSH URL添加文件获取支持。新增ssh_keys.py端点提供完整的SSH密钥API管理。前端Account页面新增SSH密钥管理界面,Projects页面支持选择SSH Key认证类型。新增git_ssh_service.py提供SSH密钥生成、验证和Git SSH操作功能。
2025-12-24 16:08:56 +08:00
lintsinghua
b0f17d50db
docs(agent): 添加防止幻觉的验证指南和使用警告
...
在多个agent文件中添加详细的防止幻觉验证指南,包括:
1. 必须验证文件存在性和代码匹配性
2. 禁止猜测文件路径和行号
3. 知识库示例与实际代码的区分警告
4. 添加语言检测功能以提醒语言不匹配情况
2025-12-19 19:14:23 +08:00
lintsinghua
80704fdcb4
feat(agent): 增强文件路径验证防止幻觉报告
...
添加文件路径验证规则和检查逻辑,确保漏洞报告中的文件真实存在
移除LLM响应中的Markdown格式标记,统一解析处理
更新报告工具和端点以支持项目根目录验证
2025-12-19 19:08:36 +08:00
lintsinghua
4d7abae245
feat(embedding): 支持 OpenAI 兼容 API 并增强错误处理
...
- 更新 OpenAI 提供商描述以支持兼容 API 服务商
- 前端添加兼容 API 使用引导说明
- 后端 QwenEmbedding 添加 API 密钥验证和错误处理
2025-12-19 16:37:39 +08:00
lintsinghua
9eddef589a
Merge pull request #83 from WilliamBy/v3-dev
...
[feat] 添加 qwen 嵌入模型提供商
2025-12-19 16:24:11 +08:00
lintsinghua
8fe96a83cf
feat(agent): 使用用户配置的LLM参数替代硬编码值
...
重构所有Agent和LLM服务,移除硬编码的temperature和max_tokens参数
添加get_analysis_config函数统一处理分析配置
在LLM测试接口中显示用户保存的配置参数
前端调试面板默认显示LLM测试详细信息
2025-12-19 16:08:26 +08:00
w1_liamby
d827ab8b03
[feat] 添加 qwen 嵌入模型提供商
2025-12-19 15:14:39 +08:00
lintsinghua
9fe15f0d0b
fix(llm): 增强API错误处理以包含原始响应信息
...
改进所有LLM适配器的错误处理逻辑,现在会捕获并传递API原始响应信息
添加对账户余额不足等特定错误类型的识别和处理
统一各适配器的错误响应格式,包含错误代码和消息
2025-12-19 13:33:49 +08:00
lintsinghua
2e11f3e1a3
feat(llm): 增强LLM错误处理和调试信息展示
...
在LLMError异常类中添加api_response字段存储原始错误信息
实现_extract_api_response方法从异常中提取API响应
前端增加调试信息展示面板,显示详细的错误诊断数据
后端测试接口返回完整的调试信息,包括耗时、错误类型等
2025-12-19 11:41:06 +08:00
lintsinghua
89ebd4d797
fix(report_generator): 转义HTML特殊字符以防止XSS攻击
...
添加_html_escape方法并对报告中的用户输入数据进行转义处理,包括代码片段、描述、建议、标题和文件路径,以提高安全性
2025-12-19 11:19:40 +08:00
lintsinghua
c0ac7d0544
feat(报告): 添加任务报告导出功能并优化样式
...
- 在 AuditTasks 页面添加快速扫描和 Agent 任务的报告导出功能
- 在 ReportExportDialog 中优化颜色样式以支持亮色/暗色模式
- 修复报告生成器中字段为空时的处理逻辑
2025-12-18 23:58:56 +08:00
lintsinghua
22b1610825
feat(agent): 新增通用代码执行工具和函数提取工具
...
添加 RunCodeTool 和 ExtractFunctionTool 用于 LLM 驱动的漏洞验证
放宽沙箱命令限制以支持更灵活的测试
更新验证代理提示词以优先使用动态代码验证
2025-12-18 15:03:30 +08:00
lintsinghua
1b495edb99
feat(agent): 扩展事件管理器的调试日志范围并增强工具调用循环检测
...
添加 tool_call, tool_result 和 llm_action 到重要事件调试日志
实现智能循环检测机制,当工具重复调用超过3次时进行干预
2025-12-18 01:53:05 +08:00
lintsinghua
d62fd25fa6
feat(agent): 增强安全工具路径处理逻辑和错误提示
...
- 新增智能路径解析函数 _smart_resolve_target_path 处理常见路径问题
- 改进 Semgrep、Bandit 等工具的错误处理和日志输出
- 更新工具描述文档,明确路径使用规范
- 在 docker-compose 中添加 SANDBOX_IMAGE 配置
- 优化项目根目录检测逻辑,自动处理单层嵌套目录
2025-12-17 19:22:00 +08:00
lintsinghua
dbf03c5ac3
refactor(沙箱工具): 将沙箱镜像配置改为从settings读取
...
默认镜像配置改为从settings.SANDBOX_IMAGE读取,提高配置灵活性
2025-12-17 18:07:11 +08:00
lintsinghua
f1796ca044
fix(docker): 禁用代理环境变量防止网络干扰
...
在 Docker 容器配置中禁用 HTTP/HTTPS 代理环境变量,防止代理设置干扰容器网络连接
同时优化 sandbox 工具的环境变量处理逻辑
2025-12-17 15:33:53 +08:00
lintsinghua
1a720f7072
build: 更新 tree-sitter 依赖至 tree-sitter-language-pack
...
替换已弃用的 tree-sitter-languages 为 tree-sitter-language-pack,并升级 tree-sitter 至 0.23.0 以上版本以解决兼容性问题
2025-12-17 14:52:59 +08:00
google-labs-jules[bot]
1c0ec2b13d
feat: enhance Gitea support and merge upstream v3.0.0
...
- Merge upstream v3.0.0 changes
- Fix security vulnerabilities (SSRF, Path Traversal) by introducing `parse_repository_url` utility
- Fix token leakage and handling in `scanner.py` and `projects.py`
- Fix `NameError` in `scanner.py`
- Fix `frontend/docker-entrypoint.sh` API URL escaping
- Standardize Gitea token naming to `gitea_token`
2025-12-17 03:02:42 +00:00
lintsinghua
a980fa34e1
fix(agent): 修复任务取消和LLM流式处理的多项问题
...
修复任务取消后仍可能标记为完成的问题,增加全局取消检查回调
移除事件管理器的人为延迟,防止队列堆积
为LLM流式调用增加超时机制和安全检查
增加验证阶段超时时间至10分钟
2025-12-16 22:47:04 +08:00
lintsinghua
6c080fc5d6
feat(agent): 增加漏洞文件统计功能并优化agent提示词
...
- 在AgentTask模型中添加files_with_findings字段统计有漏洞发现的文件数
- 更新前后端接口和界面展示漏洞文件统计
- 优化各Agent的系统提示词,移除冗余内容并增强工具使用约束
- 增加LLM的max_tokens至8192避免截断
- 添加生产环境docker-compose配置和更新README部署说明
2025-12-16 22:08:45 +08:00
lintsinghua
cd79242b3e
feat: 一键部署沙箱 + Docker 镜像发布工作流
...
- docker-compose: 移除沙箱 profiles 配置,支持一键 docker compose up -d
- pyproject.toml: 迁移 dev-dependencies 到 dependency-groups (PEP 735)
- 新增 docker-publish.yml 工作流,支持手动发布镜像(不创建 tag)
- 优化 orchestrator 和 verification agent
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:00:00 +08:00
lintsinghua
f71b8da7df
feat(embedding): 支持前端配置嵌入模型的API密钥
...
refactor(agent): 改进任务取消逻辑,确保子Agent被正确取消
- 移除asyncio.shield()以允许取消信号传播
- 增加更频繁的取消状态检查
- 添加日志记录子Agent取消情况
feat(nginx): 添加前端构建产物和nginx配置的挂载
refactor(rag): 优化代码索引器的日志输出和元数据处理
- 添加索引文件数量的调试日志
- 将元数据字段提升到顶级以便检索
fix(parser): 修复AST定义提取中的方法识别问题
- 区分函数和方法定义
- 优化遍历逻辑避免重复匹配
2025-12-16 19:42:44 +08:00
vinland100
0fb10f6f76
feat: add Gitea repository support
2025-12-16 18:55:07 +08:00
lintsinghua
7efb89d2d2
fix(rag): 修复代码块ID重复问题
...
在CodeIndexer中添加去重逻辑,确保没有重复ID的代码块被索引
使用完整内容生成hash作为ID,提高唯一性
2025-12-16 18:49:30 +08:00
lintsinghua
96560e6474
feat(RAG): 添加索引任务取消检查并支持目标文件过滤
...
在索引过程中添加取消检查功能,允许在嵌入批处理时取消任务
支持通过target_files参数限制索引范围
2025-12-16 18:46:34 +08:00
lintsinghua
e0689245de
feat(RAG): 添加嵌入进度显示和取消支持
...
为RAG索引过程添加嵌入进度回调功能,支持实时显示嵌入向量生成进度
新增取消检查机制,允许用户取消长时间运行的嵌入操作
更新前端依赖版本以保持兼容性
2025-12-16 18:41:30 +08:00
lintsinghua
5974323a71
feat(agent): 实现任务取消和超时处理机制
...
添加对Agent任务的取消和超时处理支持,包括:
- 在工具执行、子Agent运行和项目初始化阶段检查取消状态
- 为不同工具和Agent类型设置合理的超时时间
- 使用asyncio实现取消检查和超时控制
- 优化取消响应速度,减少资源浪费
2025-12-16 17:31:29 +08:00
lintsinghua
e2109647bf
feat(agent): 增强任务执行流程和实时日志反馈
...
- 在任务执行流程中添加实时事件反馈,包括克隆进度和索引进度
- 实现 RAG v2.0 智能索引功能,支持模型变更检测和增量更新
- 改进文件工具兼容性,支持 path 参数作为 directory 别名
- 扩展前端事件处理逻辑,支持更多事件类型显示
- 修复 tree-sitter 版本兼容性问题
2025-12-16 16:56:09 +08:00
lintsinghua
17889dceee
feat(retriever): 添加自动适配不同 embedding 配置的功能
...
支持自动检测 collection 的 embedding 配置并动态创建对应的 embedding 服务
新增从向量维度推断配置的功能,兼容旧的 collection
2025-12-16 15:28:03 +08:00
lintsinghua
5f07403850
feat(agent): 增强 RAG 配置和工具集成
...
- 扩展嵌入模型配置选项,支持独立 API Key 和 Base URL
- 重构 RAG 初始化逻辑,支持用户自定义嵌入配置
- 新增语义搜索工具并集成到 Recon 和 Analysis Agent
- 完善系统提示,明确不同代码搜索工具的使用场景
2025-12-16 13:57:27 +08:00
lintsinghua
15743e0b18
feat: 将最大分析文件数默认值改为0表示无限制
...
修改前后端配置文件和文档,将 MAX_ANALYZE_FILES 默认值从50改为0表示无限制
同时更新相关逻辑判断条件,仅在 MAX_ANALYZE_FILES > 0 时进行文件数限制
2025-12-16 13:04:09 +08:00
lintsinghua
364b8cea42
修复Agent审计任务识别不到文件的错误
2025-12-16 12:34:57 +08:00
lintsinghua
7d29fe0f2a
fix: disable proxy environment variables in docker-compose.yml to ensure external API connectivity
2025-12-15 15:45:16 +08:00
lintsinghua
3639b3a13e
fix(agent): 修复工具执行结果处理中的 None 值问题
...
修复 AgentTool 和外部工具类中结果处理逻辑,确保 data 字段不为 None
添加调试日志和错误处理,改进工具执行失败时的反馈信息
统一所有工具类的错误处理格式,避免前端显示 "None" 字符串
2025-12-15 10:24:58 +08:00
lintsinghua
cdf360dcf7
feat: 增加文件上传大小限制至500MB并优化大文件处理
...
增加ZIP文件上传大小限制从100MB到500MB
在agent工具中添加失败调用追踪和自动跳过机制
优化大文件读取性能,支持流式处理指定行范围
2025-12-15 09:21:37 +08:00
lintsinghua
2df1b39e08
feat: Introduce Kunlun agent tool, add Docker and sandbox environment checks, and update agent services and frontend dialogs.
2025-12-15 02:00:34 +08:00
lintsinghua
c64eddac7c
feat(agent): 新增多语言代码测试和漏洞验证工具并增强错误处理
...
新增 PHP、Python、JavaScript 等多语言代码测试工具和命令注入、SQL 注入等专用漏洞验证工具
优化错误处理逻辑,提供更详细的错误信息和堆栈跟踪
增强 JSON 解析器,优先使用 json-repair 库处理复杂格式
改进 Agent 响应解析逻辑,更健壮地提取思考内容和操作指令
完善沙箱管理器的初始化和错误处理机制
2025-12-14 17:20:54 +08:00
lintsinghua
a85cdb687d
refactor(agent): 重构Agent架构并实现动态Agent树
...
feat(sandbox): 增强沙箱工具的错误处理和日志记录
test(verification): 添加沙箱验证工具的独立测试脚本
docs: 删除过时的文档和测试文件
2025-12-14 14:52:06 +08:00
lintsinghua
e29231cc73
feat(安全扫描): 扩展高风险文件模式和危险模式库支持更多语言和文件类型
...
增加对Swift、Kotlin、Rust等语言的支持
添加iOS和Android相关配置文件类型
补充移动端开发中常见的安全风险模式
2025-12-14 14:00:04 +08:00
lintsinghua
95929a467b
feat(沙箱): 强制使用沙箱验证并增强沙箱功能
...
- 移除 LLM 模拟验证工具,强制使用沙箱进行漏洞验证
- 增强沙箱容器配置,添加/tmp挂载点
- 扩展沙箱基础镜像,增加多种语言环境支持
- 添加RCE漏洞验证脚本用于测试沙箱功能
- 更新验证Agent的系统提示,明确必须使用沙箱工具
2025-12-14 12:43:44 +08:00
lintsinghua
189274fd56
feat(sandbox): 重构安全工具以使用沙箱环境执行
...
重构所有安全工具(Semgrep, Bandit等)使用Docker沙箱环境执行,提升安全隔离性
更新Dockerfile基础镜像并集成常用安全扫描工具
添加沙箱管理器的工具命令执行方法,支持资源限制和临时文件系统
2025-12-14 00:07:04 +08:00
lintsinghua
d449e2ba78
Fix: Improve agent stream stability by preventing unnecessary reconnections and correctly draining buffered events.
2025-12-13 20:21:30 +08:00
lintsinghua
507fe393d1
fix(agent): 改进沙盒工具初始化的日志记录
...
添加更详细的成功和失败日志信息,包括工具列表和完整的异常堆栈
2025-12-13 18:58:30 +08:00
lintsinghua
4e4dd05ddb
feat(agent): 增强漏洞发现处理流程和前端兼容性
...
- 后端添加对旧事件类型'finding'的兼容支持
- 改进漏洞发现标准化和去重逻辑
- 新增PoC生成要求和相关字段
- 优化沙箱配置初始化流程
- 前端添加ADD_FINDING操作和状态管理
- 增强事件流处理和序列号过滤
- 改进历史事件加载和SSE连接逻辑
- 添加漏洞验证状态和PoC信息到报告
2025-12-13 18:45:05 +08:00
lintsinghua
6d98f29fa6
feat: 新增安全工具集成和漏洞知识库扩展
...
- 添加 Bandit 和 Safety 安全工具到依赖项
- 新增 CSRF、业务逻辑和开放重定向漏洞知识文档
- 实现安全工具一键安装脚本和文档
- 改进模式匹配工具支持直接文件扫描
- 增强遥测模块和 Agent 审计功能
- 修复验证节点中 findings 合并逻辑
- 优化前端 Agent 审计界面和状态展示
2025-12-13 12:35:03 +08:00
lintsinghua
3db20a3afb
feat(agent): enhance error handling and project scope filtering
...
- Downgrade Python version from 3.13 to 3.11.12 for compatibility
- Improve empty LLM response handling with better diagnostics and retry logic in AnalysisAgent
- Add detailed logging for empty response retries with token count and iteration tracking
- Implement fallback result generation instead of immediate failure on consecutive empty responses
- Enhance stream error handling with partial content recovery and error message propagation
- Add comprehensive exception handling in stream_llm_call to prevent error suppression
- Implement project scope filtering to ensure consistent filtered views across Orchestrator and sub-agents
- Track filtered files and directories separately when target_files are specified
- Add scope_limited flag and scope_message to project structure for transparency
- Remove manual progress_percentage setting and rely on computed property for COMPLETED status
- Improve code comments with diagnostic markers (🔥 ) for critical sections
2025-12-12 16:36:39 +08:00
lintsinghua
31dc476015
feat: Improve streaming LLM token usage reporting by adding input estimation, requesting usage via `stream_options`, and providing fallback estimation.
2025-12-12 16:30:57 +08:00