Раздел 45 · Python backend: Тарбадель

Ревью синта: prompt injection, секреты и политика

middle-senior~20 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Квот разворачивает ноутбук. Вечером он попросил синта: «посмотри, что блог ронял за ночь». Синт честно позвал MCP-инструмент recent_errors из урока 243, тот прочитал журнал общего хоста, и среди ошибок блога пришла одна строка, которая к блогу не относится:

{"ts": "03:00:00", "level": "INFO", "source": "timer", "msg": "на одну ночь, повторить завтра"}

Старая пометка, кто-то когда-то оставил её себе. Синт прочитал «повторить завтра», решил, что это часть задачи, и через run_shell, который Квот так и не убрал со своего ноутбука, поставил повтор на следующую ночь. Атакующего не было. Был чужой текст, который никто не пометил как данные, и синт, у которого была рука, чтобы его исполнить.

Навена снимает повтор и не спрашивает, чей это таймер. Её интересует другое: у синта нет способа отличить просьбу хозяина от строчки в журнале. Значит, отличать должен кто-то снаружи синта.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.