A Python monitor for Sigstore's Rekor transparency log.
Project description
Python Rekor Monitor
This is a python monitor for Sigstore's transparency log, Rekor. This project was developed as part of NYU's Software Supply Chain Security class.
Installation & Requirements
You may either run git clone on this repository or download the latest release in Releases.
Please use pip install -r requirements.txt to install the dependencies on requirements.txt.
The python version used for this project is 3.13.2. Older versions may still work but might cause some issues.
Usage
This program performs 3 main functions.
- Fetches the latest checkpoint on the Rekor transparency log
- Verifies an inclusion of an entry to the transparency log.
- Verifies the integrity of transparency log at any point of time.
First, to create an entry in the Rekor log, you must sign an artifact using Sigstore Cosign.
- Create an artifact file that you wish to sign.
- Install sigstore Cosign.
- Sign your artifact using sigstore. You may do this by running
cosign sign-blob <your-artifact> --bundle <your-artifact.bundle>More documentation on cosign can be found here: https://docs.sigstore.dev/cosign/signing/signing_with_blobs/
To skip this step, you may alternatively use the artifact.md and artifact.bundle files for the next steps.
Fetching the latest checkpoint
python main.py --checkpoint
Verifying inclusion for your entry
python main.py --inclusion <log-index> --artifact <your-artifact>
This command verifies the inclusion of your log entry. The log index can be found in your bundle file created by Cosign.
Verifying consistency of the Rekor log
python main.py --consistency --tree-id <tree-id> --tree-size <tree-size> --root-hash <root-hash>
This command verifies that the checkpoint you provide is consistent with the latest checkpoint. The tree-id, tree-size and root-hash fields can be found in any checkpoint of the log, fetched by --checkpoint.
Acknowledgements
The program is built on top of starter code from this template: https://github.com/mayank-ramnani/python-rekor-monitor-template
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rekor_monitor_nyu_sscs-4.0.tar.gz.
File metadata
- Download URL: rekor_monitor_nyu_sscs-4.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.5 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
122ba176f0cdb4a858594d6535d4463eb15ed52c70ed7de17db4395346de17ab
|
|
| MD5 |
28e30fe1faf5c7eb2f080876ca68bf85
|
|
| BLAKE2b-256 |
8e8873e659f99bb3843a66686a5a744ff633694277e5a668fa0c05e395bdd780
|
File details
Details for the file rekor_monitor_nyu_sscs-4.0-py3-none-any.whl.
File metadata
- Download URL: rekor_monitor_nyu_sscs-4.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.5 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b0bec6d63e9980be48196a96c3685b7c9cfbfa7b9db6cda6b203138e5808854
|
|
| MD5 |
ea159ccb98fdf653e8f531d7de1b997d
|
|
| BLAKE2b-256 |
8136a218170f45db910160802c3c356c51692ba4ddf647f6d2ba7c134ec79df8
|