¡¾·ì϶¹«¸æ¡¿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 ¸½Â¼

OG¶«·½Ìü¼ò½é

OG¶«·½Ìü¹«Ë¾³ÉÁ¢ÓÚ1996Ä꣬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬£¬ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·ºÍ°²È«ÖÎÀíÆ½Ì¨¡¢¡¢¡¢°²È«·þÎñÓë½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬£¬ÔÚÈ«¹ú¸÷Ê¡¡¢¡¢¡¢ÊС¢¡¢¡¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢¡¢¡¢ÇþµÀϵͳºÍ¼¼ÊõÖ§³Öϵͳ£»£»²¢ÔÚ»ª±±¡¢¡¢¡¢»ª¶«¡¢¡¢¡¢Î÷ÄϺͻªÄϲ¼¾ÖËÄ´óÑз¢ÖÐÐÄ£¬£¬£¬±ðÀëΪ±±¾©Ñз¢×ܲ¿¡¢¡¢¡¢ÉϺ£Ñз¢ÖÐÐÄ¡¢¡¢¡¢³É¶¼Ñз¢ÖÐÐĺÍÕÑͨÑз¢ÖÐÐÄ¡£

¶àÄêÀ´£¬£¬£¬OG¶«·½ÌüÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£


¹ØÓÚOG¶«·½Ìü

OG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶ÔÖØÒª°²È«·ì϶µÄÔ¤¾¯¡¢¡¢¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£

¹Ø×¢ÒÔϹ«¼ÒºÅ£¬£¬£¬»ñȡȫÇò×îа²È«×ÊѶ£º£º

image.png