AIコーディングのセキュリティ基礎:APIキー漏洩とプロンプトインジェクションを防ぐ
最終更新: 2026-07-23・読了目安 約6分
結論として、AIコーディングエージェントを使う個人開発者が公開前に必ず押さえるべきリスクは「APIキーなど認証情報の漏洩」「機密コードの外部送信」「プロンプトインジェクション」「依存ライブラリの脆弱性混入」の4つです。この記事ではそれぞれの仕組みと具体的な対策、公開前チェックリストを紹介します。
なぜAIコーディング特有のリスクが生まれるのか
AIコーディングエージェントは、コードの中身を読んで理解したうえで編集・実行するために、ファイルの内容や実行結果を丸ごとAIに渡す仕組みで動いています。これは便利さの裏返しとして、認証情報や機密コードをうっかり渡してしまう、外部から埋め込まれた指示に従ってしまうといった、従来のAI補完ツール以上に注意すべき固有のリスクを生みます。生成AIリテラシーで扱う著作権・個人情報の論点に加えて、開発現場ではこの記事で扱う4つの観点を押さえておく必要があります。
リスク1:APIキー・認証情報の漏洩
何が起きるか
エラー調査を依頼する際に環境変数ファイルの中身ごと貼り付けてしまう、設定ファイルをAIに読み込ませたまま質問するといった操作で、APIキーやアクセストークンが意図せずAIとのやり取りやチャット履歴、あるいは生成されたコード中に残ってしまうことがあります。さらにそのまま公開リポジトリにコミットしてしまうと、第三者に不正利用される実害につながります。
対策
APIキーは環境変数として管理し、コードやプロンプトに直接書き込まない・貼り付けないことが基本です。Git/GitHub入門で解説している`.gitignore`の設定で機密ファイルをリポジトリの管理対象外にし、GitHubのシークレットスキャニング機能の解説(外部サイト、新しいタブで開きます)のような仕組みで誤コミットを検知できる体制を整えておくと安心です。漏洩に気づいた場合は、該当のキーを即座に無効化し再発行することが最優先です。
リスク2:機密コード・個人情報の外部送信
業務で開発しているコードや顧客データを含むファイルをそのままAIに読み込ませると、サービスやプランの設定によっては学習データとして利用されたり、第三者に見える形で保存されたりする可能性があります。個人開発であっても、ユーザーの個人情報を扱う機能を実装する際は同様の注意が必要です。利用規約とプライバシー設定を確認し、学習利用をオフにできる場合は必ず設定すること、業務利用の場合は自社のセキュリティポリシーに従うことが基本です。用語集のデータプライバシーのページもあわせて確認してください。
リスク3:プロンプトインジェクションと依存ライブラリの脆弱性
プロンプトインジェクション
外部のWebページやドキュメント、ライブラリのREADMEなどにAIへの指示文が仕込まれていた場合、AIコーディングエージェントがそれを正規の指示と誤認して実行してしまう危険があります。OWASPが公開するLLMアプリケーション向けTop10(外部サイト、新しいタブで開きます)でも、プロンプトインジェクションは代表的なリスクのひとつとして挙げられています。AIが外部コンテンツを読み込んで作業する際は、実行結果を鵜呑みにせず必ず内容を確認する習慣が欠かせません。詳しい仕組みは用語集のプロンプトインジェクションのページで解説しています。
依存ライブラリの脆弱性混入
AIが提案したコードに含まれる外部ライブラリを深く確認せず導入すると、既知の脆弱性を持つバージョンや、実在しないパッケージ名を誤って指定してしまうことがあります。導入前にバージョンや配布元を確認し、脆弱性情報が公表されていないかをチェックする姿勢が重要です。IPA(情報処理推進機構)が毎年公開する情報セキュリティ10大脅威(外部サイト、新しいタブで開きます)でも、ソフトウエアの脆弱性を突く手口が継続的に上位で紹介されています。
公開前チェックリスト
- APIキー・トークンをコードやプロンプトに直接書いていないか(環境変数化されているか)
- `.gitignore`で機密ファイルがリポジトリの管理対象外になっているか
- AIサービスの学習利用設定を確認し、必要に応じてオフにしたか
- 外部ドキュメントやライブラリの内容をAIに読み込ませる際、出力結果を確認してから実行しているか
- 導入したライブラリのバージョンと脆弱性情報を確認したか
認証情報の管理方法をより体系的に知りたい場合は、OWASPが公開するシークレット管理のチートシート(外部サイト、新しいタブで開きます)も参考になります。AIが書いたコードそのものの品質確認はAIが書いたコードのテストとレビューで扱っています。
よくある質問
AIにAPIキーを直接貼って質問してしまいました。どうすればいいですか?
まず該当のAPIキーを速やかに無効化し、新しいキーを再発行してください。チャット履歴からの削除だけでは漏洩の可能性を消せないため、キーそのものを失効させることが最優先です。
無料のAIツールは有料版より危険ですか?
料金の有無より、入力内容が学習に利用される設定になっているかどうかが重要です。無料・有料を問わず、利用規約とプライバシー設定を確認し、機密情報を入力しない運用を徹底することが基本です。
個人開発でもセキュリティ対策は必要ですか?
必要です。個人開発でも公開した瞬間に第三者からアクセスされる対象になります。APIキーの管理やライブラリの脆弱性確認は、規模にかかわらず公開前に必ず行うべき基本動作です。