Skip to content

🚙 Cars is a sandbox environment to allow execution of untrusted code with fixed time, memory with support for output testing.

License

Notifications You must be signed in to change notification settings

stephensli/cars

Repository files navigation

CARS

License Build Go Version

Cars is an Compile And Run Sandbox.

Size Limit CLI

What?

Cars is a Sandbox environment which allows the execution of untrusted code in a fixed time frame, fixed memory allocation based on a selected programming language with the ability to provide expected output for user input testing. The facing API allows posting untrusted code with some additional requirements into the queue. The loader(s) will run the untrusted code inside a container with https://gvisor.dev/, tracking execution properties and verifying output.

Documentation

Supported Queues

Supported File Systems

Supported Programming Languages

Language Version Url Time Memory
C GCC 12.3.x https://gcc.gnu.org ✅️ ✅️
C++ GCC 12.3.x https://gcc.gnu.org ✅️ ✅️
C# .NET 8.0 https://dotnet.microsoft.com ✅️ ✅️ ️
F# .NET 8.0 https://dotnet.microsoft.com ✅️ ✅️
Java OpenJDK 21.0 https://openjdk.java.net ✅️ ✅️
Kotlin 1.9.21 https://kotlinlang.org/ ✅️ ✅️
Scala 3.1.2 https://www.scala-lang.org/ ✅️ ✅️
NodeJs 20.x.x https://nodejs.org ✅️ ✅️
Python2 2.7.x https://pypy.org ✅️ ✅️
Python3 3.10.x https://pypy.org ✅️ ✅️
Go 1.21.x https://go.dev ✅️ ✅️
Ruby 3.2.x https://ruby-lang.org ✅️ ✅️
Rust 1.74.x https://rust-lang.org ✅️ ✅️
PHP 8.2.x https://www.php.net/ ✅️ ✅️

gVisor is an application kernel, written in Go, that implements a substantial portion of the Linux system call interface. It provides an additional layer of isolation between running applications and the host operating system.

About

🚙 Cars is a sandbox environment to allow execution of untrusted code with fixed time, memory with support for output testing.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published