Skip to content

Orange-OpenSource/decret

Repository files navigation

DEbian Cve REproducer Tool (DECRET)

This tool reproduces a vulnerable Debian environment for a given CVE number.

License

Copyright (c) 2023-2026 Orange This code is released under the terms of the BSD 3-Clause license. See the license.txt file for more information.

Requirements

Build and Usage

On Debian stable, a simple way to install DECRET is to first run the following commands as root:

# apt install python3 python-is-python3 python3-venv
# apt install docker.io
# apt install firefox-esr

Then, you can download DECRET and its dependencies in a virtual environment (using the venv module):

$ git clone https://github.com/Orange-OpenSource/decret.git
$ cd decret
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements-minimal.txt

You can use requirements.txt if you want to run the tests which are run in the Continuous Integration pipeline.

Finally you can run decret like so:

python3 -m decret -n 2020-7247 -r bullseye --selenium

and see available arguments like so:

python3 -m decret -h 

Example

You can find examples in the examples directory.

Contributing

Structure

  1. /decret: Main Python source code
  2. /tests: This is where the pytest code lives
  3. /examples: Markdown files illustrating working examples

Instructions

  1. Fork this repository
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes, commit, push to feature branch etc
  4. Ensure tests and linters pass

Our GitHub Actions run pylint, and pytest. Run them locally if possible:

black .
pylint decret/
pytest
  1. Verify your code passes CI tests under .github/workflows
  2. Open pull request

Troubleshooting

If you encounter any issues, please refer to the Troubleshooting Journal for solutions.

Working principle

About

DEbian Cve REproducer Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages