Docker разказва как уязвимост в Cursor е позволявала на скрит текст да смени настройките на средата, без да поиска одобрение. После най-обикновена команда, която разработчикът сам е одобрил, е изпълнявала чужд код.
- CVE-2026-22708 в Cursor: няколко вградени команди на обвивката минавали покрай списъка с разрешеното.
- Скрит текст в README или в коментар е можел да смени настройка тихо, без питане.
- После одобрена от теб команда като git branch е изпълнявала чуждото.
Ако държиш агент за писане на код, най-вероятно имаш списък. Списък с командите, които може да пуска, без да те пита.
Долу под този списък стои едно предположение: че всичко опасно ще изскочи като въпрос, който можеш да откажеш. Точно това предположение е паднало.
Защо проверката не е видяла нищо
Вградените команди на обвивката не са програми, които лежат на диска. Проверката е търсела програми на диска. Затова са минали, без изобщо да се появят пред очите на човека.
После идва обикновеното. Git гледа настройка, която казва с коя програма да покаже изхода си. Python гледа друга. Никой не мисли за тези настройки, което е точно смисълът на атаката. Сменяш ги минута по-рано, а след това git branch прави каквото си му подготвил.
Тук няма счупена памет и няма повишени права. Има разминаване между това, което си одобрил, и това, което командата вече значи.
Какво взимам оттук
Списъкът с разрешени команди дава спокойствие, което не си е заслужил. Той проверява имена, а атаката работи по смисъл. Докато проверяваш низове, все ще има начин низът да значи друго.
Затова границата не бива да е при командния ред. Тя трябва да е около целия процес: отделна среда, отрязана мрежа, права за днешната задача. Тогава е без значение какво е решил агентът да пусне, защото няма къде да отиде.
И да, това е реклама на Docker за техните пясъчници. Мисълта отдолу пак е вярна.