Компания Microsoft восстановила в каталоге Visual Studio Marketplace дополнения к редактору кода VSCode - "Material Theme" и "Material Theme Icons", насчитывающие 3.9 и 5.4 миллионов установок, а также сняла блокировку с учётной записи разработчика. Две недели назад данные дополнения были удалены из-за подозрений на наличие вредоносного кода. В итоге оказалось, что дополнения были удалены по ошибке, так как произошло ложное срабатывание инструментария и недосмотр сотрудников при проверке.
Представители Microsoft принесли извинения пострадавшему разработчику и признались, что поторопились, пытаясь оперативно защитить пользователей от возможной угрозы, положившись на срабатывание нескольких детекторов вредоносного ПО в коде. Для снижения вероятности подобных инцидентов в будущем компания Microsoft
пересмотрит свою политику в отношении обфусцированного кода, а также обновит системы сканирования и процесс ручного анализа.
Дополнения заподозрили в распространении вредоносного кода из-за наличия обфусцированных вставок, на которые обратили внимание сотрудники компании ExtensionTotal, развивающей AI-инструменты для сканирования вредоносных дополнений к VSCode. В Microsoft была направлена жалоба с подозрениями на использование в дополнениях "Material Theme" и "Material Theme Icons" обфусцированных вставок для скрытия вредоносного кода.
Например, в файле release-notes.js был выявлен обфусцированный исполняемый код, в то время как темы оформления должны содержать лишь статические JSON-данные. Частичное раскодирование обфусцированных блоков показало наличие строк с именами пользователей и паролями. В ответ на жалобу исследователи безопасности из Microsoft провели проверку, которая подтвердила упомянутые в жалобе выводы. Наличия исполняемого кода в темах оформления и упоминаний паролей было признано достаточным для удаления дополнений и блокировки их автора.
Сразу после блокировки автор дополнений опубликовал возражение против действий Microsoft и заявил, что в его проектах нет вредоносного кода, а наличие обфусцирования не является поводом для удаления. Единственной проблемой было то, что в обфусцированный блок попал код клиента из SDK sanity.io, в котором имелись строки, упоминающие логины и пароли в клиенте аутентификации. Данный код попал в состав дополнения по недосмотру из-за старого сборочного скрипта, применявшегося для генерации файлов в формате JSON после загрузки SVG-пиктограмм из закрытого репозитория.
По словам автора дополнений, если бы Microsoft сообщала ему о проблеме, он устранил бы её в считанные секунды, но вместо этого компания без предупреждений и уведомлений заблокировала дополнения и учётную запись. На то чтобы добиться восстановления ошибочно удалённых дополнений потребовалось две недели.
|