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 Advanced Security入門セキュリティを向上させよう!...
Search
Hirono Baba
July 25, 2023
Technology
1
1.3k
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
Hirono Baba
July 25, 2023
Tweet
Share
More Decks by Hirono Baba
See All by Hirono Baba
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
290
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
190
cloudugnight2nd-20240531
nina01
1
380
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
400
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
170
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
840
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
940
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.3k
Other Decks in Technology
See All in Technology
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
110
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
370
サブドメインテイクオーバー事例紹介と対策について
mikit
16
7.7k
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
1.1k
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
4
410
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
1
170
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
330
品質保証の取り組みを広げる仕組みづくり〜スキルの移譲と自律を支える実践知〜
tarappo
1
320
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
990
AIエージェントを導入する [ 社内ナレッジ活用編 ] / Implement AI agents
glidenote
1
260
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
160
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
190
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Mobile First: as difficult as doing things right
swwweet
225
10k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Language of Interfaces
destraynor
162
25k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
960
How STYLIGHT went responsive
nonsquared
100
5.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
4 Signs Your Business is Dying
shpigford
186
22k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
Transcript
開発者のための GitHub Advanced Security入門 セキュリティを向上させよう! 2023/7/25 Cloud Native Days Fukuoka
2023 プレイベント 馬場ひろの Hirono Baba
スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ ex歯医者さん ◼ 認定スクラムマスター ◼
AzureやGitHub, .NETがんばって ます @nina-sensei
アジェンダ ◼ 今日話すこと ◼ GHAS(GitHub Advanced Security)とは ◼ Code Scanningについて
◼ Secret Scanningについて ◼ Dependency reviewについて ◼ 対象者 ◼ GHASって何?なひと ◼ 組織でのセキュリティに課題を抱えているひと ◼ GitHubを扱うすべてのひと
開発者として考えなくてはいけない セキュリティのこと 企画 要件 定義 設計 実装 リリース 運用 テスト
◼ 脆弱性に気をつける ◼ コードの脆弱性 ◼ 使用ライブラリ、パッケージの脆弱性 など 誰が どこで 設計、実装の段階からセキュリティを採用すること Shift Left テスト 開発者全員で意識!
None
GitHubはコード管理ツールだけじゃない GitHub Codespaces GitHub Actions GitHub Advanced Security GitHub Copilot
GHAS
GHASとは? ◼ GitHubが提供するセキュリティ機能群の総称 ◼ 一部すべてのプランで使用可能 ◼ プラスの機能を使いたい場合はGHASのライセンスを購入する必要あり ◼ GitHub Enterpriseプランが必要
◼ 主に3つの領域を中心に保護 ◼ サプライチェーン ◼ コード ◼ 環境 ◼ GitHubのプラン Free Team Enterprise ・ ・ ・
GHASの主な機能 Code Scanning Secret Scanning Dependency review (依存関係の確認) Private repository
with GHAS Private repository without GHAS Public repository
Shift security left with developer-first tools Commit changes Submit Pull
Request Update new branch Dependency Scanning: CVEの自動識別と修復 Secret Scanning: 公開されたトークンの検索と 無効化 Code Scanning: コード内の危険なパターンを 発見し警告する 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する
GHASの設定 ◼ Settings > Code security and analisys ◼ リポジトリ単位でも組織レベルでも設定で
きる ◼ 親階層の設定を継承する Enterprise Organizations Repo 各リポジトリ …
Code Scanning
Code Scanningとは ◼ コードを分析して、セキュリティの脆弱性と コーディングエラーを検出ことができる機能 ◼ コード解析エンジン「CodeQL」を利用している ◼ GitHub Actionsを利用して簡単に導入
◼ たくさんの言語がサポートされている ◼ C/C++ ◼ Java ◼ C# ◼ Python ◼ Go ◼ JavaScript ◼ TypeScript ◼ Ruby
セキュアじゃないコードをpushしてみる
Secret Scanning
Secret Scanningとは ◼ push後シークレットを検知したらアラートを出す ◼ GitHub→ユーザー、GitHub→サービスプロバイダーに通知 ◼ あらゆるプロバイダーのシークレットの形式をサポート ◼ カスタムパターンを作成可能
◼ 独自のシークレットを作成している場合に使用 ◼ 2023年2月にすべてのリポジトリで使用可能に!
シークレットをpushしてみる ◼ push後すぐアラートが出現 ◼ メールも届いた(届く設定にしているため) ◼ Security > Secret scanning
からアラートを確認
対処したらアラートはクローズしよう ◼ 対処方法が記載されてる ◼ 対処したらアラートはクローズする ◼ 取り消し ◼ テスト用 ◼
まちがい ◼ 修復しない
シークレットをpushできないようにする Commit changes Submit Pull Request Update new branch Secret
Scanning 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する Push protection ←プライベートリポジトリでは使えない ※2023年7月現在
Push protectionをonにしてpush
Dependency review
依存関係の確認ができるツールたち Dependency graph プロジェクトの依存関係を視覚化 Dependabot alerts コードの依存関係にある脆弱性を通知する Dependabot security updates
発見された脆弱性の修正案のPRを自動作成 Dependabot version updates 使用するパッケージのアップデートのPRを 自動作成 Dependency review PR上で依存関係の変更を視覚化 脆弱性の確認:GitHub Advisory Database GitHub によって脆弱性に関する情報が収集されるところ
Dependabot alerts
Dependabot security updates
Dependabot version updates
マージ前に脆弱性を検知したいなら… Commit changes Submit Pull Request Update new branch Dependency
review Dependabot 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する
Dependency review 脆弱性が検知されたら プルリクエストの段階 ではじかれる name: 'Dependency Review' on: [pull_request]
permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v3 - name: Dependency Review uses: actions/dependency-review-action@v3 .github/workflowsにワークフローを追加
まとめ ◼ 開発段階でセキュリティを意識する ◼ 全員が脆弱性を意識する ◼ 脆弱性自動検知ツールの導入おすすめ ◼ GHASはいいぞ