Claude Codeのセキュリティリスクと聞いても、何がどう危ないのか、ピンとこない方は多いんじゃないでしょうか。
話しているのは、ご本人の話では20年ほどプログラムを組んできて、Claude Codeのセキュリティ対策講座も開いているなかじさんです(動画の2分21秒ごろ・4分9秒ごろ)。動画「AIセキュリティを勉強しない理由。」は、YouTubeチャンネルウェブ職TV@AIセキュリティ専門の動画で、約40分あります。
この動画を見て、なかじさんの言っていることはその通りだなと思いました。ぼくも、しっかり学びたいです!
ただ、動画には難しい言葉がたくさん出てきます。サンドボックス、プロンプトインジェクション、SQLインジェクション……。なかじさんも初心者向けに話してくれているのですが、ぼくはそれよりもっと初心者向けに、出てきた言葉をひとつずつ、たとえ話もまじえてほどいていくことにしました。
文章のほかに、動く図とナレーションで説明した5分39秒の動画も作りました。目次のすぐ下に置いたので、先に動きで見たい方は、そちらからどうぞ。
Claude Codeのセキュリティリスク
ぼくの用語解説動画(5分39秒)
冒頭のなかじさんの動画とは別に、ぼくが作った動画です。SQLインジェクション、XSS、プロンプトインジェクション、「curl … | sh」の形のコマンド、サンドボックスの5つを、動く図とナレーションで説明しています(ナレーションはAIの合成音声です)。
文章でじっくり読みたい方は、このまま下へ進んでください。
Claude CodeとChatGPTの違い
Claude Code(クロード・コード)は、アメリカのAnthropic(アンソロピック)という会社が作っている、パソコンの中でファイルを読み書きしたり命令(コマンド)を出したりして作業してくれるAIです。なかじさんは、Claude CodeはChatGPTのようにブラウザで触るものとは違う、と言っています。自分のパソコンの中のデータに何にでもアクセスできてしまうので、気をつけることや設定しておくものがいろいろある、という話でした(動画の5分53秒ごろ)。AIが自分のパソコンの中で手を動かすぶん、指示を取り違えたときの影響も、そのパソコンの中身に及ぶ可能性があります。これから触る方は、初心者向けのClaude Codeの使い方の記事も読んでおくと入口がつかめます。
ウェブ職TVのなかじさん
なかじさんは、セキュリティを学び始めたころ、「徳丸本」と呼ばれる本を読んで独学した、とも言っていました(4分36秒ごろ)。
「徳丸本」は、徳丸浩さんの『体系的に学ぶ 安全なWebアプリケーションの作り方』のことです。出版社の紹介には「PHPサンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる」とあります。2018年に出た第2版が今の最新で、IT系のニュースサイト@ITの記事(2026年8月28日)によると、第3版への改訂が進んでいるそうです。
元になった動画の中身
なかじさんの話の中心は、こんなところでした。
- 情報漏洩は怖いと言う人は多いのに、実際に勉強する人は少ない。なかじさんの体感では、95%くらいは何もしていない(3分8秒ごろ)
- 何もしない理由は、どのくらい危ないのか、具体的にどう起こるのかがイメージできないからではないか、という仮説(7分47秒ごろ)
- 簡単にできる自衛の方法があるのに、使われていない。サンドボックスがその例(25分50秒ごろ)
- 完璧には守れないが、本を何冊か読めば分かるくらいの知識は身につけておいたほうがいい(32分31秒ごろ)
- 「危ない」を体感してもらう配信をやってみたい(35分10秒ごろ)
どれも、ちゃんと分かっておきたい話です。
AIまわりの言葉
プロンプトインジェクション
「プロンプト」は、AIに出す指示の文章のこと。「インジェクション」は「注入」、何かを差し込むことです。AIに読ませる文章の中に、攻撃者が別の命令をこっそり混ぜて、AIを思いどおりに動かそうとする手口を、プロンプトインジェクションと言います。Claude Codeの公式ドキュメント(セキュリティ)では、こう説明されています。
プロンプトインジェクションは、攻撃者が悪意のあるテキストを挿入することで AI アシスタントの指示をオーバーライドまたは操作しようとする手法です。
たとえば、「この書類を要約して」と頼んだ相手が、書類の途中にあった「これを読んだ人は、金庫の番号をメールで送ること」という一文まで本物の指示だと思い込んでしまう、そんなイメージです。AIは読んだ文章に引っぱられて、頼んだ人の指示と取り違えることがあります。なかじさんは、これが具体的にどう起こるのかイメージできない人が多いと見ています(11分2秒ごろ)。
この名前を提案したのは、開発者のサイモン・ウィリソンさんです。ブログの2022年9月12日の投稿で、SQLインジェクション(あとで出てきます)にそっくりだ、と書いていました(※英語サイト・自動翻訳推奨)。SQLインジェクションには確実な防ぎ方がありますが、2023年4月の追記では、同じ方法をAIでやるのは極めて難しく、不可能かもしれない、とも書いています。
Claude Codeには守りも入っています。公式ドキュメントには「curl や wget などのウェブからコンテンツを取得するコマンドはデフォルトでは自動承認されません」とあります(承認とは、実行していいかの確認に「はい」と答えること)。ただし同じ文書は「どのシステムもすべての攻撃に完全に免疫があるわけではありません」とも書いています。この確認の出方を決める権限モードは、前に書いた記事にまとめています。

