АРХІТЕКТУРА NPM ЯК ПОВЕРХНЯ АТАКИ

Автор(и)

  • Олександр Сапальський Національний технічний університет "Харківський політехнічний інститут", Україна https://orcid.org/0009-0002-5749-8527
  • Олександр Заковоротний Національний технічний університет "Харківський політехнічний інститут", Україна https://orcid.org/0000-0003-4415-838X
  • Валентин Носков Національний технічний університет "Харківський політехнічний інститут", Україна https://orcid.org/0000-0002-7879-0706

DOI:

https://doi.org/10.20998/3083-6298.2026.01.06

Ключові слова:

безпека екосистеми npm, ланцюг постачання програмного забезпечення, плутанина з пакетами, шкідливі пакети, сканування вразливостей залежностей, атестація походження, посилення безпеки CI/CD

Анотація

Актуальність. Екосистема npm є критичним рівнем інфраструктури сучасної розробки на JavaScript/TypeScript, а її ризики безпеки швидко масштабуються завдяки автоматизованому розв'язанню залежностей, транзитивним залежностям та виконанню скриптів під час встановлення. Як результат, інциденти ланцюга поставок у npm можуть впливати на велику кількість проектів нижче за течією та конвеєрів CI/CD. Предметом дослідження є екосистема npm як поверхня атаки, з акцентом на архітектурно-залежних механізмах загроз, пов'язаних з публікацією пакетів, ідентифікацією та роздільною здатністю пакетів, довірою видавця, виконанням під час встановлення, а також відтворюваністю та походженням залежностей. Мета статті полягає в тому, щоб надати аналітичний огляд загроз ланцюгу поставок, специфічних для npm, на основі архітектури, систематизувати їх у практичну таксономію та сформулювати багаторівневий підхід до пом'якшення наслідків для інженерних команд. Отримані результати. У статті пояснюються властивості архітектури npm, що стосуються безпеки (реєстр, CLI, публікація, вирішення залежностей та робочий процес встановлення), пропонується архітектурно-орієнтована таксономія механізмів повторюваних загроз, аналізуються репрезентативні інциденти як емпіричні ілюстрації цих механізмів та узагальнюються захисні заходи як багаторівнева модель керування, що охоплює прийом залежностей, детерміновані збірки, автоматизований моніторинг, забезпечення дотримання політик CI/CD та посилення захисту видавців. Висновок. Ефективне зниження ризиків у npm вимагає не одного інструменту, а скоординованих технічних та організаційних заходів контролю протягом усього життєвого циклу залежностей; зокрема, відтворювані методи встановлення, вибірковий контроль виконання скриптів життєвого циклу, безперервний моніторинг залежностей та сильніші механізми аутентифікації та походження видавця покращують стійкість та аудит без блокування доставки.

Біографії авторів

Олександр Сапальський, Національний технічний університет "Харківський політехнічний інститут"

Аспірант кафедри комп'ютерної інженерії та програмування

Олександр Заковоротний, Національний технічний університет "Харківський політехнічний інститут"

Доктор технічних наук, професор, завідувач кафедри комп'ютерної інженерії та програмування

Валентин Носков, Національний технічний університет "Харківський політехнічний інститут"

Доктор технічних наук, доцент, професор кафедри комп'ютерної інженерії та програмування

Посилання

  1. Stackoverflow. Survey (2025). “Technologies section”, https://survey.stackoverflow.co/2025/technology
  2. NPM Documentation. About npm, https://docs.npmjs.com/about-npm
  3. NPM Documentation. Registry, https://docs.npmjs.com/cli/v11/using-npm/registry
  4. NPM Documentation. Threats and Mitigations, https://docs.npmjs.com/threats-and-mitigations
  5. NPM Documentation. About ECDSA registry signatures, https://docs.npmjs.com/about-registry-signatures
  6. Duan, R., Alrawi, O., Kasturi, R. P., Elder, R., Saltaformaggio, B. and Lee, W. (2021), “Towards measuring supply chain attacks on package managers for interpreted languages”, Network and Distributed Systems Security (NDSS) Symposium 2021, https://dx.doi.org/10.14722/ndss.2021.23055
  7. Cybersecurity and Infrastructure Security Agency (CISA). (2025), “Widespread Supply Chain Compromise Impacting NPM Ecosystem”, https://www.cisa.gov/news-events/alerts/2025/09/23/widespread-supply-chain-compromise-impacting-npm-ecosystem
  8. CERT Coordination Center (CERT/CC). (2025), “NPM supply chain compromise exposes challenges to securing the ecosystem from credential theft and self-propagation”, Vulnerability Note VU#534320, https://kb.cert.org/vuls/id/534320
  9. Strumpflohner, J. (2025), “S1ngularity - What Happened, How We Responded, What We Learned”, Nx Blog, https://nx.dev/blog/s1ngularity-postmortem
  10. National Institute of Standards and Technology (NIST). (2025), “CVE-2025-54313”, National Vulnerability Database, https://nvd.nist.gov/vuln/detail/CVE-2025-54313
  11. Neupane, S., Holmes, G., Wyss, E., Davidson, D. and De Carli, L. (2023), “Beyond typosquatting: an in-depth look at package confusion”, In 32nd USENIX security symposium (USENIX security 23), https://ldklab.github.io/assets/papers/usenix23-confusion.pdf
  12. Javan Jafari, A., Costa, D. E., Shihab, E. and Abdalkareem, R. (2023), “Dependency update strategies and package characteristics”, ACM Transactions on Software Engineering and Methodology, Vol. 32(6), pp. 1-29, https://doi.org/10.1145/3603110
  13. Renovate Documentation, https://docs.renovatebot.com/getting-started/use-cases
  14. Wallen, C. M., Alberts, C. J., Bandor, M. S. and Woody, C. (2023), “Software Bill of Materials Framework: Leveraging SBOMS for Risk Reduction”, https://www.sei.cmu.edu/library/software-bill-of-materials-framework-leveraging-sboms-for-risk-reduction/

##submission.downloads##

Опубліковано

2026-03-27