Назад
Fly.io: SSH-агент VSCode виявився значно інвазивнішим, ніж здається
SiTech AI Team2 წთ. საკითხავი

Fly.io: SSH-агент VSCode виявився значно інвазивнішим, ніж здається

Інженер Fly.io Томас Птейс розібрав, як VSCode редагує файли на віддалених машинах: Bash-скрипт ставить на хост агента з Node, той відкриває WebSocket до редактора і може вільно правити файли, запускати оболонки та закріплюватися.

Інженер Fly.io Томас Птейс опублікував детальний розбір того, як VSCode редагує файли на віддалених машинах через SSH. Описана ним конструкція виявилася значно інвазивнішою, ніж старіший інструмент, на який вона схожа. Допис «VSCode's SSH Agent Is Bananas» з'явився в блозі Fly 7 лютого 2025 року.

Чому Fly.io цим зацікавилася

Fly.io хоче вбудувати свою платформу в той самий процес, який VSCode використовує для віддаленого редагування, адже більшість розробників сьогодні працюють саме у VSCode, зокрема у форках, що генерують код за допомогою LLM. Код від LLM стає набагато кориснішим, коли цикл між моделлю та середовищем виконання замкнено: модель пише код, агент його запускає, помилки повертаються моделі, і процес повторюється. На думку Птейса, такий цикл не варто запускати на власному ноутбуці: LLM не визнають меж і з однаковим завзяттям «доопрацюють» як проєкт, так і системні налаштування. Безпечніше місце для нього — чистий екземпляр Linux, який стартує за секунди.

Tramp і агент VSCode

Tramp з Emacs — «духовний предок» віддаленого редагування. Достатньо під'єднати його до інтерактивного середовища, зазвичай SSH-сесії, де можна виконувати команди Bourne shell, і він поширить Emacs на цю машину, користуючись тим, що вже є на віддаленому хості. У VSCode є схожа функція. Здавалося б, це мав бути спрощений Tramp із TypeScript замість Elisp. Натомість, пише Птейс, VSCode «влаштовує повномасштабне вторгнення»: Bash-скрипт завантажує на віддалений хост агента, разом із бінарною інсталяцією Node. Агент працює через SSH із перенаправленням портів і відкриває WebSocket-з'єднання назад до запущеного інтерфейсу VSCode.

Що вміє агент

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

Практичний висновок

Птейс каже, що віддалене редагування у VSCode на серверах розробки викликало б у нього «легке занепокоєння», а якби це сталося під час інциденту на продакшені, він би «скаженів». Допис завершується практичною приміткою: Fly.io з'ясувала, що для налаштування власного з'єднання з Fly Machine у VSCode всього цього знати не потрібно. Знахідка не завадила роботі — нею просто варто було поділитися.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.