ReversingLabsはこのほど、「When byte code bites: Who checks the contents of compiled Python files?」において、PyPI (Python Package Index)リポジトリに悪意のあるパッケージがあったと伝えた。ReversingLabsは、コンパイルされたPythonコードを悪用して、セキュリティツールの検出を回避する新たな攻撃を発見したと説明している。

  • When byte code bites: Who checks the contents of compiled Python files?

    When byte code bites: Who checks the contents of compiled Python files?

2023年4月17日に「fshec2」という名前のパッケージが発見された。fshec2には"_init_.py"、"main.py"、"full.pyc"という3つのファイルしか含まれておらず、コンパイル済みのPythonファイルである"full.pyc"に悪意のあるコードが含まれていることが判明している。

このPYCファイルをリバースエンジニアリングしたところ、ユーザー名、ホスト名、ディレクトリのリストを収集する機能やスケジュールされたタスクやcronjobを使用して実行するように設定されたコマンドをリモートサーバから取得する機能が組み込まれていることがわかった。また、コマンド&コントロール(C2: Command and Control)サーバのコマンドパスで指定されているリモートサーバからコマンドをダウンロードする機能が提供されていることも確認されている。

  • Behavior indicators and networking strings extracted from the decompiled PYC file using ReversingLabs Software Supply Chain Security.

    Behavior indicators and networking strings extracted from the decompiled PYC file using ReversingLabs Software Supply Chain Security.

Pythonファイル(.pyファイル)ではなくコンパイル済みのPythonファイル(.pycファイル)に悪意のある機能を含めた攻撃は、Pythonファイルのみをスキャンするほとんどのセキュリティツールで見逃されてしまう可能性があると指摘されている。

ReversingLabsは、この種の攻撃が今後、別のサプライチェーンのリスクをもたらすことになるとも述べている。なお、特定されたこのパッケージはPyPIセキュリティチームに報告されており、同日、PyPIリポジトリから削除されたという。