Commit Graph

105 Commits

Author SHA1 Message Date
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
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 220b5f793a chore: bump version to v3.0.2 2025-12-19 00:01:10 +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
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
vinland100 449a3be533 fix(docker): 移除前端容器的只读卷挂载限制
前端 entrypoint 脚本需要在运行时修改静态文件以注入 API_URL。
2025-12-17 13:11:33 +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 b51f520451 feat: Introduce China-specific production deployment, automate database migrations, and enhance LLM configuration flexibility. 2025-12-17 01:38:21 +08:00
lintsinghua 7589599f91 chore: release v3.0.1 2025-12-16 22:55:19 +08: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 630b8b1a60 更新README.md,gitea仓库支持获取分支 2025-12-16 18:55:07 +08:00
vinland100 0fb10f6f76 feat: add Gitea repository support 2025-12-16 18:55:07 +08:00
vinland100 a336802e26 规范项目中的一些配置,包括python版本、前端环境变量、后端uv环境等 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 18a91f25b2 feat(agent_tasks): 优化仓库获取逻辑,优先使用ZIP下载
重构仓库项目获取逻辑,优先尝试通过ZIP下载方式获取仓库内容,仅在失败时回退到git clone。ZIP下载方式更快更稳定,减少对git的依赖。同时改进分支尝试顺序和错误处理机制。
2025-12-16 17:38:52 +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 a31372450e chore: 从 git 跟踪中移除向量数据库数据文件
向量数据库数据是运行时生成的,不应纳入版本控制。
.gitignore 已配置忽略该目录。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 15:43:35 +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 ba00b718e4 feat: Update deployment configurations, dependency management, and documentation, including a new sandbox build service. 2025-12-15 15:18:55 +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 39a57b9c58 feat: Release v3.0.0 with multi-agent architecture, RAG, and Docker sandbox vulnerability verification, alongside cleanup of old scripts and build artifacts. 2025-12-14 21:25:11 +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