Docker Scout: ãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³å šäœã®ä¿è·
æ¬æ¥ã¯ãå¿ããäžããåå ããã ãããããšãããããŸãã ä»åã¯ããœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã®ä¿è·ã«é¢ãããããã¯ãåãäžããDocker Scout GAãšããã«ä»éãããã¹ãŠã®ããšã«ã€ããŠãä»èããããšã«ã€ããŠçŽæ¥æãäžããŸãã
念ã®ããã Docker Scout ã¯çŸåšäžè¬æäŸãããŠããŸããçãããç«ã¡äžããŠå®è¡ãããã®ãèŠãã®ãæ¬åœã«æ¥œãã¿ã«ããŠããŸãããŸããDocker Scout GAã§äœ¿çšã§ããæ¬åœã«ã³ã¢ãªæ©èœã®ããã€ãã瀺ããã¢ã玹ä»ããŸããããã§ã¯ããå°ãåºãæ çµã¿ãèšå®ããDocker Scoutãæåã«æ§ç¯ãããæ¹æ³ãšããããã®åé¡ã解決ããããã«æ§ç¯ãããçç±ã®äžæ žãšãªãããããã®éåžžã«ççã§éåžžã«ããªãããŒãªèª²é¡ã«å¯ŸåŠããããã«ãDocker Scoutãå®éã«åœ¹ç«ã€æ¹æ³ã®ããã€ãã«ã€ããŠèª¬æããŸãã
æŠèŠ
倧ãŸããªæŠèŠãšããŠãDocker Scoutã¯ãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³å šäœã§ãããã®ã·ã°ãã«ãçæããããšã«éç¹ã眮ããŠããŸãã åºèª¿è¬æŒã§èª¬æãããã¹ãŠã®çµ±åã¯ãéçºã¯ãŒã¯ãããŒã«æ å ±ãæäŸããã®ã«éåžžã«åœ¹ç«ã¡ãŸããã ãããŠããããã®éçºã¯ãŒã¯ãããŒã®ããã€ããé ã远ã£ãŠèª¬æããŸãã
éçºè ã¯ãäœæ¥ããŠããå Žæã§ãããã®ã³ã³ããã¹ã ã¬ã³ã¡ã³ããŒã·ã§ã³ã䜿çšããæ©äŒãå©çšããŠããããã®å€ãã®çµ±åã®ãã¹ãŠãéããŠåéãããããŒã¿ã掻çšãããã®çµæãšããŠäžé£ã®ä¿®åŸ©ã¯ãŒã¯ãããŒã«ã¹ãããã¹ã«ãŒã§ããããã«ããæ¹æ³ãçå£ã«èããŠããŸãã ããŸããŸãªã客æ§ããç¹°ãè¿ãã話ã䌺ãç¶ããŠããããšããããã®èª²é¡ã«ã©ã®ããã«å¯ŸåŠããå¿ èŠãããããDocker Scoutããããã«æ£é¢ããåãçµãã®ã«ã©ã®ããã«åœ¹ç«ã€ãã«ã€ããŠãããå°ã詳ãã説æããŸãã
ä¿¡å·ãšãã€ãºã®åé¢
çµå±ã®ãšãããéçºã¯ãŒã¯ãããŒã®çµç€ã§åé¡ã«æ°ã¥ãããšãåå ã§ãã ãããããæ¬çªç°å¢ã®çŽåã«ãã»ãã¥ãªãã£ããŒã ãä»å ¥ããç¹å®ã®ã»ãã¥ãªãã£äžã®èª²é¡ã解決ããå¿ èŠãããããšãéçºè ã«äŒããŸããããã®éãäœããæ¬çªç°å¢ã«è¿ éã«ããã·ã¥ãããå¿ èŠãããããã»ã¹ã§ãã ãããŠãããã«ãæŽå¯åãäžè¶³ããŠããŸãã
å€ãã®ã€ã³ãµã€ããå ¥ã£ãŠãããããããŸããã ããããå®éã«ã¯ãããããä¿¡å·ãæœåºããããšã¯é£ããããã€ãºéšåã«è¶³ãèžã¿å ¥ããŸãã ãããŠããããã®ã€ã³ãµã€ãã¯ãå¿ èŠãªã³ã³ããã¹ããæããªãåŸåããããå¹ åºãçµ±åå šäœã§åŸããããšã³ãããŒãšã³ãã®å¯èŠæ§ãæ¬åœã«æ¬ ããŠããŸãã ã ãããæ¬¡ã®äœåã«è¶³ãèžã¿å ¥ãããšãããã«ä»éãããã€ãºã«åž°çããã
ããã¯ãéåžžã«äžè¬çãªèª²é¡ã§ãã åªå é äœãä»ããã¹ãåé¡ãå€ãããŠã广çã«ããªã¢ãŒãžããŠé©åãªè§£æ±ºçã«èžã¿èŸŒãããã®æ å ±ãè¶³ããŸããã ãããŠãæ¬æ¥æ¬åœã«è§£æ±ºããããšããŠããçã®ãªã¹ã¯ãšã¯ã¹ããŒãžã£ãŒããåãé¢ãããŠããã®ã§ãã
ãããŠãçµå±ã®ãšãããéçºè ã®ãšã¯ã¹ããªãšã³ã¹ã®äœããšããã®ãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ãããããŸãä¿è·ããæ¹æ³ã解決ããããšããããã®ãã¹ãŠã®ã³ã³ããã¹ãã·ããã«ã€ããŠèãããšããããã®éåžžã«å埩çãªã¿ã¹ã¯ãçºçããå€ãã®ç°ãªããã€ã³ããœãªã¥ãŒã·ã§ã³ã®éãè¡ãæ¥ããããšã«ãªããŸãã ããã»ã¹ã«ãããéçºããŒã ãšã»ãã¥ãªãã£ããŒã éã®ã³ã©ãã¬ãŒã·ã§ã³ã¯å°é£ã§ãããããããã¹ãŠã®ããã»ã¹ãéããŠãã¹ãŠããšã³ãããŒãšã³ãã§è¿œè·¡ãã广çãªã¡ã«ããºã ãæã€ããã®ååãªãã¬ãŒãµããªãã£ããªãããšãããã£ãŠããŸãã
åæã修埩ãè©äŸ¡
ãããã£ãŠããããã®äž»èŠãªèª²é¡ã®è§£æ±ºãæ¯æŽããããšã«ãªããšããã®åæãä¿®æ£ãè©äŸ¡ã®çš®é¡ã®ã¯ãŒã¯ãããŒãšããŠãããã€ãã®æ¹æ³ã§ãã°ããèŠçŽã§ãããã®ã段éçã«èª¬æããŸãã Docker Scoutã¯ãåæã®éšåããå§ããŠãã³ã³ããŒãã³ããã©ã€ãã©ãªãããŒã«ãããã»ã¹ãåæããŠã³ã³ããã¹ãã远å ãããœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³å šäœã®éææ§ãé«ãããããä¿®æ£ã§ããããã«ããæ¹æ³ãèããã®ã«æ¬åœã«åœ¹ç«ã¡ãŸãã Docker Scout ã¯ãã³ã³ããã¹ããæšå¥šäºé ãéããŠãããã¹ããŒããªéçºäžã®æ±ºå®ãå°ãã®ã«åœ¹ç«ã¡ãŸãã
ããã»ã¹å šäœãéããŠããããã®é¢é£ãã倿Žã«åºã¥ããŠãããã®ä¿®æ£ãæ€åºã匷調衚瀺ãããã³ææ¡ããã®ã«åœ¹ç«ã€ããªã·ãŒè©äŸ¡ããããŸãã ãã®ãããèšå®ããããªã·ãŒã«åºã¥ããŠããããªéžè±ãèŠãããããã«äœ¿çšã§ããããªã·ãŒãããå€ã衚瀺ã§ããå Žåã¯ããã®ã³ã³ããã¹ãããããå€ãã®ãã®ã衚瀺ããããšãéåžžã«åœ¹ç«ã¡ãŸãã
çµå±ã®ãšãããæåããä¿¡é Œæ§ãšã»ãã¥ãªãã£ãçµã¿èŸŒãã§æ§ç¯ã§ãããã©ããã«ããã£ãŠããŸãã ã ãããšã€ããŒ(ã»ããŒã¹)ã¯ãããã§åºãŠããæ¬åœã«æ žå¿çãªæ²ãããããèžãããšãã§ãããã ã ãŸããä¿¡é Œã§ããã³ã³ãã³ããã€ãŸãDockerã®å ¬åŒã€ã¡ãŒãžãDockerã®æ€èšŒæžã¿ãããªãã·ã£ãŒãDockerãã¹ãã³ãµãŒãšãªã£ãŠãããªãŒãã³ãœãŒã¹ã³ã³ãã³ããåæ§ã§ãã ããã«ããããœãããŠã§ã¢ã¢ãŒãã£ãã¡ã¯ãã®ã©ã€ããµã€ã¯ã«å šäœã远跡ããä¿¡é Œã§ããã³ã³ãã³ããæåããæ§ç¯ã§ãããããå°æ¥çºçããå¯èœæ§ã®ãã課é¡ã®äžéšãé²ãããšãã§ããŸãã
ããã«ãäžå åããããã¥ãŒã¯ãäžå åãããã€ã³ãµã€ãã® 1 ã€ã®ãã¥ãŒããæäœã§ããå šäœçãªå¯èŠæ§ãå¶åŸ¡ããèŠãŠããããŒã¿ ãœãŒã¹ã®ã»ããã«æãé¢é£æ§ã®é«ãããŸããŸãªããªã·ãŒããã¹ãŠç¢ºèªããããšãã§ããŸãã ãããŠãæšå¥šã¯ãŒã¯ãã㌠â Christian Dupuis (CD) ã以åã«ã瀺ãããã¢ãéããŠãããéãããã確å®ã«æ§ç¯ããããšãã§ãããã®çµæãã³ã³ããã¹ããæèããæšå¥šäºé ãéçºè ã®ã¯ãŒã¯ãããŒã«çµã¿èŸŒãããšãã§ããŸããã
ã¯ã€ãã¯ãã¢
ããã§ã¯ãå®éã«CDããç°¡åãªãã¢ã«è¶³ãèžã¿å ¥ããŸãããã®åã«ãããäžã€ã ããèŠãããŸãã®ã§ãããã§å°ãã ããèŠãããŸãã ã§ããããããã§ã¯ç°¡åãªæŠèŠã 1 ã€ã ã瀺ããæšå¥šããã修埩ãã¹ãããªã·ãŒè©äŸ¡ãä¿¡é Œã§ããã³ã³ãã³ããå®éã«ã©ã®ããã«çµã¿åããããäžå åããããã¥ãŒå ã§ããŸããŸãªæ¹æ³ããã¹ãŠè¡šç€ºãããããããããçè§£ããããšæããŸãã ããšãã°ãããªã·ãŒã®æéããŒã¹ã®åŸåãè匱æ§ã®æ°ã確èªãããããã®åŸåç·ãç£èŠããŠããããã®äžé£ã®æ±ºå®ãäžãéã«ãããå€ãã®ã³ã³ããã¹ããåŸãããšãã§ããŸãã ããã§ãä»åºŠã¯CDã«æž¡ããŠãç»é¢ãåãæ¿ããŸãã
ã¿ãªãããã¯ããããããŸããããããšãããããŸããã§ããããåºèª¿è¬æŒã§ç§ãèš±ãããªãã£ãã®ã¯ãäºå®äžã©ã€ããã¢ãããããšã§ããããæ°ã¥ããããããŸããããç§ãå§ããé ã¯ã€ã³ã¿ãŒããããããŠã³ããŠããã®ã§ããã§ã«ãã¹ãŠãããŒããããŠãããæ¬åœã«ã¹ãã¬ã¹ãããŸã£ãŠããŸãããããã§ã補åãã©ã€ãã§ç޹ä»ããŠã¿ãŸããç©äºãå£ãããããããŸãããã€ã³ã¿ãŒãããã®ããã§ç©äºãããŸããããªããããããŸãããããã¢ã®ç¥ã ã¯èª°ã«ãããããŸããããããç§ãããããšããŠããããšã§ãããããŠãscout.docker.com ããå§ããããšæããŸã ã
Jason ãèšã£ãããã«ãAmy ãå ã»ã©èšã£ãããã«ãScout 㯠GA ã§ãããDocker Hub ã¢ã«ãŠã³ãã§ãµã€ã³ã¢ããã§ããŸããæå€§ 3 ã€ã®ãªããžããªãç¡æã§è©Šãããšãã§ããŸãããã²è©ŠããŠã¿ãŠãã ããããã£ãŒãããã¯ããå¯ããã ãããããŠãããã«ããŸã: scout.docker.comããŸãæåã«ãããã«ã¯äžçš®ã®ããªã·ãŒéå±€ã衚瀺ãããŸããç³ãèš³ãããŸããããæåã® 4 ã€ã¯ãæå¹ã«ãããšããã«äœ¿ããããªã·ãŒã§ããäžã®2ã€ã¯ãéçºãçµäºãããããªãã®ã§ãéåžžã«å ·äœçã§ãçŸåšã¯ç§ã®åå空éã«ã®ã¿ååšããŠããŸããããããç¹°ãè¿ãã«ãªããŸãããæåã®4ã€ã¯ã仿¥ã¯ãªããšãªãçè§£ããŠã»ããã§ãããããŠãç§ãééã£ãŠããªããã°ããããã¯å®éã«ã¯èª°ã§ãå©çšã§ããŸãããããªãã§ãããããæããŸããã¯ãã
ãã®ããããã°ã€ã³ãããšããã¹ãŠã®ãŠãŒã¶ãŒããããã®ããªã·ãŒã衚瀺ã§ããŸãã ç§ãããããã®ã¯ãæç€ºãããæ å ±ãã©ã®ããã«æŽ»çšãããããèªåã®å ãªãã«ãŒãã«åã蟌ã¿ãæ å ±ã䜿ãå§ãããããã®éåãéžè±ã®ããã€ããä¿®æ£ãå§ãããã®æµããæåŸãŸã§ããéããæ¹æ³ã説æããããšã§ãã
ãŸãããã€ã©ã€ãã®ãããªãã®ããªã·ãŒãããã§èŠãŠã¿ãŸãããã ãããå°ã倧ãããããŠãã ããã ãã®ãããDocker HubãECRããŸãã¯ãã®ä»ã®ãªã³ãã¬ãã¹(J4 ã¢ãŒãã£ãã¡ã¯ãããªãŒãªã©ãçµ±åå¯èœãªã¢ãŒãã£ãã¡ã¯ãããªãŒ)ã§ãããã®ãªããžããªã«æåŸã«ããã·ã¥ããããã¹ãŠã®ã€ã¡ãŒãžãäžèŠ§è¡šç€ºãããŸãã ã¡ãªã¿ã«ãããã«ã¯ãå ã»ã©ç€ºããECRã®çµ±åãéå§ããããã«äœ¿çšã§ããçµ±åã»ã¯ã·ã§ã³ãããããšãè¿°ã¹ãŠãããŸãã Sysdigã¯ããã«ãããåºèª¿è¬æŒã§åŒ·èª¿ãããã¹ãŠã®çµ±åããããŸãã éžæããå§ããŸããããç§ã¯ã©ã®ç»åãåã³æ¬çªç°å¢ã§å®è¡ãããŠãããã ããæ°ã«ããŸããã? ããã§ãã©ã³ã¿ã€ã ã®ã€ã³ãµã€ããåãå ¥ããŸãã ãããŠããã®æ å ±ãç§ãã¡ã«å±ããæ¹æ³ã¯ããŸããŸã§ãã åºèª¿è¬æŒã§Sysdigã«ã€ããŠèšåããŸããã
ãŸããCLIããããã€ãã€ãã©ã€ã³ã«åã蟌ãã§ããããã®ã€ãã³ããéä¿¡ããæ¹æ³ããããŸãã ãŸããç§ãã¡ãåãçµãã§ããKubernetesã¢ãããã·ã§ã³ã³ã³ãããŒã©ãŒããããããã«æã«å ¥ããããšãã§ãããããããŸããã ãããŠãç§ãã¡ãããã䜿ã£ãŠè¡ã£ãŠããããšã¯ãã¹ãŠãç»åã广çã«ãªãªãŒã¹ã¹ããªãŒã ã«ããŒã¯ããããšã§ãã ãããã¯ä»ãç°å¢ã®äžéšã«ãªã£ãŠããŸãã ãŸãããããã®ç°å¢ãã°ã«ãŒãåãã奜ããªååãä»ããããšãã§ããŸãã ãããã¯ããªãã«ãšã£ãŠæ¬åœã«æå³ã®ãããã®ã§ãããç§ãã¡ã«ãšã£ãŠã¯æå³ããªããªãã¯ãã§ãã ç£èŠããç°å¢ãäœã§ãããã«ã€ããŠã¯ãèŠç¯çã§ã¯ãããŸããã
ãã®ããããã®ã€ã¡ãŒãžã Kubernetes ã¯ã©ã¹ã¿ãŒã® 1 ã€ã«ãããã€ããŠããŸãã ãããŠãç§ã¯ããã§è©³çްãèŠãããšãã§ããŸãã ããã¯çŸåšã 30 æ¥ä»¥äžåã®ä¿®æ£ãå«ãããã¹ãŠã®éèŠã§é倧ãªè匱æ§ã§ãã ãã ããšãŠãéèŠã§ãç§ãã¡ãæã£ãŠããã¢ã€ãã¢ã§ãã ããŒã ã¯ããããæ§æã§ããããã«ããããã«æžåœã«åãçµãã§ããŸãã ããã§ãããã¯äžé±éã§ãªããã°ãªããŸããã? 2ã¶æã«ãã¹ãã§ãããã? ãã€ãšã³ãã«ãã¹ãããã¯ãªãã£ã«ã«ã«ãã¹ãã? ãããã®ããªã·ãŒãåžæã©ããã«ååŸã§ãããã©ããã¯ããå®¢æ§æ¬¡ç¬¬ã§ãã ã§ããããç§ã課ããããŠããéèŠã§éèŠãªãã®ãããããããã®ã§ãã ç§ã¯PMãããããã远ããããŠä¿®æ£ããä»»åãè² ã£ãŠããŸãã
ç¹°ãè¿ãã«ãªããŸããããŸã ãã£ãŠããªãã®ã¯ãSaaS補åããœãŒã¹ã³ãŒããªããžããªã«çµã³ä»ããããšãã€ãŸãããããèªå修埩ã«çµã³ä»ããããšã§ãã ããããŸããç§ãã¡ã«ãšã£ãŠã®æ¬¡ã®ã¹ãããã§ããããã¯èµ·ããã§ãããã ããããä»ã¯ããã§ã¯ãããŸããã
ã§ããããç§ã¯ä»ããã®æ å ±ãåãåããèªåã®å åŽã®ã«ãŒãã«å ¥ããŸãã ãã£ãšã ããã¯ãç§ãã¡ã䜿çšããŠããå°ããªå°ããªãã¢ã§ãã éåžžã«åçŽãªDockerãã¡ã€ã«ã衚瀺ãããŸãã ãããšå€ããã€ãžã§ã¹ãã«åºå®ããŠãäœãã«å¯ŸããŠè匱ã§ããããšãã·ãã¥ã¬ãŒãã§ããããã«ããŠããŸãã ããã«ãã ãããªãã§ãã ããã ãããŠãããŒãã䜿çšããŠãããããããã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠããŸãã ããªãã©ã³ãã ãªã¢ããªã§ãããã³ããšã³ãã¹ããŒã¹ã§ã¯ããªãäžè¬çã ãšæããŸãã ããŸããŸããã Scoutã¯ããã¹ãŠã®ãã©ãããã©ãŒã ããã¹ãŠã®ã€ã¡ãŒãžã¿ã€ãããã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã¹ãŠã®ã¹ã¿ãã¯ãJavaãGoãPythonã§åäœããŸãã äœã䜿çšããŠãããã¯é¢ä¿ãããŸããã ãããŠããããç§ãã¡ã®ããã±ãŒãžJSONã§ãã
ã»ãã¥ãªãã£ã®ç¶æ
ãŸãããã®ã€ã¡ãŒãžã§CLIãå®è¡ãããã®ã»ãã¥ãªãã£ã¹ããŒã¿ã¹ã®æèŠãã€ããããšããå§ããŸãããã CVEã§ãã 倧äžå€«ã§ãã ãã£ãšããéã§ãããã ãããŠããŸã第äžã«ãã€ã³ã¿ãŒãããã¯æããã«æ©èœããŠããã®ã§ãããã¯éãã§ãã ãããŠç¬¬äºã«ããã®ç»åã«ã¯å€ãã®èšŒæãããããã§ãã å®éã2ã€ã¯ãæ¥æŽãšSBOMèªèšŒãããããšã§ãã ãããã¯buildkitããåºãŠããã®ã§ãç»åã«ã€ã³ããã¯ã¹ãä»ããå¿ èŠã¯ãããŸããã ã§ãããããã¹ãŠãããŠã³ããŒãããã®ã§ã¯ãªããç»åã調ã¹ãŠãããã«äœãããã®ãã調ã¹ãŸãã ããã¯ãã€ã¡ãŒãžã®æ§æèšŒæããæ¢ã«ååŸã§ããŸãã ããã¯ç§ãã¡ã«ãããæããŠãããŸãã
ããã«ã¯äœãèŠããŸãã? ããå°ã詳ããã ãããã¯ãã¹ãŠãªã³ã¯ã§ãã ãããŠãããã¯ç§ãåºèª¿è¬æŒã§ç€ºããªãã£ããã®ã§ãã ãã®ãããã¯ãªãã¯ãããšGitHubã«ç§»åããŸãã GitHubã§ãããŒãèŠãŸããããæ°ã«å ¥ããªãã£ãã§ãã ç§ã¯ãããæ¬åœã«éãã¯ãªãã¯ããŸãã ããã¯è峿·±ããªã³ã¯ã§ãã CLIããDockerãã¡ã€ã«ã®è¡ã«çŽæ¥æ»ããŸããããããã¯ãã¹ãŠãããŸããŸãªçµ±åããåŸãããæ å ±ãé¢é£ä»ããããšã«ãã£ãŠè¡ãããŸãã ãã®å Žåãbuildkit ããã®æ¥æŽã¯ãã¬ãžã¹ããªã®ã©ããã«ãããŸãã
ããŠãããã§äœãã§ããŸãã? ãŸã第äžã«ãç§ã¯å ã«é²ãã§ãããã±ãŒãžã¿ã€ã:NPMã ããšèšãããšãã§ããŸãã ãªããªããããã«ã¯ããŒã¹ã€ã¡ãŒãžããã®CVEãããã€ãããããã§ãã ããã§ã¯ãç§ãå®éã«æ°ã«ããŠãããã®ãã€ãŸãNPMã®ãã®ãæåã«èŠãŠã¿ãŸãããã ãããŠãã©ããããããã¯å®éã«äœ¿çšãããŠããããã§ã â ã€ãŸãããã®ã€ã¡ãŒãžã¯çŸåšãéçšã¯ã©ã¹ã¿ãŒã® 1 ã€ã§å®è¡ãããŠããŸãã Sysdigã®ã©ã³ã¿ã€ã ã€ã³ãµã€ãã«æ¥ç¶ãããŠããŸãã ç¹°ãè¿ãã«ãªããŸãããDocker Scoutã䜿çšããŠãããã¹ãŠã®äººãå©çšã§ããç¡æãã©ã€ã¢ã«ããããšæããŸãã ãã®ãããSysdigã䜿ãå§ããããšã§ããã®ã¬ãã«ã®æŽå¯ãåŸãããšãã§ããŸãã
ãªãã ãã¯ã¯ã¯ã¯ããŸããã Sysdigã¯ãç³ãèš³ãããŸããããã€ã¡ãŒãžå ã®ã©ã®ããã±ãŒãžãå®è¡æã«äœ¿çšãããŠããããæããŠãããŸãã ã€ãŸãããã«ãããŒã«ãã·ã§ã«ãªã©ã誀ã£ãŠã€ã¡ãŒãžã«è¿œå ãããã®ããã¹ãŠåé€ããŸãã éåžžãå®è¡æã«ã¯äœ¿çšããªããã®ã NPM Expressããã±ãŒãžãšQSããã±ãŒãžã®ããã2ã€ã®è匱æ§ãä¿®æ£å¯èœã§ããããšãããããŸããä¿®æ£ãããããŒãžã§ã³ããããŸãã ãããŠããããç§ãããããããšãªã®ãããããŸããã
ããã«ããªã·ãŒç»é¢ã«æ»ããšãäž¡æ¹ãããã«è¡šç€ºãããŸãããããã£ãŠãããã¯ããªã·ãŒéåã§ãããä¿®æ£ãæ±ããããŸãããç§ãä»ã§ããããšã¯ã广çã«ããã±ãŒãžJSONãéããç°¡åãªããŒã«ã«ãã«ããè¡ãããšã§ããç§ãä»ãããããŒã«ã«ã§è¡ã£ãŠããã®ã¯ãScoutã®å¥ã®æ©èœã ã€ãŸãDocker Desktopãžã®äºå®äžã®çµ±åã玹ä»ãããããã§ãããããå®éã«ã©ããããéããèŠãŠã¿ãŸãããããããŸã§ã®éãç§ã¯ãã§ã«ããã§DockerDesktopãåŒã³åºãããšãã§ããŸããããè¡ãããç§ã¯å§ããŸããããããŠãããã«ç§ã®ç»åããªã¹ãã®æåã§ãããšèããŠããŸããä»ããã¯ãªãã¯ãããšãäœããããŸã SBOM ã®èŠèŠç衚çŸã衚瀺ãããŸããç»åã®éå±€ã¯ãããã®ã»ã¯ã·ã§ã³ã§ãã
ãã®ãããããŒã¹ã€ã¡ãŒãžãšã¯äœããããŒã¹ã€ã¡ãŒãžã®åºæ¬ã€ã¡ãŒãžã¯äœãã«ã€ããŠãããŒã«ã«ãªæŽå¯ãåŸãããšãã§ããŸãã çŸåšã®ããŒãžã§ã³ã¯ããããã®ããã©ãã§ãã? ãã®å Žåãç§ã¯Alpineã䜿çšããŠãããæ°ããããŒãžã§ã³ãå©çšå¯èœã§ãã ãããŠããããã®ã¬ã€ã€ãŒãéžæãå§ãããšãäœãã©ãã«å±ããŠãããã匷調衚瀺ããå§ããŸãã ããŒã¹ç»åãéžæãããšããã®ç»åã®ã¬ã€ã€ãŒã衚瀺ãããŸãã ã¬ã€ã€ãŒãéžæãããšããã®ç¹å®ã®ã¬ã€ã€ãŒã«ãã£ãŠå°å ¥ãããããã±ãŒãžã衚瀺ãããŸãã ã§ãããããã®ã¬ã€ã€ãŒã¯ãExpressããã±ãŒãžãšä»ã®ãã¹ãŠã®NPMããã±ãŒãžã远å ããŠããŸããããã®ãã¹ãŠã®æ å ±ã«è匱æ§ããªãããšãããããŸãã å®éãããªã·ãŒã§ä¿®æ£ãäŸé Œããããã®ã®ãã¡ããã§ã«2ã€ãä¿®æ£ããŸããã
ç»åãæŽæ°
ããŠããã¢ã§åŒ·èª¿ãããŠãããšæããã1ã€ã®æ¬åœã«ãšããµã€ãã£ã³ã°ãªæ©èœã¯ãããã§ããªã·ãŒç»é¢ã«ãã°ããæ»ã£ãå Žåã§ãã æ¬¡ã«ãä»ã®ããªã·ãŒãéžæããŸãã åºæ¬ã€ã¡ãŒãžæŽæ°ããªã·ãŒã§ããããã®ã€ã¡ãŒãžã®ãããããéžæããŸãã ããã§ã¯AMD64 ããŒãžã§ã³ã«åºå·ããŸãã ããã¯ãããªããç¥ã£ãŠããããã«ãããªãã®åºæ¬ã€ã¡ãŒãžã®æ°ããããŒãžã§ã³ãããããšãç§ã«æããŠãããŸãã ç§ã¯ 314ã䜿çšããŠããã®ã§ã2ã€ã®ããšãè¡ããŸãã äœããããŸãã 314 ç»åã®æ°ãããã€ãžã§ã¹ããããããšãæããŠãããŸãã ã¿ã°ã䜿çšããŠããŸãã 314ã¿ã°ã«å¯ŸããŠç»åãäœæããŸãããããã®éã«ãã®ã¿ã°ã¯ç§»åããŸããã
ãã®ãããDocker Hubã«ã¯æŽæ°ãå¿ èŠãªæ°ããããŒãžã§ã³ããããŸãã ããã¯ãfromè¡ã®ãã³ãåé€ããå Žåã®åçŽãªåæ§ç¯ã§ãã ãããããã®ã·ã¹ãã ã¯ãPowerPointã®ææ°ããŒãžã§ã³ 318 ãããªãå®éã«ã¯ããè¯ãä»£æ¿ææ®µãããããšãç§ã«æããŠãããŸãã Docker Desktop ã§ãåãæ å ±ãååŸã§ããŸãã ãããã£ãŠãåãç»é¢ã衚瀺ãããŸãã ã芧ã®ãšããã 318ã«ãªããDockerãã¡ã€ã«ã§ãããè¡ãããšãã§ããŸãã ããã§ã¯ããããç°¡åã«å®è¡ããŸãããã ãããŠãããäžåºŠãã«ãããŸãããã éãã£ãã§ãã ãããŠããã¹ãŠãç·ã§ãã
ãã®ãããããã€ãã®ç°¡åãªæé ã§ããŸã èªååãããŠããŸããããéåžžã«æçã§ãã ããã¯ãã¹ãŠããŒã«ã«ã§è¡ãããšãã§ããŸãã ç§ãã¡ã¯ãéçºè ã«ã¬ãã«ã®æŽå¯ãæäŸãããããã€ã³ããŒã«ãŒãã§è¡ããããã«ããããšã§ã倧ããªæåãåããŠããŸãã
ããã§ã¯ããã®ã€ã¡ãŒãžãããã·ã¥ããŠGitãªããžããªã«æ¥ç¶ãããšã©ããªãããç°¡åã«èŠãŠã¿ãŸãããã ã ãããç§ã¯ããããããããã©ã³ãã«ãã§ãã¯ã¢ãŠãããå¿ èŠããããŸãã ç§ã¯ãã®ç»åãå ¥ããŠã衚çŸããŠgit pushããŸãã ç§ã¯ãã§ã«ãã®æãæã£ãŠãããããããªããšæããŸãã ãããGitHubãªããžããªã«è¡ããŸãããã
ç§ã¯ãããäœã«æŒãä»ããŸããã? ç§ã¯CLIã䜿ãã¹ãã§ã¯ãããŸãã â ç§ã¯æ¬åœã«æããªããŒã«ã«åºå·ãã¹ãã§ãã ããã¯çŸåšããã·ã¥ãããŠããŸãã ããŸãããã°ãGitHubã®ã¢ã¯ã·ã§ã³ãä»å§ãŸã£ãŠããŸãã ããè¡ããã ãã«ããå®è¡äžã§ãã ããã¯ãGitHub Actions ã§å®è¡ãããŠããããã¥ã¡ã³ãéä¿¡ãš Docker ãã«ãã§ãã ããããªããžããªã«ããã·ã¥ããæ°ç§ãŸãã¯æ°å以å ã«ãscout.com ã«æ°ããã€ã¡ãŒãžã衚瀺ãããŸãã ããŸãããã°ãæŽæ°ãããããªã·ãŒçµæãåŸãããã§ãããã ãããèµ·ããã®ãåŸ ã¡ãŸãããã
ãã®éãç§ãã¡ãæã£ãŠããå¥ã®çµ±åãç°¡åã«èŠãŠã¿ãŸããã? ç§ã瀺ãããã£ãã®ã¯ãGitHub ãå®è¡ããã PR ããã®ä»ã®æ¥ç¶èšå®ã§ãã¢ã¯ã·ã§ã³ãå®è¡ããCLI ã§ããã«ãã£ãŒãããã¯ã广çã«ååŸã§ãã GitHub ã¢ã¯ã·ã§ã³çµ±åãããããšã§ãã
ãã®å Žåããã«èŠæ±ã§ã¯ãPR ã€ã¡ãŒãžãšããã®å Žåã¯çŸåšéçšç°å¢ã§å®è¡ãããŠããã€ã¡ãŒãžã®æ¯èŒã«é¢ããŠãCLI ã§èŠããã®ãšåæ§ã®åªããã¬ãã«ã®åææ å ±ãããã«è¡šç€ºãããŸãã ããã¯ãã¹ããªãŒã ãšåŒã°ãããã®ããŸãã¯çŸåšæ¬çªç°å¢ã§å®è¡ãããŠããç°å¢ã§çŸåšå®è¡ãããŠããããŒãžã§ã³ã§ãã ããã¯ãéçºè ããã¢ã¬ãã¥ãŒãªã©ãè¡ããšãã«PRã§ããã«ã€ããŠæšè«ã§ããå Žæã§èŠãããšãã§ããŸãã
ãã£ãšèŠãŠã¿ãŸãããã ãã®ãã«ããçµäºããå Žåã¯ã確ãã«å®äºããŠããŸãã ããã«è¡ã£ãŠã¿ãŸãããã ãããŠãç§ãã¡ã®ã€ã¡ãŒãžã¯ä»ããã«ãããŸãã æã£ãã®ãšå šç¶éããŸãã ãŸãã幞ããªããšã«ãç§ã¯ãããåã«æºåããŸããã ã ããããã«ç»åããããŸãã
PRçªå·6ã¯ãåããããªãã®ã§ãã åã倿Žã§ãã«ãªã¯ãšã¹ããçºè¡ããŸãã ãã®ãªããžããªã«æ»ããšãããã«ãã«ãªã¯ãšã¹ããããããšãããããŸãã ããã¯ãæšæ¥æºåã®ããã«æèµ·ããPRçªå·6ã§ãã ã§ããããç§ãããŒã«ã«ã§è¡ã£ããã®ä»¥å€ã®å€æŽã¯ãããŸããã é©åœãªå Žæã«äœããæŒã蟌ãã ã«éããªãã ããã¯ãç§ãæ§ç¯ããããšããã®ãšåãã€ã¡ãŒãžã§ãã Scoutã¯ããã®ç¹å®ã®ã€ã¡ãŒãžã§ããããã®è匱æ§ããã¹ãŠå®éã«ä¿®æ£ãããšèšã£ãŠããŸãã
ç§ãä¿®æ£ããŠããªãããªã·ãŒã®1ã€ã¯ãæ€èšŒããã³æ·»ä»ãããSSEã¡ã¿ããŒã¿ã®äžçš®ã§ãã ãã®ããªã·ãŒã§ã¯ãSBOM ãšæ¥æŽèšŒæãå¿ èŠã§ãã ãã®ç¹å®ã®ç»åã§ã¯ãSBOMãããã·ã¥ããŠããŸããã
ãã¢ã§åŒ·èª¿ããæ¯èŒãããäžåºŠèŠãŠã¿ãŸãããã ã ããç§ã¯ã¹ã«ãŠãæ¯èŒãããããšãã§ããŸãã ãŸããPR 6 ã®ã€ã¡ãŒãžããçŸåšéçšç°å¢ã§å®è¡ãããŠããã€ã¡ãŒãžã«å¯ŸããŠäœ¿çšã§ããŸãã ããã¯ããã®ã€ã¡ãŒãžãã¬ãžã¹ããªã«ããã·ã¥ããåã«è¡ãããšãã§ããŸãã ããŒã«ã«ã®DockerããŒã¢ã³ã«ååšããŠããå¯èœæ§ããããåãããã«æ©èœããŠããã§ãããã ãããŠãããªãã¯ä»ãç»åãåŒãäžããŠããããã€ãã®ãã®ãèŠãŠããŸããæ¯èŒãããç»åã®è©³çްããã«ããŠã³ããŠããŸãã ããªã·ãŒã®çµæãç §äŒããåºåãæºåããŸãã ã§ããããããã§äžã«ã¹ã¯ããŒã«ãããšããã¹ãŠã®è©³çްã衚瀺ãããŸãã
ç¹°ãè¿ãã«ãªããŸãããããã¯PRçªå·6ã®ç»åã§ãå€æŽæã«æºåãããã®ã§ãã ãããŠãARãç§ã®ããŒã¹ç»åãæŽæ°ãããšããäºå®ãScoutãæŸã£ãããšãåãããŸãã ä»ã¯ 318 ã§ããã 314 ã§ã¯ãããŸããã ãåèãŸã§ã«ãã©ããã£ãŠãããç¥ãããšãã§ããŸãã? ããã¯ãæ¥æŽæ§æèšŒæã®äžéšã§ãã buildkit ã§ãã«ããå®è¡ãããšåã蟌ãŸããŸãã ãã«ãã«å ¥ããã¹ãŠã®ãœãŒã¹ããã¹ãŠã®ææã¯ããããããæ¥æŽæ§æèšŒæã«èšé²ãããŠããŸãã
ã§ã¯ãGit ã³ãããã¯äœã瀺ããŠããã®ã§ãããã? æ¥æŽæ§æèšŒæã«å ¥ã Git ãªããžããªãããã«åºæ¬ã€ã¡ãŒãžããã®ä»ããŸããŸãªãã«ãã¹ããŒãžã®åºæ¬ã€ã¡ãŒãžã¯ãã¹ãŠããã®æ¥æŽæ§æèšŒæã«èšé²ãããŸãã ãããŠãŸããä»ã«ãããã€ãã®è峿·±ãæçããããã©ãã«ã¯å€æŽãããŸãã ãããŠãã¡ããããã®ç¹å®ã®ã±ãŒã¹ã§ã¯ãã³ããã衚瀺ã倿ŽããŠããŸãã ãããŠãããã§ãéåžžã«è峿·±ãããšã«ãããªã·ãŒã®å€æŽã äœæ¥äžã«ãããã®CLIã§ãã£ãŒãããã¯ãããã«ç¢ºèªã§ããŸãã ãããŠãããã§å°ãäžãã£ãã®ã¯ãç§ã¯æ¬åœã«ãªã¿ã¯ã§ãäœãèµ·ãã£ãŠããã®ãã«æ¬åœã«èå³ãããããã§ãã
ããšãã°ãDocker Scout ãäœã§ããããç¥ãããå Žåã§ãã ããŠãå°æ¬ããå€ããã®ã§ãã©ããªããèŠãŠã¿ãŸãããã ã¢ã«ãã€ã³ 314 ã¢ã«ãã€ã³ 318ã å°ããªç»åãéžã¶ã ãã§ãã€ã³ã¿ãŒãããã«æ å ±ãæäŸããŠããŸãã 仿¥ã®åºèª¿è¬æŒã§ Amy ãèšåããããšã® 1 ã€ã¯ãSBOM ãšæ¥æŽã®èšŒæãåºè·ãããšããããšã§ãã Dockerã®å ¬åŒã€ã¡ãŒãžã®ãã¹ãŠã®ã³ã³ãã³ãã«çœ²åããäºå®ã§ãã ããããã°ãç»åã¯SBOMãæ·»ä»ãããŠããã®ã§ããããã«ããŠã³ããå¿ èŠãããããŸããã ããããããã¯ãããã 2 ã€ã®ããŒãžã§ã³ã®éã§å®éã«ã©ã®ããã±ãŒãžã倿Žããããã®æŠèŠãéåžžã«ç°¡åã«ç€ºããŠããŸãã
ä»ãç§ã¯314318ãšæ¯èŒããŠããŸããããããã°ãç§ã¯å®éã«ããŠã³ã°ã¬ãŒãããŸãããç§ã¯ãããéã«ãã¹ãã§ããã ç§ã¯ããããã¹ãŠã®ããã±ãŒãžã倿ŽããŸããã ã§ããããã©ã³ãã ãªç»åãã©ã®ããã«å€åãããããã°ãã調ã¹ãéåžžã«è峿·±ãæ¹æ³ã§ãã ãããã«ã¯äœãå«ãŸããŠããŸãã? ãããã§äœãã§ããŸãã? ããã¯ããªãèªèº«ã®ç»åã ãã§æ©èœããã ãã§ã¯ãããŸããã è峿·±ãããšã«ãããã«ã¯æ¿çã®ææããªãã ããã¯ã©ãããŠã§ããã ããã¯ãããã Docker Hub çµç¹ã«ãªãã€ã¡ãŒãžã§ããããã§ãã ã§ããããããã¯ããªãã®ã€ã¡ãŒãžã®1ã€ã§ã¯ãããŸããã ãã®ããã®ãªã³ã©ã€ã³ããªã·ãŒã®çµæã¯èšç®ããŠããŸããã ããããããã«ã¯ã¡ãã£ãšããã³ãããããŸãã ããªãã¯ããããåŒãäžããããšãã§ããŸãã
ãããããã«ããŠããªã·ãŒè©äŸ¡ãå®è¡ãããšãããªã·ãŒè©äŸ¡ã¯ããŒã«ã«ã§è¡ãããŸãã ããã¯äºå®äžãããªãã®æªéã®äžã§ãäºå®äžç§ãã¡ã®ããªã·ãŒã§ããã³ã³ãããããããå®è¡ãããŠããããšãæå³ããããããã°ããªãã¯çµæãåŸãã§ãããã ããã¯ãDocker Scoutãšçµ±åããã¬ãžã¹ããªã«ãããªã¢ãŒãã€ã¡ãŒãžã®å Žåãšåæ§ã«ãCLIã§ãããã®çµæãååŸã§ããŸãã ææããŠããªãã€ã¡ãŒãžã«ã€ããŠã¯ãåŒãç¶ããã«ããŠã³ããŠããŒã«ã« ããªã·ãŒè©äŸ¡ã䜿çšã§ããŸãã 倧äžå€«ã§ãã ãã£ãšèŠãŠã¿ãŸãããã
èåŒ±æ§æ€çŽ¢
ä»ã«è©±ããããšã¯ãããŸãã? 以åã«åãäžããªãã£ãããšã® 1 ã€ã¯ãèåŒ±æ§æ€çŽ¢ã§ãã ã§ããããæ¥é±ãå€ãã®çãããããããšã®1ã€ã¯ã10æ 11æ¥ã«çºè¡šãããäºå®ã®curlãšããããã±ãŒãžã®æ°ããè匱æ§ãæ¢ãããšã§ãã ã§ããããçè«çã«ã©ãã圱é¿ãåããããç¥ãããšã¯ãã§ã«è¯ãããšã§ãã [ããã±ãŒãž]ã¿ãã«ç§»åããŠãcurlã®æ€çŽ¢ãéå§ã§ããŸãã ããã«ãããcurl ã䜿çšããŠããçµç¹å šäœã®ãã¹ãŠã®ã€ã¡ãŒãžãåŸãããŸãã ãããŠãæ¥é±ã«èµ·ããããšã«åããããšãã§ããŸãã ãããŠã圌ãã®ãã€ãã¿ãŒã®çºè¡šã§ã 圌ãã¯ã·ãŒããã«ããç· ãããšèšããŸããã ã§ããããäœãæ·±å»ãªããšã®ããã§ãã ã«ãŒã«ã¯ã«ãŒã«ã§ãããããããå€ãã®äººãæ¬çªç°å¢ã§äœ¿çšããããŒã«ã§ã¯ãããŸããã ãããã誰ã«ãããããŸãããã? ã¬ãã¥ãŒãã䟡å€ããããŸãã ã ããæºåãããŠãã ããã
ãããæ€çŽ¢ããæ¹æ³ããããŸãã Scoutã§ãªããžããªãæå¹ã«ããŠããå Žåã¯ããã¹ãŠã®ç»åã«ã€ã³ããã¯ã¹ãä»ããããŠããŸãã SBOMããåºãŠãããã¹ãŠã®æ å ±ããã£ããã£ããã¯ãã§ãã ãããŠãç§ãã¡ã¯ããªãã®ããã«ãããæ€çŽ¢å¯èœã«ããã§ãããã ã§ããããããã®ããªã·ãŒããŒãžã«æ»ããšããããæ¬çªç°å¢ã«çµã蟌ããšèšãã ãã§ãç§ãæ°ã«ãã¹ãããšãå€§å¹ ã«åæžãããŸãã ãããŠä»ãç§ã¯ããªã«ã€ã³ããããšãã§ããŸãã ãã¡ãããCVEã®è©³çްããã¹ãŠèªãã§ãã ããã ããã«è峿·±ãã®ã¯ãããã€ç»åãç»é¢ã§ãã ãã®ããããã¹ãŠã®ç»åãã¯ãªãã¯ããŠãæ¬çªã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ç»åã«å¯ŸããŠåæãå®è¡ãã代ããã«ãããã§ 1 åã¯ãªãã¯ããã ãã§æžã¿ãŸãã ããã¯æ¬çªç»åã®ã¿ã§ãã é¢å¿ã®ãã CVE ãèŠã€ããŸãã 圱é¿ãåããç»åã確èªããŸãã ãããŠãããªãã¯è¡ããŸãã
æäœæ¥ã§æ å ±ãæ€çŽ¢ããå Žåãå€ããããŸãã Docker Scoutãæå¹ã«ãããããã®çµ±åãåã蟌ããšããããã®ãã®ã®å€ãã¯ãªããªããŸãã ãŸãã仿¥ãææ¥ã«ãæ°ãã«çºè¡šãããcurl CVEã®ããã«ãæ°ããçš®é¡ã®ä»£çšCVEã远å ãããã®ããŒãžã®æ å ±ãèŠãŠã圱é¿ãåããå¯èœæ§ã®ãããã¹ãŠã®ç»åã衚瀺ã§ããããã«ããŸãã
質çå¿ç
æåŸã«è³ªçå¿çã®æ®ã 15 åããããšèšãããŸããã ããš 14 åã§ãã ããã§ããžã§ã€ãœã³ãããªãã¯æ»ã£ãŠããŠãããã€ãã®è³ªåã®ããã«ããã¢ãéããŸãã? 質åãããã°å¹žãã§ãã ãã¡ããã§ãã ã³ã¡ã³ãã ããããšãããããŸãã ããããããç§ãã¡ãèãããã£ãããšã§ãã çŽ æŽãããã ããããšãããããŸããã ã³ã¡ã³ãã¯äœã§ããã? ããããªããšæããŸãã ããããšãããããŸããã
GitLabã®çµ±å
ããã§è³ªåããŸãã GitLabçµ±åãããããšã«æ°ä»ããŸããã ãããããã¯è¯ã質åã§ãã ãªã³ã©ã€ã³ã®èŠèŽè ã«åããŠããã®è³ªåãç¹°ãè¿ãããŠãã ããã GitLabçµ±åããããŸãããåé¡ã¯ãããããŒãžãªã¯ãšã¹ããšããŸãçµ±åããããã©ããã§ãã GitHubã§ãããåŒã°ããŠãããšæããŸãã ããã»ã©ããŸãçµ±åãããŠããŸããããä»äºã«åãæããããšãã§ããŸãã ãã®ããããããã®ããŸããŸãªãã©ãããã©ãŒã ã§äœ¿çšã§ãããã¹ãŠã®CLIã³ãã³ãã¯ããã¹ãŠã®åºåãããŒã¯ãããŠããŸãã ãŸããããŒã¯ãªã³ã䜿çšããŠã³ã¡ã³ãã«å ¥ããããšãã§ããŸãã
GitHubã§ã¯ããããè¡ãå°çšã®ã¢ã¯ã·ã§ã³ãäœæããŸããã ããããããã¯GitLabããµãŒã¯ã«ãä»ã®CLIç°å¢ã®ããã«è¡ãããšãã§ããŸãã ã¯ãã ããã¯ããªãã®è³ªåã®çãã§ãã? ã¯ãã ããã¯çãã§ãã? ããã¯ãããŒãžèŠæ±ã衚瀺ããã©ã³ã¿ã€ã äžã ãã§ãã ããããDocker Scoutã®Webãµã€ãã«ã¯è¡šç€ºãããŸããã ããã§ã¯ãããŸããã ãããã ãã®ãããDocker Scoutã«ã€ã¡ãŒãžã衚瀺ããæ¹æ³ã¯ããŸããŸã§ãã ã¬ãžã¹ããªçµ±åããããŸãã ãã®ãããçŸåšã¯JFrogã®ãªã³ãã¬ãã¹ãšã¯ã©ãŠããšçµ±åããããšãã§ããŸãã ããã¯ãDocker HubãšãAmazonã®ã³ã³ããã¬ãžã¹ããªã§ããECRã§ãã ãŸããç»åãéä¿¡ããã«ç»åã®ã¡ã¿ããŒã¿ãScoutã«ããã·ã¥ããæ¹æ³ããããŸãã ããã¯CLIã®äžéšã§ãã ãŸãããŸã ãã€ãã£ãã«ãµããŒããããŠããªãå¥ã®ã¬ãžã¹ããªã䜿çšããŠããå Žåã¯ããã®æ©èœã䜿çšããŠScoutã«ç»åãéä¿¡ã§ããŸãã ãŸãã仿¥ç€ºããã®ãšåãæ©èœããå³å¯ãªã¬ãžã¹ããªçµ±åãªãã§äœ¿çšã§ããŸãã
ãœããŒãã¥ãŒã
åºèª¿è¬æŒã§ã¯ãSonarQubeã«ã€ããŠèšåãããŸããã SonarQubeãšã®çµ±åã«ã€ããŠããå°ãã話ãããã ããŸãã?
ãããããããŸã£ããã SonarQubeã§è¡ã£ãããšã¯ãéåžžãSonarQubeã«ã¯ã³ã³ããã€ã¡ãŒãžã®å質ã¡ããªã¯ã¹ããªããããéåžžã«è峿·±ãããšã§ãã SonarQube 㯠Git ãœãŒã¹ ã³ãŒãã§åäœããŸãã ãããã£ãŠãããã§è¡ã£ãããšã¯ãäºå®äžããã¹ãŠã®ã€ã¡ãŒãžããã€ã¡ãŒãž ã¡ã¿ããŒã¿ã®äžçš®ã§ãã Git ã³ãããããæ§ç¯ããããšããããšã§ãã
ãã®ãããã³ãŒãã®ãã©ãããã©ãŒã æ©èœã䜿çšããŠãããŒã¿ããŒã¹ã«å ¥ãããã¹ãŠã®ããŒã¿ããæ¥ç¶ãããã°ã©ããããã¯ã°ã©ãŠã³ãã§å¹æçã«æ§ç¯ããŸãã ã€ãŸããã€ã¡ãŒãžãã Git ã³ããããä»ããŠããããã®ã³ãããã«ã¢ã¿ãããããŠããä»ã®ãã®ã«ç§»åã§ããŸãã ãã«ããšåæ§ã«ãSonarQube å質ã²ãŒããªã©ã§ãã ã€ãŸããããã§äœãèµ·ãã£ãŠããããšãããšãGitHubã€ã³ãã°ã¬ãŒã·ã§ã³ãèšå®ãããŠããã°ãGitã³ããããããã·ã¥ããç¬éã«ããã®Gitã³ããããåãåããšããããšã§ãã
ãã®æ å ±ãããã°ãSonarQube ãã SonarQube å質ã²ãŒããã³ãããã«åŒã³åºãã€ãã³ããéä¿¡ãããã®ãåŸ ã€ããšãã§ããŸãã æ¬¡ã«ãç»åãããŒã¿ããŒã¹ã«å ¥ã£ãŠããŠãã¡ã¿ããŒã¿ãå«ãŸããŠãããããã³ããããšé¢é£ä»ããããŸãã çæ³çã«ã¯ãããã¯æ¥æŽã®èšŒæã§ãããå°æ¥çœ²åãããããšãé¡ã£ãŠããŸãã ã§ããããããããã¹ãŠãçµã³ã€ããããšãã§ããããããã®ç¹å®ã®ããªã·ãŒã®ä»çµã¿ã§ãã ãããŠãSonarQubeã®å質ã²ãŒããçµç¹å ã§ã©ã®ããã«å®çŸ©ãããã¯ãæ¬åœã«ããªã次第ã§ãã ç§ã¯æšæºçãªãã®ã䜿çšãããã¢ã®ç®çã§ããã€ãã®éåã远å ããŸãããããããã®ã·ã¹ãã ã«å¿ èŠãªããªã·ãŒãšã«ãŒã«ãå®å šã«èªç±ã«éžæã§ããŸãã
Scoutã®äžè¬çãªèãæ¹ã¯ãçµ±åãå°å ¥ããããŒã¿ãåã蟌ã¿ãããŒã¿ã«åºã¥ããŠæšè«ããã¢ã¯ãã£ããã£ãååŸãããããå åŽã®ã«ãŒãã«åã蟌ãããšã§ãéçºè ãäœããã®ã¢ã¯ã·ã§ã³ãèµ·ãããããã«ãããããªãã®ã§ãã
VEXã¹ããŒãã¡ã³ã
ã¹ããããããè匱æ§ã®äŸå€ãããå Žåãªã©ãäŸå€ãã©ã®ããã«èæ ®ããŸãã? ãããããã¯ãšãŠãè¯ã質åã§ãã ãããã£ãŠãããã§ããã«äžã«ã¹ã¯ããŒã«ãããšãããã«è¡šç€ºãããã®ã¯ããã®ã圱é¿ãåãããã»ã¯ã·ã§ã³ã§ãã ããã¯æ¬åœã«VEXã¹ããŒãã¡ã³ãã§ãã
VEXã¹ããŒãã¡ã³ãã¯ãèåŒ±æ§æé€äº€æã§ãã ç³ãèš³ãããŸããããããã¯é€å€ã§ã¯ãããŸããã æŸå亀æã ããããšãããããŸãã ããã¯é€å€ã衚ããã®ã§ã¯ãããŸããã ããã¯ãç±³åœã§SBOMãæšæºåããŠããã®ãšåãçµç¹ã§ããCISAã°ã«ãŒãããåºãŠããæ°ãã仿§ã§ãã ãã®ç®çã¯ãã³ã³ããã€ã¡ãŒãžããœãããŠã§ã¢ã¢ãŒãã£ãã¡ã¯ãã®ãããã€ããŒãšããŠãç¹å®ã®ã³ã³ããã¹ãå ã§ç¹å®ã®CVEã®åœ±é¿ãåããŠããã調æ»äžããŸãã¯åœ±é¿ãåããŠããªããšèšããããã«ããããšã§ãã ããã«ã¯ããŸããŸãªã¬ãã«ã®ç²åºŠããããããã¯è£œåã§ããããã®è£œåå ã«ã¯ç¹å®ã®ããã±ãŒãžãããã圱é¿ãåããã圱é¿ãåããªãããŸã 調æ»äžã§ãããšèšããŸãã ãããŠãããã¯å°æ¥ã人ã ãã¬ãžã¹ããªããæ¶è²»ã§ãã蚌æã«å€ããããšãé¡ã£ãŠããŸãã
ã€ãŸããããã¯ãã§ã«ãVEXãµããŒãã®è匱æ§ãšãããæ¬¡ã«æ¥ããã®ã®å°ããªãã¬ãã¥ãŒã§ãã CLIã§ã¯ããã§ã«ãããè¡ã£ãŠããŸãã ããã§ãSysdigã®çµ±åã«ãããVEXã¹ããŒãã¡ã³ããäœæããããŒã¿ããŒã¹ã«å ¥ããŸãã ã€ãŸãããã®ã±ãŒã¹ã§ã¯2ã€ã®æ¹åæ§ããããŸã â ãã®ç»åãã©ã³ã¿ã€ã ã«äœ¿çšãããŠããããšãããã£ãã®ã§ã圱é¿ãåãããšããVEXã¹ããŒãã¡ã³ãããããŸãã ãŸãããã®éãããããã®ã€ã¡ãŒãžã¯å®è¡æã«äœ¿çšãããªãããã圱é¿ãåããŸããã ãããŠããããã¯ãã¹ãŠVEXã¹ããŒãã¡ã³ãã§è¡šçŸãããŠãããã€ã¡ãŒãžã«æ·»ä»ããããGitãªããžããªã«å ¥ããããããŒã«ã«ãã¡ã€ã«ã·ã¹ãã ã«çœ®ããŠãCVEã³ãã³ããå®è¡ããéã«è©äŸ¡æã«CLIã«ãã£ãŒãããããšãã§ããŸãã
ç§ãã¡ããŸã æã£ãŠããªãã®ã¯ããã®æ å ±ã scout.com ã«æµ®ãã³äžããããæ¹æ³ã§ã¯ãããŸããã ããããç§ãä¿¡ããŠãã ãããããã¯æ¥ãŠããŸãã ããããVEXã¯ãã¹ãŠã®ãããªãã·ã£ãŒãä¿¡é Œããå¿ èŠã¯ãªããšæ³å®ããŠãããããããªãè€éã§è€éãªããã»ã¹ã§ãã 誰ããã³ã³ããã€ã¡ãŒãžã«VEXã¹ããŒãã¡ã³ããæ·»ä»ãããããšãã£ãŠããããä¿¡é Œããªããã°ãªããªãããã§ã¯ãããŸããã
ããã§ãããªãã¯èª°ãä¿¡é ŒããŸãã? ã©ã®åºç瀟ãä¿¡é ŒããŠããŸãã? ãããã«çœ²åããå¿ èŠããããŸãã? ãããŠãç§ãã¡ã¯çŸåšãã客æ§ãšååããŠãã客æ§ãåéãããã¯ãŒã¯ãããŒãäœã§ããããææ¡ããŠãããã客æ§ã¯åãã§åãå ¥ããŠãããŸãã 眲åã¯å¿ èŠã§ãã? 眲å ID ãªã©ãæå®ããå¿ èŠããããŸãã? ä»ã«ã質åã¯ããããŸãã?
çµè«
ãã以äžè³ªåããªãå Žåã¯ãç»é¢ãåãæ¿ã㊠Docker ã¯ã€ãã¯ã¹ã¿ãŒã ããã¥ã¡ã³ãã衚瀺ããŸããããã§ã¯ãdocker scout ãèµ·åããŠå®è¡ããæ¹æ³ãé ã远ã£ãŠèª¬æããŸããCDããã®5åéã®ãã¢ãå«ãç°¡åãªæŠèŠãæäŸããŸããDocker Scoutã§åæã§ããããã«ãããªããžããªãæå¹ã«ããããã«å¿ èŠãªããŸããŸãªæé ã瀺ããããã¥ã¡ã³ãå ã§ãããè¶ ããå€ãã®æé ãå®è¡ããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒã ããã¥ã¡ã³ãã®ãã®ãªã³ã¯ãæ®ããŠãããŸãã®ã§ãããã«ç«ã¡äžããŠå®è¡ããã®ã«åœ¹ç«ã¡ãŸããã©ããããããšãããããŸãã
ããã«è©³ãã
- Docker Scout GAã®çºè¡š:ãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã®ããã®å®çšçãªæŽå¯
- Docker Scout 補åããŒãž
- Docker Scout ãã¶ã€ã³ ããŒãã㌠ããã°ã©ã
- Docker Scout ãã詊ããã ãã
- ç«ã¡äžããŠå®è¡ãããã§ãã?ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã䜿çšãã
- DockerCon 2023 ã®ãã€ã©ã€ã (æ°ãã Docker LocalãCloudãAI/ML ã®ã€ãããŒã·ã§ã³)
Â