JavaScript³«È¯¤Ç¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¥µ¡¼¥Ó¥¹¤Înpm¤Ë¡¢¸ø³«Á°¤Î³Îǧ¼ê½ç¤òÄɲ乤ë¡ÖÃʳ¬Åª¥ê¥ê¡¼¥¹¡×¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£½¾Íè¤Înpm¤Ç¤Ï¡¢¸ø³«¸¢¸Â¤ò»ý¤Ä¥æ¡¼¥¶¡¼¤ä¼«Æ°²½¥·¥¹¥Æ¥à¤¬¥Ñ¥Ã¥±¡¼¥¸¤ò¸ø³«¤¹¤ë¤È¥Ñ¥Ã¥±¡¼¥¸¤¬npm¥ì¥¸¥¹¥È¥ê¤Ë¤¹¤°È¿±Ç¤µ¤ì¤ë»ÅÁȤߤǤ·¤¿¡£Ãʳ¬Åª¥ê¥ê¡¼¥¹¤Ç¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò¤¤¤Ã¤¿¤ó¸ø³«ÂÔ¤ÁÎΰè¤ËÃÖ¤­¡¢¥á¥ó¥Æ¥Ê¡¼¤¬ÆâÍÆ¤ò³Îǧ¤·¤Æ¾µÇ§¤·¤Æ¤«¤é°ìÈ̸ø³«¤µ¤ì¤ëή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£

Staged publishing for npm packages | npm Docs

https://docs.npmjs.com/staged-publishing

Npm registry sets stage for more secure package publishing

https://www.theregister.com/ai-ml/2026/05/21/npm-registry-sets-stage-for-more-secure-package-publishing/5244527

npm¤ÏNode.js¤Ê¤É¤ÎJavaScript´Ä¶­¤Ç»È¤ï¤ì¤ëÉôÉʤòÇÛÉÛ¤¹¤ë¤¿¤á¤Î»ÅÁȤߤǤ¹¡£³«È¯¼Ô¤Ï¥í¥°½ÐÎÏ¡¢ÆüÉÕ½èÍý¡¢°Å¹æ²½¡¢UIÉôÉʤʤɤε¡Ç½¤ò¡Ö¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤·¤Ænpm¤«¤é¼è¤ê¹þ¤ß¡¢³«È¯Ãæ¤Î¥½¥Õ¥È¥¦¥§¥¢¤ËÁȤ߹þ¤ß¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¹­¤¯»È¤ï¤ì¤Æ¤¤¤ënpm¥Ñ¥Ã¥±¡¼¥¸¤¬²þ¤¶¤ó¤µ¤ì¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤òľÀܻȤäƤ¤¤ë³«È¯¼Ô¤À¤±¤Ç¤Ê¤¯¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò´ÖÀÜŪ¤Ë»È¤Ã¤Æ¤¤¤ë¿¿ô¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ë¤â±Æ¶Á¤¬¹­¤¬¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

¶áǯÌäÂê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤¬¡¢¥½¥Õ¥È¥¦¥§¥¢¥µ¥×¥é¥¤¥Á¥§¡¼¥ó¹¶·â¤Ç¤¹¡£¥µ¥×¥é¥¤¥Á¥§¡¼¥ó¹¶·â¤È¤ÏºÇ½ªÀ½Éʤ½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢³«È¯¤äÇÛÉÛ¤ÎÅÓÃæ¤Ç»È¤ï¤ì¤ëÉôÉʤ䥢¥«¥¦¥ó¥È¡¢ÇÛÉÛ·ÐÏ©¤òÁÀ¤¦¹¶·â¤ò»Ø¤·¤Þ¤¹¡£npm¤Î¾ì¹ç¡¢¹¶·â¼Ô¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Æ¥Ê¡¼¥¢¥«¥¦¥ó¥È¤ä¸ø³«Íѥȡ¼¥¯¥ó¤ò¾è¤Ã¼è¤ë¤³¤È¤Ç¡¢Àµµ¬¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¸«¤¨¤ë°­°Õ¤¢¤ë¥³¡¼¥É¤òÇÛÉۤǤ­¤ë¶²¤ì¤¬¤¢¤ê¤Þ¤¹¡£

