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
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOp...
Search
ihcomega56
February 18, 2022
Technology
6.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
Developers Summit 2022
ihcomega56
February 18, 2022
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
180
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2.1k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.7k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
280
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.5k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
340
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
570
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.8k
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / DevSecOps Best Practices learned from my experiences
ihcomega56
1
590
Other Decks in Technology
See All in Technology
GoCon2026 - Open Source, Open World
sanposhiho
4
3.4k
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
160
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.7k
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
200
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
120
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
0
260
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
660
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
120
10分で知る最近のOmarchy
komagata
0
270
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
200
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
11
6.5k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
580
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Fireside Chat
paigeccino
43
4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Bash Introduction
62gerente
615
220k
RailsConf 2023
tenderlove
30
1.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
Documentation Writing (for coders)
carmenintech
77
5.5k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Product Roadmaps are Hard
iamctodd
55
13k
Transcript
4#0.ͰιϑτΣΞΛकΕʂ ޙࣗ৴Λ࣋ͬͯ ϦϦʔε͢ΔͨΊʹ ࠓ࢝ΊΔ%FW4FD0QT σϒαϛ
%FW4FD0QTͷηογϣϯɺ ଟ͍Ͱ͢Ͷʂ 1
ͦΜͳத͓ӽ͠Լ͞Γ ͋Γ͕ͱ͏͍͟͝·͢ 2
Α͜ͳͰ͢ 3 • +'SPHͷ%FWFMPQFS"EWPDBUF • %FW0QTΛΓ্͍͛ͯ͘κ • લ৬·ͰओʹόοΫΤϯυͷ։ൃ 4*FS ࠂձࣾ
ূ݊ελʔτΞοϓ • ઌिɺେਓʹͳͬͯॳͷˆΛܦݧ օ͞ΜҾ͖ଓ͖ࣗ͝Ѫ͍ͩ͘͞! !"#$$%&' (#)*+,%-.
ࠓճͷσϒαϛςʔϚ ʮޙੈքͰ௨͡ΔΤϯδχΞͰ͋ΔͨΊʹʯ 4
͋ͬͱ͍͏͚ؒͩͲɺͨ͘͞Μͷ͜ͱ͕Ͱ͖Δ 5 ʙલɺલग़͖ͯͨͷʹલ͚ͩग़ͯ͜ͳ͔ͬͨ(PPHMFQIPUPTʜ
͜ͷηογϣϯ ޙʹඋ͑ͯ ͍͔ʹͷͮ͘ΓΛ͢Δ͔ Ͱͳ͘ 6
͍͔ʹͷΛ҆શʹอ͔ͭɺ ҆શͳͷΛಧ͚Δ͔ ͷώϯτΛ͓ಧ͚͠·͢ 7
%FW4FD0QTͱ •%FWͱ0QTʹՃ͑ͯɺ4FDVSJUZ ڠۀͯ͠ιϑτΣΞΛ࡞͍ͬͯ͘ • શһ͕શ෦Λग़དྷΔΑ͏ʹͳΔ ඞཁͳ͍ • ·ؙͣ͛͠ͳ͍ɺཧղ͢Δ • গ͓ͣͭ͠ޓ͍खΛ͛Δ
8 8 ։ൃ ӡ༻ ηΩϡ ϦςΟ
ηΩϡϦςΟͱ͍༷ͬͯʑ 9 • ΠϯϑϥɺιϑτΣΞɺ ώϡʔϚϯΤϥʔͳͲؾʹ ͖͢͜ͱଟذʹΘͨΔ • %FW4FD0QTͷλʔήοτ ιϑτΣΞͷηΩϡϦ ςΟͰ͋Δ
ग़యʮ8IBUBSFUIFMBZFSTPGTFDVSJUZ "DZCFSTFDVSJUZSFQPSUʯ IUUQTHPNJOETJHIUDPNJOTJHIUTCMPHXIBUBSFUIFMBZFSTPGTFDVSJUZ
ιϑτΣΞͷηΩϡϦςΟʁ 10 10 %%PT߈ܸ 42-ΠϯδΣΫγϣϯ ϥϯαϜΣΞ ϑΟογϯά θϩσΠ߈ܸ ϒϧʔτϑΥʔεΞλοΫ
ιϑτΣΞͷηΩϡϦςΟʁ 11 11
ͦΜͳʹ୯७Ͱͳ͍ 12
αϓϥΠνΣʔϯ߈ܸ 13
αϓϥΠνΣʔϯ߈ܸ • ιϑτΣΞʹෆਖ਼ͳϓϩάϥϜόοΫυΞΛࠐΈɺ ͦͷιϑτΣΞΛऔಘͨ͠૬खʹରͯ͠߈ܸΛߦ͏ • ඪతΛ߈ܸͤͣɺ ଟ͘ͷ߹ɺΑΓηΩϡϦςΟ ରࡦ͕खബͳ ؔ࿈ձࣾऔҾઌΛૂͬͨ߈ܸΛߦ͏ 14
࠷ۙͷࣄྫ 15 15 ग़యɿ ;%/FU݄ܝࡌʮถͳͲͷେنαΠόʔ߈ܸɺ4PMBS8JOETͷιϑτΣΞߋ৽Λѱ༻ʯ IUUQTKBQBO[EOFUDPNBSUJDMF
࠷ۙͷࣄྫ 16 16 ग़యɿ +'SPH݄ܝࡌʮ-PH4IFMMθϩσΠ͓͖ͬͯ͘͜ͱ IUUQTKGSPHDPNKBCMPHMPHTIFMMEBZWVMOFSBCJMJUZBMMZPVOFFEUPLOPX
खͷಧ͘ൣғ͚ͩͷରࡦͰΓͳ͍ • ࣗͰॻ͍ͨίʔυ͕҆શͰɺऔಘͯͬͨ͠ιϑτ ΣΞʹ੬ऑੑ͕ݟ͔ͭΔՄೳੑ͕͋Δ • ࡢࠓɺϓϩϓϥΠΤλϦͳιϑτΣΞͷʙׂఔ͕ 044ͱݴΘΕ͍ͯΔ 17 ग़యɿ 4ZOPQTZTXIJUFQBQFSʮ0QFO4PVSDF
3JTLJO."CZUIF/VNCFSTʯ IUUQTXXXTZOPQTZTDPNDPOUFOUEBNTZOPQTZTTJHBTTFUTXIJUFQBQFSTXQSJTLNBOVNCFSTQEG ʮηΩϡϦςΟɾεΩϟϯʯͷιϑτΣΞߏੳ 4$" ͱʁ IUUQTXXXSJDLTPGUKQCMPHBSUJDMFTIUNM ʮ&YQMPSFZPVS044EFQFOEFODJFT7JTVBMMZʯ IUUQTXXXMJOLFEJODPNQVMTFFYQMPSFZPVSPTTEFQFOEFODJFTWJTVBMMZNJDIBFMNVMMFS
Կ͔͋ͬͨͱ͖ɺ ࣗͷιϑτΣΞ͕ େৎ͔͙͔͢Γ·͔͢ʁ 18
ͲͷιϑτΣΞ͕ ίϯϙʔωϯτͱͯ͠ ԿΛ͍ͬͯΔ͔ ѲͰ͖·͔͢ʁ 19
ґଘઌͷґଘઌ ਪҠతґଘؔ ݟམͱ͍ͯ͠·ͤΜ͔ʁ 20
ղܾࡦͷͻͱͭ4#0. 21
4#0.ͱ • 4PGUXBSF#JMM0G.BUFSJBMT ιϑτΣΞ෦ද • ιϑτΣΞΛߏ͢Δίϯϙʔωϯτͱϝλσʔλͷ Ұཡ 22
4#0.ͰҰཡԽ͢Δίϯϙʔωϯτ • ιϑτΣΞ͕ґଘɾ༻͢Δ044αʔυύʔςΟͷ ϥΠϒϥϦ • ιϑτΣΞ͕͏ΞυΦϯɺϓϥάΠϯɺ֦ுػೳ • ϓϩϓϥΠΤλϦͳίʔυ • 4BB4ͷ߹
"1*αʔυύʔςΟͷαʔϏεͷใ 23
4#0.ʹؚ·ΕΔ༰ • ίϯϙʔωϯτͷαϓϥΠϠʔ • ίϯϙʔωϯτ໊ • ίϯϙʔωϯτͷόʔδϣϯ • ίϯϙʔωϯτΛࣝผ͢ΔΩʔ •
ґଘؔ • 4#0.ͷ࡞ऀ • λΠϜελϯϓ 24
4#0.ͷྫ 25 ग़యɿ 4VSWFZPG&YJTUJOH4#0.'PSNBUTBOE4UBOEBSET IUUQTXXXOUJBHPWGJMFTOUJBQVCMJDBUJPOTOUJB@TCPN@GPSNBUT@BOE@TUBOEBSET@XIJUFQBQFS@@WFSTJPO@QEG
ϑΥʔϚοτ • ඪ४Խ͕ਐΜͰ͍Δ • 4PGUXBSF1BDLBHF%BUB&YDIBOHF 41%9 • 4PGUXBSF*EFOUJGJDBUJPO 48*% •
$ZDMPOF%9 ͳͲ • UBHWBMVFܗࣜ 41%9 ɺ+40/ɺ:".-ɺ9.-ͳͲʹରԠ • ਓؒʹػցʹಡΊΔ 26
ͳͥ4#0.͕ʹཱ͔ͭ • ࣍ͷΑ͏ͳ༻్Ͱ͑Δ • ࢿ࢈ཧ • ϥΠηϯεɾίϯϓϥΠΞϯεཧ • తࡒ࢈ཧ •
੬ऑੑཧ • ΠϯγσϯτϨεϙϯε • ιϑτΣΞͷ҆શੑͷ֬ೝɾอূʹཱͭ 27
ॏཁࢹ͞ΕΔ4#0. • ΞϝϦΧɿ݄ͷେ౷ྖྩͰɺͱऔҾͷ͋Δ ৫4#0.͕ඞਢͱ͚ͯٛ͠ΒΕͨ • ຊͰࣗಈंۀքͳͲͰ׆༻͕·Δ 28 ग़యɿ ܦ95&$) ݄ܝࡌ
τϤλ͕ਪ͢αΠόʔରࡦͷ৽ৗࣝʮ4#0.ʯɺྲྀग़͢ΔϦεΫʁ IUUQTXXXJUNFEJBDPKQOFXTBSUJDMFTOFXTIUNM
ࣅͨΑ͏ͳ͜ͱΛ طʹ͍ͬͯΔํɺ ͍Βͬ͠ΌΔ͔͠Ε·ͤΜ 29
͋Δ͋Δͳཧ 30 &YDFMˢ ˣͰ֬ೝ
31
4#0.ཧϕετϓϥΫςΟε • Ұ؏ͯ͠ಉ͡ϑΥʔϚοτͰཧ͠ଓ͚Δ • πʔϧΛͬͯࣗಈԽ͢Δ • ϦϦʔεͷͨͼʹߋ৽͢Δ • ϝλσʔλΛ͋Θͤͯอ࣋͢Δ •
ӡ༻͍ͯ͠Δͷ͕4BB4Ͱ͋ͬͯ4#0.Λ͏ 32
4$"ʢιϑτΣΞίϯϙδγϣϯղੳʣ • 4#0.ͷ࡞ʹɺιϑτΣΞʹԿؚ͕·Ε͍ͯΔ͔ ͷௐ͕ࠪવඞཁͱͳΔ • ιϑτΣΞΛεΩϟϯͯ͠ߏͱ੬ऑੑɺϥΠηϯε ҧͳͲΛௐΔ͜ͱΛ4$"ͱ͍͏ • ੈͷதʹ༷ʑͳ4$"πʔϧ͕͋Γɺ͜ΕΛͬͯ $*$%࣮ߦ࣌ʹ4$"ࣗಈͰߦ͏
33
4#0.ͷجຊΛͬͯ ͍͖ͨͩ·ͨ͠ʂ 34
͜ΕͰηΩϡϦςΟ όονϦʂ 35
ͱͳΓ·ͤΜɾɾɾ 36
ऴΘΓͳ͍ • ਓηΩϡϦςΟΤϯδχΞʮ͜ΕΛͬͨΒେৎͱ ͍͏͜ͱܾͯ͠ͳ͍ʯ 37
༷ʑͳηΩϡϦςΟରࡦ • ڴҖϞσϦϯά 5ISFBUNPEFMJOH • ੩తΞϓϦέʔγϣϯηΩϡϦςΟςετ 4"45 • ಈతΞϓϦέʔγϣϯηΩϡϦςΟςετ %"45
• ιϑτΣΞίϯϙδγϣϯղੳ 4$" • ϑΝδϯά GV[[JOH • ϖωτϨʔγϣϯςετ ͳͲ 38
39 39 ڴҖ ϞσϦ ϯά νΣοΫ Ξτ Ϗϧυ ςετ ϦϦʔε
σϓϩΠ 4"45 %"45 ϖϯ ςετ 4$" ϑΝδ ϯά 4$" 4$" ηΩϡϦςΟରࡦΛ4%-$ʹΈࠐΉ ˞ਤҰྫͰ͢
Կ͔ΒΕʜ • Ͱ͖Δͱ͜Ζ͔Β࢝ΊΔ • ʮ੬ऑੑஅʯΛطʹ͍ͬͯΔ৫ଟ͍ͷͰͳ͍͔ • ͜ΕʹՃ͑ͯ4$"ΛऔΓೖΕͯΈΔͷΦεεϝ • ੬ऑੑΛݟ͚ͭΔͷݟ͔ͭͬͨ࣌ͷରԠൺֱత༰қ •
πʔϧ ແྉ͋Δʂ ΛೖΕΔͷࣗࣾͰ݁Ͱ͖Δ͜ͱଟ͘ɺ அͷϓϩΛޏ͏ͷͱൺֱͯ͠खܰ • %"45ͱ4$"͕උΘΕɺͻͱ·ͣࣗͰॻ͍ͨίʔυऔಘ ͨ͠ίʔυΧόʔͰ͖Δ 40
ݸਓͰ࢝ΊΒΕΔ͜ͱ͋Δ • ͪΐͬͱ͚ͩͰηΩϡϦςΟͷχϡʔεΛݟͯΈΔ • ʮηΩϡϦςΟ ͍ͬͯΔαʔϏεʗݴޠٕज़ʯͱ͔ࡶ ʹݕࡧͯ͠Έͯ৭ʑग़ͯ͘Δ • ࣾͷηΩϡϦςΟ୲ͷํͱͯ͠ΈΔ 41
ؔ৺͕ͳ͍ͷ͕ Ұ൪ةݥʂ 42
աڈͷࢲ • ։ൃͦͷͷ͕ͦ͜ʮྑ͍ͷΛͭ͘Δʯ ߦҝͩͱೝ͍ࣝͯͨ͠ • ηΩϡϦςΟରࡦʮΑ͔͘Βͳ͍͚Ͳ Βͳ͖Ό͍͚ͳ͍ͷʯͩͬͨ • ηΩϡϦςΟ͕ͱʹ͔ͯ͘͘͠ා͔ͬͨ 43
!"#$%&' ()* +,-."/ 01."/234
ࠓࢥ͏͜ͱ 44 • ։ൃͨ͠ͷ҆શʹಧ͚ɺͦͷޙ҆શʹӡ༻͠ଓ͚ ͳͯ͘ͳΒͳ͍ • ηΩϡϦςΟ୲Ұॹʹͷͮ͘ΓΛ͢ΔؒͰ͋Δ • ʮ͔Βͳ͍ʯͱ͍͏ࢥ͍ࠐΈ͕͔Βͳ͍ͯ͘͠Δ •
ηΩϡϦςΟൣғ͕େͳͷͰɺղͯ͠ΈΔͱগ͠ ͣͭཧղͰ͖Δ
ͪΐͬͱ͖͔͚ͨͬ͠Ͱ นΛΓӽ͑ΒΕΔ ͪΐͬͱͣͭʜ 45
ۙͳ͔Β 46 • օ͕ʹ͍ͯ͠ΔτϐοΫ • ͕ࣗରԠͨ͠੬ऑੑ ग़యɿ *5NFEJB /&84݄ܝࡌ 044ʮGBLFSKTʯͱʮDPMPSTKTʯͷ։ൃऀɺ
ࣗͰϥΠϒϥϦΛҙਤతʹվ͟Μ ʮͨͩಇ͖͏͠ͳ͍ʯ IUUQTXXXJUNFEJBDPKQOFXTBSUJDMFTOFXTIUNM
৮Εͨ͜ͱͷ͋Δͷ͔Β 47 • ʮ੬ऑੑஅฉ͍ͨ͜ͱ͋Δ͚ͲɺͦΕҎ֎ʹऔΓ ΊΔ࡞ۀ͕͋ͬͨΜͩͳ͊ʯ • ʮ044ͷόʔδϣϯ֬ೝɺखಈͰΔͷ͠ΜͲ͗ͨ͢ʜ ࣗಈԽͰ͖Δπʔϧ͕͋ͬͨͳΜͯʂʯ
ͥͻ͜ͷηογϣϯ Կ͔ͷ͖͔͚ͬʹ ͍ͯͩ͘͠͞ʂ 48
ͦͯ͠ԿΑΓ 49
4#0.׆༻Ͱ কདྷͷඋ͑Λʂ 50
ࠓޙʹޤ͏͝ظʂ 51
53 5IBOLZPV
ࢀߟจݙ • +FOOJGFS%BWJT 3ZO %BOJFMTʰ&GGFDUJWF %FW0QT ʕຊபʹΑΔ࣋ଓՄೳͳ৫จԽͷҭͯํʱ • ʮ8IBUBSFUIFMBZFSTPGTFDVSJUZ "DZCFSTFDVSJUZSFQPSUʯIUUQTHPNJOETJHIUDPNJOTJHIUTCMPHXIBUBSFUIFMBZFSTPG
TFDVSJUZ • ;%/FU݄ܝࡌʮถͳͲͷେنαΠόʔ߈ܸɺ4PMBS8JOETͷιϑτΣΞߋ৽Λѱ༻ʯ IUUQTKBQBO[EOFUDPNBSUJDMF • +'SPH݄ܝࡌʮ-PH4IFMMθϩσΠ͓͖ͬͯ͘͜ͱʯIUUQTKGSPHDPNKBCMPHMPHTIFMMEBZWVMOFSBCJMJUZBMMZPV OFFEUPLOPX • 4ZOPQTZTXIJUFQBQFSʮ0QFO4PVSDF 3JTLJO."CZUIF/VNCFSTʯIUUQTXXXTZOPQTZTDPNDPOUFOUEBNTZOPQTZTTJH BTTFUTXIJUFQBQFSTXQSJTLNBOVNCFSTQEG • ʮʰηΩϡϦςΟɾεΩϟϯʱͷιϑτΣΞߏੳ 4$" ͱʁʯIUUQTXXXSJDLTPGUKQCMPHBSUJDMFTIUNM • ʮ&YQMPSFZPVS044EFQFOEFODJFT7JTVBMMZʯIUUQTXXXMJOLFEJODPNQVMTFFYQMPSFZPVSPTTEFQFOEFODJFTWJTVBMMZNJDIBFMNVMMFS • ʮ4VSWFZPG&YJTUJOH4#0.'PSNBUTBOE4UBOEBSETʯ IUUQTXXXOUJBHPWGJMFTOUJBQVCMJDBUJPOTOUJB@TCPN@GPSNBUT@BOE@TUBOEBSET@XIJUFQBQFS@@WFSTJPO@QEG • ܦ95&$)݄ܝࡌ τϤλ͕ਪ͢αΠόʔରࡦͷ৽ৗࣝʮ4#0.ʯɺྲྀग़͢ΔϦεΫʁ IUUQTXXXJUNFEJBDPKQOFXTBSUJDMFTOFXTIUNM • *5NFEJB /&84݄ܝࡌ 044ʮGBLFSKTʯͱʮDPMPSTKTʯͷ։ൃऀɺࣗͰϥΠϒϥϦΛҙਤతʹվ͟Μ ʮͨͩಇ͖͏͠ͳ ͍ʯIUUQTXXXJUNFEJBDPKQOFXTBSUJDMFTOFXTIUNM • ܦࡁ࢈ۀলใࡦہαΠόʔηΩϡϦςΟ՝ʮ044ͷར׆༻ٴͼͦͷηΩϡϦςΟ֬อʹ͚ͨཧख๏ʹؔ͢Δࣄྫूʯ IUUQTXXXNFUJHPKQQSFTTQEG • ʮ#FTUQSBDUJDFTGPSJOUSPEVDJOH+'SPH9SBZJOUPZPVS%FW4FD0QT QSPDFTTʯIUUQTNFEJBKGSPHDPNXQ DPOUFOUVQMPBET#FTUQSBDUJDFTGPSJOUSPEVDJOH+'SPH9SBZJOUPZPVS%FW4FD0QTQSPDFTTQEG 54 54