Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
やさしいとこから始めるGitHubリポジトリのセキュリティ
Search
Yuta Matsumura
March 27, 2026
Technology
2.6k
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
250
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
200
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
870
github/awesome-copilotのPHPのエージェントスキルを読む
tsubakimoto_s
0
98
エージェントスキルを作って自分のインプットに役立てよう v2
tsubakimoto_s
0
70
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
890
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
500
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
400
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
1
490
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
130
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
120
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
1
500
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
1
490
Goodbye ShellScript, Hello File-based App
shunsock
0
1.1k
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
240
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
5
740
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
34
22k
Featured
See All Featured
Leo the Paperboy
mayatellez
10
2.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
My Coaching Mixtape
mlcsv
0
320
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
260
How to train your dragon (web standard)
notwaldorf
97
6.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Raft: Consensus for Rubyists
vanstee
142
7.7k
Being A Developer After 40
akosma
91
590k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
520
The Cost Of JavaScript in 2023
addyosmani
55
10k
We Are The Robots
honzajavorek
0
380
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
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