npm³«È¯¸µ¤Ç¤¢¤ëGitHub¤Ï2025ǯ12·î¡¢¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤¬¿¯³²¤µ¤ì¤¿Shai-Hulud 2.0¥­¥ã¥ó¥Ú¡¼¥ó¤ò¼õ¤±¤Æ¡¢npm¥Ñ¥Ã¥±¡¼¥¸¸ø³«¼Ô¸þ¤±¤Î¥»¥­¥å¥ê¥Æ¥£¶¯²½ºö¤òȯɽ¤·¤Æ¤¤¤Þ¤·¤¿¡£º£²óƳÆþ¤µ¤ì¤¿Ãʳ¬Åª¥ê¥ê¡¼¥¹¤Ïȯɽ¤µ¤ì¤Æ¤¤¤¿Âкö¤Î1¤Ä¤Ç¡¢GitHub¤Ï2026ǯ5·î20Æü¤Ënpm CLI¤Ë¡Önpm stage¡×¤ò¼è¤ê¹þ¤ß¡¢Ãʳ¬Åª¥ê¥ê¡¼¥¹¤Î¼ê½ç¤òÀâÌÀ¤¹¤ënpm¸ø¼°¥É¥­¥å¥á¥ó¥È¤â¹¹¿·¤·¤Þ¤·¤¿¡£

Ëè½µ200Ëü²ó°Ê¾å¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤ë¿Íµ¤¤Î@ctrl/tinycolor¥Ñ¥Ã¥±¡¼¥¸¤¬¹âÅ٤ʥµ¥×¥é¥¤¥Á¥§¡¼¥ó¹¶·â¡ÖShai-Hulud¡×¤Ë¤è¤Ã¤Æ40°Ê¾å¤ÎNPM¥Ñ¥Ã¥±¡¼¥¸¤È¤È¤â¤Ë¿¯³²¤ò¼õ¤±¤Æ¤¤¤ë¤Èȯ³Ð - GIGAZINE



Ãʳ¬Åª¥ê¥ê¡¼¥¹¤ò»È¤¦¾ì¹ç¡¢³«È¯¼Ô¤Ï½¾Íè¤Î¡Önpm publish¡×¤ÇľÀܸø³«¤¹¤ëÂå¤ï¤ê¤Ë¡¢¡Önpm stage publish¡×¤È¤¤¤¦¥³¥Þ¥ó¥É¤Ç¥Ñ¥Ã¥±¡¼¥¸¤ò¸ø³«ÂÔ¤ÁÎÎ°è¤ØÁ÷¿®¤·¤Þ¤¹¡£¸ø³«ÂÔ¤ÁÎΰè¤ËÁ÷¤é¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Ï¤Þ¤À°ìÈ̸ø³«¤µ¤ì¤Þ¤»¤ó¡£¥á¥ó¥Æ¥Ê¡¼¤ÏCLI¤Þ¤¿¤Ïnpmjs.com¾å¤Ç¥Ñ¥Ã¥±¡¼¥¸¤ò³Îǧ¤·¡¢2Í×ÁÇǧ¾Ú¤ò·Ð¤ÆÌÀ¼¨Åª¤Ë¾µÇ§¤·¤Þ¤¹¡£¾µÇ§¤¬´°Î»¤·¤Æ½é¤á¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬npm¥ì¥¸¥¹¥È¥ê¤ÇÍøÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

2Í×ÁÇǧ¾Ú¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ë²Ã¤¨¤Æ¥ï¥ó¥¿¥¤¥à¥³¡¼¥É¤Ê¤ÉÊ̤γÎǧ¼êÃʤòÍ׵᤹¤ë»ÅÁȤߤΤ¿¤á¡¢¹¶·â¼Ô¤¬¥Ñ¥¹¥ï¡¼¥É¤ä¸ø³«Íѥȡ¼¥¯¥ó¤òÆþ¼ê¤·¤Æ¤â¡¢ÄɲäγÎǧ¤òÆÍÇˤǤ­¤Ê¤±¤ì¤Ð¸ø³«Áàºî¤ò´°Î»¤·¤Ë¤¯¤¯¤Ê¤ê¤Þ¤¹¡£

