---
title: セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
tags:  #security #seccamp  
author: [らまっこ](https://docswell.com/user/llamakko)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ5MXMLMJ4.jpg?width=480
description: セキュリティ・キャンプ2026全国大会 専門B【プロダクトセキュリティクラス】 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』 https://www.ipa.go.jp/jinzai/security-camp/zenkoku_program.html#classb  担当講師 飯沼 翼  生成AIの普及により、プロダクト開発の速度は飛躍的に向上しました。一方で、速度の向上はセキュリティリスクの増大と表裏一体です。AIはコードを生成し、脆弱性を検出し、修正案を提示しますが、その結果に責任を持つのは人間です。技術の文脈を読み解き、最終判断を担えるエンジニアの存在が、今まさに現場で問われています。  本講義では、設計・実装・ランタイムの各フェーズで脆弱性がどのように生まれるかを、実際のコードを題材に学びます。AIツールを使った脆弱性の発見・修正を体験しながら、AIの出力を自分で評価し判断するプロセスにも取り組みます。また、既存プロダクトのハードニングを通じてバグバウンティ的な視点を養い、クラウドにデプロイされるインフラのコードに潜むリスクや、組織としてセキュリティを仕組みとして維持する考え方にも触れます。  こうした学びの先に身につけてほしいのは、技術を判断に変える力です。AIがコードレビューの結果を出したとき、コードの背景や設計の意図を踏まえた上で、それを鵜呑みにせず自ら判断できる。新しい機能をリリースする前には、セキュリティ上の課題を発見し周囲を巻き込んで解決できる。このようにコンテキストを把握した上でリスクの本質を見極め、開発者や管理者に的確に伝えられる力を身につけることで、自分のチームや組織のセキュリティを牽引できる存在になることを期待しています。  ※会場で使用したスライドの一部は、公開用に編集しています。
published: September 03, 26
canonical: https://docswell.com/s/llamakko/K1QMME-seccamp-2026-zenkoku-b4
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJ5MXMLMJ4.jpg)

セキュアコーディングとAI共生
バグバウンティ、脆弱性管理
セキュリティ・キャンプ2026全国大会 専門コースB
株式会社日本経済新聞社
飯沼 翼
2026年8月12日
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9E29X9LR7R.jpg)

⾃⼰紹介
経歴
学⽣時代
飯沼
翼
Tsubasa Iinuma
⽇本経済新聞社 CDIO室
セキュリティエンジニア
⼤分県に⽣まれる
IT分野を幅広く経験
・個⼈開発でWindowsアプリやWebサービスをリリース
・ITベンチャーでアルバイト
・⾃宅サーバ構築・運⽤、勉強会登壇など
セキュリティ・キャンプ全国⼤会2014 修了
趣味でバグバウンティ活動に打ち込む
社会⼈時代
2025年
・ブラウザ、法⼈向け製品、OSSなどの脆弱性を報告
セキュリティベンダーに就職
・脆弱性診断、インフラ構築、システム開発など
現職に⾄る
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/D7Y484Q5EM.jpg)

この講義で扱うこと／扱わないこと
扱うこと
AIの出力を自分で評価し、判断するプロセス
開発体制（規模、内製か委託か）で変わる、守るための仕組み
扱わないこと
脆弱性の原理と対策の詳細
調べればすぐ分かるので、判定に必要な範囲だけ第1章で扱う
攻撃手法・脆弱性の発見手法
今回はAIが脆弱性を発見した前提で進める
AI自体への攻撃
B3『LLMアプリからAIエージェントまで』で扱う範囲
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/VENYQYK4J8.jpg)

この講義のゴール
講義終了までに、次のことができるようになることを目指します。
1. AIの指摘1件を、設計意図を踏まえてTP / FP / 保留に判定できる
2. 1つの脆弱性が「設計 / 実装 / ランタイム」のどの層の問題かを切り分けられる
3. AIにコンテキストを渡して修正させ、その結果を通してよいか判断できる
4. 受け取る側が動ける形で脆弱性を報告できる
5. AIに任せる範囲を何を根拠に決めるか説明できる
TP（True Positive）＝正しい指摘 FP（False Positive）＝誤検知
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/Y79PDPV4E3.jpg)

本日の流れ
時刻
14:00
14:15
15:00
15:50
16:00
16:40
17:25
17:45
内容
オープニング
第1章 なぜAI時代にセキュアコーディングを学ぶのか
第2章 AIの指摘を判定する
休憩
第3章 AIの修正を評価する
第4章 発見から修正までの脆弱性管理
第5章 Webアプリ以外の観点
クロージング
形式
座学
座学
座学＋演習①
—
座学＋演習②
座学＋演習③
座学＋ミニ演習
座学
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/G78D3DPV7D.jpg)

仮想企業「株式会社PayLoad」のおさらい
専門コースB全体で使う仮想企業
法人向け経費精算・決済プラットフォーム「FlowPay」を運営
創業5年目、急成長。先日、無敗銀行グループと資本業務提携
今日の題材：経費精算まわりのAPI（Python/FastAPIで実装）
※ AI機能「FlowBot」導入時にPythonチームが整備した部分
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L7LMVM1RJR.jpg)

第1章
なぜAI時代にセキュアコーディングを学ぶのか
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EMYGYWPEW.jpg)

セキュアコーディングとは
定義
脆弱性を作り込まないことを目的として、
設計・実装の段階で安全な書き方を選択する開発の進め方
見つけてから直すのではなく、はじめから作り込まない
「動くこと」に加えて「安全であること」を、書く時点で満たす
この定義は、書き手が人間であることを前提にしている
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PER9Z9YYJ9.jpg)

セキュアコーディングの歴史
時期
1975年
1988年
出来事
Saltzer &amp; Schroeder の設計8原
則が提唱される
Morris ワームが広がる
2001年 OWASP が設立される
2010年代 Shift Left が広まる
2020年代 AIによるコード生成が普及する
何が変わったか
安全な設計の指針が初めて体系化される
インターネット規模での脆弱性悪用の先駆け。世界初の
CSIRT CERT/CC設立のきっかけに
Web脆弱性の知見が共有され始める
セキュリティを開発プロセスの上流から担保する
コードの書き手が人間だけではなくなる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/P7XQ9QG4EX.jpg)

Saltzer &amp; Schroeder の設計8原則（1975）
時代的背景：複数のユーザーが1台のコンピュータを共有するようになった。
原則
1. 効率的なメカニズム
2. フェイルセーフなデフォルト
3. 完全な仲介
4. オープンな設計
5. 権限の分離
6. 最小限の権限
7. 共通メカニズムの最小化
8. 心理学的受容性
内容
単純で小さな設計
拒否を既定にし、必要なものだけ許可
すべてのアクセスに必ず関与する
安全性を設計の秘匿に依存させない
複数の条件でアクセスを許可
必要最小の権限だけで動作
共有・依存する仕組みを最小に
意識せずとも正しく使える
IPA「セキュア・プログラミング講座」第1.1版 p.8（原典：Robert C. Seacord『C/C++セキュアコーディング』8.1 より引用）
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/37K9P94P7D.jpg)

本講義で使う4つの原則
今日の演習では、次の4つの原則に照らして判定します。
原則
PayLoadの実例
フェイルセーフなデフォルト レートリミットのない決済API（何も制限しないのが既定）
（デフォルト拒否）
完全な仲介
認証が簡易的なまま稼働し続ける管理画面
最小限の権限
Owner権限で動くサービスアカウント
権限の分離
申請者が自分で承認できる経費フロー
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LJ3WXWL4J5.jpg)

信頼境界（Trust Boundary）とは
異なる信頼レベルを持つ領域の境界
データや処理がこの境界を越えるとき、受け取る側は
「そのデータや要求を本当に信頼してよいか」を検証する必要がある
未検証
利⽤者の⼊⼒
外部API
依存パッケージ
AIの⽣成物
AIの⽣成物も境界の外にある
判断の基準
この値はどこから来て、
検証済み
認証・認可・⼊⼒検証を
通過したもの
何で守られているか
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/8JDK2KN5EG.jpg)

セキュアコーディングの指針の例
資料
位置づけ
OWASP Top 10
脆弱性の分類
OWASP ASVS
検証項目のチェックリスト
OWASP Cheat Sheet Series
個別トピックの実装ガイド
CERT Secure Coding Standards
言語ごとの規約
Androidアプリのセキュア設計・セキュアコーディングガイド 実装ガイド（モバイル）
AIに適切な実装や修正を指示するためには、何を確認すべきかを知っておく必要がある
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/VEPK1K5D78.jpg)

開発ライフサイクルの中での⽴ち位置（従来）
⼈間のセキュアコーディングが集中する⼯程
計画・
要件定義
設計
実装
テスト
コードレビュー
⾃動テスト・CI
デプロイ
運⽤・保守
この開発の流れを SDLC（Software Development Life Cycle）と呼ぶ
各フェーズにセキュリティ対策を組み込んだものが SSDLC（Secure SDLC）
セキュアコーディングは実装とコードレビューに集中していた
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/27VVYVPG7Q.jpg)