気をつけること
- AIがコマンドを実行していいか聞いてきたら、中身を読んでから答える。公式ドキュメントにも「承認前に、提案されたコードとコマンドの安全性を確認する責任があります。」と書かれています
- 出どころの分からないファイルやページを、そのままAIに読ませない(公式のベストプラクティスにも載っています)
curl(ネットから中身を取る道具)
ターミナル(文字で命令を打つ画面)に curl ○○ | bash や curl ○○ | sh のような1行を貼って実行する形があります。curlは、URLを指定してネットから中身を取ってくる道具です(公式ドキュメントも「ウェブからコンテンツを取得するコマンド」と呼んでいます)。「|」は左の結果を右に渡す印で、bashやshは渡された文字を命令として実行するものです。つまり、ネットから取ってきたスクリプト(パソコンへの命令を並べたファイル)を、中身を見ないまま、その場で実行する1行です。
なかじさんは、この形を動画で取り上げていました。見た目は普通に出てくるコマンドで、違うのはURLの先に置かれているものだけ。安全なものか、悪意のある命令が仕込まれたものかは、そこで決まります(36分50秒ごろ)。自分で打たなくても、Claude Codeが何かの拍子に実行してしまうこともある、とも話していました(35分35秒ごろ)。
実はこの形は、Claude Code自身のインストールにも出てきます。公式ドキュメントの「高度なセットアップ」には、Mac・Linux・WSL(Windowsの中でLinux、つまりパソコンの基本ソフトの1つを動かす機能)向けの手順として curl -fsSL https://claude.ai/install.sh | bash と書かれています。公式の手順に書かれているものを使うのが基本で、同じ形の1行でも、URLがほかの誰かのものなら、中身は別物です。
気をつけること
- 貼る前に、URLが公式の手順に書かれているものかを確かめる。実行したらどうなるか分からない命令は、実行しない(なかじさんも、分からない人は実行してはいけない、と言っていました。36分39秒ごろ)
- Claude Codeがcurlなどの実行を聞いてきたら、URLと目的を見てから答える
MCP(AIに道具をつなぐ仕組み)
MCPは、Model Context Protocol(モデル・コンテキスト・プロトコル)の略です。AIと、外のツールやサービスをつなぐための共通の決まりごとで、パソコンにUSBでいろいろな機器をつなげるように、AIにいろいろな道具をつなげられます。公式ドキュメントは、MCPを「AI ツール統合のためのオープンソース標準」(誰でも使える共通の決まり、という意味です)と呼び、MCPサーバー(AIにつなぐ道具の側のプログラム)がClaude Codeに「ツール、データベース、API へのアクセス」を提供する、と説明しています。くわしい説明はGoogle HomeのMCPの記事にも書いています。
便利なぶん、その道具がどこまで触れるのかが大事です。なかじさんは、「便利だから使って」と言って配ったMCPに、使った人のデータが全部飛んでいく仕掛けを入れることも、できてしまうと話していました。ご本人は「騙したりはしない」と断っています(37分43秒ごろ・38分23秒ごろ)。
公式ドキュメントのセキュリティのページには、「MCP サーバーのセキュリティ監査または管理は行いません」「独自の MCP サーバーを作成するか、信頼できるプロバイダーからの MCP サーバーを使用することをお勧めします」とあります。AnthropicのMCPサーバー一覧(Anthropic Directory)には、基準に照らして確認したものを載せるものの、一覧に載っているから安全、というわけではないんですね。
気をつけること
- 入れるMCPは、公式や信頼できる提供元のものを選ぶ。「便利そう」だけで入れず、何にアクセスする道具なのかを確かめる
- MCPサーバーは、サンドボックスの外で動きます(サンドボックスの項で書きます)
APIキー(サービスの合鍵)
API(アプリケーション・プログラミング・インターフェース)は、ソフトやサービスどうしがやり取りするための窓口のことです。その窓口を使う資格を示す、長い文字列がAPIキーです。Anthropicのヘルプセンター(APIキーのベストプラクティス)には、こう書かれています。
APIキーはあなたのアカウントへのデジタルキーです。クレジットカード番号と同様に、誰かがあなたのAPIキーを取得して使用した場合、あなたの代わりに料金が発生します。
漏れる原因として多いものの1つは、うっかりです。ヘルプには、公開のコード置き場(GitHubなど)に誤って載せてしまうことや、外部のツールに入力してしまうことが挙げられています。なかじさんの見方は、APIキーをチャットに入れたら危ないと言われても、どのくらい危ないのかが分からない人が多いのではないか、というものです(8分19秒ごろ)。
気をつけること
- 人に教えない。公開の場所に書かない。コードや設定ファイルに直接書かない(ヘルプにも「コードまたは設定ファイルに直接含めないでください」とあります)
- 使った量や料金を、ときどき見る。使える上限を決める設定があるなら入れておく
- 漏れたかもしれないと思ったら、新しいキーを作って、古いキーを無効にする
パスワードやキーの扱いのように、暮らしに近い基本から押さえたい方には、入門書もあります。ハッカーかずさんの『社会人1年生の情報セキュリティ超入門』は、出版社の紹介で「専門知識がなくても大丈夫!」「難しい専門用語をできるだけ使わず、図やイラストでやさしく解説」とうたわれている1冊です(256ページ、2025年3月発売)。
守りの工夫
サンドボックス(AIの砂場)
サンドボックスは、英語で「砂場」のことです。総務省の用語集は、こう説明しています。
サンドボックスとは「砂場」を意味し、アプリケーションを保護された領域で動作させることによって、システムが不正に操作されるのを防ぐセキュリティモデルのこと。
柵で囲った砂場の中なら、穴を掘っても散らかしても、公園の外までは広がりません。それと同じで、AIが動く範囲を囲っておく仕組みです。