npm¸ø¼°¥É¥­¥å¥á¥ó¥È¤Ë¤è¤ë¤È¡¢Ãʳ¬Åª¥ê¥ê¡¼¥¹¤ÎÍøÍѤˤÏnpm CLI 11.15.0°Ê¹ß¤ÈNode.js 22.14.0°Ê¹ß¤¬É¬ÍפȤΤ³¤È¡£¤µ¤é¤Ë¡¢Âоݥѥ屡¼¥¸¤Ø¤Î¸ø³«¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬npm¥ì¥¸¥¹¥È¥ê¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¤³¤È¡¢npm¥¢¥«¥¦¥ó¥È¤Ç2Í×ÁÇǧ¾Ú¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤â¾ò·ï¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¿·µ¬¥Ñ¥Ã¥±¡¼¥¸¤ò½é¤á¤Ænpm¤ØÅÐÏ¿¤¹¤ëÍÑÅӤǤÏÃʳ¬Åª¥ê¥ê¡¼¥¹¤òÍøÍѤǤ­¤Þ¤»¤ó¡£

¥á¥ó¥Æ¥Ê¡¼¤Ï¡Önpm stage list¡×¤Ç³Îǧ²Äǽ¤Ê¸ø³«ÂÔ¤Á¥Ñ¥Ã¥±¡¼¥¸¤ò°ìÍ÷ɽ¼¨¤Ç¤­¡¢¡Önpm stage view¡×¤Ç¾ÜºÙ¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡Önpm stage download¡×¤ò»È¤¦¤È¡¢¸ø³«ÂÔ¤Á¥Ñ¥Ã¥±¡¼¥¸¤Îtarball¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸°ì¼°¤ò¤Þ¤È¤á¤¿°µ½Ì¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤ÆÃæ¿È¤òÄ´ºº²Äǽ¡£npmjs.com¾å¤Ç¤Ï¡ÖStaged Packages¡×¥¿¥Ö¤«¤é¸ø³«ÂÔ¤Á¥Ñ¥Ã¥±¡¼¥¸¤ò³Îǧ¤·¡¢ÆâÍÆ¤ò¸«¤¿¤¦¤¨¤Ç¾µÇ§¥Ü¥¿¥ó¤ò²¡¤¹Î®¤ì¤Ç¤¹¡£



Ãʳ¬Åª¥ê¥ê¡¼¥¹¤¬ÆÃ¤Ë¸ú²Ì¤òȯ´ø¤¹¤ë¤È¤ß¤é¤ì¤Æ¤¤¤ë¤Î¤¬¡¢¼«Æ°¸ø³«¤Î¥ï¡¼¥¯¥Õ¥í¡¼¤Ç¤¹¡£¡Ö·Ñ³Ū¥¤¥ó¥Æ¥°¥ì¡¼¥·¥ç¥ó¡¿·Ñ³Ū¥Ç¥ê¥Ð¥ê¡¼(CI/CD)¡×¤È¸Æ¤Ð¤ì¤ë¼«Æ°²½´Ä¶­¤Ç¤Ï¡¢¥³¡¼¥É¤Î¥Æ¥¹¥È¤ä¥Ó¥ë¥É¡¢¥Ñ¥Ã¥±¡¼¥¸¸ø³«¤Þ¤Ç¤ò¼«Æ°¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£°ìÊý¤Ç¡¢¼«Æ°²½´Ä¶­¤Ç¤Ï¿Í´Ö¤¬Ëè²ó2Í×ÁÇǧ¾Ú¤ò¹Ô¤¦¤³¤È¤¬Æñ¤·¤¯¡¢¸ø³«Íѥȡ¼¥¯¥ó¤Ë°Í¸¤·¤¬¤Á¤Ç¤·¤¿¡£

