文章总结: 本文介绍ECC开源项目,一个Agent挂载性能优化系统,可将渗透测试打法固化进系统而非每次重复提示。核心设计包括计划画布、TDD流程、独立评审、记忆持久化及AgentShield安全扫描。文章详述如何通过四层插槽(Agent、Skill、Hook、Rule)定制为渗透专属工具,并给出成本优化与避坑建议,强调仅在授权范围内使用。 综合评分: 78 文章分类: AI安全,安全工具,渗透测试,安全建设,实战经验
打造 AI Agent 渗透专属操作系统把打法从脑子里搬进系统
原创
网络安全透视镜 网络安全透视镜
网络安全透视镜
2026年9月5日 15:16 中国台湾
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
📦 7 Parts + Conclusion
👉 滑动
PART 01
重新上班
每天都在教的同一套话
PART 02
它是什么
不是提示词合集
PART 03
五个设计
真正值钱的部分
PART 04
装起来
三步与常用入口
PART 05
改成渗透专属
四层插槽怎么填
PART 06
省点钱
上下文与 token
PART 07
避坑
平台与安装限制
PART ///
写在最后
谁该装,谁别装
优化上下文窗口,把其他一切都持久化
用 Claude Code、Codex 这类工具做了一段时间安全测试之后,我发现最累的其实不是挖洞本身,而是每开一个新会话,都要把同一套打法从头交代一遍:先说清这摊业务是干嘛的、哪些参数值得打、哪些坑早就踩过别再踩、测到哪一步算收工、证据怎么留。
这些话你说了几十遍,第二天开个新窗口它照样是新人。问题不在模型不够聪明,而在于我们把本该固化的打法和边界,压在了一段每次都会清空的提示词里。
今天推荐的这个项目,思路很直接:与其每次提醒,不如装一套系统进去。它叫 ECC,MIT 开源,原本是给写代码用的,但它的四层插槽全部对外开放——装完之后你的 Agent 会先规划、留证据、换个脑子复核、把这次的教训存成记忆,而不是等你开口。第五部分我会讲怎么把它改成渗透专属。
01
PART
你的 Agent,每天在重新上班
WHY · 问题的根在哪
先说清楚一个被很多人忽略的事实:上下文窗口是零和的。你在系统提示词里每多塞一条「请遵循 TDD」,就挤掉了一点本来可以放代码的上下文。规矩写得越全,留给真正干活的空间越少。
更麻烦的是,很多要求根本不该由模型来「记得住」——格式检查、类型检查、危险命令拦截,这些是确定性的事,交给脚本比交给注意力靠谱得多。
ECC 给的解法是把这四件事拆开:技能按需加载(不用时不在上下文里)、确定性检查交给钩子(在模型上下文之外跑)、记忆持久化到磁盘、规则按需安装。
它把整个开发过程抽象成一条固定的流水线,计划 → 测试 → 实现 → 评审 → 验证 → 记忆 → 改进。你不用再在提示词里复述它,它就在那儿。
02
PART
ECC 到底是什么
WHAT · 一份能装的工程系统
项目作者给自己定的说法是「Agent 挂载性能优化系统」——不是配置包,是一整套可安装的工程能力。目前仓库里躺着这些东西:
| 组件 | 数量 | 解决什么 | | — | — | — | | Agents | 68 个 | 规划、架构、评审、修构建、安全、各语言专项 | | Skills | 286 个 | TDD、安全、文档、前端、数据、运维等工作流 | | Commands | 94 个 | 斜杠命令入口,逐步迁到 skills-first | | Hooks | 运行时 | 强制执行、会话摘要、连续学习、上下文控制 | | Rules | 按需 | 按语言或项目选装的常驻标准 | | AgentShield | 内置 | 扫描提示词、钩子、MCP、权限、密钥、Agent 文件 |
支持面铺得相当广。Claude Code 是稳定主力,Codex 有原生插件,Cursor、OpenCode 是 beta 级适配器,Copilot 只有指令层;此外还有 Gemini、Zed、Qwen、Kimi、Trae、CodeBuddy 等十几个目标。
!别被「全平台」三个字骗了 🕳
作者自己在 README 里写了句实话:看到功能对等表之前,不要假设各平台能力一致。Copilot 就没有任何钩子、运行时 Agent 和原生技能发现能力。
03
PART
五个真正值钱的设计
CORE · 拆开看细节
CORE 01
计划先落成文件,在浏览器里指哪改哪
2.1 版本加的 Plan Canvas 我个人最喜欢。Agent 写完计划,会在一个仅本地回环的浏览器画布里打开它:你点哪一段就批注哪一段,可以挂编号批注、在侧边栏继续跟它聊,最后点「批准」或「要求修改」,判定直接映射回 /plan 的确认闸门。Mermaid 图实时渲染,改了计划文件页面会自动重载。
CORE 02
TDD 从「一句提醒」变成「有闸门的流程」
你说「请用 TDD」,模型可能记得也可能忘。ECC 的做法是:动手实现之前必须先留下 RED 证据——也就是一个确实失败的测试。然后实现到 GREEN,再用新上下文评审,发现问题补回归测试,最后验证构建、lint、类型和测试全过。
交付物不是代码,是一条证据链
计划、失败的测试、通过的测试、评审发现、最终验证
CORE 03
让「另一个脑子」来 review
这一点很多人低估了。如果写代码的上下文和评审的上下文是同一个,那它的盲区是结构性的——它刚认定这个写法合理,转头不会自己推翻自己。ECC 把评审拆成独立的 code-reviewer,自动抽取模式,存成带置信度打分的「本能」。默认只有置信度 0.7 以上的才会在会话启动时注入,最多 6 条,还会按当前项目的技术栈做相关性排序。攒多了,一条 /evolve 就能把相关的本能聚类成一个可复用的 skill。
更实用的是 Memory Vault:它用一种本地、可读的 Markdown 格式(ecc.memory.v1)存长期上下文。项目记忆在 .ecc/memory/,用户记忆在 ~/.ecc/memory/。你在 Claude Code 里做到一半,可以生成一份 handoff,让 Codex 或 Kimi 接着干。
CORE 05
把 Agent 自己的配置,当成攻击面来审
这是 ECC 里我觉得最有前瞻性的一块。内置的 AgentShield 会扫描 CLAUDE.md、settings.json、MCP 配置、hooks、Agent 定义和 skills,覆盖五大类:密钥检测(14 种模式)、权限审计、钩子注入分析、MCP 服务器风险画像、Agent 配置审查。规则 102 条,测试 1282 个。
…bash
npx ecc-agentshield scan
npx ecc-agentshield scan –fix
三个 Opus 跑红队 / 蓝队 / 审计流水线
npx ecc-agentshield scan –opus –stream
另外还有个叫 GateGuard 的护栏,会在 rm、强制 git checkout、破坏性 find -exec 这类命令执行之前先拦一道。对天天让 Agent 动本地文件的人来说,这层保险挺值。
04
PART
三步装起来,以及常用入口
INSTALL · 照抄即可
STEP 01 推荐路径,一条命令走引导式安装(需 Node 18+、Git、Claude Code 2.1+)
…bash
npx ecc-universal setup
STEP 02 也可以直接在 Claude Code 里用原生插件命令
…text
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc
STEP 03 Codex 用户走这两条,其余工具 clone 后指定 target
…bash
codex plugin marketplace add affaan-m/ECC
codex plugin add ecc@ecc
Cursor / Gemini / Zed / Qwen / Kimi 等
./install.sh –profile minimal –target cursor
装完不知道从哪下手,这张表就够用了:
| 你要干什么 | 从这里开始 | | — | — | | 做新功能 | /ecc:plan「描述需求」,再走 tdd-workflow | | 修 bug | 先写个复现它的失败测试,再 tdd-workflow | | 评审刚写的代码 | /code-review(全新上下文) | | 构建挂了 | /build-fix | | 上下文快撑爆 | /context-budget | | 收工 / 明天继续 | /save-session、/learn-eval,回来 /resume-session | | 审 Agent 配置安全 | /security-scan |
05
PART
把它改成渗透专属
CUSTOMIZE · 四层插槽怎么填
前面那些都是「别人家怎么用」。对做安全的人来说,ECC 自带的 286 个 skill 其实是别人的工程习惯,参考价值有限。真正值钱的是它把四类插槽都做成了开放目录:Agent、Skill、Hook、Rule。你可以只借它这套骨架,内容全换成自己的。
四层各管一件事,混着用一定会后悔:主体是谁、手法是什么、什么绝对不能碰、什么必须一直记住。下面按这个顺序拆。
1
Agent 是分工,不是人设。一个 markdown 一个角色,frontmatter 里写清楚 name、description、tools、model。description 决定它在什么场景下被自动唤起来,tools 决定它能碰什么。建议至少拆四个:负责资产与接口发现的 recon、只深挖单一目标的 hunter、用全新上下文做复核的 verifier(避免自己审自己的结构性盲区)、只管出报告的 writer。tools 里给 recon 的别放 Write——它本来就不该有写权限。
2
Skill 是手法库,按需加载。这是最省上下文的一层,不调用就不进上下文。把「注入类怎么按技术栈选探针」「越权测试怎么找可换的对象」「什么才算可复核的证据」各写成一个 skills/<名字>/SKILL.md。你那些散在笔记和聊天记录里的套路,第一次有了该待的地方——而且是 Agent 自己能翻出来的地方。
3
Hook 是闸门,管「绝对不能发生」。它跑在模型上下文之外,不占 token,也不会因为上下文一压缩就「忘了执行」。该放这里的都是确定性检查:目标不在授权清单里直接拦下、危险命令阻断、报告落盘前先跑一遍格式校验。
4
Rule 是红线,常驻但别写多。授权边界、PoC 不得影响线上、证据脱敏、不碰范围外资产——这几条该 24 小时挂在上下文里。但它是宪法不是操作手册,写得越多,每天交的上下文税越重。
5
Memory 与 instincts 让经验不归零。连续学习模块会观察你的会话,把反复出现的做法沉淀成 instinct,一条 /evolve 再把相关 instinct 聚成一个新 skill。踩过的坑、验证过是假点的形态、某个目标的资产清单,下次开新窗口都还在。
…md · .claude/agents/verifier.md
name: verifier
description: 用全新上下文复核可疑点,只输出可复现证据
tools: Read, Grep, Glob, Bash
model: sonnet
你是复核者,不做新发现。只回答三件事:
差分是否稳定、证据能否复现、有没有越过授权边界。
关键是 model 单独指定:复核这种活不需要 Opus,Sonnet 足够,成本还低一截。
…json · hooks · 危险命令拦截
{
”matcher”: “tool == \”Bash\” && command matches \”rm -rf|DROP|mkfs\””,
”hooks”: [{
”type”: “command”,
”command”: “echo ‘[Hook] 高危命令已拦截’ >&2; exit 2”
}]
}
非零退出即阻断。同一套写法也能用在「目标不在授权清单里不让发请求」「报告没过格式校验不让落盘」——这些事交给脚本,比交给模型的注意力靠谱得多。
一句话概括:ECC 自带的 286 个 skill,是作者把他踩过的坑固化下来;而插槽留给你的,是把你这三年踩过的坑也固化进去。装完之后,Agent 才第一次像个跟了你三年的人,而不是每天早上重新入职的新同事。前提不变:只在授权范围内的目标与靶场里用,边界写进 rules,闸门写进 hooks。
06
PART
让它别那么烧钱
COST · 上下文经济学
装了这么多东西,第一反应往往是「那不是更费 token 吗」。ECC 的答案是靠分层而不是靠堆量:技能按需加载、钩子跑在上下文之外、规则你自己选装。再配合下面这组官方推荐设置:
…json · ~/.claude/settings.json
{
”model”: “sonnet”,
”env”: {
”MAX_THINKING_TOKENS”: “10000”,
”CLAUDE_AUTOCOMPACT_PCT_OVERRIDE”: “50”,
”CLAUDE_CODE_SUBAGENT_MODEL”: “haiku”
}
}
默认模型换成 Sonnet
官方说法是能覆盖八成以上的编码任务,成本降约 60%,只在需要深度架构推理时才切 Opus。
思考预算砍到 10000
默认 31999,改小之后每次请求隐藏的思考成本约降 70%,日常编码体感差别不大。
提前压缩,而不是撑到 95%
把自动压缩线拉到 50%,长会话里的质量反而更稳。ECC 还有个 strategic-compact 技能,会在研究做完、里程碑达成、调试结束这些逻辑断点提醒你压缩,而不是在实现中途把你打断。
最关键的一条:别把所有 MCP 一起打开。每个 MCP 的工具描述都在吃你的 200k 窗口,全开可能直接掉到 70k。控制在 10 个以内、80 个工具以内。
07
PART
这些坑我替你先看过了
PITFALLS · 别踩
1
不要叠加安装方式。同一个工具里装两遍,会让技能、命令、钩子重复,排查起来很痛苦。Claude Code 插件装完就别再跑全量手动安装;Codex 也是原生插件和旧同步流程二选一。
2
三个名字别搞混。GitHub 仓库是 affaan-m/ECC,插件标识是 ecc@ecc,npm 包是 ecc-universal。它们不通用,搜到旧文章里的长标识当别名看就行。
3
Windows 原生用户要有心理准备。连续学习 v2 的观察进程和记忆保险库写入在原生 Windows 上有已知缺陷,部分依赖 shell 的功能需要 Git Bash 或 WSL。macOS 用户则是系统自带的 Bash 3.2 会让某条独立脚本路径失效。
4
只从官方渠道装。项目专门挂了警告:第三方重传和非官方镜像没有维护,可能夹带恶意代码。认准 GitHub 仓库、那两个 npm 包和 ecc.tools。
5
规则别一次全装。规则是常驻上下文的,装得越多每天交的税越多。从 rules/common 加上你真在用的那一门语言包开始就够了。
真出问题了,先跑 npx ecc-universal doctor 或者 node scripts/ecc.js repair,大多数时候不用重装。
///
LAST
写在最后:谁该装,谁别装
VERDICT · 我的判断
先把话说死:ECC 不会替你挖到洞。它做的是另一件事——把那些你本来靠嘴反复交代的打法、边界和收工标准,从提示词里搬到系统里,变成默认发生、有证据、可复用的流程。
值得装
每天都用 Claude Code 或 Codex 干活;团队想统一工程标准
×
再想想
只是偶尔用一次,或者不想折腾配置
×
先别装
只用 Copilot,拿不到钩子和运行时能力
真要试的话,我的建议是别一上来就把 286 个技能全用一遍。先装插件,用一周,挑两三个跟你日常最贴的(我推荐 tdd-workflow、/code-review、/ecc:plan)用熟,再慢慢往外扩。
说到底,安全测试这半年真正的分水岭,可能不是模型又强了多少,而是你有没有把自己这三年积累的打法,沉淀成一套 Agent 能自己跑起来的系统。ECC 是目前开源里,把这套骨架做得最完整的一个——剩下的内容,得你自己填。
Optimize the context window. Persist everything else.
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
点赞
在看
转发
THANKS FOR READING
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:网络安全透视镜 网络安全透视镜 网络安全透视镜《打造 AI Agent 渗透专属操作系统把打法从脑子里搬进系统》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论