¡¾Îó²îͨ¸æ¡¿GitHubÐÞ¸´npmÖеÄÁ½¸öÇå¾²Îó²î

Ðû²¼Ê±¼ä 2021-11-17

0x00 Îó²î¸ÅÊö

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

 

0x01 Îó²îÏêÇé

image.png

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»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬ £¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£¡£


¹ØÓÚÍòÀû¹ú¼Ê¹ÙÍø

ÍòÀû¹ú¼Ê¹ÙÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£¡£

¹Ø×¢ÒÔϹ«Öںţ¬£¬ £¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png