养虾到底是在养什么、怎么养

admin 2026-03-27 13:53:39 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档提出构建生产级安全Agent的’养虾’理念,核心是将人脑隐性经验转化为可执行的工程化系统。作者通过五步法详细阐述了如何固化工具技能、结构化漏洞模式、设计决策大脑、引入状态机制以及吸收群体经验。该方法旨在结合LLM能力弥补人类短板,实现漏洞挖掘等安全工作的自动化、稳定化与可复现性。 综合评分: 89 文章分类: AI安全,安全建设,实战经验,应用安全,安全工具


cover_image

养虾到底是在养什么、怎么养

原创

做安全的小明同学 做安全的小明同学

大山子雪人

2026年3月25日 12:18 北京

养虾到底是在养什么、怎么养

养虾,就是做自己的产品级的agent,把人脑经验变成可执行系统。主要做两件事,一个是把人的难以表达的,零散的经验固化下来,变成工程化的产品。再一个是弥补人的一些短板,比如写代码的能力,系统思考问题的能力,难以跨行业的能力,海量知识储备的能力。然后在一个产品中同时存在,并且融合。这就是agent。

构造一个真正可用的 Agent,至少有三件事:把自己的经验落地,借助 LLM 的通识与生成能力,以及持续吸收并蒸馏他人的经验,把群体知识转化成自己的系统能力。

把“人的经验”固化下来

人类的问题是:

  • • 经验在脑子里(不可复用)
  • • 状态不稳定(今天会,明天忘)
  • • 很难规模化(只能自己用)
  • • 需要休息
  • • 视野受限(容易关注局部,难以同时看到全局)

而 Agent 做的是:

把经验结构化、模块化、可调用化。比如:

  • • 漏洞分析套路 → pattern
  • • 调用链分析 → skill
  • • adb / JEB 操作 → tool
  • • 判断逻辑 → agent

所以 Agent 不是“替代人”,而是让系统比人更稳定、更一致、更可复现

如何把“人脑里的隐性经验”,变成“机器可以执行的显性系统”

经验到底是什么?

经验 = 判断条件 + 决策规则 + 行动路径

以找漏洞为例,挖掘某个对象的漏洞,我们首先要看目标有哪些攻击面。然后我们会借助各种各样的工具,静态分析的工具,代码分析工具,逆向分析工具,hook工具,调试工具,fuzz工具等等,工具会有很多很多。 什么阶段用什么工具,工具如何使用,就体现出了经验的优势。

再有,不同的对象,漏洞类型,漏洞特征也不同。对漏洞的理解也不同。

同样一个信息,有经验/无经验,经验丰富程度不同,看到的信息价值也不同。

面对目标,从什么地方开始,每个人也大相径庭。

遇到代码保护,代码混淆,逆向能力不同,经验不同,效果也不同。

就像一块石头打磨成工具,哪种石头好,怎么敲,什么角度,这些都是经验。

养虾第一步

能力的跃迁,不是“更聪明”,而是“会不会把经验外化为工具”。

养虾的第一步,就是把自己使用的工具变成skill/tool的一部分。

养虾第二步

漏洞经验变成标准结构。比如我们有android app的文件读写漏洞的经验。

Activity 启动 → 从 Intent 取数据 → 用来构造 File → 可能路径可控 → 可能文件读写风险

拆分成结构就是

onCreate
 → getIntent
   → extract param
     → new File(param)

如果存在这个模式,我们就要继续看调用链路上有没有文件读写的路径。如果存在,参数是否可控,文件路径是否可控,涉及到路径处理的代码在做些什么事。

继续细化结构:

pattern_id: intent_to_file_path

name: Intent 数据影响文件路径

trigger:
  entry:
    - method: android.app.Activity.onCreate
    - method: android.app.Activity.onNewIntent

flow:
  - source:
      type: intent_extra
      api:
        - getIntent
        - getStringExtra
        - getData
  - sink:
      api:
&nbsp; &nbsp; &nbsp; &nbsp; - java.io.File.<init>
&nbsp; &nbsp; &nbsp; &nbsp; - FileInputStream.<init>
&nbsp; &nbsp; &nbsp; &nbsp; - FileOutputStream.<init>

action:
&nbsp; - trace_data_flow
&nbsp; - check_path_validation
&nbsp; - attempt_path_traversal_payload
&nbsp; - verify_file_access

养虾第三步

如果说第一步是构建手和脚。第二步是构造神经。第三部就是构造大脑,做决策。 要给agent做一个“人设”,包括:角色建模、 能力边界 、行为规范 、决策引导。 比如:摘星手,是一个挖掘攻击面的大侠

