Skip to main content

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.

  1. Fetches the latest checkpoint on the Rekor transparency log
  2. Verifies an inclusion of an entry to the transparency log.
  3. 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.

  1. Create an artifact file that you wish to sign.
  2. Install sigstore Cosign.
  3. 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

This version

4.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rekor_monitor_nyu_sscs-4.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rekor_monitor_nyu_sscs-4.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for rekor_monitor_nyu_sscs-4.0.tar.gz
Algorithm Hash digest
SHA256 122ba176f0cdb4a858594d6535d4463eb15ed52c70ed7de17db4395346de17ab
MD5 28e30fe1faf5c7eb2f080876ca68bf85
BLAKE2b-256 8e8873e659f99bb3843a66686a5a744ff633694277e5a668fa0c05e395bdd780

See more details on using hashes here.

File details

Details for the file rekor_monitor_nyu_sscs-4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rekor_monitor_nyu_sscs-4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b0bec6d63e9980be48196a96c3685b7c9cfbfa7b9db6cda6b203138e5808854
MD5 ea159ccb98fdf653e8f531d7de1b997d
BLAKE2b-256 8136a218170f45db910160802c3c356c51692ba4ddf647f6d2ba7c134ec79df8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page