检测器库包安装脚本

包安装脚本

安装软件包,运行其脚本。

在清单中发现可执行的生命周期钩子,避免被忽视。

发现问题,理解检测结果。

英语旁白,含字幕。

容易被忽视的原因

代理安装一个依赖项,而软件包清单中还指定了一个在安装期间运行的脚本。看似普通的安装步骤可能包含代码执行,值得单独审查。

项目可能将安装钩子用于完全正常的构建步骤,也可能包含意外命令。重要的是,该脚本位于清单中,若只检查顶层安装命令,很容易被忽视。

ClawMetry 检测什么

ClawMetry扫描工作区软件包清单,查找支持的安装生命周期钩子。发现钩子后,触发软件包清单执行警告并标识该钩子。扫描器仅读取文件,不会执行其中找到的命令。

影响检测结果的关键差异

触发示例

postinstall: node build.js

警告发现

静默对比

test: node build.js

此检测器无发现。

在验证示例中,包含构建程序的postinstall脚本会触发警告。将同一程序置于普通的test脚本下,此检测器则保持静默。区别在于清单声明该程序何时运行。

检查检测器结果
{
  "kind": "package_manifest_exec",
  "severity": "warning",
  "evidence": {
    "hooks": [
      "postinstall"
    ],
    "hits": [
      {
        "hook": "postinstall",
        "command": "node build.js",
        "tool": null,
        "alarm": null
      }
    ],
    "manifest": "package.json",
    "tools": [],
    "observed": "package_manifest"
  }
}
下载输入和完整结果(JSON)
示例的检查方式

这些示例使用预设事件数据或一次性配置文件评估已发布的检测器。视频展示了相应行为,并非真实智能体或产品界面的录屏。示例中的命令均未实际执行。

结果仅反映这些输入的行为,不代表运行时摄取、防护或真实的攻击场景。 查看固定源合约.

接下来检查什么

读取钩子命令及其引用的程序。确认该安装行为是否属于项目预期,以及依赖来源是否可信。若安装已发生,在接受当前环境前,请单独审查实际影响。

  1. 读取生命周期钩子
  2. 检查引用的程序
  3. 审查预期的安装行为

此信号说明什么

安装钩子并非自动意味着恶意。此发现报告的是清单条目,而非安装或执行已发生的证明。

让重要时刻始终可见。

跟踪智能体活动,检查发现结果,决定哪些需要关注。