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
0
170
やさしいとこから始めるGitHubリポジトリのセキュリティ
Azure DevOpsオンライン Vol.14 ~ DevSecOps
https://tfsug.connpass.com/event/385605/
Yuta Matsumura
March 27, 2026
Tweet
Share
More Decks by Yuta Matsumura
See All by Yuta Matsumura
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
190
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
250
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
0
290
AspireとGitHub Modelsで作るお手軽AIアプリ
tsubakimoto_s
0
81
Memories of GitHub Universe & San Francisco
tsubakimoto_s
0
65
私のMCPの使い方
tsubakimoto_s
0
180
これからはじめる Model Context Protocol
tsubakimoto_s
0
83
Cloudflare の MCP サーバーをためしてみた
tsubakimoto_s
1
260
re:Invent の裏でアップデートされていた .NET Aspire で統合するAWS のクラウドリソース
tsubakimoto_s
1
150
Other Decks in Technology
See All in Technology
Phase06_ClaudeCode実践
overflowinc
0
1.9k
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
FlutterでPiP再生を実装した話
s9a17
0
160
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
200
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
120
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
390
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
240
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
1
270
スピンアウト講座01_GitHub管理
overflowinc
0
1.3k
「捨てる」を設計する
kubell_hr
0
240
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
310
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
140
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
94
A better future with KSS
kneath
240
18k
Bash Introduction
62gerente
615
210k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
Into the Great Unknown - MozCon
thekraken
40
2.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
The Spectacular Lies of Maps
axbom
PRO
1
640
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
220
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
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