ãœãããŠã§ã¢ã®ãµãã©ã€ãã§ãŒã³ã¯ç¶ç¶çãªæ»æãåããŠããŸããåäžã®è åšã¢ã¯ã¿ãŒãåäžã®ã€ã³ã·ãã³ãã«ãããã®ã§ã¯ãªããæ°ãæã«ããããšã¹ã«ã¬ãŒãããè¡°ãã®å ããèŠããªããšã³ã·ã¹ãã å šäœã®ãã£ã³ããŒã³ã«ãããã®ã§ãã
ä»é±ãé±ã«83çŸäžåããŠã³ããŒããããçŽ80%ã®ã¯ã©ãŠãç°å¢ã«ååšããHTTPã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªAxiosããä¹ã£åãããã¡ã³ããã¢ã«ãŠã³ãã«ãã£ãŠäŸµå®³ãããŸãããåæé®®ã®ã©ã¶ã©ã¹ã»ã°ã«ãŒãã«é«ãä¿¡é ŒãåŸããã©ãããã©ãŒã ç¹æã®RATãæèŒãã2ã€ã®ããã¯ãã¢ããŒãžã§ã³ãé åãããŠãããæªæã®ããããŒãžã§ã³ã¯çŽ3æé皌åããŠããŸãããããã§ååã ã£ãã
ããã¯ã3æã® TeamPCPãã£ã³ããŒã³ ã«ç¶ããã®ã§ãAqua Securityã®Trivyè匱æ§ã¹ãã£ããŒ(æ°åã®çµç¹ã«ä¿¡é ŒãããŠããã»ãã¥ãªãã£ããŒã«)ãæŠåšåããèªå·±äŒæã¯ãŒã ãä»ããŠCheckmarx KICSãLiteLLMãTelnyxã 141 npmããã±ãŒãžã«ææãæ¡å€§ããŸããããã以åã«ã¯ã Shai-Huludã¯ãŒã ã 2025幎æ«ã«npmãšã³ã·ã¹ãã ãç Žå£ãã Glassworm 㯠400+ VS Codeæ¡åŒµæ©èœãGitHubãªããžããªãnpmããã±ãŒãžã«äžå¯èŠãªUnicodeãã€ããŒãã䜿ã£ãŠææãããŸããã
ãããã®ã€ã³ã·ãã³ããã¹ãŠã§ãã¿ãŒã³ã¯äžè²«ããŠããŸããæ»æè ã¯éçºè ã®èªèšŒæ å ±ãçã¿ãããã䜿ã£ãŠä¿¡é Œã§ããããã±ãŒãžãæ¯ãã䟵害ãããããã±ãŒãžã¯ããã«èªèšŒæ å ±ãçã¿ãŸããããã¯èªå·±åŒ·åçã§ãããå éããŠãããä»ãã©ã³ãµã ãŠã§ã¢ã®åçåãã€ãã©ã€ã³ãèåŸã«ååšããŠããŸãã
å ±éã®ç³žã¯æé»ã®ä¿¡é Œã§ã
ãããã®åŠ¥åã§å®éã«äœã倱æããã®ããèŠããšãçãã¯æ¯ååãã§ããä¿¡é Œã æ€èšŒãããã¹ããšããã§åæãšãããã®ã§ããçµç¹ã¯ã³ã³ããã¿ã°ãä¿¡é ŒããŠããŸããããªããªãã銎æã¿ã®ããååã ããã§ãã圌ãã¯ããŒãžã§ã³çªå·ãããããGitHub Actionãä¿¡é ŒããŠããŸãããã¯ãŒã¯ãããŒã¯ããŒã ã®èª°ããäœæãããããCI/CDã®ç§å¯ãä¿¡é ŒããŠããŸããããããã®å Žåããæ»æè ã¯ä»®å®ãããä¿¡é Œãšæ€èšŒãããä¿¡é Œã®éã®ã®ã£ãããå©çšããŸããã
ãããã®ã€ã³ã·ãã³ããæå°éã®è¢«å®³ã§ä¹ãè¶ããçµç¹ã¯ããã§ã«æé»ã®ä¿¡é Œãæç€ºçãªæ€èšŒã«çœ®ãæãå§ããŠããŸãããã³ãã¥ããã£ãã«ã®ä»£ããã«æ€èšŒãããããŒã¹ã€ã¡ãŒãžãå¯å€ã¿ã°ã®ä»£ããã«åºå®ãããåç §ãé·å¯¿åœããŒã¯ã³ã®ä»£ããã«ã¹ã³ãŒãä»ããã€çåœãªèªèšŒæ å ±ããããŠãªãŒãã³ãªCIã©ã³ããŒã®ä»£ããã«ãµã³ãããã¯ã¹åãããå®è¡ç°å¢ãå°å ¥ããŸããããããã¯æ°ããã¢ã€ãã¢ã§ã¯ãªããå®è£ ãé£ãããã®ã§ã¯ãããŸããã圌ããæ±ããã®ã¯ãããã©ã«ãã®å§¿å¢ãå€ããããšã§ããã€ãŸããçç±ããªãéãä¿¡é Œããããããä¿¡é Œããåã«æ€èšŒããæ€èšŒã倱æããå Žåã¯ççºç¯å²ãå¶éããããšããããšã§ãã
ããã§ã¯ããã¹ãŠã®ãšã³ãžãã¢ãªã³ã°çµç¹ãæšå¥šãã¹ãããšããããŠç§ãã¡èªèº«ãDockerã§å®è·µããŠããããšã玹ä»ããŸãã
åºç€ããã£ããå®ããŸããã
ãŸãã¯ä¿¡é Œã§ããããŒã¹ã€ã¡ãŒãžããå§ããŸããã
æ€èšŒã§ããªãã¢ãŒãã£ãã¡ã¯ãã®äžã«æ§ç¯ããªãã§ãã ãããDocker Hardened Images (DHI)ã¯ãDockerã«ãã£ãŠSLSAãã«ãã¬ãã« 3 蚌æã眲åãããSBOMãVEXã¡ã¿ããŒã¿ãçšããŠãœãŒã¹ããåæ§ç¯ãããApache 2ã®äžã§ç¡æãã€ãªãŒãã³ãœãŒã¹ã§æäŸãããŠããŸãã0ãDHIã¯TeamPCPã®åœ±é¿ãåããŸããã§ããããªããªããTeamPCPã®ç®¡çããããã«ããã€ãã©ã€ã³ãšå
èµãããã¯ãŒã«ããŠã³æéã«ãããçæéã®ãµãã©ã€ãã§ãŒã³ã®è匱æ§(éåžž 1 ã 6 æé)ãã€ã¡ãŒãžã«çŸããåã«æé€ãããããã§ãã仿¥ã§ã䜿ããªãçç±ã¯ãããŸãããDocker Hardened Images(Node.jsçš)PythonãRustã«ã¯Socket Firewallãå«ãŸããŠãããã€ã³ã¹ããŒã«æã«æªæã®ããäŸåé¢ä¿ããããã¯ããCanisterWormãAxiosã®äŸµå®³ã®ãããªãµãã©ã€ãã§ãŒã³æ»æã npm install ã pip install å®è¡åã«ååããŸãã
ãã¹ãŠããã€ãžã§ã¹ãã§ãã³çãããããSHAã«ã³ãããããŠãã ãã
å¯å€ã¿ã°ã¯ã»ãã¥ãªãã£ã®å¢çç·ã§ã¯ãããŸããããŸãã«ãããTeamPCPãããªãã¢ã¯ã·ã§ã³ããŒãžã§ã³ã¿ã° 75 ä¹ã£åã£ã 76 æ¹æ³ã§ããGitHub Actionsãå®å šãª 40æåã³ãããSHAã«ãã³çããŠãã ãããsha256 digestã«ããã³ã³ããç»åããã³ãããã±ãŒãžäŸåé¢ä¿ãæ£ç¢ºãªããŒãžã§ã³ã«ãã³ãã^ããã³~ã®ç¯å²ãåé€ããŸããåç §ãååãå€ããã«äžæžãã§ãããªããããã¯äžæžããããŸããããªãã管çããŠããGitHubã¢ã¯ã·ã§ã³ã«ã€ããŠã¯ã Immutable Releasesãæå¹ã«ããŠãã ãããããã«ãããå ¬éåŸã«ãªãªãŒã¹ã¿ã°ãããã¯ããçœ²åæžã¿ã®ã¢ãã¹ã¡ã³ããçæããŸããããã«ãããTeamPCPãtrivy-actionãä¹ã£åã£ãã¿ã°æžãæãæ»æãé²ããŸããçµç¹å ã§äœ¿çšãããŠãããã¹ãŠã®ãµãŒãããŒãã£GitHubã¢ã¯ã·ã§ã³ãã€ã³ãã³ããªåããã«ã¿ãã°åããŠããªããã®ã¯ãã³çãã§ããªããããèš±å¯ãªã¹ãããªã·ãŒã峿 Œã«é©çšããŠãã ãããçµç¹å ã®ãã¹ãŠã®ããã±ãŒãžã¬ãžã¹ããªã¢ã«ãŠã³ã(npmãPyPIãRubyGemsãDocker Hubãªã©)ã§äºèŠçŽ èªèšŒãæå¹ã«ããŠãã ãããåäžã®ã¡ã³ããã«ããã¢ã«ãŠã³ãä¹ã£åããã»ãšãã©ã®æ»æã®å§ãŸãæ¹ã§ããããã¯ãã¡ã€ã«ãã³ããããããã¹ãŠã®CIãã€ãã©ã€ã³ã§npm ci(ãŸãã¯ããã±ãŒãžãããŒãžã£ãŒå ã®åçã®ãã®)ã䜿ããŸããããããã«ãããããã¯ãã¡ã€ã«ã«å«ãŸããŠããªãæ°ããããŒãžã§ã³ããã«ããç¡é³ã§åŒãå¯ããã®ãé²ããŸãã
äŸåé¢ä¿ã®æŽæ°ã«ã¯ã¯ãŒã«ããŠã³æéã䜿ããŸããã
npmãRenovateããæ°ããŒãžã§ã³ã®å°å ¥ãé ãããæäœãªãªãŒã¹å¹Žéœ¢èšå®ããµããŒãããŠããŸããã»ãšãã©ã®ãµãã©ã€ãã§ãŒã³æ»æã¯æ°æéã®æå¹æéãããã 3æ¥ã®ã¯ãŒã«ããŠã³ã§ã»ãšãã©ã®æ»æãæé€ãããŸããäžè¬çãªããã±ãŒãžãããŒãžã£ãŒãããŒã«ã®ããã®å®å šãªããã©ã«ãèšå®ã®ã³ã¬ã¯ã·ã§ã³ãç¶æããŠããŸãã䜿ã£ãŠãã ãããããã«è²¢ç®ããŸãããã
ãã«ãæã«SBOMãçæããŸã
ã€ã³ã·ãã³ããçºçãããšããæåã®çåã¯åžžã«ãç§ãã¡ã¯åœ±é¿ãåããŠããã®ã?ãã§ããdocker buildxã䜿ã£ãŠç»åãäœæããã°ããã«ãäžã«SBOMãåºæèšŒæãçæã»ä»äžã§ããŸãã眲åããŠãã ãããç»åãšäžç·ã«ä¿åããŸããããæ¬¡ã®AxiosãTrivyãåããšãã¯ãã©ã€ãã®Kubernetesãããã«å®è¡ããŠäœãåããŠãããã調ã¹ãã®ã§ã¯ãªãããã«ãã®ã¡ã¿ããŒã¿ããã§ãã¯ããŸããDocker Scoutã¯ãæ¢ç¥ã®è匱æ§ãããªã·ãŒéåã«å¯ŸããŠãããã®SBOMãç¶ç¶çã«ç£èŠã§ããŸãã
CI/CDãå®å šã«ä¿ã¡ãŸããã
ãã¹ãŠã®CIã©ã³ããŒãæœåšçãªçªç Žç¹ãšããŠæ±ããŸããã
TeamPCPã®èªèšŒæ å ±ççšè£ 眮ã¯CI/CDãã€ãã©ã€ã³å ã§åäœããããã»ã¹ã¡ã¢ãªããã³ããã 50+ãã¡ã€ã«ã·ã¹ãã ãã¹ããç§å¯ãã¹ã€ãŒãããŠããŸãããã¯ãŒã¯ãããŒã¹ãããã«ã¢ã¯ã»ã¹å¯èœãªãã®ã¯ããã®ã¹ãããã§äŸåé¢ä¿ã䟵害ããæ»æè ã«ãã¢ã¯ã»ã¹å¯èœã§ããGitHub Actionsã§pull_request_targeããªã¬ãŒã¯çµ¶å¯Ÿã«å¿ èŠãªå Žåãé€ãé¿ããæç€ºçãªã»ãã¥ãªãã£ãã§ãã¯ãè¡ã£ãŠãã ãããããã¯TeamPCPãç§å¯ã«ã¢ã¯ã»ã¹ã§ããããŒã¹ãªããžããªã®æèã§ã³ãŒããå®è¡ããããã«äœ¿ã£ãŠãããŸãã«ãã®ä»çµã¿ã§ããåã¯ãŒã¯ãããŒã¹ããããå°éã§ããç§å¯æ å ±ãç£æ»ããŸããããã¹ãã£ã³ã¹ããããããªãã®ãããã€ã¡ã³ãèªèšŒæ å ±ã«ã¢ã¯ã»ã¹ã§ãããªããããã¯ã¹ãã£ã³ã®åé¡ã§ã¯ãªããã©ã¹ãååŸã®åé¡ã§ãã
çåœã§ç¯å²ã®çãè³æ Œæ å ±ã䜿ã
Trivyã®æŒæŽ©ã®æ ¹æ¬åå ã¯ã 33+ã¯ãŒã¯ãããŒå šäœã§åºç¯ãªç¯å²ã§äœ¿çšãããåäžã®ããŒãœãã«ã¢ã¯ã»ã¹ããŒã¯ã³ã§ãããçåœã§ç¯å²ã®çãè³æ Œã䜿ããŸããããåäžã®ããŒã¯ã³ãã¯ãã¹ãªããžããªãçµç¹å šäœã®ã¢ã¯ã»ã¹æš©ãäžããã¹ãã§ã¯ãããŸãããã¯ãŒã¯ãããŒãã¡ã€ã«ã«æ£ãã°ãç°å¢å€æ°ã§ã¯ãªããã·ãŒã¯ã¬ãããããŒãžã£ãŒã䜿ããŸãããããã®åéã¯ãDocker Hubãå«ããšã³ã·ã¹ãã ãåŒãç¶ãæ¹åãã¹ãåéã§ãããç§ãã¡ã¯ç©æ¥µçã«åãçµãã§ããŸãã
å éšãã©ãŒãã¢ãŒãã£ãã¡ã¯ããããã·ã䜿ããŸããã
建ç¯ã·ã¹ãã ãšå ¬éã¬ãžã¹ããªãŒã®éã«ArtifactoryãCodeArtifactããŸãã¯Nexusãé 眮ããŠãã ããããã€ãã©ã€ã³ã«å±ãåã«ãããŒãžã§ã³ãã¹ãã£ã³ããŠæ¿èªããŠãã ãããDocker Businessã®é¡§å®¢ã¯ãRegistry Access ManagementãImage Access Managementã䜿ã£ãŠãéçºè ãååŸã§ããã¬ãžã¹ããªãŒãã€ã¡ãŒãžãå¶éããããšãã§ããå®å šãªã¢ãŒãã£ãã¡ã¯ããããã·ãå®è¡ããªãããŒã åãã«è»œéãªããªã·ãŒã¬ã€ã€ãŒãæäŸããŸãã
æ¬çªç°å¢ã®ç§å¯ãååšããªãäŸåé¢ä¿ã®æŽæ°ããã¹ãããŸã
æ¬çªç°å¢ã®èªèšŒæ å ±ã«ã¢ã¯ã»ã¹ã§ããªãéçºã»ã¹ããŒãžã³ã°ç°å¢ã§ã®ã¢ããããŒããè©äŸ¡ãããæªæã®ããããã±ãŒãžãã¹ããŒãžã³ã°ã§å®è¡ãããŠãã䟡å€ãããã®ã¯äœãçãŸããŸããã
ãšã³ããã€ã³ããå®å šã«ããŸããã
ããããã»ãšãã©ã®æ»æãå§ãŸããTeamPCPãShai-HuludããããŠä»ã®Axiosã¯ãããããéçºè ãã·ã³ããããããã¡ã€ã«ãç°å¢å€æ°ãSSHããŒããã©ãŠã¶ã»ãã·ã§ã³ãã¯ã©ãŠãèšå®ã«ä¿åãããèªèšŒæ å ±ãã¹ã€ãŒãããã€ã³ãã©ã¹ãã£ãŒã©ãŒãå±éããŠããŸããCI/CDãã€ãã©ã€ã³ã®ä¿è·ã¯éèŠã§ããããã€ãã©ã€ã³ãäœæããéçºè ãã·ã³ã䟵害ãããå Žåãæ»æè ã¯ãã®éçºè ãå°éã§ãããã®ãç¶æ¿ããŸãã
ã«ããªã¢ããŒã¯ã³ã®å±é
AWSããŒãAPIããŒã¯ã³ãSSHããŒãªã©åœã®èªèšŒæ å ±ãããªãŒãå šäœã«é 眮ããããã¯çã¿åºãããéã«èŠåãã以å€ã«ç®çã®ãªããã®ã§ããã€ã³ãã©ã¹ãã£ãŒã©ãŒããã·ã³ãã¹ã€ãŒããããšãæ¬ç©ã®èªèšŒæ å ±ã䜿ãããåã«ã«ããªã¢ããŒã¯ã³ãçºå°ãããŸããTracebitãCanarytokensã®ãããªããŒã«ãããã°ããããç°¡åã«ã§ããŸããMDMãœãªã¥ãŒã·ã§ã³(JamfãIntuneãJumpcloud)ãããã°ããã¹ãŠã®ç®¡çããã€ã¹ã«ã«ããªã¢ãããã·ã¥ããŠãã ãããããã1æ¥ä»¥å ã«èŠéå šäœã«å±éããŸããã
è³æ Œã®ã¯ãªãŒã³ã¢ãã ã¹ãããŒã«
ç£æ» ~/.ssh/ã ~/.aws/credentialsã ~/.docker/config.jsonã.envãã¡ã€ã«ãããŒãã³ãŒãã£ã³ã°ãããç§å¯ã®ã·ã§ã«å±¥æŽãªã©ã§ãããã¹ãŠãã¹ã¯ãŒããããŒãžã£ãŒãç§å¯ä¿ç®¡åº«(1ãã¹ã¯ãŒããHashiCorpã®ä¿ç®¡åº«)ã«ç§»ããŠãã ããããã¹ãŠã®SSHããŒããã¹ãã¬ãŒãºä¿è·ãã¯ãªã¢ããã¹ãèªèšŒæ
å ±ã®ãªããã·ã³ã«ãã©ãçããã€ã³ãã©ã¹ãã£ãŒã©ãŒã¯ãäœã®åœ¹ã«ãç«ããªããéçºè
ããŒã«å
šäœã«ã€ã³ã¹ããŒã«ãããŠããæ¡åŒµæ©èœããã©ã°ã€ã³(IDEæ¡åŒµæ©èœããã©ãŠã¶æ¡åŒµæ©èœãã¹ãã«ããã©ã°ã€ã³ãMCPãµãŒããŒãªã©ã®ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãæ¡åŒµãªã©)ãç£æ»ããŠãã ããããããã¯éçºè
ã¬ãã«ã®æš©éã§åäœããåŸåããããã»ãšãã©ã®ããŒã±ãããã¬ã€ã¹ã¯ååå
¬éåŸã«æŽæ°ãå審æ»ããŸããã
è¡åæ€åºä»ãã®EDRãå±éãã
ãšã³ããã€ã³ãã®æ€åºããã³å¯Ÿå¿ããŒã«ã¯ãæ¢ç¥ã®ãã«ãŠã§ã¢ã·ã°ããã£ã ãã§ãªããèªèšŒæ å ±ã¹ãŠã£ãŒãã³ã°ãæ°žç¶åã¡ã«ããºã ãç°åžžãªããã»ã¹æåã«å¯Ÿå¿ããããã«æ€åºãããã¹ãã§ãã
AIéçºã®å®å šã確ä¿ãã
AIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã¯ãæ¥çãããããèªèãå§ãã圢ã§ãµãã©ã€ãã§ãŒã³ãªã¹ã¯ãå¢å€§ãããŠããŸãããšãŒãžã§ã³ãã¯ããã±ãŒãžãã€ã³ã¹ããŒã«ããèšå®ãä¿®æ£ããAPIåŒã³åºããè¡ããéçºè ã¬ãã«ã®ã¢ã¯ã»ã¹æš©ãæã€ã³ã³ãããç«ã¡äžããŸãããšãŒãžã§ã³ãã«ãã£ãŠåŒãå¯ããããäŸåé¢ä¿ã䟵害ãããå Žåã䟵害ãããéçºè ãã·ã³ãšåãç¯å²ãæã¡ããããã®ãšãŒãžã§ã³ããå©çšãã人ã«ã¯ãæªããè¡åãèªèã§ããªãééçºè ãå«ãŸããããã«ãªããŸããã
ãµã³ãããã¯ã¹ç°å¢ã§ãšãŒãžã§ã³ããåãã
Docker Sandbox(sbx)㯠ãClaude CodeãGemini CLIãCodexãªã©ã®AIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ããåé¢ãããmicroVMå ã§å®è¡ããŸããåãµã³ãããã¯ã¹ã¯ãã¹ãããå®å šã«åé¢ãããç¬èªã®ã«ãŒãã«ããã¡ã€ã«ã·ã¹ãã ãDocker Engineããããã¯ãŒã¯ãæã£ãŠããŸããèªèšŒæ å ±ã¯ãã¹ããããã·ã«ãã£ãŠHTTPããããŒã«æ³šå ¥ãããVMã«çŽæ¥å ¥ãããšã¯ãããŸããããããã¯ãŒã¯ã¢ã¯ã»ã¹ã¯ããã©ã«ãã§æåŠãããŠãããæç€ºçãªèš±å¯ãªã¹ãããããŸãã䟵害ãããäŸåé¢ä¿ããµã³ãããã¯ã¹å ã§åäœããŠããå Žåããã¹ãã®ãã¡ã€ã«ã·ã¹ãã ãDockerããŒã¢ã³ãä»ã®ã³ã³ããããŸãã¯æç€ºçã«æ¿èªããŠããªããã¡ã€ã³ã«ã¯å±ãããšãã§ããŸããã
MCPãµãŒããŒã管çããŸããã
ã¢ãã«ã³ã³ããã¹ããããã³ã«ãµãŒããŒã¯ãæ°ããªæªæ€èšŒã®äŸåé¢ä¿ã§ãã圌ãã¯åºç¯ãªæš©éã§åäœããAIãšãŒãžã§ã³ããå éšã·ã¹ãã ã«æ¥ç¶ããåæãããMCPãµãŒããŒã®43%ã«ã³ãã³ãã€ã³ãžã§ã¯ã·ã§ã³ã®æ¬ é¥ããããŸããMCPãµãŒããŒã«ã¯çœ²åæžã¿ã®ããŒãåã€ã¡ãŒãžã䜿çšããŠãã ãããDocker㯠300+æ€èšŒæžã¿ã®MCPãµãŒããŒã€ã¡ãŒãžããDHIãšåãSLSA/SBOMæšæºã§ç®¡çããŠããŸããDockerã® MCPã²ãŒããŠã§ã€ ã¯ããã¹ãŠã®ãšãŒãžã§ã³ãéãã©ãã£ãã¯ã«å¯ŸããŠãäžå€®éæš©çãªãããã·ãããªã·ãŒåŒ·å¶ãã·ãŒã¯ã¬ããããããã³ã°ãç£æ»ãã°ãæäŸããŸãã
ããŒã«æ°ãæžãããäžå€®éæš©ã§ç®¡çããæšæºå
ãã¹ãŠã®AIããŒã«ãã¢ãã«ãåãããããªãèªæããããŸãããããŠãä¿¡é Œã§ããã¹ã¿ãã¯ã«çµ±åããMDMçµç±ã§ç®¡çãããæ§æãããã·ã¥ããDocker Desktopã®ç®¡çæ©èœ(ã¬ãžã¹ããªã¢ã¯ã»ã¹ç®¡çããããã·èšå®ãã€ã¡ãŒãžã¢ã¯ã»ã¹ç®¡ç)ã䜿ã£ãŠããšãŒãžã§ã³ããäœãååŸã§ããã©ãã§ããã·ã¥ã§ããããå¶åŸ¡ããŸãããã
ã€ã³ã·ãã³ã察å¿ã®ããã®çèãã€ãã
æ¬çªç°å¢ã®ãã¹ãŠã®SBOMãç¶æããŸããã
次ã®åХ忡ãåºãããã圱é¿ãåããŸãã?ããšæ°åã§çããå¿ èŠããããŸããæ°æ¥ã§ã¯ãªããdocker buildxã«ãããã«ãã¿ã€ã SBOMãšDocker Scoutã®ç¶ç¶çãªç£èŠãçµã¿åãããããšã§ããã®æ©èœãåŸãããŸãããšã¯ã¹ããŒãžã£ãŒã決ããããã«ã³ã³ãããåãããªããã°ãªããªããªãããã§ã«é ãããšã£ãŠããŸãã
ãã¬ã€ããã¯ãçšæããŠãããŠãã ãã
GitHubã®çµç¹ãåçµããæ¹æ³ãCI/CDãäžæåæ¢ãã€ã€ãã¹ãŠãå£ããã«è¡ãæ¹æ³ãè³æ Œæ å ±ãäžæ¬åãæ¶ãããã¬ãã·ã£ãŒã®äžã§è¡ãåã«é¡§å®¢ã«ã³ãã¥ãã±ãŒã·ã§ã³ãåãæ¹æ³ãç¥ã£ãŠããããšãã€ã³ã·ãã³ã察å¿ã®ã¯ãŒã¯ãããŒãææ¡ããæéã¯ãã€ã³ã·ãã³ãäžã§ã¯ãããŸããããŸã ã§ããã°ãnpm/PyPI/DockerãHubã¢ã«ãŠã³ãã®äžæ£å ¬éã®ç¢ºèªãäºæãã¬ãããã¯ãŒã¯é話ãç§å¯ã¢ã¯ã»ã¹ã®ææ°CIãã°ã確èªããéå» 90 æ¥éã«CIãã¢ã¯ã»ã¹ã§ããé·å¯¿åœããŒã¯ã³ãããŒããŒã·ã§ã³ããŠãã ããã
ä¿¡é Œããåã«ç¢ºèªããéèŠãªéšåã¯ãã£ãããšé²ããŸããã
ã»ãšãã©ã®ãµãã©ã€ãã§ãŒã³æ»æã¯æ°æé以å ã«çãå°œããŠããŸããã¯ãŒã«ããŠã³æéãæåã¬ãã¥ãŒã²ãŒãããããã¯åã« 72 æéåŸ ã€ãªã©ã®ããããªé å»¶ããã»ãšãã©ã®ãªã¹ã¯ãæé€ããŸããæ¡çšã®ã¹ããŒãã¯åŠ¥åã®ã³ã¹ãã«èŠåããŸããã
ç¶æ³ã¯å€ãã£ãã®ã§ãããªãã®ããã©ã«ããå€ããã¹ãã§ã
ãµãã©ã€ãã§ãŒã³æ»æã®æ³¢ã¯åäžã®ã€ã³ã·ãã³ãã«å¯Ÿå¿ãããã®ã§ã¯ãããŸãããããã¯è åšã®ç¶æ³ã«ãããæä¹ çãªå€åã§ããæ»æè ã¯ãLazarus Groupã®ãããªåœå®¶éå¶è ãããé¢éžäžã«é£è¡æ©ãçµã¿ç«ãŠãAIã䜿ã£ãŠå éããã©ã³ãµã ãŠã§ã¢ãšã®ææºã§åçåãå³ãTeamPCPãLAPSUS$ã®ãããªæ©äŒäž»çŸ©çãªãã£ãŒã³ãšã€ãžã£ãŒãŸã§å€å²ã«ããããŸãã圌ããå©çšããŠãããšã³ã·ã¹ãã ãããªãã¡npmãPyPIãGitHub Actionsãã³ã³ããã¬ãžã¹ããªã¯ãä¿¡é Œã¢ãã«èªäœãæ ¹æ¬çã«å€ãã£ãŠããŸããã
å€ãã£ãã®ã¯ãé²åŸ¡è ããã€ãŠæé»ã®ä¿¡é Œããéžæè¢ã§ãªãã£ããã®ãããæç€ºçãªä¿¡é Œå¢çã確ç«ããææ®µãæã€ããã«ãªã£ãããšã§ããããŒãåãããããŒã¹ã€ã¡ãŒãžããã«ãã¿ã€ã ã®èšŒæããµã³ãããã¯ã¹åãããå®è¡ãã«ããªã¢ããŒã¹ã®æ€åºã¯ã2幎åã®ãã®æç床ã¬ãã«ã§ã¯ååšããŸããã§ããããããã®å±€ãæ¡çšããçµç¹ãšããã§ãªãçµç¹ã®éã®ã®ã£ããã¯æ¥éã«åºããã§ãããã
ããã§æšå¥šããããšã¯ãã¹ãŠDockerã§å®è·µããŠããŸããå ¬éã¬ãžã¹ããªãŒããååŸããCI/CDãã€ãã©ã€ã³ãéçšããAIãšãŒãžã§ã³ãã䜿çšããããªããšåãè åšã¢ã¯ã¿ãŒã«çŽé¢ããŠããŸãããããç§ãã¡ãèªåãã¡ãå®ãæ¹æ³ã§ãã
åèæç®:
- Docker Hardened Images:ç¡æã®çœ²åæžã¿ãSLSAæºæ ã®ããŒã¹ã€ã¡ãŒãž
- Docker Scout:SBOMçæãèåŒ±æ§æ€åºãããªã·ãŒåŒ·å¶
- Docker Sandboxes:AIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãåãã®å€ç«ããmicroVMs
- ã»ãŒãããã©ã«ã:ããã±ãŒãžãããŒãžã£ãŒãšããŒã«ã®ããã®å®å šãªèšå®
- Docker Buildxã§SBOMãæ§ç¯ããæ¹æ³:ãã«ãæã«provenanceãšSBOMãä»ãã