Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
やさしいとこから始めるGitHubリポジトリのセキュリティ
Search
Yuta Matsumura
March 27, 2026
Technology
2.5k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
やさしいとこから始めるGitHubリポジトリのセキュリティ
Azure DevOpsオンライン Vol.14 ~ DevSecOps
https://tfsug.connpass.com/event/385605/
Yuta Matsumura
March 27, 2026
More Decks by Yuta Matsumura
See All by Yuta Matsumura
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
200
github/awesome-copilotのPHPのエージェントスキルを読む
tsubakimoto_s
0
76
エージェントスキルを作って自分のインプットに役立てよう v2
tsubakimoto_s
0
52
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
810
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
460
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
340
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
1
430
AspireとGitHub Modelsで作るお手軽AIアプリ
tsubakimoto_s
0
120
Memories of GitHub Universe & San Francisco
tsubakimoto_s
0
91
Other Decks in Technology
See All in Technology
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
250
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
1k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
360
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
6
1k
VPCセキュリティ対応の最新事情
nagisa53
1
340
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
500
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
360
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
740
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
470
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
130
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
300
「休む」重要さ
smt7174
7
1.7k
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
57k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
How GitHub (no longer) Works
holman
316
150k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
Paper Plane
katiecoart
PRO
2
52k
Being A Developer After 40
akosma
91
590k
The SEO Collaboration Effect
kristinabergwall1
1
510
Fireside Chat
paigeccino
42
4k
Leo the Paperboy
mayatellez
8
1.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Transcript
やさしいとこから始める GitHubリポジトリのセキュリティ 2026/03/28 Azure DevOpsオンライン Vol.14 Yuta Matsumura © 2026
Yuta Matsumura. #tfsug 1
松村 優大 (MLBお兄さん) © 2026 Yuta Matsumura. #tfsug 株式会社オルターブース (Chief
Technical Architect) Microsoft MVP for Developer Technologies Microsoft Top Partner Engineer Award 2025 GitHub 公認トレーナー C#, PHP, Azure, GitHub #fukuten #devblogradio #fukuoka_mcp https://linktr.ee/tsubakimoto 2
MCP (Model Context Protocol) をテーマにした勉強会です。 MCP に興味ある方や使っている方、MCP はまだわからないけど AI を使った開発に興味ある方などなど、ご参加ください。
https://fukuoka-mcp.connpass.com/ © 2026 Yuta Matsumura. #tfsug 3
© 2026 Yuta Matsumura. #jazug 4 4/17 Global Azure @福岡を
開催します! 登壇者・参加者を募集中です! https://jazug.connpass.com/event/384711/
これから話すこと GitHub リポジトリの安全性を保つためにいきなり高度なセキュリティ 対策をするのではなく、やさしいところからリポジトリを守れる仕組みとして 3つのポイントを紹介します。 設定 + GHAS で管理する リポジトリのファイルで管理する
GitHub Actions のワークフローを管理する © 2026 Yuta Matsumura. #tfsug 5
1. 設定 + GHAS で管理する © 2026 Yuta Matsumura. #tfsug
6
© 2026 Yuta Matsumura. #tfsug 7 GitHub Code Security コードの脆弱性を検出し、
修正を支援する機能群 GitHub Secret Protection 機密情報の保護に 特化した機能群
GitHub Code Security 機能名 用途 Code scanning コードの脆弱性とコーディングエラーをスキャンして検出 CodeQL CLI
CodeQL を使用した高度な静的解析 Copilot Autofix Copilot がセキュリティ問題を自動修正 Security campaigns セキュリティ対策を組織全体で展開 Custom auto-triage rules for Dependabot Dependabot アラートを自動的に無視、スヌーズ、更新 対象に振り分け Dependency review 依存関係の変更をレビュー Security Overview セキュリティ状況の全体を可視化 © 2026 Yuta Matsumura. #tfsug 8
© 2026 Yuta Matsumura. #tfsug 9 有効化
CodeQL と Copilot Autofix • CodeQL • Code scanning に使用できるコード分析エンジン
• セキュリティ上の脆弱なコードを検出する • Copilot Autofix • Code scanning で検出された脆弱なコードを GitHub Copilot で修正する © 2026 Yuta Matsumura. #tfsug 10
© 2026 Yuta Matsumura. #tfsug 11 例:SQL インジェクションの恐れのあるコード Copilot Autofix
© 2026 Yuta Matsumura. #tfsug 12 修正内容の説明 Copilot が修正したコード
GitHub Secret Protection 機能名 用途 Secret scanning キーやトークンなどのシークレットをリポジトリから検出 Push protection
シークレットのプッシュをブロック Copilot secret scanning Copilot でパスワードなどのシークレットを検出 Custom patterns カスタムシークレットパターンの定義 Delegated bypass for push protection プッシュ保護のバイパス時に承認プロセスを実装 Delegated alert dismissal アラート解除時に承認プロセスを実装 Security campaigns セキュリティ対策を組織全体で展開 Security overview セキュリティ状況の全体を可視化 © 2026 Yuta Matsumura. #tfsug 13
© 2026 Yuta Matsumura. #tfsug 14 有効化
Secret scanning • API キー等のシークレットがリポジトリに混入したことを検知する機能 • スキャンする範囲 • リポジトリ:全ブランチの Git
履歴 • Issue:タイトル、本文、コメント • Pull Request:タイトル、本文、コメント • Discussion:タイトル、本文、コメント • Wiki • Gist (secret) © 2026 Yuta Matsumura. #tfsug 15
Push protection • シークレットが混在した Git コミット履歴のプッシュを防ぐ機能 • あえてプッシュを許可することも可能 Private/Internal リポジトリで
Secret scanning や Push protection 等を 利用するには GitHub Advanced Security ($19/月) のライセンスが必要 © 2026 Yuta Matsumura. #tfsug 16
© 2026 Yuta Matsumura. #tfsug 17
© 2026 Yuta Matsumura. #tfsug 18 バイパスを許可すると プッシュが可能になる メールで通知
2. リポジトリのファイルで管理する © 2026 Yuta Matsumura. #tfsug 19
コミュニティの正常性ファイル 健全で協力的なプロジェクトであることを示すために、 GitHub リポジトリに用意することが望ましいファイルのこと。 特定のディレクトリに特定のファイル名で用意することで 効力を発揮します。 (ルート or .github or
docs) © 2026 Yuta Matsumura. #tfsug 20
dependabot.yml • Dependabot という機能の設定ファイルです • 依存関係 (パッケージやワークフロー) のセキュリティ脆弱性を自動で検出・修 正するツールです •
脆弱性を検出すると、依存関係をアップデートする PR を自動で作成します © 2026 Yuta Matsumura. #tfsug 21
dependabot.yml 設定項目 説明 Dependabot alerts 依存関係に影響を与えるリポジトリ内の脆弱性に関するアラートを有効化し ます。 Dependabot security updates
リポジトリ内の脆弱なパッケージを更新するプルリクエストを自動で作成する 機能を有効化します。 Grouped security updates Dependabot が作成する依存関係のプルリクエストを、パッケージマネー ジャーごとにグルーピングする機能を有効化します。 Dependabot version updates 脆弱性の有無に限らず、依存関係のバージョンアップデートを自動でチェック し、プルリクエストを作成する機能を有効化します。 Dependabot malware alerts 依存関係にマルウェアが検出された際のアラートを有効化します。 © 2026 Yuta Matsumura. #tfsug 22
CODE_OF_CONDUCT.md リポジトリに参加する人々が守るべき 行動規範 (Code of Conduct) を 定義するためのファイルです。 https://docs.github.com/en/communities/setting-up-your-project-for-healthy- contributions/adding-a-code-of-conduct-to-your-project
© 2026 Yuta Matsumura. #tfsug 23
SECURITY.md 脆弱性の報告方法などの、リポジトリ のセキュリティポリシーを明示する ファイルです。 https://docs.github.com/en/code-security/getting-started/adding-a-security- policy-to-your-repository © 2026 Yuta Matsumura.
#tfsug 24
SECURITY.md © 2026 Yuta Matsumura. #tfsug 25
CODEOWNERS + Rulesets リポジトリのコードを管理するユーザーを CODEOWNERS で明示し、 そのユーザーのレビューを強制するルール セットを設けるファイルです。 https://docs.github.com/en/repositories/managing-your-repositorys-settings- and-features/customizing-your-repository/about-code-owners
https://docs.github.com/en/repositories/configuring-branches-and-merges- in-your-repository/managing-rulesets/about-rulesets © 2026 Yuta Matsumura. #tfsug 26
CODEOWNERS © 2026 Yuta Matsumura. #tfsug 27 ファイルやディレクトリごとのオーナーの ユーザーやチームを指定する
GOVERNANCE.md • プロジェクトのガバナンスについて周知するためのファイルです • 固有のテンプレートはありませんが、 https://governance.md/ が 参考になります © 2026
Yuta Matsumura. #tfsug 28 プロジェクト憲章 意思決定フレームワーク コミュニティ構造 透明性ツール
© 2026 Yuta Matsumura. #tfsug 29 https://tsubalog.hatenablog.com/entry/2025/12/30/213005
3. GitHub Actions のワークフローを管理する © 2026 Yuta Matsumura. #tfsug 30
GitHub Actions でできること 1. 検証済みアクションを使用する 2. アクションをコミット SHA でピン留めする 3.
OpenID Connect でクラウドに接続する © 2026 Yuta Matsumura. #tfsug 31
検証済みアクションを使用する • マーケットプレイスのアクションを 「検証済みの作者 (Verified creator)」 に限定する • マークが目印 ©
2026 Yuta Matsumura. #tfsug 32
アクションをコミット SHA でピン留めする • ワークフローではアクションのバージョンを指定する uses: actions/checkout@v6 • v6 というようなタグ指定からコミット
SHA 指定に変えることで、 リポジトリに不正アクションを追加するリスクを軽減できる uses: actions/checkout@8e8c483... • GitHub Copilot + GitHub MCP Server で効率的に変換 © 2026 Yuta Matsumura. #tfsug 33 https://github.blog/changelog/2025-08-15-github-actions-policy-now-supports-blocking-and-sha-pinning-actions/
© 2026 Yuta Matsumura. #tfsug 34
ピン留めはポリシーで制御できる SHA ピン留めをポリシーで 強制可能 (Enterprise / Organization) 違反したワークフローは 実行時にエラーとなる ©
2026 Yuta Matsumura. #tfsug 35
SHA ピン留め違反のワークフロー © 2026 Yuta Matsumura. #tfsug 36 jobs: build:
runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
OpenID Connect でクラウドに接続する • GitHub Actions でクラウド環境にデプロイする場合、GitHub から クラウドへの接続方式に OpenID
Connect (OIDC) を使用する • パスワードや Personal Access Token を使用しない © 2026 Yuta Matsumura. #tfsug 37 https://docs.github.com/en/actions/concepts/security/openid-connect
例:Azure にデプロイする 1. Azureでの設定 1. Microsoft Entra ID に Actions
用アプリを 登録する 2. フェデレーション資格情報を登録する 2. GitHub: Environment を登録する 3. ワークフロー 1. パーミッションの設定 (id-token: write) 2. azure/login アクションで Azure に接続 © 2026 Yuta Matsumura. #tfsug 38 https://docs.github.com/en/actions/how-tos/secure-your-work/security- harden-deployments/oidc-in-azure
まとめ • コストをかけずに安全に使えるリポジトリを作れます • コードのセキュリティは Advanced Security を中心に守りましょう • リポジトリを安全に運用するための設定もお忘れなく
• ワークフローのセキュリティ対策もキャッチアップしましょう © 2026 Yuta Matsumura. #tfsug 39
ご清聴ありがとうございました © 2026 Yuta Matsumura. #tfsug 40