Skip to content
forked from ioi/isolate

Sandbox for securely executing untrusted programs

License

Notifications You must be signed in to change notification settings

soufrabi/isolate

This branch is 9 commits behind ioi/isolate:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

49e0da0 · Jun 21, 2024
Jun 21, 2024
Mar 13, 2023
Mar 13, 2023
Aug 2, 2017
Jan 24, 2016
Jun 11, 2024
Feb 28, 2024
Mar 15, 2024
Feb 28, 2024
Mar 24, 2024
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Jun 21, 2024
Mar 19, 2024
Feb 28, 2024
Mar 13, 2023
Jan 29, 2019
Mar 13, 2023

Repository files navigation

isolate

Isolate is a sandbox built to safely run untrusted executables, like programs submitted by competitors in a programming contest. Isolate gives them a limited-access environment, preventing them from affecting the host system. It takes advantage of features specific to the Linux kernel, like namespaces and control groups.

Isolate was developed by Martin Mareš ([email protected]) and Bernard Blackham ([email protected]) and still maintained by the former author. Several other people contributed patches for features and bug fixes (see Git history for a list). Thanks!

Originally, Isolate was a part of the Moe Contest Environment, but it evolved to a separate project used by different contest systems, most prominently CMS. It now lives at GitHub, where you can submit bug reports and feature requests.

If you are interested in more details, please read Martin's and Bernard's papers on Isolate's design and grading system security published in the Olympiads in Informatics journal. Also, Isolate's manual page is available online.

To compile Isolate, you need:

  • pkg-config

  • headers for the libcap library (usually available in a libcap-dev package)

  • headers for the libsystemd library (libsystemd-dev package) for compilation of isolate-cg-keeper

You may need a2x (found in AsciiDoc) for building manual. But if you only want the isolate binary, you can just run make isolate

Recommended system setup is described in sections INSTALLATION and REPRODUCIBILITY of the manual page.

About

Sandbox for securely executing untrusted programs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 85.4%
  • Shell 11.4%
  • Makefile 3.2%