開発ライフサイクルの中での⽴ち位置（AI時代）
⽣成前：制約を仕込む
計画・
要件定義
⽣成後：検証する
設計
実装
（AI）
テスト
規約・プロンプトで制約
AIが担う
レビュー・CIで検証
デプロイ
運⽤・保守
実⾏環境を統制
今⽇の演習では、このうち主に右側（⽣成後の検証）を扱います
⼈間に残るのは、⽣成前の制約と⽣成後の検証
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/5JGL9LQD7L.jpg)

AI時代に求められる開発者の役割
これまで
開発者が、安全な書き方を身につけて、自分の手でコードを書く
AI時代
コードの多くをAIが書き、レビューし、直す
人間に残るのは、その出力が安全かを判断する仕事
ボトルネックは書く速度から判断する速度へ移った
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/47QYWYKXEP.jpg)

コード⽣成でAIが苦⼿な脆弱性の種類
CWEカテゴリ別の合格率
暗号アルゴリズム（CWE-327）
SQLインジェクション（CWE-89）
クロスサイトスクリプティング（CWE-80）
ログ偽装（CWE-117）
87%
83%
15%
12%
気づくために必要な情報
構⽂パターン
構⽂パターン
データの流れ
データの流れ
合格率＝当該カテゴリの脆弱性が検出されなかった割合
構⽂的に正しいコードを書く割合：99.9% ／ セキュリティ⾯で問題のないコードを書く割合：平均56%程度
構⽂パターンで気づける脆弱性は作り込まないが…
データの流れを追わないと気づけない脆弱性はまだ作り込んでしまう
Veracode, &quot;2026 GenAI Code Security Report,&quot; 2026年7⽉
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/KE4WKWP2J1.jpg)

モデルの性能向上とセキュリティの関係
教科書的な依頼ならいまのモデルは間違えない
「セッショントークンを生成する関数を書いて」
→ 暗号論的に安全な乱数を選び、使い方の注意まで書き添えてくる
脆弱性の種類
判定に必要な情報 モデルの改善で解決するか
パターンで決まる
コードの中にある する（すでに8割超）
コンテキストで決まる コードの外にある しない
モデルが賢くなるほど、残る脆弱性はコードの外の情報が必要なものに偏っていく
Veracode, &quot;2026 GenAI Code Security Report,&quot; 2026年7月
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/L71YXY9KJG.jpg)

AIに渡っていない情報
AIが判定を誤るのは判定に必要な情報が渡っていないから
渡っていない情報 AIから見えないこと
信頼境界
この値はどこから来て、何で守られているか
設計意図
仕様として何が正しい振る舞いか
既存コードの正しさ 周囲の実装が直すべき負債かどうか
コードの外にある情報は渡さないかぎりAIからは見えない
その情報を渡せるのは人間だけ
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/G7WGNGQPE2.jpg)

脆弱性の発⾒量と対応能⼒のギャップ
検知は⾃動化されたが、直せる量は変わっていない
46% → 60%
243⽇
重⼤な脆弱性負債を抱える組織（2024年 → 2026年）
脆弱性の半分を直すのにかかる⽇数
事例 curl のバグバウンティ
2025年
AI⽣成の報告（AI slop）が急増。有効な報告が15%から5%未満に
2026年1⽉
報酬を廃⽌し、バグバウンティを終了
2026年3⽉〜
報告数は過去最多のまま、有効率は15〜16%に回復
報告を受け取る側の仕組みが追いついていなかった
Veracode「State of Software Security 2026」／ daniel.haxx.se, 2026年1⽉26⽇・4⽉22⽇
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4JZL3LW6E3.jpg)

AIが生成したコードの責任の所在
作業の実行はAIに移せるが、意思決定は移らない
責任の種類 内容
AIを使ったとき
遂行責任 作業を実行する
一部がAIへ移る
説明責任 なぜその判断をしたかを説明する 人間に残る
賠償責任 生じた損害を賠償する
多くは組織が負う
開発の中の意思決定点
何を作るか ／ 生成物を通すか ／ 世に出すか
Approveは意思決定の一種
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/YE6WXWGLEV.jpg)

脆弱性がビジネスにもたらす4つの損失
1. 金銭の損失
インシデント対応費用、システム復旧費用、損害賠償 など
2. 顧客の喪失
利用者離れ、取引先との契約終了 など
3. 事業の停止
サービス提供の中止、営業機会の損失 など
4. 従業員への影響
労働意欲の低下、通常業務の停滞 など
IPA「中小企業の情報セキュリティ対策ガイドライン」第4.0版, 2026年3月
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GE5MXMVME4.jpg)

AI時代のセキュアコーディングの定義
これまでの定義
人間が設計・実装の段階で安全な書き方を選択する開発の進め方
AI時代の定義
AIの出力を見極める判断と、安全でないコードを通さないための仕組み
判断＝出力を通してよいかを人間が決める
仕組み＝生成前の制約・生成後の検証・実行環境の統制
守るべき性質（信頼境界・入力検証・最小権限）は変わらない
変わったのは、脆弱性の混入経路と検出責任の所在
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/9729X93RJR.jpg)

脆弱性はどこで生まれるのか
脆弱性が生まれる場所は、大きく3つに分けられる
層
どこに脆弱性があるか 例
設計
仕様の段階
承認フローが自己承認を想定していない
実装
書き方
文字列連結で組み立てたSQL
ランタイム 動かし方・環境
レートリミットのない決済API
どの層の問題かで、直す場所と直す人（チーム）が変わる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/DJY484157M.jpg)

本講義で学ぶこと
ここまでを踏まえて、AIを使った開発の流れの中で人間が担う判断を順に学んでいきます。
人間が担う判断
章
AIの指摘は正しいかを判定する
第2章
AIの修正は適切かを評価する
第3章
発見した脆弱性を報告し、対応方針を決定する 第4章
同じ判断をコード以外にも適用する
第5章
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/V7NYQY24E8.jpg)

第1章のまとめ
大半の脆弱性はAIが検出できるが、コードの外の情報が必要なものは検出が難しい
責任はAIに移らず、通すと判断した人間がそのコードの説明責任を負う
本講義ではAIの出力を判断するプロセスを練習する
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/YJ9PDP1473.jpg)

第2章
AIの指摘を判定する
演習① AIレビューの指摘6件を、TP / FP / 保留に判定する
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/GJ8D3D4VJD.jpg)

題材：FlowPayのリポジトリ
専門コースB用のGitHub組織に b4-flowpay リポジトリを用意しています
経費精算まわりのAPI（Python / FastAPI）
Issue #1〜#6 にAIレビューの指摘が6件登録
ラベル ai-review で絞り込みが可能
やること
6件の指摘それぞれを、TP / FP / 保留に判定する
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/LJLMVM6RER.jpg)

判定に使う2つの基準
判定に迷ったらこの2つを確認してください
1 この値はどこから来て、何で守られているか
信頼境界を越える箇所に、認証・認可・検証はあるか
2 この指摘は、コードだけで判定できるか
それとも、設計意図の参照が必要か
2つ目の基準で使う資料はSTEP 1 のあとで配布します
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/47MYGY5P7W.jpg)

演習①の進め方
STEP 1 個人で直感判定（8分）
○ 正しい指摘（TP） × 誤検知（FP） △ 保留（判定できない）
手元にあるのはコードとIssueだけ。根拠は書かなくてよい
↓ ここで設計資料を配布
STEP 2 ペアで根拠を詰める（14分）
設計資料を踏まえて判定を突き合わせ、根拠と「どの層の問題か」を言語化する
STEP 1 から判定が変わった箇所に注目する
STEP 3 全体で答え合わせ（20分）
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/P7R9Z93YE9.jpg)

会場のみ
解説① 領収書検索API
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/PJXQ9Q447X.jpg)

会場のみ
解説② 経費一覧のソート指定
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/3JK9P9ZPJD.jpg)

会場のみ
解説③ 経費の承認API
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/LE3WXWD4E5.jpg)

会場のみ
解説④ テスト用のAPIキー
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/8EDK2KP57G.jpg)

会場のみ
解説⑤ 管理者向けAPI
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/V7PK1KNDJ8.jpg)

会場のみ
解説⑥ カード有効性確認API
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/2JVVYVKGJQ.jpg)

演習①のまとめ
今日の6件の内訳
AIの指摘は、6件中4件が正しかった
基本的な診断は、AIに任せられる
人間の仕事は2つ
1 残り2件（誤検知）を見抜くこと
2 正しい4件を、設計意図と突き合わせて確定させること
この判定が、AIに任せる範囲を決める根拠になる
ただしこれはAIの指摘の正しさの話で、AIが指摘しなかった脆弱性が何件かはこの演習では分からない
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/5EGL9L9DJL.jpg)

