Skip to content

norma 智能体 SDK ​

ARTEX 的智能体能力不是在主项目里从零写的,而是来自同一作者的另一个库 norma。把「智能体底座」抽成独立 SDK,是现代 Agent 工程里常见的做法——主项目负责业务编排,SDK 负责「让一个 LLM 能可靠地调用工具、记住上下文、留下可审计的痕迹」。

理解 norma 的模块划分,能帮我们看清一个 LLM 智能体「自主行动」到底由哪些部件支撑。这对防御有直接价值:有些模块会在网络或主机上留下可识别的指纹。

模块构成 ​

按公开资料,norma 大致包含以下模块:

模块职责
agentcore智能体核心:驱动「思考 → 调用工具 → 观察结果 → 再思考」的循环
tool工具抽象:把 shell、HTTP 请求、扫描器等封装成模型可调用的工具
permission权限:控制哪些动作需要审批、哪些被允许
harness运行时「挽具」:承载智能体运行、约束其行为边界
memory记忆:跨步骤、跨会话保留上下文
transcript转录:记录完整的交互过程,供回放与审计

这套划分本身是中性的——换个场景,它和任何一个正经的 Agent 框架(用于客服、运维、编码助手)没有本质区别。危险不在模块本身,而在于 tool 里封装的是渗透工具、agentcore 的循环目标是「攻破目标」。

为什么对防御有用 ​

两个模块尤其值得防守方关注:

一是 tool 层发出的网络请求。检测社区发现,norma 的某个工具(如用于网络探测的 WebFetch)在发请求时会带有可识别的 User-Agent(如 norma/0.4)。这类静态指纹可以作为网络检测的辅助线索——但只是辅助,因为版本一变、或攻击进入多阶段 Web 利用后,这个指纹就未必出现了。详见检测规则。

二是 transcript 和 memory 留下的记录。它们本是为审计设计的,但如果运行环境被研究者接触到(例如开放目录暴露),这些转录和记忆文件就成了还原攻击者意图与方法的直接证据。韩国事件里 CrowdStrike 拿到的 Claude 会话历史与记忆文件,就属于这一类。

小结 ​

norma 把「让 LLM 可靠地动手」这件事工程化了。它说明一个趋势:智能体的「自主能力」正在变成可复用的基础设施。对防守方而言,与其纠结单个工具,不如理解这套底座会在哪些环节留下痕迹——网络请求的指纹、主机上的记录文件——并据此布置检测。

ARTEX 研究笔记:面向安全研究与防御的非官方资料,与 ARTEX 原作者、CrowdStrike 及相关机构均无隶属关系。内容仅供学习与防御用途。