PyPI から取得したパッケージが開発者のマシンの情報を抜き取る
JFrog の記事によると、PyPI リポジトリから約 30,000 回ダウンロードされたパッケージに悪意のあるコードが含まれており、このパッケージをダウンロードしたマシンからクレジットカード情報やログインの資格情報等が盗まれている可能性があります。
パッケージのコードは base64 等でエンコーディングすることで難読化されています。実行するとウェブブラウザに保存されたクレジットカード情報や Discord の auth token 等の情報を収集されてしまいます。また、パッケージによっては Remote code injection (遠隔地からのコード実行) が行われます。
PyPI のようなパッケージマネージャーでは Supply chain attack が存在し Apple や Microsoft といった企業でも被害が出ていたことが話題になりました。(参考:
New type of supply-chain attack hit Apple, Microsoft and 33 other companies | Ars Technica)
自分で 1 からコーディングする必要が無くなるため、公開されたパッケージを使用することはとても便利です。また、たくさんの人が同じパッケージを利用することで、バグの洗い出し等も進み自分で実装する以上の品質が確保されている場合もあるでしょう。
そのため、リスク管理のために一律で公開パッケージ使用不可とするのは、個人的には開発が非効率なものになってしまうデメリットがあると考えます。しかし、使用にあたりこのようなリスクが存在することは理解しておくことが重要となります。
参考文献: