ワークショップ資料: あなたのvibe codingアプリは安全ですか?

矢印キーで移動、Fで全画面表示、Nでスピーカーノートを表示します。

あなたのvibe codingアプリは安全ですか?

AIで開発する人のための、ハンズオン形式のVibeワークショップ

vibe1 / 24

コードを書くのはAI。結果に責任を持つのはあなたです。

vibe2 / 24

誰がvibe coderに教えてあげるの…

Rate limiting · Idempotency · 行レベルセキュリティ · タイムアウト · Webhook · シークレット · Rollback · バックアップ · プロンプトインジェクション · ほか102項目

vibe3 / 24

動かぬ証拠

  • AIによるコード生成タスクの約 44% が既知の脆弱性を混入させた(Veracode、2026年)
  • データベースポリシーが1つ欠けていたために 170+ のアプリが露出(CVE-2025-48757)
  • 1 つのAIエージェントが、コードフリーズ中に稼働中の本番データベースを削除(2025年7月)
vibe4 / 24

パート1. マインドセット

20分

vibe5 / 24

AIのコードには予測可能な失敗パターンがある

  • あなたが誰かは確認するが、あなたが何を所有しているかは確認しない
  • シークレットを都合のいい場所に置いてしまう
  • 正常系だけを書き、エラーを握りつぶす
  • ループの中でクエリを実行する
  • 存在しないパッケージをでっち上げる
  • 何も実行せずに「完了しました、すべてのテストに合格しました」と言う
vibe6 / 24

5つのレンズ

  1. 攻撃者。 ユーザーが攻撃者だったら?
  2. スケール。 1,000人が同時にこれを実行したら?
  3. 障害。 呼び出し先が遅い、または落ちていたら?
  4. 変更。 これを安全にリリースし、元に戻すには?
  5. 可視性。 そもそも壊れたことにどうやって気づく?
vibe7 / 24

影響範囲(Blast radius)

  • A. 元に戻せて、外部に影響しない: 自由にリリース
  • B. ユーザーデータに触れる: アクセス制御とバックアップ
  • C. お金や本人確認に関わる: idempotency、監査、テスト
  • D. 取り消せない操作や外部への操作: 人による承認とキルスイッチ
vibe8 / 24

パート2. Ledgerlyの紹介

14個のセキュリティテストを備えた実際のアプリ仕様。10分

vibe9 / 24

セットアップ

cd vibe-starter
npm install
npm run score

期待される結果: 0 / 14 合格

vibe10 / 24

ルール

  • すべての機能はAIアシスタントを使って作る
  • diffは受け入れる前に必ずすべて読む
  • テストは決して編集しない
  • 何かを書かせる前に、失敗しているテストの内容をAIに説明させる
vibe11 / 24

パート3. 誰が何を見られるのか?

アクセス制御、インジェクション、シークレット。50分

vibe12 / 24

アクセス制御の不備はリスクの第1位

OWASP Top 10:2025、A01。アプリはあなたがログインしていることは確認しますが、その請求書があなたのものかどうかは確認しません。

試してみましょう: AIに請求書のエンドポイントを作らせます。Bobとしてログインし、請求書IDを書き換えてください。誰の請求書が見えますか?

vibe13 / 24

シークレットをブラウザに置いてはいけない

フロントエンドのバンドルに含まれるものはすべて公開情報です。開発者ツールを開いて sk_ を検索してみてください。

キーが漏洩したら、ローテーションする。 ファイルを削除しても、gitの履歴は消えません。

vibe14 / 24

ラボ: テスト01〜07に合格する

アクセス制御、SQLインジェクション、シークレット、XSS、rate limiting、パスワードハッシュ、N+1

目標スコア: 7 / 14

vibe15 / 24

休憩

15分

vibe16 / 24

パート4. うまくいかないとき

タイムアウト、webhook、競合状態。40分

vibe17 / 24

ネットワークは途中で失敗する

  • すべての外部呼び出しには タイムアウト が必要
  • リトライには idempotency が必要。さもないと顧客に二重請求が発生する
  • Webhookには 署名検証 と 重複排除 が必要
  • チェックしてから実行する処理には アトミックな更新 が必要
vibe18 / 24

パート5. 入力そのものが攻撃のとき

SSRFとプロンプトインジェクション。40分

vibe19 / 24

致命的な組み合わせ

AIエージェントは、次の3つをすべて備えたときに危険になります:

  1. 機密データへのアクセス
  2. 信頼できないコンテンツへの接触
  3. 操作を実行する、またはデータを外部に送信する手段

すべてのタスクで、このうち1つを取り除いてください。

vibe20 / 24

ラボ: テスト08〜14に合格する

目標スコア: 14 / 14

vibe21 / 24

パート6. 持ち帰る

20分

vibe22 / 24

これからの7日間

  1. 実際のアプリでシークレットスキャンを実行し、見つかったものはすべてローテーションする
  2. 行レベルセキュリティを有効にし、2つ目のアカウントでテストする
  3. すべての有料APIキーに利用上限を設定する
  4. すべての外部呼び出しにタイムアウトを追加する
  5. バックアップからのリストアを1回実施し、所要時間を計測する
vibe23 / 24

Vibeはそのままに。証拠をプラスする。

vibe.jayren.ai

vibe24 / 24

スピーカーノート