meraklbz
|
ea20eb15e5
|
fix bug
|
2026-02-10 23:13:51 +08:00 |
|
meraklbz
|
702571d1ef
|
fix bug
|
2026-02-10 21:04:14 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
f20c698726
|
修复:agent_tasks.py 启动报错 NameError: zipfile 未导入
safe_extract_zip 函数签名在模块级别引用了 zipfile.ZipFile 类型注解,
但 zipfile 模块只在函数内部局部导入,导致模块加载时报 NameError。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-09 23:39:27 +08:00 |
|
ez-lbz
|
d664f33622
|
Merge pull request #149 from Jeremy2214/patch-1
后端Git URL命令注入漏洞修复和后端解压缩路径遍历漏洞修复
|
2026-02-09 22:55:00 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
685ff3f873
|
修复:自定义审计规则类别过滤未生效 (#106)
根据启用的规则类别动态生成 JSON Schema type 枚举和类别约束指令,
确保禁用的规则类别(如性能、代码质量)不会出现在审计结果中。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-09 12:09:37 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
f86a34f038
|
修复:退出登录不跳转 (#142) 和 batch_size 设置不生效 (#91)
- Account.tsx: handleLogout 和 handleSwitchAccount 改为调用
AuthContext.logout() 清除认证状态,确保退出后重定向到登录页
- agent_tasks.py: 创建 EmbeddingService 后设置用户配置的 batch_size
- indexer.py: batch_size 默认值从 50 改为 100,与 EmbeddingConfig 一致
Fixes #142, Fixes #91
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-09 11:37:43 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
c1632460b1
|
修复:沙箱容器 "operation not permitted" 错误 (exit_code=255)
原因:cap_drop: ["ALL"] 在部分 Docker 环境(AppArmor/SELinux)下
导致容器无法执行 /bin/sh,Semgrep 等工具直接失败。
修改:
- 默认改为丢弃特定危险能力而非全部,提高兼容性
- 新增 SANDBOX_CAP_DROP 环境变量,可自定义丢弃的能力列表
- 新增 SANDBOX_NO_NEW_PRIVILEGES 环境变量,可关闭 no-new-privileges
- 遇到问题时可设置 SANDBOX_CAP_DROP=NONE 完全关闭能力限制
Fixes #157
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-09 11:22:02 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
cf59c10ddd
|
修复:Claude 模型不允许同时传 temperature 和 top_p 的问题
Claude API 要求 temperature 和 top_p 不能同时指定,
当 provider 为 Claude 时不再传递 top_p 参数。
Fixes #160
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-09 11:12:34 +08:00 |
|
 lintsinghuaandClaude Opus 4.6
|
7c691284dc
|
修复:Dashboard"已解决"始终为0及相关问题
1. 修复 AgentFinding 已解决计数:改用 fixed/wont_fix/false_positive 判断
2. 修复后端状态更新 API:路由与前端匹配,从 body 读取 status,修正验证逻辑
3. 前端添加状态变更下拉菜单:项目问题列表和任务详情均可标记已解决/误报
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-07 19:12:45 +08:00 |
|
lintsinghua
|
53d2a8a5db
|
修复:平均质量分为0.0
|
2026-02-07 17:19:29 +08:00 |
|
meraklbz
|
b2a3b26579
|
fix bug
|
2026-02-05 15:48:25 +08:00 |
|
Jeremy2214
|
f1758a18c9
|
后端Git URL命令注入漏洞修复和后端解压缩路径遍历漏洞修复
- 添加 validate_git_url() 函数验证 Git URL 安全性
- 添加 validate_branch_name() 函数验证分支名称安全性
- 在执行 git clone 前进行输入验证
- 添加 is_path_safe() 函数检查路径是否在基础目录内
- 添加 safe_extract_zip() 函数安全解压 ZIP 文件
- 防止 Zip Slip 攻击
|
2026-01-28 13:58:37 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
25e07f4cc9
|
fix(tokenizer): 延迟输出 Token 计数方案日志
将日志输出时机从模块导入时改为首次实际使用时,
确保日志在应用日志系统配置完成后输出。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 19:08:54 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
2f4107a181
|
feat(llm): 统一 Token 计数,使用 tiktoken 精确计数
- 新增 TokenEstimator 统一 token 计数逻辑
- 优先使用 tiktoken 精确计数,不可用时回退到启发式估算
- 启动时日志显示实际使用的计数方案
- 修复 agent_tasks 中子 Agent 统计数据未累加的问题
- estimate_tokens 现在支持传入 model 参数
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 19:03:16 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
5ee9e2297b
|
feat(agent): 修复Agent间TaskHandoff通信机制
- Orchestrator: 添加_build_handoff_for_agent()构建并传递TaskHandoff
- Orchestrator: 保存子Agent返回的handoff到_agent_handoffs字典
- Recon Agent: 添加_create_recon_handoff()生成结构化交接信息
- Analysis Agent: 添加_create_analysis_handoff()传递漏洞发现
- Verification Agent: 添加_create_verification_handoff()返回验证结果
通信流程: Recon → Analysis → Verification → Orchestrator
每个Agent现在都能正确接收、使用和生成TaskHandoff
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 17:39:32 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
8198f2f390
|
fix: 嵌入模型向量维度可配置,解决 Ollama 不同参数规模模型维度不匹配问题
Fixes #123
问题:qwen3-embedding:8b 实际维度 4096,但代码硬编码为 1024(只适用于 0.6b 版本),导致 RAG 系统初始化失败
修改内容:
- OllamaEmbedding: 构造函数添加 dimension 参数,用户配置优先
- EmbeddingService: 支持传递自定义维度到各提供商
- embedding_config.py:
- 补充 _get_model_dimensions 缺失的模型映射
- get_current_config 优先使用用户配置的维度
- test_embedding 支持传递自定义维度
- 前端 EmbeddingConfig: 添加"自定义向量维度"输入框
使用方式:
在"系统配置-嵌入模型"页面,输入自定义向量维度(如 4096)即可覆盖默认值
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 14:42:31 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
da853fdd8c
|
fix: 修复SSRF防护实现的问题
- latency_ms 改为在 sleep 前计算,返回实际嵌入延迟而非固定时间
- FIXED_DURATION 从 10s 降为 3s,改善用户体验
- import 语句移到文件顶部,符合Python规范
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 14:32:33 +08:00 |
|
lintsinghua
|
e3ad3241ab
|
Merge pull request #145 from ez-lbz/v3.0.0
通过固定返回时间来防止SSRF扫描内网端口
|
2026-01-24 14:23:54 +08:00 |
|
 lintsinghuaandClaude Opus 4.5
|
551780810c
|
fix: Agent审计LLM超时可配置化,解决硬编码30s超时问题
Fixes #138
问题:Agent审计时LLM超时时间硬编码为30秒,用户配置的超时值不生效
修改内容:
- 前端:在"系统配置-LLM配置-高级参数"增加完整超时配置(默认展开)
- 首Token超时、流式超时、工具超时、子Agent超时、总超时
- 后端:LLMConfigSchema 增加超时配置字段
- 后端:LLMService 增加 get_agent_timeout_config() 方法
- Agent:BaseAgent 从用户配置读取超时值
- Orchestrator:子Agent调度使用配置的超时值
默认值:
- 首Token超时: 30s
- 流式超时: 60s
- 工具超时: 60s
- 子Agent超时: 600s (10分钟)
- Agent总超时: 1800s (30分钟)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-24 14:09:36 +08:00 |
|
meraklbz
|
b371fbe217
|
通过固定返回时间来方式SSRF扫描内网端口
|
2026-01-24 14:04:51 +08:00 |
|
ArcueId
|
e06126482c
|
perf(rag): 优化嵌入服务性能并改进批处理大小配置
- 优化本地嵌入服务(Ollama)性能,移除不必要的延迟
- 改进批处理大小配置,使用动态获取替代硬编码
- 保持云端服务的限流逻辑不变
|
2025-12-28 10:15:58 +08:00 |
|
lintsinghua
|
b030381ad2
|
feat(ssh): 增加SSH超时配置并改进错误处理
- 在配置中添加SSH_CLONE_TIMEOUT、SSH_TEST_TIMEOUT和SSH_CONNECT_TIMEOUT
- 替换print为logging记录关键操作和错误
- 改进SSH命令构建方式防止注入
- 添加分支名验证逻辑
- 优化错误消息显示,避免暴露敏感信息
|
2025-12-26 20:34:47 +08:00 |
|
Image
|
869513e0c5
|
Merge branch 'v3.0.0' of github.com:lintsinghua/DeepAudit into feature/git_ssh
# Conflicts:
# backend/app/api/v1/endpoints/agent_tasks.py
|
2025-12-26 09:39:25 +08:00 |
|
Image
|
f1243245a8
|
✨ feat(SSH):添加known_hosts持久化与清理功能
- 新增SSH配置目录设置,支持持久化存储known_hosts文件
- 实现known_hosts文件清理API端点,解决主机密钥变更导致的连接问题
- 优化SSH连接策略,使用StrictHostKeyChecking=accept-new自动接受新主机密钥
- 前端添加known_hosts清理按钮,提升SSH密钥管理体验
- 改进SSH测试逻辑,正确处理部署密钥的Anonymous响应
|
2025-12-26 09:33:55 +08:00 |
|
lintsinghua
|
15605fea16
|
refactor(agent): 移除LangGraph工作流并迁移到动态Agent树架构
重构Agent服务架构,从基于LangGraph的状态图迁移到动态Agent树结构。主要变更包括:
- 删除graph模块及相关测试
- 更新agent/__init__.py导入和文档
- 在projects端点添加对新AgentTask模型的统计支持
- 简化工作流描述为START→Orchestrator→[Recon/Analysis/Verification]→Report→END
新架构使用OrchestratorAgent作为编排层,动态调度子Agent完成任务,提高灵活性和可扩展性。
|
2025-12-25 17:58:14 +08:00 |
|
lintsinghua
|
39e2f43210
|
feat(agent): 增强API错误处理机制
添加对API错误的分类处理,包括速率限制、配额用尽、认证和连接错误
在base.py中标记API错误前缀,orchestrator.py中实现重试逻辑
litellm_adapter.py中完善错误类型识别和用户友好提示
|
2025-12-25 17:35:31 +08:00 |
|
lintsinghua
|
c7632afdab
|
feat: 为文件操作和代码解析添加异步支持
将同步的文件读取、代码解析和分块操作改为异步实现,使用 asyncio.to_thread 将 CPU 密集型操作放到线程池执行,避免阻塞事件循环。主要修改包括:
- 在 TreeSitterParser 和 CodeSplitter 中添加异步解析方法
- 修改 CodeIndexer 使用异步文件读取和分块
- 为 FileReadTool 和 FileSearchTool 添加异步文件读取支持
|
2025-12-25 17:20:42 +08:00 |
|
Image
|
597d19dbfe
|
🐛 fix(git):将SSH主机密钥检查从no改为yes以增强安全性
✨ feat(git):改进SSH URL检测和分支克隆逻辑
📝 docs(frontend):更新SSH公钥添加说明,移除CodeUp链接
|
2025-12-25 16:17:42 +08:00 |
|
vinland100
|
05b3842536
|
fix: 修正 Tree-sitter C# 解析器的语言标识符命名以消除加载警告
|
2025-12-25 15:38:00 +08:00 |
|
vinland100
|
d10f023a7e
|
fix: 实现 Agent 任务中私有 Gitea 仓库克隆的 Token 认证支持
|
2025-12-25 15:38:00 +08:00 |
|
Image
|
b095e7aa6c
|
✨ feat(git_ssh_service):扩展SSH私钥验证以支持传统RSA PEM格式
🔧 refactor(git_ssh_service):重构私钥加载逻辑,增加格式兼容性处理
|
2025-12-25 15:13:53 +08:00 |
|
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
|
c49e46c231
|
fix(agent_tasks): 自动修正目标文件路径不匹配问题
当解压后的项目目录结构发生变化时,原有的目标文件路径可能无法匹配。自动检测并修正这些路径,确保任务能正确执行。对于无法修正的路径,记录警告并回退到全量扫描模式。
|
2025-12-17 19:55:08 +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 |
|