【社会服务赛道+社会公益赛道】TRAE Guardian——病毒和流氓软件们,自求多福吧!!
自我介绍 & 与 TRAE 协作心得 
大家好!我是一名来自北京市昌平区阳坊学校的初二学生(14 岁)。 我本身没有前置代码开发基础,整套项目的架构设计由我独立完成,为了落地本软件我自主学习了 Windows 底层系统相关知识;代码实现、底层 API 调研、框架搭建均依托 TRAE 完成,部分复杂架构思路会结合网络资料辅助验证。
和 TRAE 协作开发真实感受
我只需要把脑海里完整的防护需求、Windows 底层逻辑、评分风控规则清晰描述给 TRAE,就能快速生成 C++ 底层代码、Qt 界面框架、系统调用逻辑。 之前 7500 多行代码出现蓝屏、签名校验崩溃等疑难 bug 时,单靠自己很难定位根源,借助 TRAE 分层排查、分段复现分析,顺利定位了多处临界区、权限校验漏洞,跨过了原本几乎无法解决的底层调试难题。 从最初只能写简单进程终止小工具,到 65MB 完整工程级防护软件,全程依靠 TRAE 完成迭代重构,大幅降低了零基础开发大型 Windows 底层程序的门槛。
1. Demo 简介
本作品名为 TRAE Guardian,是一款轻量化 Windows 底层主机运维防护客户端(C++ Qt 桌面程序)。
核心面向人群
个人办公用户、学生机房、小型本地服务器使用者,用于抵御流氓软件、恶意远控、MBR / 引导扇区篡改类病毒。
三大核心功能
- 内核事件驱动监控:基于 ETW 内核日志 + 定向句柄快照扫描,低 CPU 占用实时监控进程高危行为;
- 多维风险评分拦截引擎:自定义行为评分规则,无签名程序累计风险分值到达阈值自动阻断;
- 系统底层巡检模块:支持磁盘分区(MBR/GPT)、注册表、系统服务、进程注入行为检测。
风险评分拦截规则表
软件核心风控逻辑,仅无签名程序触发高危行为才计分,微软官方签名系统进程永久白名单,不会误拦截系统核心程序。
表格
| 规则 ID | 规则描述 | 触发条件 | 分值 | 严重级别 | 所属模块 | 默认处理动作 |
|---|---|---|---|---|---|---|
| R001 | 未签名进程打开物理磁盘句柄 | 无数字签名 + 持有 PhysicalDrive 类设备句柄 | +35 | Critical | 内核监控 | 直接终止进程 |
| R002 | 未签名进程篡改系统启动配置 | 无数字签名 + 修改系统引导项 | +30 | Critical | 内核监控 | 直接终止进程 |
| R003 | 未签名进程删除 System32 系统文件 | 无数字签名 + 文件路径匹配 System32 目录 | +25 | Critical | 内核监控 | 直接终止进程 |
| R004 | 未签名进程注入外部进程 | 无数字签名 + 跨进程内存注入行为 | +15 | High | 行为分析 | 直接终止进程 |
| R007a | 未签名程序写入开机自启注册表项 | 无数字签名 + 操作 Run 自启键 | +15 | High | 行为分析 | 仅观测记录 |
| R006 | 未签名程序修改系统核心注册表 | 无数字签名 + 操作 HKLM\SYSTEM 路径 | +10 | High | 行为分析 | 仅观测记录 |
| R005 | 程序自我复制扩散 | 进程存在自身复制行为 | +5 | Medium | 行为分析 | 仅观测记录 |
| R007 | 未签名程序删除注册表项 | 无数字签名 + 删除任意注册表键值 | +5 | Medium | 行为分析 | 仅观测记录 |
| R008 | 微软签名程序高频联网行为 | 官方签名程序 + 频繁网络请求 | +0 | Low | 行为分析 | 无操作 |
| R009 | 微软官方签名进程 | 数字签发方为 Microsoft | +0 | Low | 静态判定 | 永久信任放行 |
| R010 | 任意新进程创建事件 | 系统产生新进程 | +0 | Low | 静态判定 | 仅观测记录 |
2. Demo 创作思路
灵感来源
日常使用 Windows 系统时,普通用户很容易遭遇流氓远控软件、篡改引导扇区的勒索病毒、后台静默劫持程序;市面主流安全软件体积庞大、后台常驻占用资源高,缺少轻量化、纯用户态、无驱动的底层防护工具。 同时校园机房环境容易出现恶意远控程序窃取学生本地文件,因此计划开发一款轻量运维防护工具,保护个人电脑与机房设备安全。
想要解决的真实痛点
- 普通用户无法感知程序读写物理磁盘、篡改 MBR 等底层高危行为;
- 流氓软件、勒索病毒依靠 Direct Syscall 绕过传统监控,常规进程管理器无法拦截;
- 大型安全软件资源占用高,低配电脑运行卡顿;
- 无统一量化风险判定标准,无法自动识别恶意程序并阻断。
方向取舍与技术选型
- 放弃内核驱动开发,全程采用纯用户态 R3 方案,依靠 Windows 原生 ETW、进程缓解策略、句柄快照实现防护,规避蓝屏、系统兼容性问题;
- 摒弃传统全局 Inline Hook(易被裸 Syscall 绕过、易造成进程崩溃),采用内核事件推送式被动监控,降低 CPU 占用;
- GUI 选用 Qt C++ 重构,舍弃初代 C# 界面,守护进程以 SYSTEM 权限运行,提升底层监控权限;
- 引入量化评分机制,区分高危 / 中危 / 低危行为,避免一刀切误拦截。
版本迭代说明
早期原型为 ProcessGuardian,仅具备简陋 GUI 与重复终止进程功能;本次参赛作品 TRAE Guardian 依托 TRAE 完整重构,工程规模提升 60 倍以上:初代可执行文件不足 1MB,当前完整工程成品 65MB,总代码量超 7500 行,由 C# 完全迁移至 C++ 开发。 注:初代 ProcessGuardian 已开源,本次参赛版本架构、底层逻辑全部重新编写,未复用开源旧版代码,不存在参赛版权冲突。
3. Demo 体验地址(双渠道,主渠道合规上传 Zip)
主体验渠道(符合大赛规范)
- index.html 交互式项目介绍页;介绍.html (30.5 KB)
- 完整 Release 编译程序(EXE + 依赖 DLL + 配置文件);
- 功能演示图文、运行环境说明文档。 使用方式:解压压缩包,阅读运行须知后,在 Windows10 及以上系统虚拟机 / 闲置测试机内运行。
分发渠道
TRAE-Guardian网站
也可以用Gitee直链
或者Github直链
重要运行风险声明
- 软件具备读取物理磁盘、操作系统注册表、强制终止进程等高权限能力,私自部署至生产设备造成系统异常作者不承担责任;
- 当前版本已知短板:少量内核日志存在漏报,传统句柄扫描可被 Direct Syscall 绕过,对部分极速勒索病毒仅能事后拦截;后续迭代计划新增 WNF 内核订阅、进程 Mitigation 策略完善防护;
- AI 分析模块仅用于事后威胁复盘,推理延迟较高无法实时拦截,使用需自行填写大模型 API Key。
4. TRAE 实践过程(满足≥3 组 Session ID、不少于 3 张对话截图)
完整开发流程
- 需求架构脑暴:向 TRAE 描述终端防护完整需求,输出初代整体分层架构;
- 分模块编码:依次完成磁盘监控、进程观测、Qt 界面、风险评分引擎代码开发;
- 调试排错:本地编译测试出现蓝屏、签名校验 BUG,提交故障现象分层定位修复;
- 架构迭代重构:发现 Inline Hook 存在绕过缺陷,重新设计 ETW + 事件驱动无 Hook 新架构;
- 功能完善:补充 MBR 检测、注册表、服务巡检模块,优化风控评分规则。
SessionID:.1699211658926748:b3a7e71f1c34c82c440e8ace2b9d75d6_6a3b7712c113d0bdb51f670c.6a535fce681ff3ddc2960ba2.6a535fcd06b3c30064483fc8:Trae CN.T(2026/7/12 17:35:10)
.1699211658926748:de9e01f5efce1b5326077d029bbea589_6a3b7712c113d0bdb51f670c.6a52e0013c22ea8dc4d2258e.6a52dff9f41bd23968d42a9d:Trae CN.T(2026/7/12 08:29:53)
.1699211658926748:a390a7d9003173ed33dfa77c11b6ee99_6a3b7712c113d0bdb51f670c.6a522de75488629524eec553.6a522de56bbd0e18fc1d378c:Trae CN.T(2026/7/11 19:49:59)
.1699211658926748:237cd918a1e1aa8f0c9742bb060feee1_6a3b7712c113d0bdb51f670c.6a5223785488629524eec46e.6a5223766bbd0e18fc1d378a:Trae CN.T(2026/7/11 19:05:28)
最后附上大赛报名链接
重要声明: 本人原版的ProcessGuardian为初版,和提交版本差异巨大;原版已开源,但是本人承诺:提交版本从未向任何人公开过源码且纯为TRAE IDE编写,故不违反比赛规则
重要补充: 发布后检查到,文中上传的TRAE Guardian有几个未修复的BUG。现在(7月15日)问题已解决,同时分发渠道现在换成了GitHub Pages自创网站。
这是一个重大失误,导致demo不能正确识别真正的病毒,原因如下:
1.之前出于测试把测试程序文件名、Hash硬编码进入了守护程序,导致测试文件可以正常识别而病毒不能被识别。
2.ETW识别有问题,自动过滤了无签名进程导致误判率爆炸。
3.状态机函数被取消。旧版本状态机只能容纳一个进程,而系统进程(svchost.exe lsass.exe)天生会重启,导致状态机被系统进程占满,病毒根本无法进入状态机。
现在这些问题已修复,成功在虚拟机里面拦截了MEMZ、LockBit、Xworm、Bianlian等80+病毒样本,已经替换了报名帖原有Demo链接
最后提一嘴:Demo有时可能无法在虚拟机上面自动安装服务(原因不明,可能是因为Win11防护过于严格),这会导致守护进程无法以SYSTEM权限启动(当然如果想管理员权限启动也没问题)。如果遇到这种情况检查是否以管理员权限运行程序,实在不行请管理员运行permission文件夹里面的install_service.exe安装服务然后再到GUI里面点击“SYSTEM”就可以成功运行










