Хтось скаже, що світ JavaScript прекрасний, хтось із цим може поспорити. npm - пакетний менеджер, що дозволяє однією командою в терміналі підключити у ваш JavaScript-проект будь-який із майже пів мільйона модулів коду із публічного реєстру
https://www.npmjs.com/
Але у цієї чудової можливості є і зворотний бік медалі. Якщо ви в 2016 році пропустили ці події, почитайте, які драми і суперечки розгортались тоді через один маленький пакет із 11-ма рядками коду:
https://habrahabr.ru/post/280099/
При створенні програми конфіденційні дані (паролі доступу до баз даних, зовнішніх API та ін.) нізащо не можна вносити у файли проекту, бо одного чудового ранку ви прокинетесь із почищеною базою даних чи без доступу до свого сервера після того, як закомітите ці дані разом з кодом у публічний репозиторій GitHub. Про те, якою може бути ціна такої помилки:
https://geektimes.ru/post/243811/
Тому для зберігання конфіденційних даних часто використовують змінні середовища (environment variables) операційної системи:
https://hackernoon.com/how-to-use-environment-variables-keep-your-secret-keys-safe-secure-8b1a7877d69c
Кіберсквоттинг - незаконна реєстрація, використання та продаж доменного імені веб-сайту певної торгової марки сторонніми особами. Наприклад, кіберсквоттер може зареєструвати сайт some-startup-name.ua до того, як це зроблять власники some-startup-name.com, яким тоді залишається судитись із зловмисником або по-тихому викупити у нього доменне ім'я.
Також кіберсквоттери спеціально реєструють багато доменних імен із помилками у написанні, наприклад, some-strtup-name.com, для того, щоби заманювати на такі сайти користувачів оригінального сайту, що помилились при вводі назви у браузері. Такий тип кіберсквоттингу називається тайпосквоттинг (typosquatting). Ці сайти зазвичай містять рекламу або копіюють зовнішній вигляд оригінального сайту для виманювання паролів у неуважних користувачів.
https://nakedsecurity.sophos.com/typosquatting/
І ось до чого я веду. Як виманити у розробників JavaScript програм паролі, що зберігаються у змінних середовища? Правильно, підсунути у публічний реєстр npm копії популярних пакетів зі схожими іменами та кодом, що при встановленні пакету у операційній системі розробника спокійно бере всі змінні середовища і відправляє їх на сервер зловмисника. Почитайте, як нещодавно було використано тайпосквоттинг для викрадення конфіденційних даних через пакети npm:
https://www.bleepingcomputer.com/news/security/javascript-packages-caught-stealing-environment-variables/
https://www.npmjs.com/
Але у цієї чудової можливості є і зворотний бік медалі. Якщо ви в 2016 році пропустили ці події, почитайте, які драми і суперечки розгортались тоді через один маленький пакет із 11-ма рядками коду:
https://habrahabr.ru/post/280099/
При створенні програми конфіденційні дані (паролі доступу до баз даних, зовнішніх API та ін.) нізащо не можна вносити у файли проекту, бо одного чудового ранку ви прокинетесь із почищеною базою даних чи без доступу до свого сервера після того, як закомітите ці дані разом з кодом у публічний репозиторій GitHub. Про те, якою може бути ціна такої помилки:
https://geektimes.ru/post/243811/
Тому для зберігання конфіденційних даних часто використовують змінні середовища (environment variables) операційної системи:
https://hackernoon.com/how-to-use-environment-variables-keep-your-secret-keys-safe-secure-8b1a7877d69c
Кіберсквоттинг - незаконна реєстрація, використання та продаж доменного імені веб-сайту певної торгової марки сторонніми особами. Наприклад, кіберсквоттер може зареєструвати сайт some-startup-name.ua до того, як це зроблять власники some-startup-name.com, яким тоді залишається судитись із зловмисником або по-тихому викупити у нього доменне ім'я.
Також кіберсквоттери спеціально реєструють багато доменних імен із помилками у написанні, наприклад, some-strtup-name.com, для того, щоби заманювати на такі сайти користувачів оригінального сайту, що помилились при вводі назви у браузері. Такий тип кіберсквоттингу називається тайпосквоттинг (typosquatting). Ці сайти зазвичай містять рекламу або копіюють зовнішній вигляд оригінального сайту для виманювання паролів у неуважних користувачів.
https://nakedsecurity.sophos.com/typosquatting/
І ось до чого я веду. Як виманити у розробників JavaScript програм паролі, що зберігаються у змінних середовища? Правильно, підсунути у публічний реєстр npm копії популярних пакетів зі схожими іменами та кодом, що при встановленні пакету у операційній системі розробника спокійно бере всі змінні середовища і відправляє їх на сервер зловмисника. Почитайте, як нещодавно було використано тайпосквоттинг для викрадення конфіденційних даних через пакети npm:
https://www.bleepingcomputer.com/news/security/javascript-packages-caught-stealing-environment-variables/