首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
AI 助力安全
发新帖
0
4
[原创] OpenSecurity 2.0 无人值守完成 CTF 所有 Web 挑战
发表于: 11小时前
64
[原创] OpenSecurity 2.0 无人值守完成 CTF 所有 Web 挑战
不歪
3
11小时前
64
## OpenSecurity 2.0 是什么 它是一套多 agent 安全分析系统,覆盖 Web、二进制、密码学、移动、AI 安全五个方向,跑在 OpenCode 之上的安全分析系统,它的特点: 1. **知识和经验自动沉淀**:知识库与记忆库承载知识和经验,一个是文档型,一个是存储在图数据库、向量库中,其中的记忆库能无人干预的自动进化。 > 当前沉淀的知识来源于几方面:打CTF沉淀知识、提取已有Writeup文档、花钱买。 3. **纠正歧路**:新增反思机制让AI能纠正歧路,尽快的分析出结果。 4. **自动完成分析**:另有无人值守、代理等一组机制,让任务完成前不会停止、卡壳、被迫暂停、被迫中断。 一句话版本差异:**1.0(master 分支)会做分析;2.0 让它独立把任务做完。** ## 实战记录 > OpenSecurity 2.0 实战记录 · SunshineCTF 2026 **先给结论:我的安全分析系统在 SunshineCTF 2026 上解出了一批 CTF 题。从启动到交出答案,全程无人值守。** 这不是演示,是真实赛题上的战绩:系统负责解题,人只负责两件事:给题,和提交。 --- **图 1:SunshineCTF 2026 的 Web 题区(图中标记为 SOLVED 的题目,均由本系统完成):**  --- **图 2:SiteCheck(456 分)提交判题通过(Correct):**  **先解释图 1 里唯一没变绿的 SiteCheck:** 1. 并发2~3个任务挑战CTF题,这道题在最后挑战,时间上紧张。 2. 为控制成本,我的分析任务避开模型计费的高峰时段、只在早上和晚上推进。 > SiteCheck 是这批题里被卡得最久的一道,战线因此跨过了赛事结束时间。但赛后题目实例仍在线、平台也仍接受判题,图 2 就是赛后提交的判题结果:**Correct**。它没赶上计分板,但被完整解出来了。 这批题(全部 Web 方向): - **Used Goods of Tomorrow**:2 分钟拿下,未授权接口泄露高权限凭证,零元购拿下 flag。 - **You Are Kidding Me**:JWT 的 kid 头注入,签名密钥可被指定,从而伪造管理员凭证。 - **Groundhog Day**:gopher 协议 SSRF,直通服务端渲染链读文件。 - **CookieCorp**:Cookie Jar 溢出,把管理员机器人浏览器里的身份"挤"出去。 - **Planetary Probe**:单比特盲注起步,一路打到数据库命令执行。 - **SiteCheck**:本文主角(456 分、190 队解出)。一道"提交 URL、无人机访问并截图"的 SSRF 题,也是把这套系统的机制用到最满的一道,详见后文拆解。 ## 整体架构:各模块如何协作 先看两张图:一张是系统架构(由什么组成),一张是一次任务里的协作(怎么运转)。 ### 系统架构  *↑ 图 3:系统架构。运行时(OpenCode 宿主)调用控制台(本地服务),控制台依赖资源与目标(本地能力 · 分析对象)。* **一句话说明**:运行时(分析系统本体)把任务做出来,控制台把环境备好,资源与目标提供两者使用的本地能力(知识 / 记忆 / 模型 / 工具 / 出口)。 ### 一次任务里的协作 ``` 人:切换最合适的Agent │ ▼ 人:给题 │ ▼ 分析 Agent(Web / 二进制 / 密码 / 移动 / AI 安全) │ ├──▶ 工具链(bash / 浏览器 / 1000+ 工具) │ └─ 出口默认直连;大轰炸时由 AI 切到代理模块(限流自动换线) │ ├──▶ 知识库 + 记忆库(MCP 实时查询 / 自动沉淀)──▶ 本地模型(向量化 / 重排序 / OCR) │ └──▶ 插件层(运行时护航):无人值守(防停)+ 反思(定期盘点) │ ▼ 答案(flag)──▶ 人:提交 ``` 一句话读懂:**人只出现在两端**。分析 Agent 负责干活:它用工具链访问网络(大轰炸时由 AI 切到代理模块);用知识库查方法论、用记忆库做实时查询、过程留痕与自动沉淀(记忆库的向量化由本地模型完成);插件层在运行时全程护航:停下了就推回去(无人值守),跑久了就提醒盘点(反思)。下面逐块展开。 ## 功能模块 ### 知识库:系统的战术手册 按方向组织的方法论文库。它不只是资料堆,每个方向都写明"什么场景、用什么打法、具体命令是什么、怎么判断成败"。它是"慢资产":不自动生长,每次更新都来自复盘后的提炼。**用途:让系统面对陌生题目时,先查手册再动手。** ### 记忆库:实时可查、全程留痕、自动进化的经验库 记忆库有三件事: 1. **实时查询**:通过 MCP 接口,分析 Agent 在解题过程中可以随时检索过往任务的知识与经验,命中的条目直接回到当前上下文。 2. **过程留痕**:本任务的每一步执行(工具调用与结果)按任务写入记忆库,支持中途回查、上下文压缩后的恢复,以及事后逐条复盘。 3. **自动进化**:沉淀是分析 Agent 的自主决定:分析中或收尾时,它按知识管理规则挑出值得复用的发现与解法,主动写入记忆库(本次 SiteCheck 的解法就是它自己判断后落库的);下一次任务即可召回,库自己越用越厚。 **用途:让系统每次都在上一轮经验之上开工。** ### 反思模块:长跑的纪律保险丝 长任务里最贵的错误,是在死路上闷头加速。反思模块按"距上次盘点时长 × 工具调用密度"的**数字规则**定期触发(默认 30 分钟):忙碌时把一条**反思提醒**附在命令输出之后(不打断工作),空闲时发一条唤醒消息;配套协议要求先落盘实验结果,再做方向盘点(继续 / 换向 / 放弃 / 深挖)。**用途:防止长任务跑偏。** ### 无人值守模块:没人盯着,任务也不会停 AI 跑长任务最大的敌人是"停":模型给出阶段性结论后就会安静等人。这套机制在系统空闲时检查"完成标记":没有标记,就注入"未完成就继续做"的恢复消息;模型真正完成时输出标记,机制自停。标记每次随机生成,防止模型学会"假装完成"。**用途:几十小时级的任务,没有人盯着也能推进。** ### 权限超时自动拒绝:不让任务卡在等人点击 > **用途:任务不因等人点击而停摆。** 长任务有一种更隐蔽的"停":**权限询问**。分析中途若弹出权限询问(最常见的是访问任务目录之外的路径),人不在电脑前,流程就会一直挂起、等人点击。 2.0 的对策是**超时自动拒绝**:按类型计时,默认 60 秒、默认只对"目录外访问"生效;秒数与生效类型都可在控制台调整。超时后自动拒绝,并把一句引导反馈随被拒结果交给模型(提示它检查路径、或把访问写进脚本再执行),模型自行改道,任务继续。 这块在 SiteCheck 时还没有,是之后从别的题目踩到痛点补上的。 ### 代理模块:让任务不被限流掐断 批量扫描、验证这类"大轰炸"阶段最容易触发目标限流。代理模块的作用是:一条线路被限流,就自动换另一条;被限流的地址先冷却一段时间、暂不触碰。**用途:任务不因限流、封锁而中断。** ### 本地模型:配合记忆库,顺带省钱 记忆库的"存"与"查",需要把内容变成向量。存知识时算一次、查知识时算一次,语义相近就能匹配(哪怕用词不同)。这一步由本地模型 **BGE-M3** 完成;检索出的候选再由本地 **Reranker**(重排序模型)按相关性排序;截图里的文字(比如 SiteCheck 的 flag)则由本地 **OCR** 模型提取。 为什么放在本地?一个直接原因是**省钱**:当前这台设备的硬件足以运行这三个模型(合计约 7.6GB),本地推理的边际成本几乎为零。当然,这是有条件的,如果你的硬件不如这台、跑不动本地模型,可以把模型卸载到局域网里的另一台机器(远程推理节点),或者用线上模型。 ### 控制台:随服务端一起启动 系统还带一个控制台,随服务端一起启动;浏览器打开 `http://localhost:5173/` 就能看到。控制台是整套系统的"驾驶舱": - **环境总览**(首页):Docker、模型、Python 依赖、外部工具四类环境的就绪状态一屏可见,缺什么一键安装; - **配置页**(`#/config`):工具(IDA 路径、GitHub 令牌)、模型(API 密钥)、代理(轮换阈值、限流冷却)、行为(续传开关、反思提醒间隔)等参数都在这里管理。 **图 4:控制台首页。Docker、模型、Python 依赖、外部工具的就绪状态一屏可见:**  **图 5:控制台配置页,包含工具、模型、代理、行为、开发五类配置:**  > 另有一组支撑件不单独展开:任务路由(给每道题挑最合适的 agent)、子 agent 体系、任务目录与工作记忆、以及 1000+ 安全工具组成的工具链。 ## 实战拆解:SiteCheck **题目**:SiteCheck 是一个"网站体检"服务:提交一个 URL,它派一架自动巡检无人机去访问、记录加载时间、回传一张截图,并且"礼貌地拒绝访问内网地址"。翻译成安全语言:这是一道 SSRF(服务端请求伪造)题,而真正的考点在于"无人机":它自带一个完整的浏览器环境和一套自己的登录会话。 破局的攻击链只有四步: 1. 过滤器的字面黑名单拦掉了 `127.0.0.1`、`127.1`、`0x7f000001` 等 IPv4 字面量,但放行了 IPv6 环回 `[::1]`; 2. 无人机自带一个管理员登录会话,且这个会话只绑定在 `[::1]` 这个宿主形态上(用 `localhost.` 等等价写法访问同一页面,只会得到登录页); 3. 用 URL 锚点 `#clearance` 把页面底部(1400 像素空白之后)的受限区滚进视口(截图窗口只有 800 像素高,默认拍不到); 4. 从回传的截图里读出 flag:`sun{fr4gm3nt3d_r3fl3ct10ns_1n_th3_futur3}`。 **过程**:09-27 开跑,09-29 凌晨破局(跨约 32 小时)。受"只在早晚跑"的成本策略影响,战线被拉长。赛后提交,判题通过(图 2)。下面按模块拆开看:这道题里,系统到底靠什么把仗打完。 ### 各模块在这道题里的体现 **知识库**:开局先读 Web 方法论(分析流程、证据纪律)定下框架,分析按这套流程推进,决定分析的技法,如果手册没有则现场试验。下一道同类题,可以直接查表。 **记忆库**:开工第一件事就是查它("是否存在 SiteCheck 或同类 SSRF 题目的记录"),命中一条 SSRF 过滤绕过变体全集,`[::1]` 等 IPv6 环回等价写法就在清单里;分析全程,每一步执行(工具调用与结果)按任务写入记忆库,随时可回查,压缩恢复也靠它;收官时,解法条目由分析 Agent 自行判断后落库,此后按技法词回查可稳定召回。对本任务,它是随查随用的经验库与可回溯的过程台账。下一道同类题,可通过MCP从记忆库查出技法。 **反思模块**:这道题的分析过程中,它 4 次触发(每次背后是 94 / 65 / 40 / 39 次工具调用)。它不是灵感来源,是纪律:把长跑切成段、定期交作业,防止在死路上闷头加速。 **无人值守模块**:这道题的破局就是它完成的。空闲时,它注入了一条"未完成就继续"的恢复消息,把停下的任务重新推动起来:94 秒后关键实验完成,137 秒后 flag 到手。它还纠正过一次"假完成":模型交卷说"分析完成",但没有输出完成标记,机制不认账、把它推回去继续(事后证明推得对:那时离解出还有 38 分钟);最终检测到正确标记、自动停止。 **代理模块**:这道题的扫描与批量验证阶段持续密集、高并发。期间共 16 次自动换线路,任务无需暂停等待、始终保持高并发,没有中断。 **本地模型**:flag 就是从无人机截图里读出来的:本地 OCR 文字识别两次 + 直读,三方交叉验证;记忆库的"存"与"查",向量化与重排序由本地模型完成。 ## 顺手小工具:五个常用命令 核心机制之外,系统还把围绕一场比赛的常用动作做成了斜杠命令,在会话里输入命令名即可调用。挑五个比较有意思的: | 命令 | 做什么 | |------|--------| | `/ctf-events` | CTFtime 赛事速览:进行中(按剩余时间排)与即将开始(按开赛时间排)两个表格,附带权重、链接、参赛限制等信息 | | `/create-challenge-doc` | 把官网题目忠实落盘:生成本地分析文档 + 下载原始附件(不解压、不解读),不需要手动拷贝题目到本地,挑战更加自动化 | | `/knowledge-search` | 知识侦察员:扫外部 writeup 信源:与已有知识库做 gap 对照、评估价值、下载素材,产出"建议沉淀清单" | | `/write-writeup` | 按固定规范生成教学式解题报告:前置知识、攻击链、完整复现、防御建议,分段写作防长文卡壳 | | `/analysis-attribution` | 对已完成任务做机制贡献归因:架构机制(无人值守 / 反思 / 记忆库 / 子 agent……)与模型推理各占多少,附硬时序指标与"没有 / 错过"清单 | 覆盖一场比赛的几个阶段:挑比赛、题目落盘、情报侦察、报告产出、机制复盘。 ## 2.0 的硬件要求与获取 2.0 把不少能力放到了本地运行,对机器有一定要求。以下是我的测试机(MacBook Pro / M4 Pro / 48GB 统一内存)上的实际占用: | 项 | 占用 | 说明 | |---|---|---| | 操作系统与基础软件 | ~8GB | 系统本身 + 编辑器、浏览器等日常软件 | | 本地模型 ×3 | 加载需预留 ~12GB | BGE-M3(4.3GB,向量化)/ Reranker(2.1GB,重排序)/ GLM-OCR(1.2GB,图像文字识别),合计约 7.6GB | | Docker + Neo4j | ~2GB | 事件图谱数据库(neo4j-events 容器) | | 主服务 + 控制台 | ~3GB | OpenCode 主进程 + 控制台前后端 | | 分析任务余量 | 8GB+ | 浏览器自动化、扫描 / 爆破工具、镜像处理等 | **对于使用Mac笔记本的建议:内存 32GB 起步,48GB 更从容**(Apple Silicon 走统一内存 + Metal 加速;其他平台的本地模型可走 Ollama / torch 后端,独显按约 8GB 显存预留)。磁盘另需 25GB+(工具镜像与模型缓存)。 机器不够强也有出路:系统支持把三个模型**加载到局域网里的另一台机器**(远程推理节点,我就是让一台闲置的 Mac Mini 来分担),本机内存占用随之释放。 **关于版本**:因为 2.0 对硬件有上述要求,它暂时**还没有合并到 master**;一段时间后,它一定会合并进 master。硬件符合要求的读者,现在就可以拉取 **Tag ≥ 2.0** 的版本使用。 ## 使用建议 几条使用建议: - **恢复模式(逃生舱)**:万一插件自身的 bug 把消息入口拦死(发什么都不放行),在消息开头加上 `>>>RECOVER-MODE<<<` 再发一条,就会跳过插件的全部拦截(控制台可用性、环境检测、agent 检查一律放行),把话直接送到 AI 面前,比如让它去修插件代码。这是条零依赖通道:只认这个字符串前缀,不碰控制台、配置等任何可能坏掉的依赖。 - **先用 AI 把知识库蒸馏进记忆库**:记忆库初始是空的,建议先让 AI 把知识库蒸馏成记忆库条目(对 AI 说一声即可),这样分析过程中的检索从一开始就有货可查。 - **遇到问题,先问 AI**:环境缺了、依赖坏了、脚本报错,直接丢给 AI 排查修复,比翻文档快。 - **反馈渠道**:有问题欢迎到 GitHub 仓库留言。平时有工作、假期也要休息,不保证处理的及时性。 - **版本说明**:本项目的插件目前只适配 OpenCode 1.x 版本;2.x 版本刚出没多久,计划等它稳定几个版本后再支持。 ## 收尾 把这批战绩放在一起看,共同点很清晰:没有一道题是"一把脚本"能解决的,每一道都要走完同一个循环:**查手册、动手试、盯过程、做沉淀**。系统把循环跑完了。 SiteCheck 是其中最能说明问题的一道。它被卡得最久,也因此把 2.0 的机制全部用上了:长跑中,反思定期校准方向;停下的瞬间,无人值守把任务重新推起来;高并发里,代理顶住限流、不让任务断线;每一次战果,由知识 / 记忆收下,成为下一道题的起点。1.0 会做分析;2.0 让分析在没人盯着的时候,也能自己跑到终点。 这就是我想要的状态:**你去睡觉,它继续干活。** > 2.0 代码链接:<mark class="encrypted">4ecK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6*7P5h3I4U0x3K6j5&6i4K6u0r3e0%4m8W2L8W2y4W2j5%4g2J5K9i4c8&6i4K6u0r3M7X3g2D9k6h3q4K6k6i4y4Q4x3V1k6@1j5h3N6Q4x3V1j5J5i4K6u0W2x3l9`.`.</mark> > 本文数据均来自系统运行日志(注入、标记、提醒、线路切换、检索),可逐条复盘。
回复或点赞可查看完整内容
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
最后于
8小时前 被不歪编辑 ,原因:
收藏
・
0
点赞
・
4
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
岁月。
你的帖子非常有用,感谢分享!
2小时前
git_51951meggadf3df
非常支持你的观点!
8小时前
顽劣
期待更多优质内容的分享,论坛有你更精彩!
9小时前
hackroad
为你点赞!
10小时前
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
1
)
mb_vqjrvgdp
雪 币:
195
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
3
粉丝
0
关注
私信
mb_vqjrvgdp
2
楼
期待更多优质内容的分享,论坛有你更精彩!
2小时前
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
不歪
3
43
发帖
70
回帖
150
RANK
关注
私信
他的文章
[原创] OpenSecurity 2.0 无人值守完成 CTF 所有 Web 挑战
38
[原创][开源]OpenSecurity:AI 驱动的多领域安全自动分析 Agent 平台
6903
[原创][AI分析Web漏洞] 掰开揉碎讲解 CyberGame 难度Hard 477 分 — Web Cache Poisoning 完整 Writeup
10505
【AI自动逆向算法】Binary Analysis Agent:构建AI驱动的二进制分析系统
18780
[原创]OLLVM (三)控制流平坦化
1038
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部