ia-sandbox | Infoarena sandbox for running user submitted code

 by   jugglerchris Rust Version: Current License: MIT License

kandi X-RAY | ia-sandbox Summary

kandi X-RAY | ia-sandbox Summary

ia-sandbox is a Rust library. ia-sandbox has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitLab.

ia-sandbox is a command line utility allowing you to run untrusted code, such as the one submitted by users on websites like [Codeforces] [Topcoder] or the website it was designed for [Infoarena] with certain limits for time (both user time and wall time), memory and number of processes while also collecting runtime information and exit status. It uses modern linux tools and as such requires a relatively new kernel: * [cgroups v1] - a linux kernel feature for limiting, accounting and isolating resource usage of a collection of proceeses * cpuacct - for precise user time usage and limits, requires a 64-bit computer for proper precision. Requires linux kernel ≥ 2.6.24 * memory - for memory usage and limits. Requires linux kernel ≥ 2.6.24 * pids - for limiting the number of processes, necessary for protection against fork bombs. Requires linux kernel ≥ 4.3 * [linux namespaces] - another linux kernel feature for isolating resources on the system * mount - for isolating mountpoints, the isolated application will only see itself and whatever the caller desides to mount next to it. Requires linux kernel ≥ 2.4.19 * ipc - for ipc isolation. Requires linux kernel ≥ 2.6.19 * uts - for uts isolation. Requires linux kernel ≥ 2.6.19 * pid - for isolating processes, the sandboxed application will see itself as the only running process on the entire system. Requires linux kernel ≥ 2.6.24 * network - for isolating network interfaces, the application can not make any changes to network, or see external changes. Requires linux kernel ≥ 2.6.24 * user namespaces - for isolating the user id and group id. The isolated application will see itself as root inside the sandbox, and as having all capabilities but for the purpose of accessing resources it will actually be the user id of sandbox owner, greatly limiting whatever power or exploit the application can do. Requires linux kernel ≥ 3.5, but for proper security it is better for it to ≥ 3.9 * cgroup - for isolating cgroups, to not allow the sandboxed application to change its own limits or usage. Requires linux kernel ≥ 4.6. Since all of these features need to be active, the minimum required version is 4.6.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              ia-sandbox has a low active ecosystem.
              It has 0 star(s) with 0 fork(s). There are no watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              ia-sandbox has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of ia-sandbox is current.

            kandi-Quality Quality

              ia-sandbox has no bugs reported.

            kandi-Security Security

              ia-sandbox has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              ia-sandbox is licensed under the MIT License License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              ia-sandbox releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ia-sandbox
            Get all kandi verified functions for this library.

            ia-sandbox Key Features

            No Key Features are available at this moment for ia-sandbox.

            ia-sandbox Examples and Code Snippets

            No Code Snippets are available at this moment for ia-sandbox.

            Community Discussions

            No Community Discussions are available at this moment for ia-sandbox.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install ia-sandbox

            The binary name is ia-sandbox. The easiest way to install this is using cargo the package manager for [Rust](https://www.rust-lang.org/). * The minimum supported version of Rust for ia-sandbox is 1.27.0, altough ia-sandbox might work with older versions. For actual isolation it is best to change the root of the sandbox (using -r or --new-root). This will unmount everything, except for /proc which is necessary, and is already only showing the isolated process. If you would like to explore the inside of the sandbox an easy way would be.

            Support

            For any new features, suggestions and bugs create an issue on GitLab. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://gitlab.com/jugglerchris/ia-sandbox.git

          • sshUrl

            git@gitlab.com:jugglerchris/ia-sandbox.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Rust Libraries

            996.ICU

            by 996icu

            deno

            by denoland

            rust

            by rust-lang

            alacritty

            by alacritty

            tauri

            by tauri-apps

            Try Top Libraries by jugglerchris

            rust-html2text

            by jugglerchrisRust

            not-rlua

            by jugglerchrisRust

            URLHelper

            by jugglerchrisJava

            adventofcode2021

            by jugglerchrisRust

            rlua

            by jugglerchrisC