PyPIはPython Package Indexで、プログラミング言語Python用のソフトウェアリポジトリです。
Pythonを利用する開発者向けに、ソフトウェアの検索・インストール、コミュニティといった機能を提供しています。
Pythonだけでなく、新しく登場したプログラミング言語の多くが高効率に開発に利用できる状況を作り出している理由に、こういった環境の存在があります。
開発者は自分の作りたい部分を書くだけで、期待する機能を実現することができます。
一方で、こういった公開されたソフトウェアリポジトリシステムには、注意が必要な部分も存在しています。
脅威アクターに悪用されてしまう可能性が考えられる点です。
とても多くのプロジェクトで利用されているソフトウェアに悪意あるコードが混入されると、その影響範囲は計り知れません。
少し思い出すだけでも、いくつもの事例が思い出されます。
いわゆるソフトウェアサプライチェーン攻撃です。
これに対抗するには どのような方法がよいのか、多くの研究者たちが挑んでいます。
そんななか、PyPIでひとつの機能がリリースされました。
Project Archivalです。
Project Archivalは次のようなものです。
- 開発者が開発が停止していることを示せる
Project Archivalを使うと、ソフトウェアの開発者は対象のソフトウェアの状態を管理することができるようになります。
プロジェクト所有者がプロジェクトをアーカイブ済みとしてマークして、ユーザーにそれ以上の更新、修正、メンテナンスが行われないことを知らせることができます。 - 開発者が開発を再開していることを示せる
開発者はアーカイブ済みのマークを解除して、開発を再開することができます。 - 開発者は公開しているプロジェクトの状態を示せる
開発が継続されていないことを示すだけにとどまらず、開発者はその意図を示すことができます。
開発が単に継続されていないことなどを示す非推奨なのか、期待する機能を実装することが完了したために至った機能実装完了の状態なのか、といった具合に、単にメンテナンスされていないことを示すだけでなく、そのプロジェクトのメンテナンスされていない事情を公開することができるようになります。
このことは、そのプロジェクトの成果を利用する立場で考えると、場合によってはメンテナンスが継続されている同等のソフトウェアを検討して乗り換えることを考える材料にすることもできることを意味します。
このProject Archivalは、今後どのように活用していくことがよいのか、これから検討が継続されていくことでしょう。
まだ完成された状態にまではたどりついていません。
しかし、こういった新たな取り組みによって利用環境の仕組みそのものを変化させていくことは、システムの安全性の向上につながることでしょう。
PyPI now supports archiving projects
https://blog.trailofbits.com/2025/01/30/pypi-now-supports-archiving-projects/
この記事をシェア |
---|