Anthropic、PSF(Python Software Foundation)に150万ドルを投資し、PyPIのセキュリティ強化で協力
(pyfound.blogspot.com)要約:
- AnthropicはPSFと2年間のパートナーシップを締結し、Pythonエコシステムのセキュリティと持続可能性のために総額150万ドルを投資。
- 主な目標はPyPI(Python Package Index)のサプライチェーンセキュリティ強化で、パッケージアップロード時の能動的な自動レビュー(automated proactive review)ツール開発に注力。
- 既知のマルウェアデータセットを構築し、機能分析(capability analysis)ベースのセキュリティツールを設計し、これを他のオープンソースエコシステムにも拡張する計画。
詳細要約:
-
投資概要と背景
AIモデルClaudeの開発元であるAnthropicは、Python Software Foundation(PSF)と2年間のパートナーシップを結び、150万ドルを寄付しました。これは、PythonがAI開発の「リングワ・フランカ(共通語)」として持つ重要性を認めたものであり、Pythonエコシステム全体のセキュリティと持続可能性を高めるために使われる予定です。 -
オープンソースセキュリティの革新: PyPIサプライチェーン防御
投資の中核は、CPythonとPyPIのセキュリティ高度化です。
- 能動的レビュー(Proactive Review)への転換: 従来の事後対応(reactive)方式から脱却し、PyPIにアップロードされるすべてのパッケージを事前に自動レビューする新しいツールを開発します。
- 技術的アプローチ: そのために既知のマルウェアデータセットを新たに構築し、「機能分析(capability analysis)」に基づく検出ツールを設計します。
- エコシステム拡張性: このプロジェクトの成果物はPythonに限定されず、他のオープンソースパッケージリポジトリ(例: npm、Cargo など)でも再利用できるよう設計され、オープンソースエコシステム全体のセキュリティ水準向上を目指します。
-
既存ロードマップとの連携
今回のセキュリティ強化作業は、Alpha-Omegaプロジェクトが支援してきたPSFの常駐セキュリティ開発者(Security Developer in Residence)Seth Larsonと、PyPIのセーフティおよびセキュリティエンジニアであるMike Fiedlerによる既存のセキュリティロードマップを基盤として拡張されます。Anthropicの資金は、彼らのロードマップを加速させるために投入されます。 -
Python中核インフラとコミュニティ支援
セキュリティ以外にも、投資金はPSFの中核運営業務を支援します。
- CPython開発を主導する「Developer in Residence」プログラム支援
- コミュニティ助成金(Grants)およびプログラム運営
- PyPIなど中核インフラの保守および運用コストの補填
4件のコメント
「機能分析(capability analysis)に基づくセキュリティツール」とは何でしょうか?
Geminiに説明してもらいました。私もセキュリティ専任ではないので、よく分かりません。
[詳細レポート: PyPIとOpenSSFが注目する次世代セキュリティ技術「Capability Analysis」]
近年、オープンソース・エコシステムを脅かすサプライチェーン攻撃が高度化する中、PyPI(Python Package Index)とOpenSSF(Open Source Security Foundation)は、従来のパターンマッチング方式を超える「Capability Analysis(機能/能力分析)」の導入を加速させています。
この技術の核心は、パッケージが「何のふりをしているか」ではなく、「実際に何ができるか」を見抜くことにあります。
従来のウイルス検査が「指名手配リスト(既知のマルウェア署名)」を照合する方式だったとすれば、Capability Analysisはパッケージの「挙動能力」を検証する方式です。
どれほど正常なユーティリティに偽装していても、システムを掌握したり情報を盗んだりするには、必ずOSの特定の資源(ネットワーク、ファイル、プロセス)を使用しなければなりません。この分析技術は、パッケージがコードを実行する際に、次のような「機微な権限(Capabilities)」を行使しているかを追跡します。
/etc/passwdなどの機微なファイルへのアクセスや変更を試みているか?eval,exec)して子プロセスを作成したりしているか?現在、OpenSSFプロジェクトおよびセキュリティ研究グループでは、この分析を実行するために次のようなツールを開発し、パイプラインに適用しています。
A. OpenSSF Package Analysis (公式プロジェクト)
- 概要: OpenSSFが主導するプロジェクトで、PyPIやNPMに公開されるパッケージを隔離されたサンドボックス環境で実際にインストールし、実行してみます。
- 動作原理: パッケージの実行時に発生するシステムコール(System Calls)をカーネルレベルで捕捉し、「このパッケージはインストール中に192.168.x.xへ接続を試みた」といった挙動データを収集します。
- 技術スタック: gVisor(サンドボックス)、Strace(システムコール追跡)などを活用します。
B. Packj (パックジェイ)
- 概要: 学術界(ジョージア工科大学など)の研究を基に開発されたツールで、パッケージの「危険な機能(Risky Capabilities)」のタグ付けに特化しています。
- 動作原理: 静的解析と動的解析を併用します。ソースコード内で機微なAPI呼び出しを検出し、パッケージのメタデータを分析して、「放置されたパッケージ」か、「タイポスクワッティング(名称なりすまし)」かなどを判定します。
- 特徴: 「このパッケージはオーディオライブラリなのに、ネットワーク通信機能とアドレス帳アクセス機能を持っている」といった異常な権限の組み合わせを検知します。
C. GuardDog (ガードドッグ)
- 概要: Datadogが公開したCLIツールで、Semgrep(静的解析エンジン)を活用して悪性パターンを検出します。
- 動作原理: パッケージ内に隠された難読化コード、マイナースクリプト、実行ファイルダウンローダーなど、「悪性機能」が実装されたコードパターン(Heuristics)を識別します。
D. Falco (ファルコ) & Sysdig
- 概要: クラウドネイティブ環境向けのランタイムセキュリティツールです。
- 役割: コンテナ内部でパッケージが実行される際に発生する異常な挙動(例: 予期しないシェル接続、機微なファイルの読み取り)をリアルタイムで検知するエンジンとして活用されます。
この技術についてより深く理解するために、原典プロジェクトとブログを参照できます。
OpenSSF Package Analysis 公式ブログ (発表と原理の説明)
https://openssf.org/blog/2022/…
OpenSSF Package Analysis GitHub (ソースコードとアーキテクチャ)
https://github.com/ossf/package-analysis
Packj GitHub (ツールのダウンロードと詳細機能)
https://github.com/ossillate-inc/packj
GuardDog GitHub (DatadogのPyPI/NPM悪性パッケージ検出ツール)
https://github.com/DataDog/guarddog
PyPI Security レポート (悪性パッケージの通報および処理手順)
https://pypi.org/security/
詳しい資料と要約をありがとうございます。最初は Linux の Capabilities に似たものかと思っていたのですが、動的解析まで含む方式なのですね。
たぶん、パッケージを受け取ってコードを実行したり、展開したり、静的解析や動的解析などをしながら、そのコードが何をしているのかを見るのだと思います。主にマルウェアはそういう形で広がるので。