sandboxing

3 статьи

Назад ко всем статьям

Ваша зависимость на C может уронить весь процесс. WebAssembly может это остановить.

Контейнеры — это overkill для изоляции одной C-библиотеки. Скомпилируйте её в WebAssembly и запустите внутри WASI-sandbox для memory safety, capability-based доступа к файловой системе и crash containment без Docker.

Ваши зависимости могут читать переменные окружения. JavaScript им позволяет.

Ambient Authority означает, что любой код в вашем процессе Node.js может взаимодействовать с файловой системой, сетью и окружением. Вот как убрать это с помощью lockdown, compartments и явной передачи capabilities.

Ваши зависимости могут читать любые файлы на диске. cap-std заставляет их запрашивать разрешение.

Стандартная библиотека Rust предоставляет окружающее файловое полномочие каждой зависимости. cap-std заменяет его API на основе полномочий, которые заставляют код доказывать, что у него есть право доступа к пути, прежде чем он откроет его.