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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuta Matsumura
March 27, 2026
Technology
0
180
やさしいとこから始める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
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
180
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.4k
Why we keep our community?
kawaguti
PRO
0
210
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
ABEMAのバグバウンティの取り組み
kurochan
1
690
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
140
脳が溶けた話 / Melted Brain
keisuke69
1
990
How to install a gem
indirect
0
1.4k
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
250
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
390
Phase10_組織浸透_データ活用
overflowinc
0
1.6k
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
330
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
Fireside Chat
paigeccino
42
3.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
RailsConf 2023
tenderlove
30
1.4k
Raft: Consensus for Rubyists
vanstee
141
7.4k
BBQ
matthewcrist
89
10k
WENDY [Excerpt]
tessaabrams
9
37k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
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