NPM と PyPI で 200 の悪意のあるパッケージを識別したアナライザーが公開されました

Linux Foundation によって設立され、オープンソース ソフトウェアのセキュリティ向上を目的とした OpenSSF (Open Source Security Foundation) は、パッケージ内の悪意のあるコードの存在を分析するシステムを開発するオープン プロジェクト Package Analysis を導入しました。 プロジェクト コードは Go で記述され、Apache 2.0 ライセンスに基づいて配布されます。 提案されたツールを使用した NPM および PyPI リポジトリの予備スキャンにより、これまで検出されていなかった 200 以上の悪意のあるパッケージを特定することができました。

特定された問題のあるパッケージの大部分は、プロジェクトの内部の非公開依存関係と名前の交差を操作したり (依存性混同攻撃)、またはタイポスクワッティング手法 (人気のあるライブラリの名前に似た名前を割り当てる) を使用したり、また、実行中に外部ホストにアクセスするスクリプトを呼び出したりしています。インストールプロセス。 Package Analysis の開発者によると、特定された問題のあるパッケージのほとんどは、送信されるデータがユーザーとシステム名に限定されており、アクションが明示的に実行されるため、バグ報奨金プログラムに参加しているセキュリティ研究者によって作成された可能性が最も高いとのことです。彼らの行動を隠します。

悪意のあるアクティビティを含むパッケージには次のものが含まれます。

  • PyPI パッケージ discordcmd。raw.githubusercontent.com、Discord API、ipinfo.io への非定型リクエストの送信を記録します。 指定されたパッケージは、GitHub からバックドア コードをダウンロードし、Discord Windows クライアント ディレクトリにインストールした後、ファイル システム内で Discord トークンを検索し、攻撃者が制御する外部の Discord サーバーに送信するプロセスを開始しました。
  • colorss NPM パッケージも、Discord アカウントから外部サーバーにトークンを送信しようとしました。
  • NPM パッケージ @ Roku-web-core/ajax - インストール プロセス中に、システムに関するデータを送信し、外部接続を受け入れてコマンドを起動するハンドラー (リバース シェル) を起動します。
  • PyPI パッケージ secrevthree - 特定のモジュールをインポートするときにリバース シェルを起動します。
  • NPM パッケージ random-vouchercode-generator - ライブラリをインポートした後、外部サーバーにリクエストを送信し、コマンドと実行時刻を返します。

パッケージ分析の作業は、ネットワーク接続の確立、ファイルへのアクセス、コマンドの実行のためのソース コード内のコード パッケージを分析することになります。 さらに、パッケージの状態の変化が監視され、最初は無害なソフトウェアのリリースの XNUMX つに悪意のある挿入が追加されていないかどうかが判断されます。 リポジトリ内の新しいパッケージの外観を監視し、以前に投稿されたパッケージに変更を加えるには、NPM、PyPI、Go、RubyGems、Packagist、NuGet、および Crate リポジトリとの連携作業を統合するパッケージ フィード ツールキットが使用されます。

Package Analysis には、組み合わせて使用​​することも、個別に使用することもできる XNUMX つの基本コンポーネントが含まれています。

  • パッケージ フィードからのデータに基づいてパッケージ分析作業を開始するためのスケジューラー。
  • パッケージを直接検査し、静的分析および動的トレース技術を使用してその動作を評価するアナライザー。 テストは隔離された環境で実行されます。
  • テスト結果を BigQuery ストレージに配置するローダー。

出所: オープンネット.ru

コメントを追加します