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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ihcomega56
February 18, 2022
Technology
6.9k
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
Transcript
54 slides
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
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
190
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2.1k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.7k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
290
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.5k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
350
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
580
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.9k
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / DevSecOps Best Practices learned from my experiences
ihcomega56
1
600
Other Decks in Technology
See All in Technology
田んぼから始まる挑戦 〜新米農家の1年目〜
miu_crescent
PRO
0
360
20261113_JAWS_Osaka
takuyay0ne
0
460
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
190
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
380
evcc & Home Assistant
naltatis
0
770
人間+AIを「チーム」としてプロセスを再設計する
littlehands
2
2.5k
[NW-JAWS DAY]「うちのAWS、インターネット出られないんで」― AWS外の自社サービスをPrivateLinkでシュッと公開する方法
ykimi
2
310
複数システムが同居した 15 年物の AWS アカウントを解体するための考古学
wa6sn
3
150
MCPでネットワーク障害調査を自動化する前に直すべき3つのこと
yama3133
0
200
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
250
Bots in Kiro Crew (One point of contact for ongoing work) | Kiro: Zero to Hero 12
inariku
PRO
1
140
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
How GitHub (no longer) Works
holman
316
150k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
850
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
Facilitating Awesome Meetings
lara
57
7.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
Become a Pro
speakerdeck
PRO
31
6.4k
Ethics towards AI in product and experience design
skipperchong
2
460
How to Ace a Technical Interview
jacobian
280
24k
AI: The stuff that nobody shows you
jnunemaker
PRO
12
1.3k