Skip to main content

Node.jsエージェントのリリースノート

リリース日: 2024年7月18日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • 本リリースで、Contrastエージェントをnpmに公開する際の新しいプロセスが導入されました。新しいプロセスでは、アーティファクトには<next>タグを付けてnpmにリリースされます。<next>タグを採用することで、npm install @contrast/agent@nextというコマンドを明示的に使用しない限り、次(next)のバージョンのエージェントが自動的にインストールされることがなくなります。

    NodeNpmList.png

    次のバージョンのリリースノートが公開された直後に、バージョンのタグは<latest>に切り替えられます。この新しいプロセスにより、新機能のプレビューやテストが可能になり、まもなく<latest>としてタグ付けされるリリースノートを確認することもできます。

    • <next>タグによってnpmにエージェントを公開するプロセスを改善しました。(NODE-3507)

  • エージェントは、クラウドリソースID(AWS、Azure、GCP)を抽出して、Contrastに報告するようになりました。(NODE-2932)

    この機能は、クラウドプロバイダー上で実行時にリソースIDを収集し、そのIDをログとContrast Webインターフェイスに報告します。

    • エージェントが、Contrast にクラウドリソースIDを送信するようになりました。(NODE-3493)

    • エージェントが、GCPのリソースIDを取得するようになりました。(NODE-3503)

修正された不具合:

  • ログに発生していたExpress.response.pushエラーを修正しました。(NODE-3532)

リリース日: 2024年7月15日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • @contrast/distringuishのREADMEドキュメントを改善しました。(NODE-3517)

  • 報告されるルートのテキストを、より一貫性のある慣用的な表現に変更しました。影響を受けるフレームワークは、Koa、 Hapi、Fastify、Restifyです。

    この変更によって、孤立したルートが発生する可能性がありますが、手動で削除するかルートの有効期限機能を使用して削除してください。セッションメタデータやセッションIDを使用している場合、この変更による影響はありません。Expressフレームワークを使用しているお客様は、このリリースの影響を受けません。

    • Fastifyのルートカバレッジをリファクタリングしました。(NODE-3483)

    • Koaのネストしたルータのルートカバレッジをサポートするようになりました。(NODE-3484)

    • ルートカバレッジの統合テストをリファクタリングしました。(NODE-3443)

    • ルートシグネチャを検査してリファクタリングしました。(NODE - 3444)

  • アプリケーションがAWSまたはAzure Cloudで実行されている場合、リソース識別子がログに報告されるようになりました。

    • AWSおよびAzureのリソース識別子を取得するようエージェントが設定されている場合に、リソース識別子が取得されるようになりました。 (NODE-3491、NODE-3492)

    • X-Contrast-Reporting-InstanceをContrastに送信される各メッセージに追加しました。(NODE-3502)

    • リソースの識別を無効にするための機能フラグを追加しました。(NODE-3513)

    • エージェントは、リソース識別子の検出のためにクラウドプロバイダを自動検出するようになりました。(NODE-3518)

修正された不具合:

  • Contrastに送信されるライブラリの使用状況のリクエストは、HTTPの負荷を軽減するためにバッチ処理されるようになりました。デフォルトのバッチサイズは、100です。 (NODE-3509)

リリース日: 2024年7月8日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • インポートバインディング名がリライタの組み込み変数名と一致する場合にエラーが発生する問題を修正しました。(NODE-3486)

リリース日: 2024年6月27日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • bson 1.1.6にて、bsonデッドゾーンのrequire-hookでエラーが発生していた問題を修正しました。(NODE-3479)

リリース日: 2024年6月21日

現在サポートしている言語バージョン:16、18、20 LTS

重要

このリリースでは、HTTP/2が正式にサポートされるようになりました。

新機能と改善点:

  • Contrast AssessでHTTP/2モジュールに対する反射型クロスサイトスクリプティング(Reflected XSS)を実装しました。

  • レスポンスを検査するルールをHTTP/2のspdyライブラリに対して実装しました。

  • Windowsのnode-require-hookを修正しました。

修正された不具合:

  • HTTP2のレスポンススキャンで、検出できない例外が発生していました。(NODE-3468)

  • リクエストがブロックされると、メトリックスモジュールが実行されずに、リクエストが設定時間を超えたことを警告するタイムアウトが発生していました。(NODE-3475)

  • リライタのキャッシュからロードされたMJSファイルが、相対パスファイルの読み込みを中断する場合がありました。(NODE-3485)

  • pgのarch-componentのインストゥルメンテーションから、イベントリスナーを減らしました。(NODE-3489)

  • 暗号解析(crypto-analysis)における、アルゴリズムのチェック時に大文字と小文が区別されていませんでした。(NODE-3495)

  • パスにスペースがあるとnpm検出に失敗していました。(NODE-3497)

リリース日: 2024年6月21日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

修正された不具合:

  • パスにスペースがあるとnpm検出に失敗していました。(NODE-3497)

リリース日: 2024年6月17日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

修正された不具合:

  • Contrastサービスと通信するためにエージェントが使用するライブラリ、@grpc/grpc-jsに関連する新しいCVEに対処しました。(NODE-3487)

リリース日: 2024年6月12日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • Contrast ProtectでHTTP/2モジュールに対する反射型クロスサイトスクリプティング(Reflected XSS)を実装しました。

  • Restify 8、9、10、11のサポートを追加しました(Contrast AssessおよびContrast Protect)。

  • モジュールインストール時のエラーは必要に応じて発生させるようにし、_errors[]に設定しないようにしました。

  • バリデーションを正しく機能させるために、必要なモジュールに検証ロジックを実装しました。

  • 更新されたCEF(共通イベント形式)ガイドの仕様に合わせて、セキュリティログのエスケープを更新しました。

  • ルート探索時のフレームワークの報告(ルートカバレッジでの互換性チェック)を実装しました。

修正された不具合:

  • URLSearchParams.toString()を修正しました。(NODE-3332)

  • ソースマップのチェーンを追加しました。(NODE-3442)

リリース日:2024年5月31日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • バージョン5でのNode.js 14のサポートを非推奨としました。

  • 既存の@contrast/common関数を、よりパフォーマンスが高い、自己文書型の関数に置き換えました。

リリース日: 2024年5月22日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • Contrastサーバで、存在しないエンドポイントを作成して脆弱性を関連付けていました。(NODE-3457)

リリース日: 2024年5月22日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • レポータのエラー時にAPIキーがマスクされていませんでした。(NODE-3458)

リリース日: 2024年5月21日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • イベント作成時にinspectを使用すると発生していた問題を修正しました。(NODE-3451)

  • 反射型クロスサイトスクリプティング(reflected-xss)の各シンクでisSafeContentTypeをチェックするようにしました。(NODE-3452)

リリース日: 2024年5月21日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • Expressのルート観測のバグを修正しました。(NODE-3453)

リリース日: 2024年5月20日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • Expressのルートカバレッジで、配列で定義されたミドルウェアが正確に処理されるようになりました。

リリース日: 2024年5月15日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • エージェントが常にContrastサーバに報告するように、有効なエージェント設定の有効化フラグを削除しました。

  • -cコマンドラインオプションを使用して設定ファイルの場所を指定しているのが検出された場合に警告を出すようにしました。CLIオプションによるエージェントの設定は、v5のエージェントでは廃止になりました。

  • Restifyのルート探索と観測を実装しました。

  • プログラムによるデッドゾーンの最初のサポートとして、制限された関数内でエージェントの組込みをオフにできるようにしました。

リリース日: 2024年5月7日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • 受信メッセージのヘッダが正しく処理されていませんでした。(NODE-3396)

  • Expressのルートカバレッジで、 app.use()router.use()で定義されたルートが検出されていませんでした。(NODE-3402)

  • TypeError: undefined is not a function at StacktraceFactory.makeFrameが発生していました。 (NODE-3420)

リリース日: 2024年5月1日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

新機能と改善点:

  • バージョン4にて、コードイベントのリスナーを登録するsetCodeEventListener()timer.unref()を追加しました。

リリース日: 2024年4月29日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • バージョン5.xエージェントにおける入力とURLの例外のサポート

  • Protect用のCLIリライタオプションの提供

修正された不具合:

  • Expressのルートがパスの配列で登録されている場合に、ルートカバレッジのエラーが発生していました。(NODE-3380)

  • バージョン5のエージェントで、アーカイブされたアプリケーションが正しく処理されていませんでした。(NODE-3384)

  • Fastifyのルートカバレッジが正しく報告されていませんでした。 (NODE-3403)

  • ログに匿名クラスのエラーが書き込まれていませんでした。 (NODE-3406)

リリース日:2024年4月17日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • リライタをCLIコマンドとして実行して、コンテナイメージの作成時にソースコードを変換できるようになりました。これにより、起動時のメモリ消費量が抑えられ、アプリケーションの起動速度を上げることができます。

リリース日:2024年4月16日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • リライタにESMローダーのフックを実装しました。

  • リライタのデッドゾーンを追加しました。

リリース日: 2024年3月29日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • string.prototype.split()のトラッキングを最適化しました。

リリース日: 2024年3月28日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

新機能と改善点:

  • Contrastサービスに関連付けられたCVE-2024-24786を解決しました(バージョン2.28.34に更新)。

リリース日: 2024年3月26日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • リライタキャッシュのバグを修正し、バージョン5.4.0を非推奨としました。(NODE-3367)

リリース日: 2024年3月25日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • バージョン5.xのエージェントで初めてアプリケーションコードのリライタキャッシュに対応しました。

リリース日:2024年3月20日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • AssessとProtectにフレームワークhapi 21のサポートを追加しました。

  • アプリケーション更新時のライブラリマニフェストの報告を停止するようにしました。

  • ESMフックをコンポーネント化し、通常の構成/インストールパターンに従うようにしました。

  • 最新のNodeバージョン用にエージェントのREADMEを更新しました。

修正された不具合:

  • ライブラリ解析で「Cannot find module 'file:/...'」エラーを修正しました。(NODE-3358)

リリース日:2024年3月6日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • JSON.parseで、キャプチャしたキー/値のインデックスが不正な場合に例外をスローしていた問題を修正しました。(NODE-3344)

リリース日:2024年3月5日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • URL解析プロパゲータでparseQueryStringフラグに対応していなかった問題を修正しました。(NODE-3340)

  • string.replaceで一部の特殊文字の置換が適切に処理されていなかった問題を修正しました。(NODE-3341)

  • エージェント起動時のドット(.)エントリポイント構文が機能しなくなった問題を修正しました。(NODE-3343)

リリース日:2024年2月16日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • depsのparent-package-jsonを置き換えました。

修正された不具合:

  • 一部の設定フィールドに関して、ログ出力時に情報がマスクされていなかった問題を修正しました。(NODE-3339)

リリース日:2024年2月13日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • NODE_OPTIONSの--loaderに対して、ロガー(logger)のcleanEnvを更新しました。

修正された不具合:

  • 全てのUIエンドポイントへのHTTP通信で、プロキシ設定を考慮するよう修正しました。(NODE-3338)

リリース日:2024年2月8日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • res.sendが呼び出された時に反射型クロスサイトスクリプティング(Reflected XSS)が報告されない問題を修正しました。 (NODE-3334)

リリース日:2024年2月6日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • runner-tapのユーザビリティを修正しました。

リリース日:2024年2月2日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • サーバ名やアプリケーション名を英語以外の言語で設定するとエラーが発生する問題を修正しました。 (NODE-3333)

