Feat/enhance everything#26
Merged
Merged
Conversation
主要改动: - 重命名 src/mcpsectrace/mcp_servers/logs → artifacts - 更新 hrkill_mcp.py, focus_pack_mcp.py, huorong_mcp.py 中所有路径引用 - 更新 ioc_mcp.py 中的默认输出路径 - 在 config/defaults/ioc.toml 中添加 output_path 和 screenshot_path 配置项 - 更新所有相关注释 原因: artifacts 目录名更准确地反映了其用途(存放自动化过程中的临时文件和产物), 不应使用 logs(日志)这样的名称。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
主要改动: - 更新 ioc.toml 中的 screenshot_path 为完整路径 - 更新 ioc_mcp.py 中的默认截图路径 - 调整 Markdown 中的图片引用路径为绝对路径 - 优化 hrkill_mcp.py 的时间戳格式 - 添加 IOC 威胁分析的新截图文件 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
新增功能: - 添加 parse_threat_count() 方法支持威胁数量单位缩写 - K = 1,000 - M = 1,000,000 - G = 1,000,000,000 - B = 1,000,000,000 - 自动删除特殊符号(+、空格等) - 支持小数点形式(如 1.5K = 1500) 改动: - 更新威胁数量解析逻辑,使用新的 parse_threat_count() 方法 - 改进错误处理,返回 None 而不是抛出异常 - 日志输出显示原始文本便于调试 示例: - "1K +" → 1000 - "1.5K" → 1500 - "2M" → 2000000 - "123" → 123 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
改动: - 移除 threat_count < 5 的条件限制,始终提取表格数据 - 当威胁数量 >= 5 时,在报告中显示"由于数量限制,我们只获取第一页的内容"说明 新逻辑: - ✅ 威胁数量 < 5:直接提取全部表格数据 - ✅ 威胁数量 >= 5:提取第一页表格数据,并显示限制说明 报告示例: 威胁数量: 1000 📝 由于数量限制,我们只获取第一页的内容。 📊 详细威胁数据已保存为CSV文件 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
主要改动: - 修改 extract_table_data() 返回类型,从 bool 改为 Tuple[bool, Optional[List]] 现在同时返回成功标志和表格数据 - 新增 csv_data_to_markdown() 方法,将表格数据转换为 Markdown 格式 - 调用处理逻辑更新,将 Markdown 表格嵌入到报告中 标签更改: - "威胁数据提取" → "相关样本" - "威胁数量" → "相关样本数量" - CSV 消息更新为"相关样本数据CSV已保存" 新增功能: - 在报告中直接显示 Markdown 表格,包含完整的威胁样本信息 - 表格包括:文件名称、类型、扫描时间、SHA256、多引擎检出、木马家族和类型、威胁等级 - 保留 CSV 文件用于详细分析 报告结构: ## 相关样本 **相关样本数量**: 10 [可选] 📝 由于数量限制,我们只获取第一页的内容。 | 文件名称 | 类型 | 扫描时间 | SHA256 | 多引擎检出 | 木马家族和类型 | 威胁等级 | |---------|------|---------|---------|-----------|-------------|--------| | ... | ... | ... | ... | ... | ... | ... | 💾 详细数据已保存为CSV文件: xxx_threat_data.csv 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 添加 SampleReportAnalyzer 类,自动访问每个样本的威胁情报报告 - 实现样本报告页面截图功能,捕获关键信息 - 自动点击样本报告中的所有分析模块 - 将样本分析结果集成到最终威胁报告中 - 支持批量分析相关样本,增强威胁情报的完整性 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 新增 extract_environment_and_files 方法,自动处理环境列表 - 逐一点击每个环境项,等待界面加载完成 - 从常见释放文件表格中提取并解析所有路径信息 - 支持错误处理和回退机制 - 将所有提取的数据整合到最终威胁报告中,生成"样本常见释放路径分析"章节 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 修改 parse_release_file_info 方法,取消了对文件名以"-"开头的限制 - 现在支持匹配以下两种格式: - VCREDI~1.EXE(2.53 MB) - 无前缀 - - VCREDI~1.EXE(2.53 MB) - 有"-"前缀 - 增强了文件名解析的灵活性和兼容性 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 翻译 __main__.py 的模块说明 - 翻译 __init__.py 的模块说明 - 翻译 platform_search.py 中的类、方法和注释 - 翻译 search_interface.py 中的类、方法和注释 - 翻译 server.py 中的类、方法和注释 - 翻译 everything_sdk.py 中的类、常数和方法注释 - 翻译所有错误消息为中文 - 保持所有变量名、函数名和类名不变 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 将 external_mcp/mcp-everything-search 移动到 src/mcpsectrace/mcp_servers/everything_mcp - 统一 MCP 服务器的项目结构 - 便于集中管理和维护 MCP 服务器 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 将Settings类注释改为中文 - 翻译ingest_syslog()函数文档字符串 - 翻译query_syslog()函数文档字符串 - 翻译所有内联注释 - 翻译prompt_guide()函数中的提示文本 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 新增 query_malicious_release_files 工具,支持从CSV文件查询恶意释放的文件 - 实现分层目录检查机制: - 第0层:检查文件是否存在(风险最高 ⭐⭐⭐) - 第1层:检查上一层目录是否存在(风险中等 ⭐⭐) - 第2层:检查上两层目录是否存在(风险较低 ⭐) - 按清理程度分类输出结果,帮助快速判断系统感染和清理状态 - 支持可配置的最大检查深度(0-5层) - 详细的结果统计和风险分析 检查策略说明: - 文件存在:恶意文件仍保留在系统中 - 上一层目录存在:文件被删除,但释放目录保留(部分清理) - 上两层目录存在:释放目录也被删除,但上层目录保留(彻底清理) - 完全未找到:文件和所有相关目录均不存在 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
新增了 PaddleOCR 和 PaddlePaddle 库的依赖配置,用于支持图像文字识别功能。 这两个库将为项目提供强大的 OCR 能力,便于处理图像中的文本提取需求。
新增 `.env.example` 文件,用于指导开发者如何配置 Cline 开发环境所需的各类环境变量。 该文件包含 PostHog 遥测、OpenTelemetry 高级遥测选项以及开发调试相关的可选设置, 并提供了详细的注释说明和使用指引,帮助开发者快速上手项目配置。
主要改进: 1. 增强 init.py 初始化脚本 - 添加 wait_for_user() 函数,使 exe 执行后保持窗口打开 - 改进错误处理,捕获初始化过程中的异常 - 实现智能目录定位 (get_mcp_sectrace_dir) 支持 exe 和 py 脚本运行 - 所有配置函数接收 mcp_sectrace_dir 参数,解决 exe 打包后的路径问题 2. 创建 build_exe.py 自动化构建脚本 - 使用 PyInstaller 将 init.py 转换为独立 exe - exe 输出到项目根目录 (MCPSecTrace_Init.exe) - 自动清除所有临时文件 (dist/, build/, .spec) - 完整的 7 步构建流程:检查依赖 → 清理旧文件 → 运行 PyInstaller → 验证 → 复制 → 清理 → 完成 3. 用户体验改进 - 双击 exe 后显示完整的初始化过程 - 在窗口自动关闭前等待用户按键 - 清晰的步骤日志和错误提示 🤖 Generated with Claude Code
新增功能:
1. 添加 everything_search() 函数
- 使用 Everything SDK 搜索文件和文件夹
- 支持搜索类型:file(文件)和 folder(文件夹)
- 返回匹配结果的完整路径列表
2. 添加 configure_tool_paths() 函数 (Step 5)
- 自动扫描以下工具的位置:
* HipsMain.exe(火绒)
* hrkill-1.0.0.86.exe(HRKill)
* Focus_Pack.exe(Focus Pack)
* chrome.exe(Chrome 浏览器)
* chromedriver.exe(ChromeDriver)
* User Data(Chrome 用户数据目录)
- 使用 tomlkit 保留 TOML 文件的格式和注释
- 自动更新 config/user_settings.toml 中的 [paths] 部分
- 优雅降级:如果缺少依赖或工具,允许用户手动配置
3. 修改 initialize_environment() 函数
- 在 Step 4 后添加 Step 5 的调用
- 完整的 5 步初始化流程
4. 更新依赖管理
- 在 pyproject.toml 添加 tomlkit>=0.12.0
- 支持使用 uv sync 安装新依赖
5. 重新编译 exe
- 新增 ctypes 和 sys 的导入支持
- exe 大小:7.0 MB(新增 tomlkit 和依赖)
🤖 Generated with Claude Code
- 添加 _filter_search_results() 函数,为不同工具实现严格的路径验证规则 - chrome.exe: 必须位于 /chrome-win64/ 目录下 - chromedriver.exe: 必须位于 /chromedriver-win64/ 目录下 - User Data: 优先选择 /Google/Chrome for Testing/,排除 CEF 相关路径 - 修复 Unicode 编码问题,将特殊符号改为 ASCII 格式 - 添加 PyInstaller 依赖到 pyproject.toml - 重新构建 MCPSecTrace_Init.exe (6.81 MB) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 将硬编码的路径过滤规则移至 user_settings.toml 的 [tools.entries] - 新增 path_patterns 配置字段,支持多个路径模式(OR关系) - 简化 _filter_search_results() 函数,改为通用的配置驱动设计 - 无需修改代码即可通过编辑配置文件调整路径限制条件 - 更易维护和扩展,新增工具时只需在配置中添加记录 示例配置: path_patterns = ["chrome-win64"] # 单个模式 path_patterns = ["chrome-win64", "chromium-win64"] # 多个模式 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 引入第3层搜索策略,在全局范围内使用 Everything 查询文件 - 更新搜索结果分类与统计信息展示,增加“全局范围存在”状态 - 新增对全局搜索结果的详细输出展示 - 调整各层级搜索逻辑为基于 Everything 的查询方式 - 在输出中明确标识每种查找情况对应的搜索层级 此外,更新依赖项以引入 pyinstaller、tomlkit 及相关构建工具包。
规范化 everything_mcp 服务器中两个 MCP Tools 的描述文档: **变更内容**: 1. 将冗长的平台特定文档改为统一的三部分格式 - 【工具描述】:简洁的功能说明 - 【Args 参数】:参数列表和说明 - 【Return 返回值】:返回值说明 2. search 工具(文件搜索) - 移除了 130+ 行的平台特定语法文档 - 简化到 25 行,结构清晰 - 突出核心功能说明 3. query_malicious_release_files 工具(恶意文件查询) - 添加【使用限制】部分,明确仅适用于恶意样本释放文件查询 - 简化描述到 23 行(含限制说明) - 清晰的三部分结构:描述→限制→参数→返回值 **优势**: - 代码行数减少 72%(155+ → 43 行) - 文档结构统一,易于维护 - 用户快速理解工具用途和使用方式 - 为其他 MCP Tools 规范化奠定基础 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
- feat(init): 改进VSCode extensions配置,支持自动创建extensions目录和extensions.json文件 - fix(ioc_mcp): 恢复mcp.run()调用,注释掉调试测试代码 - deps: 更新依赖锁文件 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- 添加logging配置,将所有日志输出到文件而不是stdout - 将所有print()调用替换为log_print()以避免污染JSON-RPC通信 - 添加UTF-8编码配置确保中文字符正确传输 - 日志文件路径: ioc_mcp.log 这样可以确保MCP客户端接收到的是纯净的JSON-RPC响应,不会被中间的日志信息污染。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
将ioc_mcp.log日志文件保存位置改为: MCPSecTrace/logs/ioc_mcp.log 自动创建logs目录,方便查看和管理日志文件。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- 将错误信息从报告中移除,只记录到日志文件 - 错误发生时仍然会记录详细的错误信息,方便调试 - 报告内容更加简洁,不显示技术性的错误信息 这样生成的报告更加用户友好,不会包含运行时的错误堆栈信息。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
继续清理报告中遗漏的错误信息提示。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- 移除 ThreatMCP 和 fdp-mcp-server 外部依赖 - 更新远控木马溯源工作流文档,优化分析步骤 - 新增挖矿病毒应急响应工作流文档 - 完善 HRKill MCP 服务器实现 - 添加 IOC 威胁情报分析截图资产 - 添加 HRKill 扫描进度和检查截图资产 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 保留 log_print 日志方式(避免污染MCP JSON-RPC通信) - 合并主分支的错误信息展示功能到报告中 - 统一错误处理:日志记录 + 报告展示 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 统一代码格式(引号、空格、换行) - 格式化 ioc_mcp.py 日志配置相关代码 - 格式化 everything_mcp 相关文件 - 更新项目依赖 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 添加 isort 依赖用于自动化导入排序 - 统一 everything_mcp 模块的导入顺序 - 按照标准库、第三方库、本地模块的顺序组织导入 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
📝 更改说明
1. 架构优化
external_mcp/ThreatMCP/- 已集成到核心代码external_mcp/fdp-mcp-server/- 简化项目结构2. 工作流文档增强
更新
assets/workflow/远控木马.md新增
assets/workflow/挖矿病毒.md3. MCP服务器改进
src/mcpsectrace/mcp_servers/hrkill_mcp.py病毒查杀功能🎯 关联Issue
关闭 #issue_number
📋 更改内容
🧪 测试情况
bash scripts/test_all.sh如有破坏性更改、新增依赖或需要特别注意的地方,请说明:
👀 审查要点
希望审查者重点关注的代码或设计决策: