Галюцинація ШІ в назві пакета
Помічник назвав пакет. Ніхто не перевірив, що він справжній.
Що таке Галюцинація ШІ в назві пакета?
Помічник ШІ для програмування може назвати пакет, за яким не стоїть жодна справжня бібліотека, а будь-хто може зареєструвати цю назву й додати до неї скрипт встановлення. Ви приймете впевнені зміни помічника, встановите названий ним пакет і побачите, як скрипт postinstall запускається, хоча ви не прочитали жодного його рядка. Потім ви прочитаєте картку пакета в реєстрі, яку пропустили, відкличете токен, що витік, спрямуєте встановлення через список дозволених пакетів і перейдете на перевірену бібліотеку. Ви навчитеся перевіряти залежність, перш ніж їй довіряти.
Що ви дізнаєтесь у Галюцинація ШІ в назві пакета
- Усвідомте, що помічник ШІ може вигадати назву пакета, а запропонована назва не доводить, що пакет існує чи безпечний
- Перевіряйте залежність у реєстрі, перш ніж її встановлювати: дивіться на вік, версії, завантаження, вихідний код і видавця
- Поясніть, чому скрипт postinstall із неперевіреного пакета небезпечний уже в момент встановлення, а не імпорту
- Локалізуйте скомпрометований токен npm, відкликавши його, і зупиніть наступну вигадану назву списком дозволених пакетів для реєстру
- Замініть вигадану залежність усталеною бібліотекою з тим самим інтерфейсом
Галюцинація ШІ в назві пакета — Кроки навчання
-
Захоплення назви
Боб займає назви пакетів, які вигадують помічники ШІ. Він збирає правдоподібні назви бібліотек, які помічник імовірно запропонує, заздалегідь реєструє їх у публічному реєстрі pkghaus і чекає, поки хтось установить один із цих пакетів. Шість днів тому він зареєстрував ratelimit-guard і додав до нього скрипт postinstall. Переконайтеся, що пастка досі працює.
-
Обмеження частоти до п'ятниці
Ви знову на робочому місці, а ваша керівниця вже створила для вас у Jotvane, трекері команди, задачу: до п'ятничного релізу маршруту входу потрібне обмеження частоти запитів.
-
Відкрийте проєкт
Редактор відкриває маршрут входу, маніфест і файл .npmrc проєкту. У маршруті є заглушка на місці обмежувача, а .npmrc спрямовує npm до реєстру pkghaus.
-
Попросіть обмеження частоти
Відкрийте помічника й попросіть додати до маршруту входу обмеження частоти запитів.
-
З'являється пакет
Claude читає маршрут і маніфест, а потім пропонує зміни, що імпортують пакет ratelimit-guard , і застосовує їх до маршруту. Відповідь звучить упевнено й містить команду встановлення в один рядок.
-
Прийміть зміни
Після прийняття рядки помічника потрапляють у файл. Смуга зліва позначає їх фіолетовим як рядки без рев'ю: їх написав Claude, і людина їх ще не читала.
-
Встановіть пакет
Ви запускаєте команду встановлення, яку дав помічник. npm виводить рядки postinstall і повідомляє, що пакет додано. На карті контексту підсвічується новий файл у node_modules : він щойно з'явився на цьому ноутбуці після встановлення.
-
Публікація від імені Galtmere
Під час встановлення, яке запускала Аліса, скрипт postinstall непомітно зробив одне: прочитав її токен для публікації npm із ~/.npmrc і надіслав його на колектор Боба. Цим токеном можна випускати реліз будь-якого пакета під @galtmere . Тепер Боб його використовує: публікує напряму в реєстр змінений патч власного пакета Galtmere — @galtmere/session-kit .
-
Сповіщення про ваш токен
Керівник служби безпеки створив задачу про сповіщення від реєстру: від імені Galtmere щось опубліковано з вашим токеном npm, і то з чужої адреси.
-
Знайдіть пакет у реєстрі
Перед встановленням ви жодного разу не відкривали сторінку пакета. Відкрийте її тепер за посиланням у змінах, які запропонував 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