¡¾Â©¶´Í¨¸æ¡¿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