¸ø³«Íѥȡ¼¥¯¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÂå¤ï¤ê¤Ë¥·¥¹¥Æ¥à¤¬npm¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¸°¤Î¤è¤¦¤Ê¤â¤Î¤Ç¡¢Ä¹´ü´ÖÍ­¸ú¤Ê¥È¡¼¥¯¥ó¤¬Î®½Ð¤¹¤ë¤È¡¢¹¶·â¼Ô¤¬Àµµ¬¤Î¸ø³«¸¢¸Â¤ò»ý¤Ä¥·¥¹¥Æ¥à¤Ë¤Ê¤ê¤¹¤Þ¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸¤ò¸ø³«¤Ç¤­¤ë¶²¤ì¤¬¤¢¤ê¤Þ¤¹¡£Ãʳ¬Åª¥ê¥ê¡¼¥¹¤Ë¤è¤ê¡¢¼«Æ°²½´Ä¶­¤Ç¥Ñ¥Ã¥±¡¼¥¸¤ò¸ø³«ÂÔ¤ÁÎÎ°è¤ØÁ÷¤ê¡¢¿Í´Ö¤Î¥á¥ó¥Æ¥Ê¡¼¤¬¸å¤«¤é2Í×ÁÇǧ¾Ú¤Ç¾µÇ§¤¹¤ë±¿ÍѤ¬²Äǽ¤Ë¤Ê¤ë¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£

GitHub¤ÏCI/CD¥×¥í¥Ð¥¤¥À¡¼¤Ènpm¤Î¿®Íê´Ø·¸¤ò¡¢³°Éô¥µ¡¼¥Ó¥¹¤¬ÀµÅö¤Ê¼Â¹Ô´Ä¶­¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Îǧ¾Úµ»½Ñ¤Ç¤¢¤ëOpenID Connect¤Ç³ÎΩ¤¹¤ë¡Ö¿®ÍêºÑ¤ß¸ø³«¡×¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£npm¸ø¼°¥É¥­¥å¥á¥ó¥È¤Ë¤è¤ë¤È¡¢¿®ÍêºÑ¤ß¸ø³«¤ò»È¤¦¾ì¹ç¤Ç¤â¡¢Ãʳ¬Åª¥ê¥ê¡¼¥¹¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ç¡¢¸ø³«Á°¤Ë¥á¥ó¥Æ¥Ê¡¼¤¬ÆâÍÆ¤ò³Îǧ¤·¤Æ¾µÇ§¤¹¤ëή¤ì¤òÄɲäǤ­¤Þ¤¹¡£

¤¿¤À¤·¡¢Ãʳ¬Åª¥ê¥ê¡¼¥¹¤Ï¤¹¤Ù¤Æ¤Î¹¶·â¤ò¼«Æ°Åª¤ËËɤ°Ëüǽºö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¸ø³«ÂÔ¤ÁÎΰè¤ËÃÖ¤«¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò¥á¥ó¥Æ¥Ê¡¼¤¬½½Ê¬¤Ë³Îǧ¤·¤Ê¤±¤ì¤Ð¡¢°­°Õ¤¢¤ë¥³¡¼¥É¤ò¸«Æ¨¤¹²ÄǽÀ­¤Ï»Ä¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¹¶·â¼Ô¤¬¥á¥ó¥Æ¥Ê¡¼¤Î¥¢¥«¥¦¥ó¥È¤È2Í×ÁÇǧ¾Ú¤ÎξÊý¤òÆÍÇˤ·¤¿¾ì¹ç¡¢¾µÇ§¼ê½ç¤½¤Î¤â¤Î¤¬°­ÍѤµ¤ì¤ë¶²¤ì¤â¤¢¤ê¤Þ¤¹¡£

¤½¤ì¤Ç¤â¡¢¸ø³«Áàºî¤ò¨»þÈ¿±Ç¤«¤é¾µÇ§À©¤ØÊѤ¨¤ë¤³¤È¤Ç¡¢¥È¡¼¥¯¥óή½Ð¤ä¼«Æ°²½´Ä¶­¤Î¿¯³²¤¬¤½¤Î¤Þ¤Þ¸ø³«»ö¸Î¤Ë¤Ä¤Ê¤¬¤ë¥ê¥¹¥¯¤ò²¼¤²¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£º£²ó¤Î·ï¤òÊ󤸤¿The Register¤Ï¡¢³«È¯¼Ô¤¬Ãʳ¬Åª¥ê¥ê¡¼¥¹¤È¿®ÍêºÑ¤ß¸ø³«¤òÍøÍѤ¹¤ì¤Ð¡¢¥½¥Õ¥È¥¦¥§¥¢¥µ¥×¥é¥¤¥Á¥§¡¼¥ó¤ò°ÊÁ°¤è¤êËɸ椷¤ä¤¹¤¯¤Ê¤ë¤È½Ò¤Ù¤Þ¤·¤¿¡£