Бесплатно Экспресс-аудит сайта:

18.05.2021

Эксперт разработал атаку на редакторы кода, позволяющие похищать файлы

Исследователь безопасности Джаред Харпер (Jared Harper) представил атаку на редактор кода VSCode, позволяющую передавать произвольные файлы в контексте текущего пользователя при открытии в редакторе особым образом написанного исходного кода. В частности, Харпер продемонстрировал, как при открытии кода на языке Rust с использованием плагина расширения синтаксиса (так называемого процедурного макроса) можно установить соединение с хостом 127.0.0.1:8080 и отправить содержимое файла «~/.ssh/id_rsa» с SSH-ключами пользователя.

В ходе атаки исследователь использовал VSCode с плагином rust-analyzer. Метод связан с раскрытием процедурных макросов в процессе первоначального анализа кода. Того же самого можно достичь также в процессе компиляции с использованием команды «cargo build».

По словам Харпера, представленная им атака работает в отношении не только VSCode и Rust, но и других редакторов кода и языков программирования, а VSCode и rust-analyze использовались просто для демонстрации атаки.

По сути, проблема затрагивает любой редактор кода, раскрывающий процедурные макросы. Поначалу Харпера интересовала возможность осуществления вредоносных действий в процессе компиляции кода, однако затем он выяснил, что процедурные макросы раскрываются при обработке исходных текстов в редакторах кода.