そもそもセキュリティとは何か
SNSなどでも「セキュリティリスクがある」「バイブコーディングはエンジニアでない人には怖い」といった話を見かけます。なぜ怖いと感じるかというと、セキュリティの本質的な部分が理解できていないからです。本講座では、その不安を払拭することを目指します。
玉ねぎモデルで理解する
セキュリティに強いとはどういうことか、玉ねぎを半分に切った断面をイメージしてください。中心には秘密情報が入っていると仮定します。秘密情報とは、たとえば次のようなものです。
- 開発で使っているAPIキー
- 秘密鍵
- 顧客の情報
- 決済の履歴
こうした情報が漏れてしまうと、ユーザーの多いサービスでは大きな問題になります。実際に、MoneyForwardではGitHubのリポジトリにあった脆弱性により、一部のソースコードや、ビジネスカードを保持している方の氏名・カード番号の下4桁などが数百件流出したという事例がありました。こうしたものを秘密情報と呼びます。
多層防御という考え方
企業はこうした秘密情報を、玉ねぎの皮のように何層もの層で守っています。外部から攻撃があっても、第1の層が突破されたら第2の層、それも突破されたら第3の層、というように防御を重ねているのです。
漏洩する可能性のあるポイントに層を作ることで、セキュリティを強固にしている、というのが本質です。ただし、理論上100%秘密情報を守れるわけではありません。4層、5層作っていても、すべて突破されてしまえば漏れてしまいます。MoneyForwardのようにセキュリティを重視している大きな会社でも、流出は起こり得ます。
それでも、セキュリティ意識を強く持ち「層をたくさん作ろう」と考えることが重要です。この知識があるかないかで、層を増やそう、壁を増やそうという意志が生まれ、AIに対してもそうした指示が出せるようになります。
進撃の巨人の壁モデル
多層防御は、進撃の巨人の壁にたとえると分かりやすいです。街の中心を、ウォール・マリア、ウォール・ローゼといった分厚い壁で何層にも守っています。ひとつ突破されても次の壁がある、という構造です。
開発者には、この壁をできるだけ多く作るという使命があります。中心にあるのは秘密情報です。最低でも2層は分厚い壁を作ったほうが、セキュリティリスクは大幅に下がるというデータもあります。
コストとのトレードオフ
層は作れば作るほどセキュリティは強固になりますが、費用対効果はだんだん下がっていきます。最もコストパフォーマンスが高いのは、分厚い壁を2〜3層作ることです。質の高いセキュリティ対策を行うことで、70〜80%は守れると言われています。
玉ねぎモデルや進撃の壁モデルを理解すると、セキュリティの本質が見えてきます。要素を分解して理解すれば、バイブコーディングにおける情報漏洩への不安も小さくなっていきます。次の動画では、Claude Codeの裏側の仕組みをおさらいし、どこにセキュリティホールや脆弱性が潜むのか、そして壁を作るためにどうすればよいのかを解説します。