isolate – secure execution environment for untrusted programs

isolate is a sandbox focused on safely executing untrusted programs while limiting their ability to interact with the host system.

It originated in programming contest infrastructure, where submitted executables need to run automatically without being trusted, but its underlying model is useful anywhere controlled execution of arbitrary programs is required. Each sandbox receives a dedicated working area and a restricted view of system resources. The tool is intentionally specialised around process execution rather than providing a general-purpose container management platform.

This is free and open source software.

Key Features

  • Uses Linux namespaces to separate sandboxed processes from the host environment.
  • Employs control groups to account for and restrict resource consumption.
  • Can impose limits on processor time, wall-clock time, memory and other resources.
  • Provides a dedicated working directory for each sandbox instance.
  • Controls which directories and files from the host are visible inside the sandbox.
  • Supports read-only, read-write and temporary filesystem mappings.
  • Can mount selected virtual filesystems including proc, sysfs, tmpfs and devpts.
  • Provides syscall filtering through seccomp.
  • Restricts communication with the outside world unless explicitly permitted.
  • Records execution statistics and termination information for the calling system.
  • Designed for automated judging systems and other services that repeatedly execute untrusted binaries.
  • Includes separate initialisation, execution and cleanup stages so sandbox lifecycle management can be incorporated into larger systems.

Website: github.com/ioi/isolate
Support:
Developer: Martin Mareš and Bernard Blackham
License: GNU General Public License v2.0

isolate is written in C. Learn C with our recommended free books and free tutorials.


Related Software

Application Sandboxing Tools
FirejailLinux SUID sandbox for restricting application access
bubblewrapLow-level tool for building unprivileged sandboxes
NsJailProcess isolation tool using namespaces, cgroups, and seccomp filters
IsolateSecure execution environment for running untrusted programs with limits
SydApplication sandbox providing configurable filesystem and syscall isolation
HakoniwaProcess isolation tool built around Linux namespaces and security facilities

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted