ディテクターライブラリパッケージインストールスクリプト

パッケージインストールスクリプト

パッケージをインストールする。スクリプトを実行する。

マニフェストで見落とす前に実行可能なライフサイクルフックを確認する。

問題を見て、検出結果を理解する。

英語のナレーション、キャプション付き。

なぜ見落とされるのか

エージェントが依存関係をインストールします。パッケージのマニフェストにはインストール中に実行されるスクリプトも記載されています。セットアップに見えるものに、独自のレビューに値するコード実行が含まれる場合があります。

プロジェクトは完全に通常のビルドステップにインストールフックを使用している場合があります。予期しないコマンドが含まれている場合もあります。重要な点は、スクリプトがマニフェストに存在し、トップレベルのインストールコマンドだけを確認すると見逃される可能性があるということです。

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. 期待されるインストール動作をレビューする

このシグナルが示すもの

インストールフックが自動的に敵対的なわけではありません。この検出結果はマニフェストエントリを報告するものであり、インストールや実行が発生したことの証明ではありません。

重要な瞬間を見逃さない。

エージェントのアクティビティを追跡し、検出結果を確認して、注意が必要なものを判断してください。