Claude Codeでは、公式ドキュメント(サンドボックス)によると、Claudeが実行するシェルコマンド(ターミナルで打つ命令)の周りに、OS(パソコンの基本ソフト)が適用する境界をつくり、読み書きできるファイルとつなげるネットの行き先を決めておけます。ここは、なかじさんが例に挙げていた話です。公式ドキュメントには「サンドボックスはデフォルトでオフです。」とあります。オンにするには、Claude Codeの画面で /sandbox と打ちます。なかじさんも、たいていは「no sandbox」と出ているのではないか、という見方でした(6分36秒ごろ)。
ただ、オンにすれば安心、というものでもありません。公式ドキュメントによると、サンドボックスの中のコマンドでも、読み取りは初期設定で「~/.ssh や ~/.aws/credentials などの認証情報ファイルを含む、マシンの大部分」に届きます(パソコンの中の、鍵や合言葉をしまってある場所も含まれる、ということです)。対象もシェルコマンドだけで、「Claude のファイルツール、MCP サーバー、フックはサンドボックスの外で実行されます」(ファイルツールはファイルの読み書きに使うClaude Codeの機能、フックは作業の決まったタイミングで自動で動くように登録しておく命令のことです)。なかじさんも、絶対にオンにしなければいけないわけではなく運用の仕方による、と断ったうえで、情報漏洩が気になるならオンにすればいい、という立場です(6分36秒ごろ)。
気をつけること
- Claude Codeを使っている方は、
/sandboxと打つとサンドボックスの設定画面が開きます。今どうなっているかを見られます - オンにしても、読み取りの範囲やMCPは別。これだけで全部守れる、とは思わない
- Windowsは、公式ドキュメントに「ネイティブ Windows では、Claude Code はコマンドをサンドボックス化せずに実行します。」とあり(ネイティブWindowsは、WSLを使わない、ふつうのWindowsのことです)、WSL2の中で動かす必要があります
VPS(ネットに借りるパソコン)
VPSは、Virtual Private Server(バーチャル・プライベート・サーバー)の略です。ネット上に借りる、自分専用のパソコンのようなものです。アマゾンのクラウドサービス、AWSの説明は、こうです。
仮想プライベートサーバー (VPS) は、アプリケーションやウェブサイトを実行するために必要なすべてのソフトウェアとデータをホストするマシンです。
「仮想」と呼ばれるのは、大きなサーバーの一部だけを借りて使うからです(AWSの説明)。マンションの1室を借りるのに近いイメージです。なかじさんは、自分のパソコンと切り離したところでAIを動かせばいい、と話しています。VPSでも仮想マシンでもクラウドでも、方法はいくらでもあって(25分13秒ごろ)、中に大事なものを何も入れていなければ、データが全部消えても困らない、という考え方です(26分20秒ごろ)。公式ドキュメントも、信頼できない内容を扱うときは、仮想マシン(VM。パソコンの中に作る、仮想のパソコン)でスクリプトを実行することをベストプラクティスに挙げています。ただ、VPSはネットにつながった別のパソコンなので、つなぎ方を間違えると別の危なさが出てきます。
気をつけること
- AIを動かす場所は、大事なデータや鍵を置いていない専用の環境にする(なかじさんの考え方)
- VPSはネットから届く場所にある。つなぎ方(次のSSH)と、2段階認証・IPアドレス制限もあわせて考える
SSH(遠くのパソコンを操作)
SSHは、Secure Shell(セキュア・シェル)の略です。離れた場所にあるパソコンに、ネット越しにログインして、文字の命令で操作するための仕組みで、VPSを自分のパソコンから操作するときにも使います。Microsoftのドキュメントでは、リモートのシステムを管理するためのツールとして説明されています。
ポート番号は、総務省の用語集で「IPアドレスとともに指定される補助用のアドレス」と説明されています。IPアドレスが建物の住所なら、ポート番号は部屋番号のようなものです。ふだんのWebサイト(HTTPS)は443番、SSHは22番が標準で、Microsoftのドキュメントにも、SSHの受信用に「ポート 22」を許可する、と書かれています。
なかじさんは、たとえば机の上のパソコンに、外からIPアドレスと22番ポートでSSHでつなげる状態について、自分がつなげるということは他の人もつなげてしまう、と指摘していました(29分6秒ごろ)。JPCERT/CC(セキュリティ情報を発信している団体)も、SSHへのブルートフォース攻撃(パスワードを片っ端から試す攻撃)が継続的に観測されている、と注意を出しています(2011年7月の文書です)。インターネットから遠隔ログインを許す場合は、パスワード認証ではなく公開鍵認証(パスワードの代わりに、鍵のファイルで本人確認する方法)を使い、アクセス元が特定できるならIPアドレスで制限するよう勧めています。
気をつけること
- SSHをネットに公開するなら、パスワードだけにしない(公開鍵認証)。つなぐ場所が決まっているなら、そのIPアドレスだけに絞る
- ポートを開ける理由が説明できないなら、開けない
2段階認証
2段階認証は、IDとパスワードを入力したあとに、もう一度、本人かどうかを確かめる仕組みです。玄関の鍵のほかに、もう1つ鍵がかかっているようなものです。