&nbsp; "name": "摘星手",
&nbsp; "codename": "ASR",
&nbsp; "description": "轻功卓绝的探风者,专门摸清各派禁地的每一个暗窗(入口)。",
&nbsp; "instructions": [
&nbsp; &nbsp; "你是一位名为「摘星手」的轻功高手。你的主要目标是摸清所有外部暗门(攻击面)。",
&nbsp; &nbsp; "### 军规 (核心原则):",
&nbsp; &nbsp; "1. **谋定后动**:先给出简要计划后立即执行;仅在高风险/破坏性操作前再请求确认。",
&nbsp; &nbsp; "2. **补全残卷 (情报联动)**:调用技能需要参数。若线索不足:",
&nbsp; &nbsp; " &nbsp; &nbsp;- **APK 路径/包名缺失**:调用 `adb` 探查或请用户提供。",
&nbsp; &nbsp; " &nbsp; &nbsp;- **类名/方法名不详**:先执行「扫视暗桩」获取列表,或调用「洗髓经」(runSubagent: reverse-engineer)。",
&nbsp; &nbsp; " &nbsp; &nbsp;- **漏洞模式模糊**:向「天算书生」(runSubagent: experience-engine) 请教。",
&nbsp; &nbsp; "3. **自创招式 (动态扩展)**:若现有技能无法满足分析需求,你应当:",
&nbsp; &nbsp; " &nbsp; &nbsp;- **研磨新招**:构思并编写 Python 脚本或逻辑来解决特定问题。",
&nbsp; &nbsp; " &nbsp; &nbsp;- **刻碑传世**:将可行的分析代码沉淀同步到当前项目的 `workspace/skills` 或对应脚本中,并告知用户以便永久固化。",
&nbsp; &nbsp; "### 探风术 (核心身法):",
&nbsp; &nbsp; "1. **查阅秘籍 (经验对齐)**:调用「天算书生」(runSubagent),查询历史漏洞模式。",
&nbsp; &nbsp; "2. **锁喉之术 (优先路径)**:使用 `android-manifest-parser` 解析配置。随后调用 `attack-surface-analyzer` 扫描隐藏 URI。",
&nbsp; &nbsp; "3. **截获飞鸽 (消息通道)**:调用 `attack-surface-analyzer` 排查 XMPP/MQTT/WebSocket 逻辑。",
&nbsp; &nbsp; "4. **移花接木 (跳转劫持)**:调用 `attack-surface-analyzer` 检查 `Intent` 透传逻辑。若需深度追踪,联动「洗髓经」(runSubagent)。",
&nbsp; &nbsp; "5. **扫视暗桩 (组件盘点)**:调用 `attack-surface-analyzer` 枚举 Exported 组件并分析功能。",
&nbsp; &nbsp; "6. **精准打击 (风险过滤)**:审计高风险逻辑(如敏感 IPC)。",
&nbsp; &nbsp; "7. **探风报捷 (成果输出)**:汇总情报,输出结构清晰的 **Markdown 文档**。",
&nbsp; &nbsp; "8. **固定输出模板**:必须按『目标范围 -> 入口清单 -> 利用条件 -> 风险评级 -> 证据与定位 -> 后续建议』六段式输出。",
&nbsp; &nbsp; "你的输出应带有‘探风报捷’的自信风格,技术细节必须精准可靠。"
&nbsp; ],
&nbsp; "skills": [
&nbsp; &nbsp; "attack-surface-analyzer",
&nbsp; &nbsp; "experience-learning",
&nbsp; &nbsp; "adb",
&nbsp; &nbsp; "android-manifest-parser"
&nbsp; ],
&nbsp; "default_model": "llm-router/auto-critical",
&nbsp; "capabilities": {
&nbsp; &nbsp; "subagents": true,
&nbsp; &nbsp; "static_analysis_support": true
&nbsp; }

如何让虾自己“迭代”

前面三步,其实只是把我们的经验有限的工程化。依然需要不断的重复,优化。虽然弥补了人的一些短板,但在决策方面依然存在很大的不足。比如第三步还是以prompt为主,指令编排的方式落地经验。指令编排的缺点在于不可控、不可调试、不可演进、不可度量。

养虾第四步

还不够系统化,智能化。需要引入state的概念。也就是上一篇文章介绍的内容。 state 的用途在于让 LLM 辅助决策,而不是靠猜。 State 的作用,是为 LLM 提供可验证、可依赖的上下文,使决策从“生成”转为“选择”。

State
&nbsp; &nbsp;↓
Strategy Engine(显式决策)
&nbsp; &nbsp;↓
选择 Agent / Skill
&nbsp; &nbsp;↓
LLM执行

养虾第五步(吸星大法)

前面的养虾过程,一个是将自己的经验落地,一个是借助llm强大的知识库,代码生成等能力。但是我个人觉得还缺少一个重要的部分,就是将他人的经验吸收到我们的系统中。 前两个解决的是:

  • • 我会什么
  • • 模型会什么

第三个问题要解决的是:

别人已经踩过的坑、验证过的方法、沉淀过的套路,如何变成我的系统能力

至于如何做,下期继续


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:大山子雪人 做安全的小明同学 做安全的小明同学《养虾到底是在养什么、怎么养》

评论:0   参与:  0