メインコンテンツまでスキップ

Takumi Guard が PyPI に対応

· 約4分
Deividas Turskis
Software Engineer @ GMO Flatt Security Inc.

Takumi Guard が npm に加えて PyPI に対応しました。

pipuvpoetry を使用する Python プロジェクトで、Takumi Guard 経由でインストールをルーティングすることで、CI や開発環境に届く前に悪性パッケージをブロックできるようになりました。

概要

Takumi Guard は、パッケージマネージャーと上流レジストリの間に位置するセキュリティプロキシです。すべてのインストールリクエストをリアルタイムの脅威データベースと照合し、悪性パッケージをブロックします。

今回のリリースにより、npm ユーザーが利用していた保護機能が Python エコシステムでも利用可能になりました。

  • パッケージブロック: 悪性 PyPI パッケージをコード実行前にブロック
  • ダウンロード追跡: 認証済みユーザーのインストール履歴を記録
  • 感染可能性の通知: ダウンロードしたパッケージに後からセキュリティアドバイザリが公開された場合に通知
  • バージョン単位のブロック: 侵害されたバージョンのみをブロックし、安全なバージョンは通過

利用開始方法

pip / uv

シェルプロファイル(.bashrc.zshrc など)に以下を追加すると、pip と uv のすべてのコマンドが恒久的に Takumi Guard を経由するようになります。

export PIP_INDEX_URL=https://pypi.flatt.tech/simple/

または pip.conf(Linux/macOS では ~/.config/pip/pip.conf、Windows では %APPDATA%\pip\pip.ini)に設定してください。

[global]
index-url = https://pypi.flatt.tech/simple/

一度だけ試す場合は、--index-url を直接指定することもできます。

pip install --index-url https://pypi.flatt.tech/simple/ <package>

poetry

Takumi Guard をプライマリソースとして追加します。

poetry source add --priority=primary takumi-guard https://pypi.flatt.tech/simple/

GitHub Actions

ワークフローに 1 行追加するだけで導入できます。

steps:
- uses: actions/checkout@v4
- uses: flatt-security/setup-takumi-guard-pypi@v1
- run: pip install -r requirements.txt

認証や感染可能性の通知を含む詳細なセットアップ手順は PyPI クイックスタートガイド をご覧ください。

メール登録(感染可能性の通知)

メールアドレスを登録すると、ダウンロードしたパッケージに後からセキュリティアドバイザリが公開された場合に通知が届きます。アカウント不要、無料で利用できます。

ステップ 1: メールアドレスを登録する

curl -X POST https://pypi.flatt.tech/api/v1/tokens \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "language": "ja"}'

ステップ 2: 確認メール内のリンクをクリックしてください。API キーとセットアップ手順が表示されるページに遷移します。

ステップ 3: トークンで pip を設定する

export PIP_INDEX_URL=https://token:tg_anon_xxxxxx@pypi.flatt.tech/simple/

以降のインストールが追跡され、ダウンロードしたパッケージに問題が見つかった場合に通知が届きます。

対応パッケージマネージャー

パッケージマネージャー対応状況
pip対応
uv対応
poetry対応
npm対応(既存)
pnpm対応(既存)
yarn対応(既存)