リリース日:2024年2月2日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • 重複するESM初期化の負荷を最小限に抑えました。

  • Axiosクライアントを更新しました。

修正された不具合:

  • Juice Shop 16が新エージェントで動作しない問題を修正しました。(NODE-3323)

リリース日:2024年1月29日

現在サポートしている言語バージョン:16、18、20 LTS

修正された不具合:

  • 新しいエージェント(v5)のESMローダー機能の不具合を修正しました。(NODE-3320)

リリース日:2024年1月23日

現在サポートしている言語バージョン:16、18、20 LTS

新機能と改善点:

  • Contrastサービス(SpeedRacer)の削除

  • エージェントを設定するためのコマンドラインオプションの削除。Python、Ruby、Goエージェントに合わせて、YAMLと環境変数のみをサポート 。

  • Contrast AssessとContrast Protectの同時実行をサポート

  • 再起動なしでProtectルールのモードを切り替えできる機能

  • なお、モード(Assess、Protect、両方)の切り替えを有効にするには、アプリケーション/エージェントの再起動が必要

  • Contrast Protect実行時のライブラリの使用状況(ECU/ELU)に関する報告(本番環境でのライブラリの報告)

  • Contrastサーバへの有効な設定の報告

  • devDependenciesをnpmに公開しない - CVE検出の過検知の減少

  • pinoを使用した構造化ログ

  • アプリケーションを再起動せずにContrast Webアプリケーションからエージェントのログレベルを変更する機能

  • 各リクエストに対するDEBUGレベルでのログ要求待ち時間(ns)

  • 重複排除のために正規化されたURIを使用したルート観測/カバレッジ

  • SWCを使用した起動時のリライタの高速化

  • SuperTest APIテストフレームワーク(npm: supertest)のサポート

  • Frisby APIテストフレームワーク(npm: frisby)のサポート

  • String.prototype.matchAll()のプロパゲータのサポート

  • ルートを疎通しなくても観測されたルートをアプリケーションの起動時にContrast Webインターフェイスに報告

  • ESMアプリケーションに対応、以下を使用するエージェントのロード/実行をサポート:

    • node --loader @contrast/agent app.mjs (Node.js 16LTSの場合)

    • node --import @contrast/agent app.mjs (Node.js 18.9.0、20.9.0以降のLTS)

    • node --require @contrast/agent app.js (ESMを使用しない全てのバージョン)

  • 新しい--importディレクティブは、Node.js 18.9.0、20.9.0以降(LTS)で実行されている全てのアプリケーション(ESMとCJSの両方)でサポート

    • node --import @contrast/agent app.js

  • 詳細についてはnpmを参照

リリース日:2024年1月30日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

新機能と改善点:

  • Axiosを更新しました。

  • ビルド関連を微調整しました。

リリース日:2024年1月5日

現在サポートしている言語バージョン:12、14、16、18、20 LTS

新機能と改善点:

  • npmエラー時のログ記録を改善しました。

  • ファイル内のコピーライトテキストを新しい年に合わせて更新しました。

修正された不具合:

  • Expressのroute-coverageユーティリティで、stackプロパティが不足している場合に例外がスローされていた問題を修正しました。(NODE-3301)

 

リリース日:2024年4月16日

現在サポートしている言語バージョン:14、16、18、20 LTS

重要

Contrast Protectのみのエージェントは、リリース5.20.6で非推奨となりました。

新機能と改善点:

  • Kubernetesエージェントオペレータに関するパイプラインジョブを更新しました。

  • @contrast/protect-agentは非推奨となりました。

  • READMEにv4セクションを追加しました。

修正された不具合:

  • 全てのUIエンドポイントへのHTTP通信で、プロキシ設定を考慮するよう修正しました。(NODE-3338)

  • テストベンチ(NodeTestBenches)のDockerfileを更新しました。(NODE-3350)

関連項目

Node.jsエージェントのリリース情報のアーカイブ