AI が提案した Python 依存をそのまま入れない(ピン留め+pip-audit)
コーディングエージェントが書いた pip install / requirements.txt は、バージョンを明示固定し、リリース履歴と既知脆弱性を確認してから入れる。
何を解決するか
- PyPI の telnyx 4.87.1 / 4.87.2 は import するだけでマルウェアが動き、WAV に偽装した実行ファイルをドロップした(TeamPCP の一連の攻撃)。
- npm でも
undiciに似せたundicy-httpのようなタイポスクワッティングがあり、AI が似た名前を提案・人が見落とすリスクがある。
手順
- バージョンを明示固定:
telnyx==4.87.0のように固定し、可能なら--require-hashes付きの lock(uv lock/pip-compile --generate-hashes)を使う。 - 入れる前に PyPI のリリース履歴と GitHub のタグを確認。リポジトリにタグがないのに PyPI にだけ出たバージョンは要注意。
- 仮想環境(またはコンテナ)で試す。
pip-auditで既知脆弱性をチェック:shpip install pip-audit && pip-audit -r requirements.txt- uv なら
exclude-newerでクールダウン相当の設定ができる。 - パッケージ名のスペルを公式ドキュメントと照合する(タイポスクワッティング対策)。
注意点
- pip-audit は「既知の脆弱性」データベース照合で、新しいマルウェアは検出できない。
出典
- @claudecode_lab · 2026-03-27
- @MalwareBibleJP · 2026-04-01 (undicy-http)