Severum Sandbox is a secure, Docker-based sandbox designed for the Severum Web3 Security Platform. It provides a pre-installed environment for testing and simulating Solidity smart contract exploits in a controlled environment.
This sandbox is used exclusively as part of the platform to ensure a standardized and isolated environment for challenges.
- Challenge Hosting: Pre-configured with Foundry tools (
forge
,cast
, andanvil
) to compile, deploy, and test Solidity contracts. - Secure Exploit Testing: Enables users to test Proof of Concepts (PoCs) safely.
- Standardized Environment: Ensures consistency and fairness across all challenges.
- Isolated sandbox for running Solidity-based challenges.
- Tools for compiling, deploying, and testing contracts.
- Built for integration with the Severum platform.
-
Platform Integration:
- The sandbox runs in the background of the Severum platform to support hands-on challenges.
- Users interact with it indirectly via the platform interface.
-
Challenge Execution:
- Contracts are pre-loaded into the sandbox during challenges.
- Users submit exploit scripts through the platform, which are executed securely in the sandbox.
-
Logs and Feedback:
- The sandbox streams logs and execution results back to the platform in real-time.
- Clone the repository:
git clone https://github.com/severum-xyz/severum-sandbox.git
cd severum-sandbox
- Build the Docker image:
docker build -t severum-sandbox .
- Test the sandbox locally:
docker run -it severum-sandbox
Note: The CI pipeline will be triggered when you push changes or open a pull request. When running tests inside the Docker container, the following steps are automatically performed:
- The "Reentrancy" challenge is downloaded from the private repository.
- The "ReentrancyExploit" contract (the solution) is downloaded.
- The Reentrancy contract is deployed and interacted with.
- The solution contract (ReentrancyExploit) is deployed and executed.
- Tests are executed to verify if the challenge has been solved correctly.
We welcome contributions to improve severum-sandbox
. If you'd like to contribute:
- Fork and clone the repository.
- Submit pull requests with clear descriptions of your changes.
- Focus on enhancing the sandbox for platform integration and challenge support.
Severum Core is open for contributions under the MIT License.
For questions or feedback, please reach out to the Severum team at [email protected].