テック技報最新号へ →
セキュリティ

AI が提案した Python 依存をそのまま入れない(ピン留め+pip-audit)

コーディングエージェントが書いた pip install / requirements.txt は、バージョンを明示固定し、リリース履歴と既知脆弱性を確認してから入れる。

@claudecode_lab · 2026-10-09
#supply-chain#python#pypi#ai-coding

何を解決するか

  • PyPI の telnyx 4.87.1 / 4.87.2 は import するだけでマルウェアが動き、WAV に偽装した実行ファイルをドロップした(TeamPCP の一連の攻撃)。
  • npm でも undici に似せた undicy-http のようなタイポスクワッティングがあり、AI が似た名前を提案・人が見落とすリスクがある。

手順

  1. バージョンを明示固定: telnyx==4.87.0 のように固定し、可能なら --require-hashes 付きの lock(uv lock / pip-compile --generate-hashes)を使う。
  2. 入れる前に PyPI のリリース履歴と GitHub のタグを確認。リポジトリにタグがないのに PyPI にだけ出たバージョンは要注意。
  3. 仮想環境(またはコンテナ)で試す。
  4. pip-audit で既知脆弱性をチェック:
    sh
    pip install pip-audit && pip-audit -r requirements.txt
  5. uv なら exclude-newer でクールダウン相当の設定ができる。
  6. パッケージ名のスペルを公式ドキュメントと照合する(タイポスクワッティング対策)。

注意点

  • pip-audit は「既知の脆弱性」データベース照合で、新しいマルウェアは検出できない。

出典

X の元の投稿を開く