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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuta Matsumura
March 27, 2026
Technology
2.3k
3
Share
やさしいとこから始める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
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
500
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
370
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
290
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
1
360
AspireとGitHub Modelsで作るお手軽AIアプリ
tsubakimoto_s
0
98
Memories of GitHub Universe & San Francisco
tsubakimoto_s
0
74
私のMCPの使い方
tsubakimoto_s
0
190
これからはじめる Model Context Protocol
tsubakimoto_s
0
99
Cloudflare の MCP サーバーをためしてみた
tsubakimoto_s
1
380
Other Decks in Technology
See All in Technology
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
690
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
12
39k
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
0
1.9k
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
230
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
190
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
400
Keeping Ruby Running on Cygwin
fd0
0
190
COBOL婆さんの伝説
poropinai1966
0
130
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
160
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
280
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
1
160
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
510
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
290
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Crafting Experiences
bethany
1
130
Statistics for Hackers
jakevdp
799
230k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
It's Worth the Effort
3n
188
29k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
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