we_are_coded.by CODE · Светът, декодиран
EN
Docker

Одобряваш безобидна команда, а тръгва чужд код. Дупката е в списъка с разрешеното

DockerСигурност

Docker разказва как уязвимост в Cursor е позволявала на скрит текст да смени настройките на средата, без да поиска одобрение. После най-обикновена команда, която разработчикът сам е одобрил, е изпълнявала чужд код.

Накратко
  • CVE-2026-22708 в Cursor: няколко вградени команди на обвивката минавали покрай списъка с разрешеното.
  • Скрит текст в README или в коментар е можел да смени настройка тихо, без питане.
  • После одобрена от теб команда като git branch е изпълнявала чуждото.
Проверено на19 август 2026Отговорен редакторЦветелин ИвановКак работимМетод · Корекции

Ако държиш агент за писане на код, най-вероятно имаш списък. Списък с командите, които може да пуска, без да те пита.

Долу под този списък стои едно предположение: че всичко опасно ще изскочи като въпрос, който можеш да откажеш. Точно това предположение е паднало.

Фактите: на 14 януари 2026 изследователи от Pillar Security разкриват CVE-2026-22708, слабост в Cursor. Когато агентът работи в автоматичен режим с включен списък с разрешени команди, няколко вградени команди на обвивката се изпълняват, без да фигурират в списъка и без да искат одобрение. Изследването посочва поименно export, typeset и declare. Всичко, което може да сложи текст пред агента (файл README, зависимост, коментар по задача), е можело да ги ползва, за да смени променливи на средата тихо. Cursor оценява слабостта като висока и я закърпва във версия 2.3. Docker описва случая на 18 август 2026 като пета част от поредица за инциденти с агенти за код.

Защо проверката не е видяла нищо

Вградените команди на обвивката не са програми, които лежат на диска. Проверката е търсела програми на диска. Затова са минали, без изобщо да се появят пред очите на човека.

После идва обикновеното. Git гледа настройка, която казва с коя програма да покаже изхода си. Python гледа друга. Никой не мисли за тези настройки, което е точно смисълът на атаката. Сменяш ги минута по-рано, а след това git branch прави каквото си му подготвил.

Разработчикът е видял верен въпрос, одобрил е наистина безобидна команда и пак е получил чужд код.

Тук няма счупена памет и няма повишени права. Има разминаване между това, което си одобрил, и това, което командата вече значи.

Какво взимам оттук

Списъкът с разрешени команди дава спокойствие, което не си е заслужил. Той проверява имена, а атаката работи по смисъл. Докато проверяваш низове, все ще има начин низът да значи друго.

Затова границата не бива да е при командния ред. Тя трябва да е около целия процес: отделна среда, отрязана мрежа, права за днешната задача. Тогава е без значение какво е решил агентът да пусне, защото няма къде да отиде.

И да, това е реклама на Docker за техните пясъчници. Мисълта отдолу пак е вярна.

Визуалът към статията е генериран код-арт, без чужди изображения.
Последвай ниFacebookLinkedIn
Официални първоизточници
→Docker: Coding Agent Horror Stories, The Command You Already Approved (18.08.2026)→CVE-2026-22708 (NVD)
Оригинал: https://wearecoded.com/articles/docker-komandata-koyato-veche-si-odobril.html
СподелиFacebookXLinkedInTelegramWhatsApp
← Обратно към всички новини