Commit Graph

428 Commits

Author SHA1 Message Date
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 a27d37960a feat(nginx): 增加大文件上传支持
添加 client_max_body_size 配置以支持 ZIP 项目上传
2025-12-16 16:58:50 +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 3176c35817 chore: 忽略后端向量数据库数据目录 2025-12-16 15:13:40 +08:00
lintsinghua 5f07403850 feat(agent): 增强 RAG 配置和工具集成
- 扩展嵌入模型配置选项,支持独立 API Key 和 Base URL
- 重构 RAG 初始化逻辑,支持用户自定义嵌入配置
- 新增语义搜索工具并集成到 Recon 和 Analysis Agent
- 完善系统提示,明确不同代码搜索工具的使用场景
2025-12-16 13:57:27 +08:00
lintsinghua 3bdbbf254b feat(agent): 将模型选择从下拉框改为输入框并添加预设模型按钮 2025-12-16 13:10:51 +08:00
lintsinghua 15743e0b18 feat: 将最大分析文件数默认值改为0表示无限制
修改前后端配置文件和文档,将 MAX_ANALYZE_FILES 默认值从50改为0表示无限制
同时更新相关逻辑判断条件,仅在 MAX_ANALYZE_FILES > 0 时进行文件数限制
2025-12-16 13:04:09 +08:00
lintsinghua 323b4ac8e3 Merge branch 'v3.0.0' of https://github.com/lintsinghua/XCodeReviewer into v3.0.0 2025-12-16 12:35:00 +08:00
lintsinghua 364b8cea42 修复Agent审计任务识别不到文件的错误 2025-12-16 12:34:57 +08:00
lintsinghua e116e77c01
Update README.md 2025-12-15 20:45:41 +08:00
lintsinghua 9f0d774aff docs: update README documentation 2025-12-15 17:20:47 +08:00
lintsinghua b1daff415a
Update README.md 2025-12-15 17:08:05 +08:00
lintsinghua e9a20c7e90
Update README.md 2025-12-15 17:07:44 +08:00
lintsinghua 8a3561f0d2
Update README.md 2025-12-15 17:05:50 +08:00
lintsinghua b2829806f4 docs: update project documentation in README. 2025-12-15 17:05:09 +08:00
lintsinghua 67595b19c7 update 2025-12-15 16:58:14 +08:00
lintsinghua e531c8808d refactor: standardize dialog component styling and layout for improved consistency and responsiveness. 2025-12-15 16:13:47 +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 fc3dce7510 feat: Redesign task tabs in AuditTasks with a card-style layout and add `!important` to input padding. 2025-12-14 21:09:29 +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 3d4f90c547 feat: Add `marked` for improved Markdown to HTML report generation and refined download handling. 2025-12-13 21:38:11 +08:00
lintsinghua a9a22b91c7 fix: Display aggregated findings for the orchestrator and task, and show sub-agent duration/status in UI. 2025-12-13 21:06:22 +08:00
lintsinghua 2a332d6eda feat: Improve report generation and statistics by normalizing severity comparisons and leveraging backend-calculated task metrics. 2025-12-13 20:42:10 +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
lintsinghua e13218a33e style: improve code formatting and consistency in AgentAudit.tsx 2025-12-12 16:21:35 +08:00
lintsinghua b392e049e8 fix(agent_tasks): update task phase to REPORTING on completion
- Change task phase from COMPLETED to REPORTING when agent task finishes
- Ensures proper phase progression through task lifecycle
- Aligns with agent workflow state management requirements
2025-12-12 16:09:50 +08:00
lintsinghua eed111c04d chore: reduce logging verbosity and clean up file formatting
- Change logger.info to logger.debug in agent_tasks.py streaming and tree endpoints
- Disable SQLAlchemy echo mode in database session configuration
- Suppress uvicorn access logs and LiteLLM INFO level logging in main application
- Remove LogViewer component and LogsPage from frontend
- Add trailing newlines to multiple backend configuration and model files
- Update frontend routing to remove logs page reference
- Improve application startup logging clarity by filtering verbose third-party logs
2025-12-12 15:50:48 +08:00
lintsinghua f05c0073e1 feat(agent): implement comprehensive agent architecture with knowledge base and persistence layer
- Add database migrations for agent checkpoints and tree node tracking
- Implement core agent execution framework with executor, state management, and message handling
- Create knowledge base system with framework-specific modules (Django, FastAPI, Flask, Express, React, Supabase)
- Add vulnerability knowledge modules covering authentication, cryptography, injection, XSS, XXE, SSRF, path traversal, deserialization, and race conditions
- Introduce new agent tools: thinking tool, reporting tool, and agent-specific utilities
- Implement LLM memory compression and prompt caching for improved performance
- Add agent registry and persistence layer for checkpoint management
- Refactor agent implementations (analysis, recon, verification, orchestrator) with enhanced capabilities
- Remove legacy agent implementations (analysis_v2, react_agent)
- Update API endpoints for agent task creation and project management
- Add frontend components for agent task creation and enhanced audit UI
- Consolidate agent service architecture with improved separation of concerns
- This refactoring provides a scalable foundation for multi-agent collaboration with knowledge-driven decision making and state persistence
2025-12-12 15:27:12 +08:00
lintsinghua 147dfbaf5e feat(agent): enhance streaming with in-memory event manager and fallback polling
- Implement dual-mode streaming: prioritize in-memory EventManager for running tasks with thinking_token support
- Add fallback to database polling for completed tasks without thinking_token replay capability
- Introduce SSE event formatter utility for consistent event serialization across streaming modes
- Add 10ms micro-delay for thinking_token events to ensure proper TCP packet separation and frontend incremental rendering
- Refactor stream_agent_with_thinking endpoint to support both runtime and historical event streaming
- Update event filtering logic to handle both in-memory and database event sources
- Improve logging with debug markers for thinking_token tracking and stream mode selection
- Optimize polling intervals: 0.3s for running tasks, 2.0s for completed tasks
- Reduce idle timeout from 10 minutes to 1 minute for completed task streams
- Update frontend useAgentStream hook to handle unified event format from dual-mode streaming
- Enhance AgentAudit UI to properly display streamed events from both sources
2025-12-12 10:39:32 +08:00
lintsinghua 70776ee5fd feat: Introduce structured agent collaboration with `TaskHandoff` and `analysis_v2` agent, updating core agent logic, tools, and audit UI. 2025-12-11 23:29:04 +08:00
lintsinghua 8938a8a3c9 feat(agent): enhance agent functionality with LLM-driven decision-making and event handling
- Introduce LLM-driven decision-making across various agents, allowing for dynamic adjustments based on real-time analysis.
- Implement new event types for LLM thinking, decisions, actions, and observations to enrich the event streaming experience.
- Update agent task responses to include additional metrics for better tracking of task progress and outcomes.
- Refactor UI components to highlight LLM-related events and improve user interaction during audits.
- Enhance API endpoints to support new event structures and improve overall error handling.
2025-12-11 21:14:32 +08:00
lintsinghua 58c918f557 feat(agent): implement streaming support for agent events and enhance UI components
- Introduce streaming capabilities for agent events, allowing real-time updates during audits.
- Add new hooks for managing agent stream events in React components.
- Enhance the AgentAudit page to display LLM thinking processes and tool call details in real-time.
- Update API endpoints to support streaming event data and improve error handling.
- Refactor UI components for better organization and user experience during audits.
2025-12-11 20:33:46 +08:00
lintsinghua a43ebf1793 refactor(agent): update task completion fields and enhance status handling
- Rename 'finished_at' to 'completed_at' in AgentTaskResponse and related functions for clarity.
- Introduce 'RUNNING' status in AgentTaskStatus to better represent task states.
- Update task configuration handling in AgentRunner to improve initialization logic.
- Enhance UI to reflect new 'RUNNING' and 'REPORTING' statuses in the AgentAudit component.
2025-12-11 19:26:47 +08:00