第3章
AIの修正を評価する
演習② AIが生成した修正パッチを通してよいか判断する
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/4JQYWYWX7P.jpg)

プロンプトの情報量と修正結果
同じ脆弱性でも、プロンプト次第で生成される修正は変わる
コンテキストなしのプロンプト
「このコードの脆弱性を直して」
→ これから見る PR #7〜#9 はすべてこのプロンプトで生成したもの
コンテキストを渡したプロンプト
コードの役割 ／ 設計上の制約 ／ 守るべき挙動 ／ 影響範囲
→ こちらは演習②のSTEP 4で各自試す
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/K74WKWK2E1.jpg)

演習②の進め方
題材 演習①のSQLインジェクション（解説①）をAIに修正させた3つのPR
STEP 1 3つのPRの差分を読む（7分）
PR #7 / #8 / #9 いずれもコンテキストなしのプロンプトで生成させた修正
STEP 2 レビューする（8分）
各PRで次の3点を確認し、Approve か Request changes を選んで理由を1行書く
脆弱性は直ったか
正常系は保たれるか
同種の脆弱性は残っていないか
※ コメント本文は &lt;!-- と --&gt; で囲んで投稿してください（他の人の画面に答えが出なくなります）
STEP 3 全体で答え合わせ（10分）
STEP 4 コンテキストを渡して修正させる（7分）
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/LJ1YXYXKEG.jpg)

修正の4つの失敗パターン
AIの修正パッチには4つの失敗パターンがある
パターン 何が起きているか
過剰
変更が必要最小限を超え、正常な入力まで弾く
不完全 塞いだのは一経路だけで、別の箇所から同じ攻撃が成立する
デグレ 以前は動いていた機能が、改修後に動かなくなる
新規混入 修正が新たな脆弱性を作り込んでいる
いずれも「脆弱性が消えたか」だけを見ていると見逃してしまう
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/GJWGNGNP72.jpg)

会場のみ
PR #7 入力チェックを追加した修正
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/4EZL3L3673.jpg)

会場のみ
PR #8 指摘箇所を直した修正
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/Y76WXWXL7V.jpg)

会場のみ
PR #9 パラメータ化した修正
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/G75MXMXM74.jpg)

会場のみ
3つのPRの判定結果
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
45


# Page. 46

![Page Image](https://bcdn.docswell.com/page/9J29X9XRER.jpg)

AIにコンテキストを渡して修正させる
渡すコンテキスト
このAPIは取引先名の部分一致検索（日本語を含む）
設計資料：マルチテナント構成でテナント境界を越えない
同じファイルに同じ形の実装がある
AIに頼むこと
1. このコンテキストを踏まえて脆弱性を修正して
2. 同じファイルに他に同種の問題が残っていないか探して
参考：講師の環境での実行例
パラメータ化しつつ % によるLIKE検索を維持
export_receipts() も同時に修正
既存テストは通る
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/DEY48485JM.jpg)

判断の総量を減らすには
AIの生成速度は人間のレビュー速度を上回り続け、判断力を磨くだけでは追いつかない
段階
判断を減らす方法
要件・設計 検証できる形で決めて書き
残す
規約をコンテキストに常駐
生成前
させる
生成後
CIで機械的に強制する
絞り込まれた判断に集中す
人間
る
具体例
認可ルールを仕様に書く ／ 信頼境界を引く ／ ASVSの該当項目を受け入れ条
件に
CLAUDE.md / AGENTS.md に「SQLはプレースホルダ必須」「秘密情報は環
境変数から」
シークレットスキャン ／ SAST（自社ルールを追加）／ SCA ／ テスト
通してよいかの最終判断 ／ テストのない挙動の確認
この仕組みをすぐ試せるように、規約とPRテンプレートの実物を配布します
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/VJNYQYQ478.jpg)

演習②のまとめ
脆弱性が消えたかどうかだけでは修正は評価できない
過剰 / 不完全 / デグレ / 新規混入 の4つの失敗パターンで見る
修正の質は、AIの能力ではなく渡したコンテキストで決まる
それでも最後に確認するのは人間なので、仕組みでその回数を減らす
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
48


# Page. 49

![Page Image](https://bcdn.docswell.com/page/YE9PDPD4J3.jpg)

第4章
発見から修正までの脆弱性管理
演習③ 脆弱性を報告し、受け取り、対応方針を決める
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/GE8D3D3VED.jpg)

