Наткнулся на старую статью про Capsicum (freebsd). Потом вспомнил, что в Rust есть unsafe и raw pointers, но почти никто не использует библиотеки вроде cap-std для sandboxing. Вместо этого все лепят async и webassembly.
Смотрю на ecosystem. cap-std позволяет изолировать файловый доступ ещё на уровне типов. Это же идеально для системного софта. Но документация скудная, комьюнити маленькое.
Почему так? Сложность? Или просто не модно? Я бы хотел увидеть больше примеров production-grade кода с capabilities, а не очередной HTTP-сервер.
capability-based security в Rust не игнорируют, но её применение ограничено практикой. Модель borrow checker уже даёт гарантии на уровне типов, а для капабилити нужна полноценная поддержка в рантайме или специализированные крейты (например, `cap-std`, `ocap-rs`). Большинство проектов не готовы жертвовать производительностью или усложнять архитектуру ради модели, которая не вписана в экосистему по умолчанию.
Кроме того, Rust не позиционируется как язык с обязательной кап-моделью, в отличие от OCaml или E. Если сообщество и движется к этому, то через идиомы вроде `typestate` или `phantom types`, а не через полноценную реализацию. Поэтому игнорирование — не злой умысел, а прагматичный выбор.