Codejail Plugin

Implement a sandbox to secure the execution of untrusted code in Open edX environments




The Codejail Plugin is designed for the Open edX platform in conjunction with Tutor, facilitating the secure execution of untrusted code within isolated sandboxes. Leveraging the codejail library and an external service, the plugin establishes controlled environments for code execution within the Open edX framework.

If you are an administrator or user of the Open edX platform running Tutor as your distribution, and you need to strengthen the security of your platform, the Codejail Plugin for Tutor is designed for you. The Codejail Plugin allows the secure execution of untrusted code within controlled environments. By integrating this plugin, you can utilize the Codejail library and an external service to establish secure sandboxes for code execution within your Open edX environment. This plugin is tailored for individuals or organizations familiar with Open edX, Tutor, and seeking to implement secure code execution capabilities in their online learning platform.

Key Features

  1. Secure Code Execution: Enables the execution of untrusted code within controlled sandboxes for added security
  2. Integration with Codejail Library: Utilizes the codejail library to constrain the execution of arbitrary Python code
  3. External Service Support: Leverages an external service to manage secure environments for code execution
  4. Configurability: Offers configuration options for Docker images, AppArmor settings, and Kubernetes support, allowing users to adapt the plugin to their requirements
  5. Compatibility: Specifies compatibility with particular Open edX and Tutor versions, ensuring alignment with the supported software stack
  6. Kubernetes Compatibility: Supports deployment in Kubernetes environments for users running Open edX instances in containerized orchestration systems
  7. Functionality Testing: Includes a functionality test for users to validate the correct operation of Codejail, particularly in Studio with Loncapa problems
  8. Error Handling: Provides guidance on potential failure cases, such as issues with the initialization of the AppArmor profile, and suggests solutions to maintain proper functionality
  9. Contribution Guidelines: Welcomes contributions from the community, with guidelines outlined in the CONTRIBUTING file to maintain code quality




This software is licensed under the terms of the AGPLv3.




Last updated:

20th Nov, 2023