伝わらない報告、伝わる報告
伝わらない報告
「添付ファイルのダウンロードに問題があります。危険なので直してください」
伝わる報告
観点
書く内容
何が
file_id の所有者を確認せずファイルを返している
どこに
attachments/router.py の download_attachment()
どれくらい 深刻度：High（要認証だがテナント境界を越える）
どうなる IDの総当たりで、他テナントの領収書PDFを取得できる
どう直す 一覧APIと同じテナント絞り込みを取得系にも通す
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
50


# Page. 51

![Page Image](https://bcdn.docswell.com/page/LELMVMVR7R.jpg)

報告のテンプレート
項目
書くこと
タイトル 何が、どこにあるか（一行で）
深刻度 CVSSや社内基準。根拠も添える
影響
悪用されると何が起きるか
再現手順 受け取る側が同じ結果に辿り着ける粒度で
修正案 直し方の提案（あれば）
再現手順は受け取る側の環境で再現できるかがすべて
自分の手元でしか動かない手順は報告として機能しない
AIに書かせるときもこのテンプレートに収めさせる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
51


# Page. 52

![Page Image](https://bcdn.docswell.com/page/4JMYGYGPJW.jpg)

報告する側と受け取る側
同じ1件でも立場によってこう違って見える
報告する側
受け取る側
件数 送ったまま返事が来ない
同じ脆弱性が何件も来る
深刻度 下げられた理由が示されない
報告者の主観で盛られている
再現性 「再現しません」で閉じられる
手順どおりにやっても再現しない
文章 丁寧に書いたのに読まれた形跡がない AI生成で長く、要点が埋もれる
期限 直ったかどうか教えてもらえない
開発スケジュールに割り込んでくる
受け取る側の仕事は、まずは報告のトリアージ
報告する側がまず知りたいのは認定されるかどうか
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
52


# Page. 53

![Page Image](https://bcdn.docswell.com/page/PJR9Z9ZY79.jpg)

深刻度の決め方
CVSSは共通の基準。ただし、そのままでは使えないことがある
CVSSが答えるのは「技術的にどれだけ危ないか」
組織が知りたいのは「うちにとってどれだけ危ないか」
同じSQLインジェクションでも
認証不要で全テナントのデータが読める → 最優先
管理者だけが触れる内部ツール
→ 順番は下がる
深刻度は、技術評価に組織のコンテキストを掛け合わせて決まる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
53


# Page. 54

![Page Image](https://bcdn.docswell.com/page/PEXQ9Q94JX.jpg)

3つの対応方針
方針
どういうときに選ぶか
いま直す
影響が大きい、あるいは修正が容易
計画して直す 次のリリースに載せる。期限を決めて追跡する
受容する
直さないと決める。理由と再評価の時期を残す
「あとで見る」は方針ではない
→ 対応方針を決めなかった脆弱性はそのまま残り続ける
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
54


# Page. 55

![Page Image](https://bcdn.docswell.com/page/3EK9P9PPED.jpg)

演習③の進め方
STEP 1 報告する（10分）
演習①で確定したTPから1件選び、Issueとして起票する
タイトル / 深刻度 / 影響 / 再現手順 / 修正案
STEP 2 受け取る（10分）
ペアの相手が書いたIssueをトリアージする
深刻度は妥当か（p.53）／追加で聞くことはあるか／対応方針はどれか（p.54）
コメントとラベルで応答する
STEP 3 直す（5分）
トリアージしたIssueの修正を、AIに作らせる（コンテキストはSTEP 2で書いたコメントをそのまま渡す）
返ってきた差分を読み、直ったか／他が壊れていないかを確認する
STEP 4 共有（5分）
報告・判断・修正の結果を1分で説明する（2〜3組にお願いする予定です）
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
55


# Page. 56

![Page Image](https://bcdn.docswell.com/page/L73WXWX475.jpg)

組織の成長フェーズごとの守り方
PayLoadの成長にあわせて、有効な守り方も変わってきた
フェーズ1 2名・直push
レビューする相手がいない → CIの自動検証で担保する
フェーズ2 オフショア委託
信頼境界が社外に伸びる → レビューと成果物の来歴管理（データ・プロビナンス）
フェーズ3 買収でマルチクラウド
担当1名では手が回らない → Terraform / OPA でガードレールを敷く
フェーズ4 150名・銀行監査
属人的レビューは破綻 → SBOMとSASTを必須化し、承認フローを整える
「詳しい人が頑張る」から「仕組みで支える」へ
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
56


# Page. 57

![Page Image](https://bcdn.docswell.com/page/87DK2K25JG.jpg)

脆弱性管理のサイクル
発⾒
AIに任せられる
トリアージ
修正
検証
再発防⽌
⼈間が担う
AIに任せられる
発⾒（スキャン） 修正（パッチ⽣成）
⼈間が担う
トリアージ（何から直すか） 検証（本当に直ったか） 再発防⽌（仕組みづくり）
セキュリティ・キャンプ2026全国⼤会 B4『セキュアコーディングとAI共⽣（バグバウンティ、脆弱性管理）』
57


# Page. 58

![Page Image](https://bcdn.docswell.com/page/VJPK1K1DE8.jpg)

修正はAIに、検証は人間に
いま STEP 3 でやったこと
修正パッチの生成はAIに任せた
「本当に直ったか」「他が壊れていないか」は自分で確認した
なぜこの分担なのか
AIの修正は、脆弱性を直しつつ別の問題を持ち込むことがある（第3章）
差分の外に同種の脆弱性が残ることがある（PR #8）
一方で検証に割ける工数には限りがあるので、できる限りテストやCIに任せる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
58


# Page. 59

![Page Image](https://bcdn.docswell.com/page/2EVVYVYGEQ.jpg)

演習③のまとめ
報告は、受け取る側が動ける粒度で書く
深刻度は、技術評価に組織のコンテキストを掛け合わせて決まる
対応方針は「いま直す・計画して直す・受容する」の3つ。必ずどれかに決めて、記録を残す
修正パッチの生成はAIに任せられるが、最終的な修正確認と影響確認は人間が行う
守るための仕組みは、組織の体制と成長フェーズで変わる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
59


# Page. 60

![Page Image](https://bcdn.docswell.com/page/57GL9LWDEL.jpg)

第5章
Webアプリ以外の観点
同じ判断の枠組みを、アプリケーションコードの外側にも広げる
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
60


# Page. 61

![Page Image](https://bcdn.docswell.com/page/4EQYWY3XJP.jpg)

アプリケーションコード以外のアタックサーフェスの例
対象
例
何がアタックサーフェスになるか
インフラの定義 Terraform、CloudFormation
公開設定、権限、ネットワーク
ビルドの定義 GitHub Actions、CI設定ファイル 外部Actionの利用、シークレットの扱い
依存パッケージ requirements.txt、package.json 誰が書いたか分からないコードが動く
AI向けの規約 CLAUDE.md、AGENTS.md
AIの振る舞いを決めるファイル
これらもすべてコードと同じくレビューの対象
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
61


# Page. 62

![Page Image](https://bcdn.docswell.com/page/KJ4WKW1271.jpg)

ミニ演習 Terraformの判定
題材 PayLoadのインフラ定義（infra/main.tf）
AIにレビューさせた結果が、Issueに登録されています
演習①と同じプロセスで判定する（10分）
TP / FP / 保留
どの層の問題か
判定の根拠は何か
使う原則も第1章と同じ
フェイルセーフなデフォルト ／ 最小限の権限
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
62


# Page. 63

![Page Image](https://bcdn.docswell.com/page/LE1YXYGK7G.jpg)

会場のみ
解説 Terraformの判定結果
演習の解説のため、公開版では内容を省略しています
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
63


# Page. 64

![Page Image](https://bcdn.docswell.com/page/GEWGNGKPJ2.jpg)

AIを使う開発で増えるレビュー観点
AIが提案した依存パッケージ
そのパッケージは実在するか。作者と公開日を確認したか
lockfileで固定しているか
AIが触れる範囲
書き込めるディレクトリを限定しているか
外部通信を許可リストで絞っているか
本番のクレデンシャルがその環境にないか
AI向けの規約ファイル（CLAUDE.md / AGENTS.md）
誰でも書き換えられる状態になっていないか
レビュー対象に含まれているか
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
64


# Page. 65

![Page Image](https://bcdn.docswell.com/page/47ZL3LZ6J3.jpg)

依存パッケージというアタックサーフェス
自分たちが書いたコードはプロダクトの一部でしかない
依存パッケージの中身を誰も読んでいない
依存の依存まで含めると数百から数千
更新しなければ既知の脆弱性が残り、更新すれば新しいコードが入る
SCA（依存関係の脆弱性検査）やSBOM（部品表）で、まず何を使っているかを把握する
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
65


# Page. 66

![Page Image](https://bcdn.docswell.com/page/YJ6WXWZLJV.jpg)

判断の枠組みは対象が変わっても同じ
Pythonのコード ／ Terraform ／ CI設定 ／ 依存パッケージ
対象は変わっても手順は同じ
1 この指摘は正しいか（TP / FP / 保留）
2 どの層の問題か（設計 / 実装 / ランタイム）
3 直す場所はどこか、直すのは誰か（アプリチーム / SREチームなど）
4 いま直すか、計画して直すか、受容するか
基準も同じ
この値はどこから来て、何で守られているか
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
66


# Page. 67

![Page Image](https://bcdn.docswell.com/page/GJ5MXMWMJ4.jpg)

第5章のまとめ
アタックサーフェスはアプリケーションコードの外にもある（IaC、CI、依存、AI規約など）
AIの出力は未検証のものとして扱う
依存パッケージはまず何を使っているかを把握する（SCA、SBOMなど）
判断の枠組みは対象が変わっても同じ
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
67


# Page. 68

![Page Image](https://bcdn.docswell.com/page/LE3WXW49E5.jpg)

クロージング
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
68


# Page. 69

![Page Image](https://bcdn.docswell.com/page/8EDK2KQ87G.jpg)

各章の振り返り
第1章 なぜAI時代にセキュアコーディングを学ぶのか
AIが賢くなるほど、残る脆弱性はコードの外の情報が必要なものに偏る
第2章 AIの指摘を判定する
誤検知を見抜いて正しい指摘を確定させる
第3章 AIの修正を評価する
修正の質はAIに渡したコンテキストで決まる
第4章 発見から修正までの脆弱性管理
報告し、受け取り、対応方針を決める
第5章 Webアプリ以外の観点
判断の枠組みは対象が変わっても同じ
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
69


# Page. 70

![Page Image](https://bcdn.docswell.com/page/V7PK1KLWJ8.jpg)

AIに任せる範囲は状況で変わる
同じ人でも状況によって任せられる範囲は変わる
範囲を動かす要因 たとえば
対象の重要度
決済まわりのコード / 社内ツール
組織の体制
2人のスタートアップ / 監査のある企業
自分の習熟度
その技術を知っているか / 知らないか
仕組みの有無
テストとCIが整っているか / 整っていないか
任せる範囲を何を根拠に決めたか説明できるようにする
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
70


# Page. 71

![Page Image](https://bcdn.docswell.com/page/2JVVYVQ9JQ.jpg)

すぐに変わること
今日の内容のうち、数週間・数カ月で入れ替わりうるもの
変わるもの
たとえば
主流のモデル
今日の演習で使ったモデル
AIの得意・不得意 各種ベンチマークの数値
ツールの使い方 操作画面やコマンド
AI向け規約の慣行 CLAUDE.md / AGENTS.md という形式
一方で、変わらないものもある
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
71


# Page. 72

![Page Image](https://bcdn.docswell.com/page/5EGL9LW4JL.jpg)

（当分は）変わらないこと
今日の内容のうち、この先も判断のよりどころにできるもの
変わらないもの
具体的には
設計原則
フェイルセーフなデフォルト、最小限の権限など
判断の手順
正しいか／どの層か／誰が直すか／いつ直すか
報告と責任
報告のテンプレートと責任の所在
セキュアコーディングの目的 信頼できないものを信頼境界の内側に入れない
変わったのは「信頼できないもの」のリストにAIの生成物が加わったこと
依存パッケージを使うなと言わないのと同じで、AIも検証と統制のプロセスを設計して使う
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
72


# Page. 73

![Page Image](https://bcdn.docswell.com/page/4JQYWY3R7P.jpg)

この先の学び方
明日以降の講義との関係
講義
今日との接続
B5『狙われる組織の見分け方 — 攻撃者の偵察手法から学ぶASMの技術と実践』 トリアージを組織規模でどう扱うかの話
依存関係の問題を具体的にどう対策する
B6『ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護』
かの話
次の一歩
やること
OWASP Top 10 / ASVSを読む
バグバウンティに挑戦する
自分が書いたコードをAIにレビューさせる
位置づけ
何を確認すべきかを知る
報告する側を経験する
判定の練習。トリアージと修正まで行えると◎
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
73


# Page. 74

![Page Image](https://bcdn.docswell.com/page/K74WKW1QE1.jpg)

ご清聴ありがとうございました！
質問・相談はいつでも大歓迎です。気軽に声をかけてください！
セキュリティ・キャンプ2026全国大会 B4『セキュアコーディングとAI共生（バグバウンティ、脆弱性管理）』
74


