Skip to main content

Node.jsエージェント

Contrast Node.jsエージェントは、トランスコンパイルなどの確立された技術を使用して、Node.js Webアプリケーションの動きを解析し、実行前にContrastセンサーをアプリケーションに追加します。

注記

最新のNode.jsエージェントは、Contrast Assess(IAST)、Contrast Protect(RASP)、Contrast SCAの機能をサポートしています。

Contrast Node.jsエージェントは、セマンティックバージョニング(major.minor.patch)に従います。エージェントは、こちらのサポート対象テクノロジシステム要件で最適に動作します。

Node.jsエージェントは、Babelコンパイラを使用してアプリケーションの起動前にアプリケーションコードを変換します。起動後、エージェントはサポート対象のフレームワークやモジュールに必要な関数にパッチを適用します。

Node.jsエージェントをインストールすると、 アプリケーションの動作を監視するために、2つの主要なソースコード変換が行われます。

  • AST変換は、エージェントによって作成されたコード本体の抽象的な構文ツリーを操作し、この構文ツリーに基づいて新しいソースコードを作成するプロセスです。エージェントはこのプロセスによって、関数フックが機能しない状況を処理します。例えば、変換によってContrastはJavaScriptに演算子のオーバーロードを追加できるため、信頼されないデータの流れを適切に追跡できるようになります。

  • 関数フックは、child_process.execなど特定の関数の実行を引き継ぎ、その引数や戻り値に関するデータを収集し、エージェントの解析部分にこのデータを送信します。その結果、エージェントは特定の関数について報告できるようになります。