Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Sa...

Avatar for Akira Maeda Akira Maeda
September 18, 2026

Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding

ServerlessDays Tokyo 2026 での発表資料です

Avatar for Akira Maeda

Akira Maeda

September 18, 2026

More Decks by Akira Maeda

Other Decks in Technology

Transcript

  1. 自己紹介 氏名 前田 章 所属 Cloud Native Inc. 経歴 国内、海外

    Web 系企業でTech Lead, Engineering Manager, SRE Manager を 歴任。現職では セキュリティ周辺 を担当 SRE と認証が専門になります GitHub glidenote 個人活動 Vim のプラグイン memolist.vim、 M5Stack(マイコン) で動くツールの開発 共著 サーバ/インフラエンジニア 養成読本 DevOps編 2
  2. アイドルが Vibe Coding で配信システムを作った はじめに 2026年8月の話 元 Juice=Juice の宮本佳林さん 自身の10時間の生配信を支えるプロダクトを開発

    プログラミング経験はゼロ。コードは一行も書かず、Claude Code で作った ブログ、技術イベントの動画を見るとAIの理解度が高く、エンジニアも感心する内容 アイドルがプロダクト開発をする時代に 5
  3. 第1章 誰でも、プロダクト開発に参加できるようになった Vibe Coding とは: 中身を理解しなくても、欲しいものが作れる 定義 コードの存在そのものを忘れる アンドレイ・カーパシー (OpenAI

    共同創業者・Vibe Coding の命名者。2025年2月) 意図だけを伝え、コードはAIに書かせる開発スタイル 人間の役割は「書く人」から「指示する人」へ 7
  4. 第1章 誰でも、プロダクト開発に参加できるようになった US では、AIコーディングのブームは去った 実態 WordやExcelと同じように当然使うものになった 牛尾 剛(Microsoft Azure Functions

    チーム。@IT、2026年7月) 廃れたわけではなく、定着して当然になった コーディングエージェントは、魔法ではなく文房具と同じ扱い 9
  5. 事例 2 一見、うまく動いているように見えるが 第2章 3つの実例から見えた、品質の差 動作の不具合調査で実装をみたら驚くべき事実が判明 DB は Google スプレッドシート

    Git/GitHub で管理されず、手元からデプロイ。複数人で開発できない AWS Lambda で動いていて、lambda_function.py が3000行 幸い、セキュリティ面での問題はなかった 「意図した通り動く」と「問題がない」は別物 20
  6. 第2章 3つの実例から見えた、品質の差 事例 3 なぜ、あのアイドルは作れたのか ノンエンジニアが作った 宮本佳林さんは同じノンエンジニアでも何が違ったのか 大切なことは「何を作りたいか」「どう動いてほしいか」を 具体的に言葉に できること

    宮本佳林(元 Juice=Juice。オフィシャルブログ、2026年8月1日) 企画を考え、機能を洗い出し、順番を決めて実装 シャッフルランチを作ったエンジニアと同じAIの使い方をしていた 22
  7. 第2章 3つの実例から見えた、品質の差 同じノンエンジニアでも、工程で結果が分かれた 分析 自作 勤怠管理 欲しい結果を伝える → 動いた →

    そのまま出す アイドル 何を作るか言葉にする → 機能と順番を 決める → 作らせる 成否の分かれ目は判断を自分で持ったか 24
  8. 人間が判断する上で重要なポイント 主張 第2章 3つの実例から見えた、品質の差 イーロン・マスクの「開発5つのステップ」 1 2 3 4 5

    まず前提を疑え 次に不要なステップを削除しろ 単純化して最適化せよ 上記 3ステップを繰り返し素早く回す 最後に自動化 この考え方は Vibe Coding を利用する際にも非常に重要 25
  9. 動いて見えても、中身は壊れている 認証 シークレット 外向き通信 操作の記録 第3章 そのまま出すと、何が起きるか ログインなしでも、データが読める API キーが、コードや

    .env に残っている どこへでも、データを送り出せる 誰が何を出したか、後から追えない それでも、画面の上では動く 32
  10. 社内で起きた事例: .env が公開 実態 第3章 そのまま出すと、何が起きるか ローカルでの動作確認後に手元から AWS にデプロイ 成果物一式をそのまま公開し、

    .env も URL がわかれば読める状態に .env は幸い空ファイルで、社内のクラウドセキュリティサービスが即検知 見つけたのは人ではなく、外側の仕組みだった 33
  11. 定石はどこから持ってくるか 打ち手 OWASP Top 10 徳丸本 AWS Well-Architected GitHub Actions

    第4章 ガードレールを、どう置くか 何が起きるかの一覧 なぜ危なく、なぜ対策が効くのか セキュリティの柱。クラウド側の定石 公式のセキュリティ強化ガイド 従来の手法を、着実に実行する 41
  12. 第4章 ガードレールを、どう置くか 打ち手 2 デプロイは、GitHub Actions 経由だけにする 経路を絞る 手元からのデプロイを塞ぎ、いつ・誰が・何を出したかを残す 長期キーは置かず、OIDC

    で一時的な資格情報を受け取る 人の資格情報からは、デプロイ系 API を組織の SCP で Deny する 規約ではなく、権限で塞ぐ 44
  13. 第4章 ガードレールを、どう置くか 打ち手 2 手元からのデプロイを塞ぐと、経路は1つになる 経路を絞る 手元からデプロイ 長期キーで、直接 手元の PC

    AWS 本番 検査の結果を待たずに出る。いつ・誰が・何を出したかも、残らない GitHub Actions 経由だけ 手元の PC push GitHub 検査 Actions がデプロイ OIDC で受け取る 一時的な資格情報 AWS 本番 手元から直接は、SCP で止まる(人の資格情報からのデプロイを Deny) 45
  14. 打ち手 3 認証は、プロダクトの外で済ませる 外で強制する プロダクトの中で判定 プロダクトが要求を検証する 抜け道があったらすぐ陥落 第4章 ガードレールを、どう置くか プロダクトの外で判定

    プロダクトの手前で要求を検証する 認証されない要求は、届かない 例: Auth0 や Cognito が認証し、API Gateway や ALB が要求を検証する プロダクトの責務は、認可(誰が、何をできるか)だけにする 47
  15. 第4章 ガードレールを、どう置くか 打ち手 3 認証を外に出すと、届く要求が変わる 外で強制する プロダクトの中で判定 利用者 すべての要求 プロダクト

    認証の判定 認可 処理 未認証の要求も届く。抜け道があれば、そのまま通る DB プロダクトの外で判定 利用者 すべての要求 認証 入口で検証 プロダクト 認証済みだけ 認可 処理 DB 未認証の要求は、ここで止まる 48
  16. 第4章 ガードレールを、どう置くか 打ち手 3 AWS での構成例: 特別な部品は、1つも無い 外で強制する 認証 API

    Gateway の JWT オーソライザー シークレット Secrets Manager から実行時に取る 外向き通信 操作の記録 ルートごとに、同じ1つを掛ける コードにも .env にも置かない VPC 内の Lambda。出口は許可制 AWS へは VPC エンドポイント。SaaS へは決めた経路だけ CloudTrail と AWS Config プロダクトごとではなく、アカウントに一度 4つとも、プロダクトの外で止まる 50
  17. 第4章 ガードレールを、どう置くか 打ち手 3 SCP は止め、AWS Config は見つける 外で強制する SCP

    で止める AWS Config で見つける 経路 人の資格情報からのデプロイ操作 放置された長期キー 認証 — 認証の無い API のルート シークレット — ローテーションが無い 外向き通信 NAT の作成 VPC の外の Lambda 操作の記録 CloudTrail・Config の停止 証跡の無いアカウント 51
  18. 打ち手 3 重要な記録は Slack に通知し可視化 外で強制する 第4章 ガードレールを、どう置くか 本番デプロイのたびに、いつ・誰が・何を出したか AWS

    リソースが作られるたびに、誰が何を作ったか 見に行かなくても目に入るので、異変などを検知できる ただ記録するだけでは、誰も見ない 52
  19. 外で止まらないものは、人が見る 主張 扱う情報 何を持ち、何を持たないか 認可 AがBのデータを読めないか AWS の外の設定 依存の選び方 第4章

    ガードレールを、どう置くか 持つかどうかは、人が決める コードで人が見るのは、ここだけ SaaS の API キーの権限 SCP も AWS Config も届かない 脆弱性が無くても、保守されているか Dependabot が拾うのは、脆弱性だけ この4つを見るのは、人の役目 57
  20. AIエージェントの進化が速く、 セキュリティは後回しになっている 実態 まとめ できることを、地道にやる AIエージェントはためらうことなく活用し、 現時点でできる対策もしっかり 実施すること 牛尾 剛(Microsoft

    Azure Functions チーム)『部下としてのAI』(文藝春秋、2026年) 新しい機能や効率化が優先され、対策は後回しになりがち 出てくるものの量に、対策の議論が追いついていない 対策が出るのを待たずに、いまある手で守る 59
  21. 最初は、誰でも初心者 主張 まとめ できることを、地道にやる AIの無い時代、私も Vim プラグイン memolist.vim を公開した 先人の

    mattn さん、heavenshell さんは、叩かずに助けてくれた その実績の一本槍で、今も頑張っている 専門領域が変わればノンエンジニア側 62
  22. 専業エンジニアの役目 主張 歓迎する 解決する 良くする まとめ できることを、地道にやる 作る人が増えていい 禁止は選択肢にならない 危険は外側で止める

    ガードレールは外側に 一緒に直して、次に渡す できることを地道に 禁止せずに、安全に動かし、可能性を広げていきましょう 64
  23. まとめ できることを、地道にやる 参考URL 定石 事例 OWASP Top 10 2025 https://owasp.org/Top10/2025/

    徳丸 浩『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』 SBクリエイティブ、2018 AWS Well-Architected フレームワーク セキュリティの柱 https://docs.aws.amazon.com/ja _jp/wellarchitected/latest/security-pillar/welcome.html GitHub Docs Actions のセキュリティ強化ガイド https://docs.github.com/ja/actions/refere nce/security/secure-use / テンプレートリポジトリを作成する https://docs.github.com/ja/ repositories/creating-and-managing-repositories/creating-a-template-repository 宮本佳林オフィシャルブログ「かりんの頭の中」(2026年8月1日) https://ameblo.jp/miya motokarin-official/entry-12974432505.html 同(技術編) https://ameblo.jp/miyamotokarin-official/entry-12974440752.html AWS Config のマネージドルール・SCP api-gwv2-authorization-type-configured https://docs.aws.amazon.com/config/latest/d eveloperguide/api-gwv2-authorization-type-configured.html lambda-inside-vpc https://docs.aws.amazon.com/config/latest/developerguide/lambda -inside-vpc.html secretsmanager-rotation-enabled-check https://docs.aws.amazon.com/config/latest/d eveloperguide/secretsmanager-rotation-enabled-check.html cloudtrail-enabled https://docs.aws.amazon.com/config/latest/developerguide/cloudtr ail-enabled.html access-keys-rotated https://docs.aws.amazon.com/config/latest/developerguide/access -keys-rotated.html SCP(AWS Organizations) https://docs.aws.amazon.com/organizations/latest/userguid e/orgs_manage_policies_scps.html 引用 Andrej Karpathy(2025年2月2日) https://x.com/karpathy/status/18861921848081493 83 イーロン・マスクの5ステップ https://x.com/kenn/status/2076088272099635489 牛尾 剛『部下としてのAI 世界一流エンジニアの進化術』 文藝春秋、2026 https://books.bun shun.jp/ud/book/num/9784163921143 牛尾 剛「AIコーディングブーム」が去った US(@IT、2026年7月21日) https://atmarkit.it media.co.jp/ait/articles/2607/21/news012.html GitHub Octoverse 2025(2025年10月28日) https://github.blog/news-insights/octovers e/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/ Anthropic「How Anthropic teams use Claude Code」(2025年7月24日) https://claude. com/blog/how-anthropic-teams-use-claude-code Fortune、Claude Code とコードを書かない利用者(2026年1月24日) https://www.fortu ne.com/2026/01/24/anthropic-boris-cherny-claude-code-non-coders-software-engineers Veracode「2025 GenAI Code Security Report」(2025年7月30日) https://www.veracod e.com/blog/genai-code-security-report/ NCSC「The 'vibe coding spectrum' approach」(2026年6月18日) https://www.ncsc.go v.uk/blogs/the-vibe-coding-spectrum-approach-to-ai-assisted-software-development 66