総務省の用語集によると、2段階認証は「利用者認証を2回に分けて行うもの。」で、「同じ要素2回よりは異なる要素2回の方がセキュリティレベルは高くなります。」とのことです。異なる要素とは、「知っているもの」(パスワード)、「持っているもの」(スマホの認証アプリに出る数字など)、「本人自身に関するもの」(指紋や顔)のことです(多要素認証の説明)。子ども向けの「情報通信白書 for Kids」にも、同じ説明があります。
なかじさんは、2段階認証やIP制限などを入れたうえで、外部の監査を受けないと安心できない、という視聴者のコメントを取り上げていました。答えは、やったほうがいいけれど、安全かどうかは別の話、というものでした(30分27秒ごろ)。2段階認証やIP制限をしている大きな会社でも情報漏洩は起きる、とも話しています(31分42秒ごろ)。
気をつけること
- 使えるサービスでは、2段階認証をオンにする。できれば、パスワードとスマホの認証アプリのように、種類の違う確認を組み合わせる
- 入れたから完璧、とは思わない。ソフトの更新やパスワードの管理も続ける
IPアドレス制限(入口の絞り込み)
IPアドレスは、ネット上でパソコンやサーバーを見分けるための番号です。総務省の用語集では、インターネット上で全世界で固有の番号を持つものを「グローバルIPアドレス」と呼んでいます。IPアドレス制限は、「このIPアドレスからのアクセスだけ通す」「このIPアドレスは断る」と、どこから来たかの番号で決めておく設定です。登録した番号からの電話にだけ出るようなものです。マイクロソフトのクラウドサービス(Azure)のドキュメントにも、アクセスを制御する「許可/拒否リスト」にIPアドレスを入れられる、と書かれています。
警察庁は、ランサムウェア対策のページで「多要素認証等の強固な認証手段の導入や、IPアドレス等によるアクセス制限と組み合わせるなどの対策も積極的に実施してください」と書いています。2段階認証もIP制限も、1つだけで終わらせず、組み合わせる前提の話です。
気をつけること
- 使う場所のIPアドレスが決まっているなら、そこだけに絞る
- これも守りの1つ。2段階認証などと組み合わせる
AIに作らせたアプリの弱点
なかじさんは、SQLインジェクションの例を見せても、自分と何の関係があるのか、となってしまう、と指摘していました(11分55秒ごろ)。AIにアプリを作らせる人にも、関係のある話です。国のIT・セキュリティの機関であるIPA(情報処理推進機構)は、運営している人やサイトの種類に関係なく、データベースを使うウェブアプリがあるサイトで起こりうる問題だと説明しています。AIが書いたコードでも、入力欄とデータベースを使うなら、同じです。
SQLインジェクション
SQL(エスキューエル)は、データベースに出す命令の言葉です。データベースは、会員名簿や商品リストのような情報をしまっておく倉庫のようなものです。インジェクションは「注入」。IPAは、こう説明しています。
データベースと連携したウェブアプリケーションの多くは、利用者からの入力情報を基にSQL文(データベースへの命令文)を組み立てています。ここで、SQL文の組み立て方法に問題がある場合、攻撃によってデータベースの不正利用をまねく可能性があります。
つまり、ログイン欄や検索欄に打った文字が、データベースへの命令の一部として扱われてしまう問題です。ログイン画面で見てみます。アプリは、入力された文字を、次のような命令文にはめ込んでいます(usersという名簿から、IDとパスワードの両方が合う人を探す、という意味です)。
SELECT * FROM users WHERE id = '(IDの入力)' AND password = '(パスワードの入力)'
| ①ログイン欄に文字を打つ (IDとパスワード) | ▶ | ②アプリが命令文に混ぜる (命令文のカッコの中へ) | ▶ | ③データベースが実行する (入力が命令の一部に) |
細工した入力のポイントは3つの記号です。' は、文字の囲みを途中で閉じてしまいます。OR '1'='1' は、または1=1という、いつも正しい条件を付け足します。-- は、そこから後ろ(パスワードの確認)を、メモ書き(コメント)扱いにして無視させます。IPAはこれを「認証回避による不正ログイン」と書いています。この例は仕組みを知るためのもので、他人のサイトで、持ち主の許可なく試してはいけません。
防ぎ方は、IPAが「根本的解決」として示しています。SQL文の組み立てを、すべてプレースホルダで行うことです。命令文の雛形の中に値の入る場所の印を置いておき、あとから入力された文字を、ただの値としてはめ込む仕組みです。申込用紙の記入欄に何を書いても、記入欄の中身として扱われるのと同じで、入力した文字が命令として働くことがありません。なかじさんがセキュリティを学び始めたのも、「ユーザーから入力された値なんて何1つ信用してはいけない」というところからでした(4分36秒ごろ)。
気をつけること
- AIにアプリを作ってもらうときは、「SQLはプレースホルダを使って書いて」と頼んでおくと、確かめやすくなります
- IPAの「安全なウェブサイトの作り方」は、ダウンロードして読めます。SQLインジェクションの項にある対策が、確認の目安になります
XSS(ページに仕込む命令)
XSSは、Cross-Site Scripting(クロスサイト・スクリプティング)の略です。スクリプトは、ブラウザの中で動くプログラム(命令)のこと。掲示板のコメント欄や検索結果の表示のように、人が入力した文字をそのままページに出している場所で、そこに書かれたスクリプトまで、ページを見た人のブラウザで動いてしまう問題です。IPAの説明は、こうです。
ウェブページへの出力処理に問題がある場合、そのウェブページにスクリプト等を埋め込まれてしまいます。
クロスサイト・スクリプティング攻撃の影響は、ウェブサイト自体に対してではなく、そのウェブサイトのページを閲覧している利用者に及びます。
たとえば、ブログのコメント欄に、ふつうの感想のかわりにスクリプトを書き込まれたとします。サイトがそれをそのままページに出してしまうと、そのコメントを読んだ人のブラウザが、書かれたスクリプトを実行します。
| ①コメント欄に書き込む (スクリプトを書く) | ▶ | ②サイトがそのまま出す (他の人の画面にも並ぶ) | ▶ | ③ブラウザが実行する (読んだ人の画面で) |
上の例は、画面にあいさつを出すだけのものです。それでも、他人のサイトのコメント欄などに書き込んで試すと、持ち主の許可なくプログラムを動かすことになり、法律に触れるおそれがあります。試すなら、自分で作った練習用の環境の中だけにしてください。IPAは、起こりうることとして、本物のサイトの上に偽のページが表示されること、ブラウザが保存しているCookie(ログイン状態などを覚えておく小さなデータ)を取られること、そこから利用者へのなりすましにつながることを挙げています。
防ぎ方も、IPAが示しています。ページに出す文字すべてに「エスケープ処理」をかけることです。「<」「>」「&」のような特別な記号を、「<」「>」「&」という、ただの文字を表す書き方に置き換えます。総務省の用語集では、エスケープ処理は「Webサーバに送信された入力データの特殊な文字列をあらかじめ別の文字列に置き換えておくこと」です。置き換えておけば、<script> が命令ではなく、ただの文字としてページに表示されます。
気をつけること
- コメント欄、検索結果、エラー表示など、人が入力した文字をページに出す場所があるかを意識する(IPAが、この問題の起きやすい機能の例として挙げています)
- AIにアプリを作ってもらうときは、「ページに出す文字はすべてエスケープして」と頼んでおく
XSSとSQLインジェクションの違い
どちらも入力欄が入口になるので、ひとまとめに語られることの多い2つです。違いは、命令が紛れ込む先です。
どちらにも共通しているのは、人が入力した文字を信用して、そのまま使ってしまうことです。プロンプトインジェクションも、サイモン・ウィリソンさんがSQLインジェクションと並べて名づけた手口でした。
記事の前のほうにも置いた、ぼくの説明動画です。SQLインジェクションは0分29秒ごろ、XSSは1分33秒ごろから出てきます。文字だけでは流れがつかみにくいときは、こちらも見てみてください。
脆弱性と脆弱性診断
脆弱性(ぜいじゃくせい)は、総務省の用語集だと「コンピュータやネットワークにおいて、サイバーセキュリティ上の問題となる可能性がある弱点のこと」です。SQLインジェクションやXSSの原因になる作りの穴も、脆弱性の例です。家でいえば、鍵のかけ忘れや、壊れた窓の鍵のようなものです。脆弱性診断は、その弱点を探して、特定することです。デジタル庁のガイドライン(2024年1月31日)は、こう書いています。
脆弱性診断はシステムにおけるセキュリティ上の弱点を特定するものであるが、診断のみでシステムのセキュリティリスクを防ぐことはできない。
IPAも、「ウェブ健康診断仕様」という簡易な診断について、「脆弱性が検出されなかった場合でも、安全宣言には繋がりません」と書いています。なかじさんは、30万〜100万円ほどの診断を受けるのは甘いか、という視聴者の質問に、開発するたびに受けるわけではないので、あまり意味はないと思う、と答えていました。変更のたびに受け続けるのならいいし、安全だとも思うけれど、現実的ではない、という話でした(27分52秒ごろ〜28分20秒ごろ)。デジタル庁のガイドラインでも、診断の対象は「新規構築または機能追加等の改修を行ったシステム」で、その時点のシステムを調べるものです。
気をつけること
- 診断を受けて問題が出なくても、「安全」とは思わない。作る段階で穴を作らないことが先(ガイドラインにも「脆弱性の発生を未然に防ぐことが肝要」とあります)
- AIで作り直したり、機能を足したりしたら、そのたびに確認が要ると考えていいと思います
情報が盗まれたあと
Claude Codeを動かしているパソコンから、APIキーやSSHの鍵、中のデータが盗まれると、その先で何が起きるのか。動画に出てきた2つの言葉で見ていきます。
ランサムウェア
ランサムウェアの「ランサム」は、身代金のことです。警察庁は、こう説明しています。
ランサムウェアとは、端末等に保存されているデータを暗号化して使用できない状態にした上で、そのデータを復号する対価(金銭又は暗号資産)を要求する不正プログラムです。
大事な書類を金庫に入れて勝手に鍵をかけ、「開けてほしければお金を払え」と言ってくるようなものです。警察庁は、データを暗号化するだけでなく、データを盗んだうえで、払わなければ公開すると要求する「二重恐喝」が被害の多くを占めている、と書いています。なかじさんも、本当に情報を持っていると見せるために、情報がダークウェブにばらまかれることがある、と話していました(29分35秒ごろ)。総務省の用語集は、身代金を払っても復旧されない可能性があるので、支払いに応じることは推奨されない、としています。
気をつけること(警察庁のページにある対策から)
- OSやソフトの更新を速やかに行い、弱点を残さない
- 「password」「12345678」のような簡単なパスワードを避け、他のサービスと使い回さない
- 怪しいメールの添付ファイルやリンクを、不用意に開かない
ダークウェブ
ダークウェブは、総務省の用語集では、専用のウェブブラウザなどを使わないと入れないウェブとされています。もともとは、言論の自由やプライバシーを守るために作られた匿名の通信ツールがあり、それを悪用した違法なサイトが増えて、サイバー犯罪の温床にもなっていると言われている、という説明です。ふつうのブラウザでは入れない、通りから奥まった場所のようなところです。
警察庁は、ランサムウェアの被害に遭った事業者の財務情報や個人情報などが、ダークウェブ上のリークサイト(盗んだ情報を公開する場所)に載せられた例が多数確認されている、としています。なかじさんも、パソコンの中から抜かれたデータは、ダークウェブのような場所で売られるのではないか、と語っていました。ご本人が「分からない」と断っているとおり、これは予想です(30分1秒ごろ)。
気をつけること
- ダークウェブそのものより、盗まれない・漏らさない基本の対策が大事。警察庁は「攻撃者が侵入する「隙」を作らないように基本的なセキュリティ対策を継続することが重要です」と書いています
AIで作る仕事と安全の学び方
ここからは手口ではなく、Claude CodeのようなAIでものを作る働き方の言葉と、安全について学ぶ方法です。AIが作ったものが安全かどうかを、誰が確かめるのか、という話でもあります。
フォワード・デプロイド・エンジニア
略してFDEです。ソフトウェアを作っている会社のエンジニアが、お客さんの会社に入り込んで、そのソフトを使えるように一緒に作り込む仕事です。「フォワード・デプロイド」は、もとは軍隊で使われる言葉で、前線に展開する、という意味です。Palantirという会社が広めた、とされています(出典:英語版Wikipedia。※英語サイト・自動翻訳推奨)。
なかじさんは、エンジニアの知識がない人(非エンジニア)がFDEをやることには、基本的に反対の立場です。AIが言うとおりにやっているだけでは、それが安全なのかも、他のシステムとの関係も分からないから、という理由です(12分29秒ごろ〜)。ご本人は、エンジニアなので「ポジショントーク」になっている面があると断っていて、人それぞれの考え方だとも話しています(14分1秒ごろ)。ぼくも、まずは言葉の意味から、ちゃんと分かるようになりたいです。
気をつけること
- AIの導入を頼む立場でも頼まれる立場でも、安全かどうかを誰がどう確かめるのかを、最初に話しておく
バイブコーディング
AIに「こんなものが作りたい」と日本語で伝えて、AIにプログラムを書いてもらう作り方です。バイブ(vibe)は雰囲気・ノリのことで、細かい中身ではなく、ざっくりした雰囲気を伝えて進める、という意味合いです。2025年2月に、AI研究者のアンドレイ・カーパシーさんが、Xの投稿でこの作り方を「vibe coding」と呼びました(※英語サイト・自動翻訳推奨)。カーパシーさん自身は、その投稿で、AIが出したコードの変更を毎回すべて受け入れることや、増えたコードを自分でも読み切れなくなることを書いたうえで、週末の使い捨てのプロジェクトなら悪くない、と言っていました。
なかじさんは、自分のシステムを自分でバイブコーディングで作るのは自由で、困るのは本人だけ、という考えです。ただ、知識がないままお客さん向けに提供するのは違う、とも(15分0秒ごろ)。
気をつけること
- 自分だけで使うものか、他の人に使ってもらうものかで、必要な慎重さが変わる(なかじさんの線引き)。他の人に使ってもらうなら、SQLインジェクションやXSSのような穴がないか、前の項に書いた対策で確かめる
セキュリティを学ぶ本
なかじさんは、本はいくらでもあるし、ITパスポートのような資格もある、勉強しようと思えばできる、と話していました(17分37秒ごろ)。
ITパスポートは、IPAが実施している国家試験です。試験案内には、対象が「職業人及びこれから職業人となる者が備えておくべき、ITに関する共通的な基礎知識」とあり、100問・120分で、CBT方式(会場のパソコンで解く方式)により随時行われています。教本の『2026年度版 みんなが欲しかった! ITパスポートの教科書&問題集』は、出版社の紹介で「ITの知識ゼロでも大丈夫!!」とされています。お金をかけずに始めるなら、IPAの「安全なウェブサイトの作り方」をダウンロードして読む方法もあります。
まとめ
Claude Codeのセキュリティリスクは、AIが自分のパソコンの中で動くこと、そのAIが読んだ文章やつないだ道具に左右されることから来ているんだな、と、ここまで読んでぼくは受け取りました。
- AIに指示を出すのは、自分だけとは限りません。実行していいかの確認には、中身を読んでから答える
- 守りの工夫は簡単なものから。サンドボックス(
/sandbox)、2段階認証、IPアドレス制限。ただし、どれも完璧ではありません - Webアプリを作るなら、入力された文字をそのまま信用しない。SQLインジェクションにはプレースホルダ、XSSにはエスケープ処理
- 学ぶ入口はたくさんあります。本、資格、IPAの資料。まずは言葉の意味から
なかじさんは、完璧に守ることはできなくても、本を何冊か読めば分かるくらいの知識は身につけておくべきだと話していました。ぼくもそう思います。言葉の意味が分かるだけでも、実行していいか聞かれたときに、落ち着いて判断できそうです。
公式ドキュメントからの引用は、2026年10月7日に見た日本語ページのものです。

コメント