¡¾Îó²îͨ¸æ¡¿GitHubÐÞ¸´npmÖеÄÁ½¸öÇå¾²Îó²î
Ðû²¼Ê±¼ä 2021-11-170x00 Îó²î¸ÅÊö
¿ËÈÕ£¬GitHub¹ûÕæÅû¶ÁËÔÚnpmÖз¢Ã÷²¢ÒÑÐÞ¸´µÄ2¸öÇå¾²Îó²î£¬¹¥»÷Õß¿ÉʹÓøÃÎó²îÌᳫÕë¶ÔÐÔµÄÒÀÀµ»ìÏý¹¥»÷ºÍÓòÃûÇÀ×¢£¬»òÕßδ¾ÊÚȨ¸üÐÂÈκÎnpm °üµÄа汾¡£
0x01 Îó²îÏêÇé

npmÊÇ Node.js µÄ°ü¹ÜÀí¹¤¾ß£¬ÓÃÀ´×°ÖÃÖÖÖÖ Node.js µÄÀ©Õ¹£¬ºó±»GitHubÊÕ¹º¡£
GitHub±¾´Î¹ûÕæÅû¶µÄÁ½¸öÎó²îÊǽüÁ½¸öÔÂÔÚnpmÖз¢Ã÷µÄ£¬µÚÒ»¸öÎó²îΪÐÅϢй¶Îó²î£¬µÚ¶þ¸öÎó²îΪÊÚȨÎó²î£¬ÏêÇéÈçÏ£º
npmÐÅϢй¶Îó²î
¸ÃÎó²îÊÇnpmjsµÄ¸´ÖÆ·þÎñÆ÷ÉϵÄÊý¾Ý×ß©£¬ÕâÊÇÓÉ "Ò»Ñùƽ³£Î¬»¤ "Ôì³ÉµÄ£¬µ¼ÖÂ̻¶ÁË˽ÓÐnpm°üµÄÃû³ÆÁÐ±í£¬µ«ÔÚά»¤´°¿Úʱ´ú£¬ÕâЩ°üµÄÄÚÈݲ¢Ã»ÓÐ̻¶¡£
µ±ÔÚΪReplication.npmjs.com ÉϵĹ«¹² npm ¸±±¾Ìṩ֧³ÖµÄÊý¾Ý¿â¾ÙÐÐά»¤Ê±´ú£¬½¨ÉèµÄ¼Í¼¿ÉÄÜ»á̻¶˽ÓаüµÄÃû³Æ£¬ËäȻ˽ÓаüµÄÄÚÈÝûÓÐ̻¶£¬µ«ÕâЩÃû³ÆÐÅÏ¢×ãÒÔÈù¥»÷ÕßÒÔ×Ô¶¯»¯µÄ·½·¨¾ÙÐÐÓÐÕë¶ÔÐÔµÄÒÀÀµ»ìÏý¹¥»÷ºÍÓòÃûÇÀ×¢¡£
ËäÈ»ÏÖÔÚËùÓаüÀ¨Ë½ÓаüÃû³ÆµÄ¼Í¼ÒѾ´Ó npm µÄ¸´ÖÆÊý¾Ý¿âÖÐɾ³ý£¬µ«replicate.npmjs.com ·þÎñÈÔ±»µÚÈý·½Ê¹Óã¬Òò´ËµÚÈý·½¿ÉÄÜ»á¼ÌÐø±£´æ¸±±¾»ò¿ÉÄÜÒѽ«Êý¾Ý¸´ÖƵ½ÆäËûµØ·½¡£GitHubÒѾ¶ÔÆäÌìÉú¹«¹²¸´ÖÆÊý¾Ý¿âµÄÀú³Ì¾ÙÐÐÁËÐ޸ģ¬ÒÔÔÚδÀ´Ïû³ý˽ÈËÈí¼þ°üÃû³ÆÐ¹Â¶ÎÊÌâ¡£
npmÊÚȨÎó²î
´ËÎó²îÔ´ÓÚ´¦Öóͷ£¶Ônpm×¢²á±íµÄÇëÇóµÄ¶à¸ö΢·þÎñÖ®¼ä²»×¼È·µÄÊÚȨ¼ì²éºÍÊý¾ÝÑéÖ¤£¬µ¼ÖÂÊÚȨºÍÐû²¼µÄÈí¼þ°ü±£´æ²î±ð¡£¹¥»÷Õß¿ÉÒÔÔÚûÓÐÊʵ±ÊÚȨµÄÇéÐÎÏÂʹÓÃÕË»§Ðû²¼ÈκÎnpm°üµÄа汾¡£
GitHubÌåÏÖ¸ÃÎó²îÏÖÔÚÉÐδ±»¶ñÒâʹÓ㬲¢ÇÒÒѾͨ¹ýÈ·±£Ðû²¼·þÎñºÍÊÚȨ·þÎñµÄÒ»ÖÂÐÔÀ´»º½âÕâ¸öÎÊÌ⣬ÒÔÈ·±£ÊÚȨºÍÐû²¼Ê¹ÓõÄÊÇͳһ¸öÈí¼þ°ü¡£
±ðµÄ£¬Ê¢ÐеÄnpm¿â "ua-parser-js"¡¢"coa "ºÍ "rc "֮ǰÔÚһϵÁй¥»÷Öб»Ð®ÖÆ£¬Ä¿µÄÊÇÓÃľÂíºÍ¼ÓÃÜ¿ó¹¤Ñ¬È¾¿ªÔ´Èí¼þÏûºÄÕß¡£¾Ý GitHub ³Æ£¬ÕâЩʢÐпâµÄά»¤Õß¶¼Ã»ÓÐÔÚËûÃǵÄÕË»§ÉÏÆôÓÃË«ÒòËØÉí·ÝÑéÖ¤ (2FA)£¬Òò´Ë£¬Îª×èÖ¹ÕâÖÖÇéÐÎÔٴα¬·¢£¬GitHub½«ÒªÇó npm ά»¤Ö°Ô±ÔÚ 2022 Äê×îÏÈÆôÓÃ2FA¡£
0x02 ´¦Öóͷ£½¨Òé
ÏÖÔÚÕâЩÎó²îÒѾÐÞ¸´£¬½¨ÒéÏà¹ØÓû§×¢ÖØÌá·À´ËÀ๥»÷¡£
²Î¿¼Á´½Ó£º
https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/
0x03 ²Î¿¼Á´½Ó
https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/
https://www.bleepingcomputer.com/news/security/npm-fixes-private-package-names-leak-serious-authorization-bug/
https://securityaffairs.co/wordpress/124671/security/github-npm-package-flaws.html?
0x04 ¸üа汾
°æ±¾ | ÈÕÆÚ | ÐÞ¸ÄÄÚÈÝ |
V1.0 | 2021-11-17 | Ê×´ÎÐû²¼ |
0x05 ¸½Â¼
×ðÁú¿Ê±¼ò½é
×ðÁú¿Ê±¹«Ë¾½¨ÉèÓÚ1996Ä꣬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·ºÍÇå¾²ÖÎÀíÆ½Ì¨¡¢Çå¾²·þÎñÓë½â¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ£»²¢ÔÚ»ª±±¡¢»ª¶«¡¢Î÷ÄϺͻªÄϽṹËÄ´óÑз¢ÖÐÐÄ£¬»®·ÖΪ±±¾©Ñз¢×ܲ¿¡¢ÉϺ£Ñз¢ÖÐÐÄ¡¢³É¶¼Ñз¢ÖÐÐĺ͹ãÖÝÑз¢ÖÐÐÄ¡£
¶àÄêÀ´£¬×ðÁú¿Ê±ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£
¹ØÓÚ×ðÁú¿Ê±
×ðÁú¿Ê±Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£
¹Ø×¢ÒÔϹ«Öںţ¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º



¾©¹«Íø°²±¸11010802024551ºÅ