Агент с доступом к командной строке удобен ровно до того момента, когда вызывает инструмент, лезущий не туда. Docker проблему закрывает, но тащить демон и права администратора ради одного вызова — перебор.
xenarch-guard запускается как обёртка:
xenarch-guard --allow-write ./workspace python script.py — и python видит только ./workspace, а опасные системные вызовы отрезаны. Внутри Landlock ограничивает пути, seccomp-bpf фильтрует системные вызовы; оба механизма ядра Linux работают без привилегий. Обёртка не форкает процесс, а заменяет себя на команду через execve(), так что родителя, к которому можно обратиться, не остаётся.Очевидная альтернатива —
bubblewrap: он старше, гибче и умеет полноценные пространства имён с монтированием. Но и настраивать его дольше, а тут одна строка перед командой. Сравнивать с Docker честнее по цене входа: демона и root-прав здесь нет вовсе.В нашем канале Tproger разобрали подробнее.
@prog_tools