Створити

Чому я відмовился від VSCode і перейшов на Sublime Text

Нещодавно залишив мак відкритим і пішов по своїх ділах. Звісно всі додатки залишилися у тому ж самому стані. Зазвичай останньою на екрані залишається IDE VSCode – бо працюю в ній. Що пішло не так?


Яке було здивування, коли я розблокував мак та побачив що в IDE відкрито файл ~/.ssh/id_rsa, тобто мій приватний ключ з яким я зазвичай роблю пуші та підключаюся по SSH.

Тут мене вхопила параноя і трохи помуркувавши, зробив наступні зміни:

  • зніс публічні ключі у всіх сервісах, які мають привʼязку до SSH-ключа,
  • зніс розширення VSCode, які не використовую,
  • закрив VSCode,
  • зніс локальний приватний та публічний ключі,
  • згенерував новий ключ,
  • перевірив всі мережеві підключення у macOS, командою lsof -i | grep -E "(LISTEN|ESTABLISHED)" | awk ‘{print $1, $8, $9}’.

Косвені ознаки того, що причина саме у VSCode:

  • Останнім часом IDE почала підтуплювати, фрізитися, хоча до цього працювала достатньо швидко,
  • файл id_rsa був відкритий саме в IDE. Аби у зловмисника був доступ до операційної системи – працював би він саме через IDE? Гадаю що ні.

Чому, я вважаю, що VSCode – гарний вектор для атаки у зловмисників?

  • VSCode має доступ до файлової системи,
  • написана на JS, тож головне отримати доступ до DOM у якому рендериться IDE, що здається, не складно,
  • розширення написані на JS від невідомих авторів,
  • IDE та розширення мають залежності які розповсюджуються через NPM.

Тобто достатньо отримати доступ до NPM якогось пакета-утіліти, який входить або в залежності VSCode, або популярного екстеншена і зловмисник фактично має доступ до файлових систем величезної кількості програмістів. Далі можно дізнатися геолокацію користувачів та робити цілеспрямовані атаки.

Перейшов до використання Sublime Text

Цей редактор має більш, так би мовити, деревʼяний інтерфейс і меньшу користувацьку базу. Але натомість цей редактор значно швидший. Написаний він на Python, тож маю надію, що в нього немає глобального DOM або обʼєктка window через котрі можно робити атаки.

Думаю, що просто не треба, як я, класти всі яйця в одну корзину – використовувати найпопулярніший редактор-комбайн, написаний на JS, та ставити забагато неперевіриних розширень.

Все це припущення і я, та й кожен з нас, не застраховані від того щоб бути вламаним. Особливо у такий час. Бережіть свої данні.

6 коментарів

Леммі 2рр
Поскаржитись
1

@javascript Нічого так, зробили тему практично під всі відомі аплікухи.

Леммі 2рр
Поскаржитись
1

@javascript Атом по суті це попередня версія VSCode. Помʼятаю тільки що цей редактор був доволі повільним.

Леммі 2рр
Поскаржитись
1

@javascript Я недооцінив Sublime, виявляється якщо додати плагіни – він по функціоналу не гірший за VSCode, тільки швидший. Намагаюся ставити офіційні розширення

Сумні_Збочення 2рр
Поскаржитись
1

Що таке IDE, бо знаю роз'єм такий для винтів. Чому не дідівський логін-пас?

Леммі 2рр
Поскаржитись
1

@sumni3bochennia Це Integrated Development Environment, тобто среда розробки. Іншими словами – програма для написання кода з інтегрованою підтримкою Git та автокомплітом.

Сумні_Збочення 2рр
Поскаржитись
1

@sumni3bochennia Перечитав - тип програм IDE, програма VSCode