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
など特定の関数の実行を引き継ぎ、その引数や戻り値に関するデータを収集し、エージェントの解析部分にこのデータを送信します。その結果、エージェントは特定の関数について報告できるようになります。