Галюцинація ШІ в назві пакета

Галюцинація ШІ в назві пакета

Помічник назвав пакет. Ніхто не перевірив, що він справжній.

Що таке Галюцинація ШІ в назві пакета?

Помічник ШІ для програмування може назвати пакет, за яким не стоїть жодна справжня бібліотека, а будь-хто може зареєструвати цю назву й додати до неї скрипт встановлення. Ви приймете впевнені зміни помічника, встановите названий ним пакет і побачите, як скрипт postinstall запускається, хоча ви не прочитали жодного його рядка. Потім ви прочитаєте картку пакета в реєстрі, яку пропустили, відкличете токен, що витік, спрямуєте встановлення через список дозволених пакетів і перейдете на перевірену бібліотеку. Ви навчитеся перевіряти залежність, перш ніж їй довіряти.

Що ви дізнаєтесь у Галюцинація ШІ в назві пакета

Галюцинація ШІ в назві пакета — Кроки навчання

  1. Захоплення назви

    Боб займає назви пакетів, які вигадують помічники ШІ. Він збирає правдоподібні назви бібліотек, які помічник імовірно запропонує, заздалегідь реєструє їх у публічному реєстрі pkghaus і чекає, поки хтось установить один із цих пакетів. Шість днів тому він зареєстрував ratelimit-guard і додав до нього скрипт postinstall. Переконайтеся, що пастка досі працює.

  2. Обмеження частоти до п'ятниці

    Ви знову на робочому місці, а ваша керівниця вже створила для вас у Jotvane, трекері команди, задачу: до п'ятничного релізу маршруту входу потрібне обмеження частоти запитів.

  3. Відкрийте проєкт

    Редактор відкриває маршрут входу, маніфест і файл .npmrc проєкту. У маршруті є заглушка на місці обмежувача, а .npmrc спрямовує npm до реєстру pkghaus.

  4. Попросіть обмеження частоти

    Відкрийте помічника й попросіть додати до маршруту входу обмеження частоти запитів.

  5. З'являється пакет

    Claude читає маршрут і маніфест, а потім пропонує зміни, що імпортують пакет ratelimit-guard , і застосовує їх до маршруту. Відповідь звучить упевнено й містить команду встановлення в один рядок.

  6. Прийміть зміни

    Після прийняття рядки помічника потрапляють у файл. Смуга зліва позначає їх фіолетовим як рядки без рев'ю: їх написав Claude, і людина їх ще не читала.

  7. Встановіть пакет

    Ви запускаєте команду встановлення, яку дав помічник. npm виводить рядки postinstall і повідомляє, що пакет додано. На карті контексту підсвічується новий файл у node_modules : він щойно з'явився на цьому ноутбуці після встановлення.

  8. Публікація від імені Galtmere

    Під час встановлення, яке запускала Аліса, скрипт postinstall непомітно зробив одне: прочитав її токен для публікації npm із ~/.npmrc і надіслав його на колектор Боба. Цим токеном можна випускати реліз будь-якого пакета під @galtmere . Тепер Боб його використовує: публікує напряму в реєстр змінений патч власного пакета Galtmere — @galtmere/session-kit .

  9. Сповіщення про ваш токен

    Керівник служби безпеки створив задачу про сповіщення від реєстру: від імені Galtmere щось опубліковано з вашим токеном npm, і то з чужої адреси.

  10. Знайдіть пакет у реєстрі

    Перед встановленням ви жодного разу не відкривали сторінку пакета. Відкрийте її тепер за посиланням у змінах, які запропонував Claude.

Охоплення стандартів безпеки

OWASP Top 10

  • A03:2025 Software Supply Chain Failures

CWE

  • CWE-1357 Reliance on Insufficiently Trustworthy Component
  • CWE-829 Inclusion of Functionality from Untrusted Control Sphere

MITRE ATT&CK

  • T1195.001 Supply Chain Compromise: Compromise Software Dependencies and Development Tools

CIS Controls

  • CIS 16 Application Software Security
  • CIS 2 Inventory and Control of Software Assets

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security
  • ID.AM Asset Management