# secmentor **Repository Path**: mishimengzhong/secmentor ## Basic Information - **Project Name**: secmentor - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 SecMentor 一款具备**自动进化能力**的渗透测试学习辅助 Agent,帮助用户系统学习网络安全攻防技术。 ## ✅ 核心能力 | 能力 | 说明 | |------|------| | 🛜 渗透测试方法论 | 覆盖 PTES、OWASP、MITRE ATT&CK 等主流框架 | | 🎮 靶场实战指导 | DVWA/Pikachu/WebGoat/HackTheBox 等靶场系统化攻破 | | 🧰 工具使用教学 | Nmap/Burp Suite/Metasploit/SQLMap 等主流工具详解 | | 📖 自动进化 | 从互联网和用户文档中持续学习,知识库越用越强 | | 🔍 实时搜索 | 搜索最新 CVE 漏洞、安全公告、技术文章 | | 🛡️ 防御视角 | 攻击技术同步讲解防御措施和修复方案 | | 🗂️ 项目管理 | 登记授权资产、禁止操作和测试项目 | | 📝 发现与报告 | 记录安全发现、流转状态并生成 Markdown 报告 | | 🔎 执行审计 | 校验项目授权范围并记录命令执行审计 | ## 🖥️ 本地部署 详见 [**本地部署指南**](DEPLOY.md) **快速开始:** ```bash # 一键部署 bash local_deploy.sh # 启动智能体(CLI 交互模式) source .venv_local/bin/activate python local_run_agent.py # 启动图形界面(支持 Ctrl+V 粘贴图片) python gui_run_agent.py # 图片识别 python local_run_agent.py --image ./assets/example.png --query "请分析图片中的安全问题" ``` 默认使用 `deepseek-v4-flash-vision-exp`,一个模型同时处理文本对话与图片识别。图片会以 OpenAI 兼容的多模态消息发送给模型,可用于识别截图中的报错、代码、架构图或安全问题。 **对话记忆:** - 默认使用**本地文件持久化**(`.memory/checkpoints.pkl`),无需任何数据库 - 通过 `--thread-id` 或 `COZE_THREAD_ID` 环境变量可以区分/恢复不同会话 - CLI 附加命令:`--list-threads` 列出历史会话,`--clear-thread` 清空指定会话 **项目化测试:** - 命令执行必须绑定已登记项目的 `project_id` 和授权 `asset` - 默认只允许只读系统信息命令;联网、扫描等命令默认拒绝 - 安全发现和报告数据保存在 `.projects/`,命令审计记录保存在 `.audit/tool_runs.jsonl` ## 📁 项目结构 ``` ├── local_run_agent.py # 本地独立运行入口 ├── gui_run_agent.py # 图形界面入口 ├── local_deploy.sh # 一键部署脚本 ├── config/ │ └── agent_llm_config.json # Agent 配置与 System Prompt ├── src/ │ └── local_tools/ # 本地化工具(19 个模块,40 个工具) ├── knowledge_base/ # 本地知识库 JSON 条目 ├── .projects/ # 项目、发现和报告记录 ├── .audit/ # 工具执行审计日志 └── tests/ # 安全边界测试 ``` ## ⚠️ 安全提醒 所有渗透测试技术仅用于学习和授权测试,严禁对未授权系统进行扫描或攻击。 ## 📦 开源协议 [Apache License 2.0](LICENSE) ## 🔄 发布历程 ### v0.2.0 — 2026-08-27 **🏠 功能中心首页** - 全新首页卡片式功能导航,7 大分组 29 张可点击卡片,覆盖全部 40 个工具 - 支持 4 种动作类型:切换面板、预填提示词、立即发送、弹文件选择器 - 侧边栏新增"🏠 首页"入口,启动默认打开首页,功能发现零门槛 **⏹️ 聊天停止按钮** - AI 生成过程中发送按钮自动切换为红色停止按钮,随时中断废话连篇的回答 - stream 循环实时检查停止标志,响应迅速 **🏷️ 知识库智能标签** - 知识入库时自动调用 LLM 进行语义分类,14 大分类 100+ 标签体系 - 关键词匹配兜底,标签上限 8 个,精准不冗余 **📊 首页动态统计** - 知识库条目数量改为启动时动态扫描 JSON 文件,告别"36+"这种模糊数字 **🎨 知识库字体可调** - 设置面板新增"知识库文字大小"卡片,标签栏与条目列表字体独立调节 - 标签芯片和来源信息按比例联动,Spinbox 实时预览,保存后持久化 **⚡ 性能优化** - 知识库面板:共享元数据缓存 + 全文懒加载,消除重复读盘 - 搜索分级匹配:先查标题/标签/预览,未命中才按需读全文 - 列表渲染:Canvas 隐藏窗口 + 屏蔽 Configure 回调,36 张卡片"唰"一下全部呈现,告别逐条慢镜头 **🐛 Bug 修复** - 修复 Canvas 销毁后全局鼠标滚轮绑定残留导致的 TclError 刷屏 - 修复知识库列表滚轮事件被子控件消费导致无法滚动的问题 - 欢迎页"支持场景"从 5 条扩展到 6 大分类 22 条,全面覆盖工具能力 --- ### v0.1.0 — 2026-08-27 **P0-P4 基础能力:** - 核心安全工具(命令执行沙箱、项目管理、发现管理、知识库、本地搜索) - 漏洞扫描与 CVSS 评估 - 攻击面管理与 MITRE ATT&CK 映射 - 自动化修复建议与安全基线检查 - 威胁情报集成与实时告警 **P5 多模态理解增强:** - 截图分析(Burp Suite、终端、网络拓扑图) - PCAP 流量包解析与攻击模式检测 - 代码截图审计 **P5 自动化攻击链推理引擎:** - 攻击图构建(基于 networkx 有向图) - 攻击路径分析与杀伤链映射 - Mermaid 可视化输出 共计 **40 个工具**,新增代码约 2,750 行。 ### 发布到 Gitee 的小插曲 首次发布并非一帆风顺,踩了几个坑,记录备忘: 1. **PowerShell 不支持 `&&`**:`cd path && git init` 直接失败,改用 `git -C ` 解决。 2. **Git 2.55 的 `git init -b master` 在 PowerShell 下异常**:拆分 `git init` + `git branch -M master` 也失败,最终 `git -C` 方式成功。 3. **Gitee 创建仓库时自动生成 Initial commit**:普通 `git push` 被拒,需要 `git push --force` 覆盖。 4. **凭据管理器静默吞掉认证弹窗**:通过远程 bash 执行 `git push` 时,Git Credential Manager 的弹窗不可见,导致推送只输出 "Pushing to..." 就静默退出(退出码还显示 0)。最终在本地终端手动执行,凭据管理器已有缓存,直接推送成功。 5. **安全审查**:推送前确认 `.env`(含 API Key)被 `.gitignore` 排除;`knowledge_base/` 包含个人学习数据,通过 `git rm -r --cached` 从公开仓库移除。 > 教训:Git 推送失败时,不要只看退出码——`git ls-remote origin` 和 `git fetch origin` + `git log origin/master` 才是验证远程真实状态的可靠手段。 --- ## 📢 开发者 风筝,时间:2026-08-21