$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego
Search
Masayoshi Mizutani
December 14, 2021
Technology
7
4.8k
Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego
2021.12.14 (Tue) Ubie Tech Talk で発表した資料です
Masayoshi Mizutani
December 14, 2021
Tweet
Share
More Decks by Masayoshi Mizutani
See All by Masayoshi Mizutani
システム・サービス運用におけるセキュリティ監視の近代的アプローチ /advnet2025-modern-secmon
mizutani
0
80
Deep Security Conference 2025:生成AI時代のセキュリティ監視 /dsc2025-genai-secmon
mizutani
9
5.6k
MCPの基礎とUbieにおける活用事例 /ubie-mcp
mizutani
4
2.7k
クラウドセキュリティのベストプラクティスと実装例 /cloudsec-bestpractice-example
mizutani
9
3.2k
汎用ポリシー言語Rego + OPAと認可・検証事例の紹介 / Introduction Rego & OPA for authorization and validation
mizutani
2
980
Ubieにおけるセキュリティ課題管理の自動化 / ubie-sec-issue-automation
mizutani
0
970
リモートワークを支える 社内セキュリティ基盤の構築と運用 /secueiry-for-wfh
mizutani
0
780
SOARによるセキュリティ監視業務の効率化とSecOps /soar-and-secops
mizutani
1
1.2k
Amazon Athena を使った セキュリティログ検索基盤の構築 /seclog-athena
mizutani
5
3k
Other Decks in Technology
See All in Technology
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
260
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
190
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
390
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
500
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.5k
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
120
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
130
品質のための共通認識
kakehashi
PRO
3
260
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Speed Design
sergeychernyshev
33
1.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Producing Creativity
orderedlist
PRO
348
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Optimizing for Happiness
mojombo
379
70k
Side Projects
sachag
455
43k
How to Ace a Technical Interview
jacobian
280
24k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
Trivy + Regoを用いたパッケージ脆弱性管理 Ubie株式会社 水谷 正慶 Ubie Tech Talk 2021.12.14
(Tue)
Confidential 2 会社概要 自己紹介 水谷 正慶(@m_mizutani) Ubie Discovery セキュリティエンジニア 略歴:
2011/4~ 日本IBM(東京基礎研究所、SOC) 2017/10~ Cookpad株式会社 2021/09~ Ubie株式会社
医師を目指し、起業するまで 外部パッケージの 脆弱性管理
Confidential 4 会社概要 現代のWebサービス開発 • 3rd party(主にOSS)パッケージの多大な恩恵 ◦ サービスの機能やフレームワークとして利用 ◦
開発用ツールとしての利用 • エコシステムの発展により依存関係が膨張 ◦ 1プロダクトあたり多いと数百〜数千パッケージへの依存 ◦ 利用パッケージがさらに別のパッケージに依存する
Confidential 5 会社概要 脆弱性の発見と対応 • パッケージ脆弱性の情報は取得しやすくなっている ◦ メディアの発展による脆弱性情報の流通 ◦ 脆弱性を検査するためのツールが充実
◦ Continuous Integratoin (CI) などの文化が広がりサー ビスも増えてきた • それによって既知の脆弱性は駆逐されたか? ◦ → 残念ながらそうでもない
医師を目指し、起業するまで なぜ既知の脆弱性を駆逐 できないのか?
Confidential 7 会社概要 課題1) 修正版がリリースされない • 外部パッケージなのでリリースタイミングをコントロールできな い ◦ 特にOSSの場合はコントリビュータの都合に依存する
◦ PR含む要望をだすことはできるが、取り入れられるかは 状況次第 • 依存関係の先のパッケージが脆弱な場合、依存元と依存先の すべてのパッケージが要対応
Confidential 8 会社概要 課題2) 更新によってプロダクトに破壊的変更が起きる(かも) • 必ずしも起きるとは限らないが検証は必要 • 破壊的変更が発生する場合は修正も必要 •
直ちに影響がないと見られる脆弱性についてはどうしても優先 順位が下がってしまう
Confidential 9 会社概要 課題3) パッケージ更新以外の方法で緩和されている • 脆弱性によっては外的要因によってリスクを低減できる ◦ 例) サーバ設定の変更
◦ 例) WAFなどのフィルタリング • 緩和した後、一定期間後に修正すべきなのか・長期的にその まま運用するのかという判断が必要 ◦ 判断の結果とツールの検査結果が紐付いて欲しい
医師を目指し、起業するまで ということで脆弱性の 「管理」が必要
Confidential 11 会社概要 要件1) プロダクト・脆弱性ごとに状態を管理したい • すぐに修正できない脆弱性の状態を管理 ◦ なぜ修正しない・できないか? ◦
いつまで様子見するか? • アップデートできないパッケージについて警告などをだしたくな い ◦ 無用な警告はノイズとなり、本来見るべき警告を見落とし てしまう
Confidential 12 会社概要 要件2) 組織全体で脆弱性の管理を統制したい • 全体の状況を把握したい ◦ どのような脆弱性があるか ◦
新しく検出された脆弱性があるか • 独自の脆弱性の評価が必要 ◦ 外部で評価された深刻度(CVSSなど)はブレがある ◦ 内部的にも脆弱性の特性を確認していく必要がある
Confidential 13 会社概要 要件3) 判定やCIの結果をカスタマイズしたい • 脆弱性の扱いを単純なルールで表現するのは困難 ◦ 複数の条件の組み合わせや例外の設定 ◦
Pass/Failだけでなく緊急度の判定などもやりたい • 脆弱性だけでなくプロダクト側の文脈も必要 ◦ 外部に公開しているプロダクトか? ◦ インターネットから直接アクセスできるか?
医師を目指し、起業するまで ということで
Confidential 15 会社概要 Octovy https://github.com/m-mizutani/octovy
Confidential 16 会社概要 Octovy • GitHub AppでソースコードをTrivyでスキャン • 脆弱性を検出したパッケージごとに対応状況を管理 •
リポジトリ・脆弱性に任意のラベルを付与可能 ◦ 例: m-mizutani/some-product → “外部公開” ◦ 例: CVE-2021-0000 → “Critical” • OPA/Regoを使うことで自由にCIの結果を制御 https://github.com/m-mizutani/octovy
Confidential 17 会社概要 OPA/Regoについて • OPA: ポリシーエンジン(サーバ or Go言語組み込み) •
Rego: ポリシー記述言語 • 「入力したJSONをポリシーに従って自由に判定・変換する」 • テスト可能かつ汎用的な判定エンジンとして利用可能
Confidential 18 会社概要 リポジトリごとの設定 https://github.com/m-mizutani/octovy 脆弱性の状態を 個別に管理可能 リポジトリの性質を 管理可能
Confidential 19 会社概要 アーキテクチャ ・検出した脆弱性情報 ・リポジトリ情報 ・パッケージ一覧情報 ・commitに関する情報
Confidential 20 会社概要 ポリシー管理 on GitHub
Confidential 21 会社概要 ポリシーの例 CriticalならFail Highかつ外部公開 ならFail msgを集計して conclusionを返す
Confidential 22 会社概要 Regoのテスト 特に問題ないテストデータ Criticalを含むテスト データ High & publicを含
むテストデータ High だけを含む テストデータ
Confidential 23 会社概要 Future Work 社内の様々なポリシーを集約し コードベースかつテスト可能な 管理にしていく
Confidential 24 会社概要 宣伝:OPA/Rego Advent Calender 2021 https://adventar.org/calendars/6601 • OPA概論
• Policy as Codeとは • Regoの基礎(概要編) • Regoの基礎(PolicyとData) • Regoの基礎(結果の出力編) • Regoの基礎(イテレーション編) • Regoの基礎(パッケージ編) • Regoの基礎(Safety) ︙ 以下、順次公開予定
Confidential 25 会社概要 まとめ • 社内プロダクトで利用しているパッケージ情報を俯瞰すること でリスクの把握・コントロールを用意にする • OPA/RegoによるPolicy as
Codeによる恩恵 ◦ 柔軟で自由なルールを記述できる ◦ テスト可能なので管理がしやすい ◦ コード管理により複数人で知見の共有ができる
Confidential 26 会社概要 セキュリティエンジニア募集 https://recruit.ubie.life/jd_dev/eng_productsec https://recruit.ubie.life/jd_dev/corp_sec コーポレートエンジニア (Security Administrator) ソフトウェアエンジニア
(Product Security) Ubieで一緒にセキュリティをエンジニアリングしていく 仲間を募集しています