インストールしただけでウイルスに感染する事件が、2026年に実際に起きています。
月74万回ダウンロードされていた正規パッケージがマルウェアに汚染されました。
この記事では、私がClaude CodeでPCのセキュリティ対策を全部やってみた結果を共有します。
非エンジニアでも、Claude Codeに聞くだけで環境チェック・安全確認・漏洩防止・環境分離まで30分で全部できました。
もし脆弱性が見つかった場合の対処手順も、Claude Codeと一緒にやる流れで載せておきます。
この記事はAIに「これ入れて」と言われるままインストールしてきた非エンジニア向け(ターミナル=黒い画面の操作経験ゼロでも読めます)。
この記事で得られること
・PCに入っているアプリ(パッケージ)が安全かチェックする方法
・新しいアプリを入れる前に安全性を確認する方法
・もし危険なアプリが見つかった場合の具体的な対処法
・APIキー(外部サービスの合い鍵)やパスワードの漏洩を防ぐ設定
・プロジェクトごとに環境を分離する方法
・Claude Codeにそのまま貼れるプロンプト集
こういう人に読んでほしい
・AIに「これ入れて」と言われるままインストールしてきた人
・バイブコーディング(AIに丸投げで動くものを作る手法)でアプリを作っている人
・セキュリティ対策、何もやっていない人
・「私は大丈夫でしょ」と思っている人
私の使い方:バイブコーディングを始める前に、Claude Codeで環境の健康診断・パッケージ安全確認・APIキー漏洩チェック・仮想環境作成を一気に実行。
今後は新しいパッケージを入れるたびに「これ安全?」と聞いてから入れるルールにしています。
正直、今までノーガードでした。
「インストールしただけで感染」って本当に起きてるの?
2026年、実際に起きています。しかも1件や2件じゃないです。
一番衝撃的だったのがtelnyx事件。
Pythonの正規パッケージ「telnyx」が乗っ取られて、マルウェア入りのバージョンが配布されました。
月74万回ダウンロードされていた正規アプリです。
何が怖いって、インストールした瞬間にマルウェアが動くこと。
アプリを起動しなくても、入れただけでバックグラウンドで情報を盗み出します。
これ普通にやばい。
これだけじゃないです。
| 事件 | 何が起きたか | 規模 |
|---|---|---|
| telnyx(Python) | 正規パッケージがマルウェアに汚染 | 月74万DL |
| axios(JavaScript) | 週1億DLのライブラリが乗っ取り | 週1億DL |
| LiteLLM(Python) | AI管理ツールにSSH鍵・暗号資産の窃取コード | AI開発者直撃 |
全部2026年の出来事です。
「私はエンジニアじゃないから関係ない」と思うかもしれない。
でも逆です。
バイブコーディングでAIに言われるままインストールしている人が、一番狙われやすい。
エンジニアはバージョン管理や依存関係の確認が習慣になってますが、AIでコーディングを始めた人にはその習慣がないからです。
私もそうでした。
だからClaude Codeを使って、全部チェックすることにしました。
Claude Codeで環境の安全チェックはどうやるの?
最初にやったのは、PCに入っているパッケージ(小さなアプリ部品)の安全性チェック。
「pip-audit(Python公式の脆弱性スキャンツール)」を使います。
ただし、ここで大事なポイント。
スキャンツール自体が安全じゃなかったら意味がない。
これ、忘れがちです。
だからまず、Claude Codeにこう聞きました。
STEP 1:ツール自体の出自チェック(操作・期待結果・詰まりどころ)
操作:上のプロンプトをClaude Codeに貼って送るだけ。
期待結果:Claude Codeが以下を自動で確認して、結論「安全です」または「怪しいです」を返してきます。
・誰が作っているか → PyPA(Python公式のパッケージ管理団体)
・メンテナー → Google open-source security team と 米国のセキュリティ企業Trail of Bits の共同開発(公式GitHub README記載)
・GitHubのスター数 → 十分な数がある
・最終更新日 → 2025年12月(放置されていない)
・不審な急更新がないか → なし
詰まりどころ:Claude Codeが「Web検索で確認します」と言ってきたら許可してください。
許可しないとPyPI(Pythonの公式パッケージ倉庫)の最新情報が取れません。
STEP 2:スキャン実行
「安全です」と判断が出たので、pip-auditをインストールしてスキャンを実行しました。
Claude Codeに「pip-auditを入れて、今の環境の脆弱性チェックを実行して」と頼むだけ。
期待結果:30秒〜1分で結果が出ます。
脆弱性が0件なら何も表示されない、もしくは「No known vulnerabilities found」と返ってきます。
そもそもパッケージをほとんどインストールしていなかったから当然と言えば当然。でも「問題なし」という確認が取れたことが大事です。
正直、私はパッケージをほとんど入れてなかったので0件でした。
でもこれからバイブコーディングでいろいろ入れていく前に、この「まっさらな状態で安全」という確認を取っておきたかった。
基準点ができたことで、今後何か入れて問題が起きたときにすぐ気づけます。
もし脆弱性が見つかったらどうすればいい?
私は0件でしたが、見つかる人もいると思います。
そのときに慌てないように、Claude Codeと一緒に対処する手順を整理しておきます。
ステップ1:何が見つかったか確認する
pip-auditを実行すると、こういう結果が出ることがあります。
Name Version ID Fix Versions ---------- ------- -------------- ------------ requests 2.28.0 PYSEC-2023-XXX 2.31.0 urllib3 1.26.5 PYSEC-2023-XXX 1.26.18 setuptools 65.5.0 PYSEC-2024-XXX 70.0.0
これを見ても「何のことかわからない」のが普通。
だからClaude Codeに聞きます。
ステップ2:Claude Codeが説明してくれる
Claude Codeはこういうふうに教えてくれます。
urllib3 1.26.5:特定の条件でサーバーとの通信が漏洩する脆弱性。→ 1.26.18で修正済み
setuptools 65.5.0:悪意あるパッケージ名で誤ったコードが実行される脆弱性。→ 70.0.0で修正済み
3件ともアップデートで解決できます。実行しますか?
ステップ3:アップデートして再チェック
「お願い」と言えば、Claude Codeが全部やってくれます。
pip install --upgrade requests==2.31.0 urllib3==1.26.18 setuptools==70.0.0
期待結果:アップデートが完了すると「Successfully installed」と表示されます。
その後もう一度pip-auditを実行して0件を確認すれば完了。
詰まりどころ:たまに依存関係の競合で「他のパッケージが古いバージョンを要求してる」と言われます。
その場合もClaude Codeに「どうすればいい?」と聞けば、安全な順番で更新する手順を出してくれます。
ポイントは「一人で悩まなくていい」ということ。
脆弱性が出ても、Claude Codeに「これ何?どうすればいい?」と聞けば、説明から対処まで全部やってくれます。
非エンジニアにとっての最大の武器は「聞ける相手がいること」だと、私は思います。
新しいアプリを入れる前に何を確認すべき?
環境チェックの次にやったのは、今後インストールするときの安全確認ルールを作ること。
やることは簡単。
新しいパッケージを入れる前にClaude Codeに聞くだけです。
Claude Codeが自動でチェックしてくれる項目はこれです。
| チェック項目 | なぜ重要か | 危険サイン |
|---|---|---|
| メンテナー情報 | 誰が管理しているかで信頼度が変わる | 個人1名だけ/アカウント作成直後 |
| GitHubスター数 | 多くの人が使っている=監視の目が多い | 極端に少ない(100未満) |
| 最終更新日 | 放置されたアプリは脆弱性が放置される | 2年以上更新なし |
| 直近のリリース | 数時間前のリリースは汚染の可能性 | 数時間〜数日前の急なリリース |
telnyx事件では、汚染されたバージョンは公開からたった6時間で発見・隔離されました。
つまり「最新版をすぐ入れない」だけで防げた話です。
バージョン固定のすすめ
もう一つ大事なのが、バージョンを固定すること。
| やり方 | コマンド | 安全度 |
|---|---|---|
| 最新版を自動取得(危険) | pip install telnyx | 低い |
| バージョンを指定(安全) | pip install telnyx==4.87.0 | 高い |
Claude Codeに「requirements.txt(インストールするパッケージとバージョンを記録するファイル)に今のバージョンを全部記録して」と頼めば、一発でバージョン固定リストが作れます。
APIキーやパスワードの漏洩はどう防ぐ?
次にやったのが、秘密情報の保護です。
まず「APIキー」「.env」って何?という人向けに説明します。
APIキーは、外部サービスを使うための「合い鍵」のようなもの。
OpenAIやAWSなどのサービスを使うときに発行されます。
これが漏れると、他人があなたのアカウントで好き放題使える。
数十万円の請求が来た事例もあります。
.envファイルは、そのAPIキーやパスワードをまとめて保存しておくテキストファイル。
このファイルをGitHub(コードを保管・公開できる場所)にうっかりアップロードすると、世界中から丸見えになります。
対策はシンプル。
.gitignoreファイル(GitHubに上げないファイルのリスト)に「.envは上げるな」と書いておくだけです。
1分で終わりました。
でもこの1分で、数十万円の事故を防げる可能性があります。
やらない理由がないです。
プロジェクトごとに環境を分けるべき?
最後にやったのが、プロジェクト環境の分離です。
これはイメージで説明します。
普通にアプリをインストールすると、全部同じ部屋に放り込まれる。
もし1つのアプリがウイルスだったら、同じ部屋にある他のアプリも全部巻き込まれます。
「仮想環境(プロジェクト専用の隔離スペース)」を作ると、プロジェクトごとに部屋が分かれる。
マンションの防火壁みたいなもの。
隣の部屋で火事が起きても、私の部屋には燃え移りません。
全部同じ部屋
1つ汚染 → 全滅
それぞれ別の部屋
1つ汚染 → 他は無事
正直、仮想環境を毎回作るのは面倒だと最初は思ってました。
でも1回汚染されたら全プロジェクトが死ぬリスクを考えると、保険として絶対やっておくべき。
Claude Codeに頼めば10秒で終わるので、やらない理由がないです。
Claude Codeにそのまま使えるプロンプト集
最後に、実際に使えるプロンプトを場面別にまとめておきます。
コピペしてClaude Codeに貼るだけです。
初回の環境チェック
| 場面 | プロンプト |
|---|---|
| スキャンツールの安全確認 | pip-auditっていうツールを使いたい。まずこのツール自体が安全か確認して。PyPIのメンテナー、GitHubスター数、最終更新日、不審なリリースがないか調べて |
| 脆弱性スキャン実行 | pip-auditをインストールして、今の環境の脆弱性チェックを実行して |
| バージョン固定リスト作成 | 今インストールされているパッケージを全部バージョン固定でrequirements.txtに出力して |
新パッケージの導入前
| 場面 | プロンプト |
|---|---|
| 安全性チェック | ○○っていうパッケージを入れたい。安全か確認して。メンテナー、GitHubスター数、最終更新日、直近の不審なリリースがないか調べて |
| 安全なバージョン指定 | ○○の安定版で、リリースから1週間以上経っているバージョンを教えて。それを指定してインストールして |
脆弱性が見つかったとき
| 場面 | プロンプト |
|---|---|
| 内容の確認 | pip-auditで脆弱性が出た。それぞれ何が危ないのか初心者にわかるように説明して |
| 一括アップデート | 見つかった脆弱性を全部安全なバージョンにアップデートして。終わったらもう一度pip-auditで確認して |
秘密情報の保護
| 場面 | プロンプト |
|---|---|
| 漏洩チェック | .gitignoreに.envが含まれてるか確認して。なかったら追加して。あとコードにAPIキーやパスワードが直書きされてないかチェックして |
| 環境分離 | このプロジェクト用にPythonの仮想環境を.venvで作って。.gitignoreに.venvも追加して |
定期メンテナンス
| 場面 | プロンプト |
|---|---|
| 定期チェック | 前回から新しくインストールしたパッケージがないか確認して。あったら安全性を検証して |
| バージョン整合性 | requirements.txtに書いてあるバージョンと、実際にインストールされてるバージョンが一致してるか確認して |
バイブコーディング時代に「確認する習慣」が最強の防御である理由
ここまで5つの対策を全部やってみて思ったことを書きます。
セキュリティ対策に特別な技術は要らない。「確認する習慣」があるかどうかだけ。
Veracode(米国のソフトウェアセキュリティ企業)の2025年GenAI Code Security Reportによると、AIが生成したコードの45%にセキュリティ問題があるそうです。
100以上のLLMで80のコーディングタスクを検証した結果。
でも、これはAIが悪いんじゃないと思ってます。
確認しないまま使う側の問題です。
pip-auditの安全性をClaude Codeに確認させるという発想が、私にはなかった。
「ツールを入れる前にツール自体を疑う」。
これがセキュリティの基本だと気づけたのが、今回の一番の収穫です。
非エンジニアにとって一番の防御は「聞ける相手がいること」。
わからなくても、Claude Codeに「これ安全?」と聞けばいい。
それだけで、やられる側からやられない側に移れます。
全部で30分もかかりませんでした。まだやってないなら、今日やりましょう。
よくある質問
このページに出てきた言葉
- パッケージ
- プログラムを動かすために他人が作って公開している小さなアプリ部品。Pythonでは「pip install」で入れる。
- pip-audit
- PyPA(Python公式団体)が公開している脆弱性スキャンツール。入っているパッケージに既知の問題がないかチェックしてくれる。
- PyPI
- Pythonの公式パッケージ倉庫。「Python Package Index」の略。世界中の開発者がここにパッケージを公開している。
- 脆弱性
- プログラムにあるセキュリティ上の弱点。放置すると情報漏洩や乗っ取りに使われる。
- マルウェア
- 悪意あるソフト。ウイルス・スパイウェア・ランサムウェア等の総称。
- サプライチェーン攻撃
- 正規の配布経路(公式パッケージ等)を乗っ取ってマルウェアを広範囲にばら撒く攻撃手法。telnyx事件はこれ。
- バイブコーディング
- AIに「こんな感じで作って」と丸投げで動くものを作る手法。コードの中身を理解しなくても動く反面、セキュリティ確認が抜けがち。
- APIキー
- 外部サービス(OpenAI、AWS等)を使うための合い鍵。漏れると他人に勝手に使われ高額請求が来る。
- .env
- APIキーやパスワードを保存するテキストファイル。GitHubに上げてはいけない。
- .gitignore
- GitHubに上げないファイルのリスト。これに「.env」と書いておけば誤公開を防げる。
- 仮想環境
- プロジェクト専用の隔離スペース。1つのプロジェクトで何かあっても他に被害が広がらない仕組み。
- requirements.txt
- そのプロジェクトで使うパッケージとバージョンを記録するテキストファイル。バージョン固定の基本。
参考情報
・pip-audit(PyPA公式GitHub) — Python公式の脆弱性スキャンツール
・Veracode 2025 GenAI Code Security Report — AI生成コードの45%にセキュリティ問題
・Claude Code公式ドキュメント(Anthropic) — 利用方法・対応OS
※この記事の内容は執筆時点のものです。AIは進化が速い分野のため、最新の仕様は公式サイトでご確認ください。