Rekor Transparency Log Verifier
Project description
Software Supply Chain Security
Project Overview
This project is an implementation of software supply chain security tools and technologies.
Assignments Overview
The project is divided into the following assignments:
Assignment 1: Artifact Signing and Verification
Tasks
- Create a text file artifact (
artifact.md) containing your NYU Net ID. - Install Sigstore’s cosign tool and sign the artifact, uploading its signature to the Rekor transparency log.
- Write Python code to:
- Fetch entry details from the Rekor log.
- Extract signature and certificate.
- Verify the signature using the public key from the certificate.
- Verify the inclusion proof of the artifact.
- Implement code to check the consistency between older and latest checkpoints in the transparency log.
Assignment 2: Code Quality Improvement
Tasks
-
Code Review:
- Collaborate with teammates to conduct a code review on their GitHub repositories.
- Create issues linked to specific lines of code for feedback and discussion.
- Resolve all raised issues in the following week.
-
Static Analysis Tools:
- Black for formatting
- Flake8, ruff, and pylint for linting
- mypy for type checking
- Bandit for SAST (Static Application Security Testing)
Assignment 3: Git Best Practices and Dependency Management
Tasks
-
Git Best Practices:
- Add the following files to the repository:
README.mdfor project documentation.SECURITY.mdto outline security policies.CONTRIBUTING.mdto guide contributions.LICENSEfor legal permissions.CODEOWNERSto define code ownership..gitignoreto exclude unnecessary files.
- Configure branch protection rules to prevent direct commits to
mainwithout a pull request.
- Add the following files to the repository:
-
Prevent Secrets Leakage:
- Set up
trufflehogandpre-commithooks to prevent committing secrets. - Configure
pre-committo scan only the latest commit for secrets.
- Set up
-
Scrub Old Secrets:
- Add a
personal.txtfile containing sample data and commit it. - Use
git-filter-repoto remove the file from the repository history. - Document the steps in
part3-writeup.txt.
- Add a
-
Build System Configuration:
- Set up Poetry for dependency management and create a
pyproject.tomlfile. - Add tools like mypy, black, ruff, flake8, pylint, and bandit to
pyproject.toml.
- Set up Poetry for dependency management and create a
-
Testing and Coverage:
- Add unit tests using
pytestwith at least 10 test cases. - Install
pytest-covto measure code coverage and ensure at least 75% coverage.
- Add unit tests using
More assignments to come
Tools and Technologies
- Programming Language: Python
- Version Control: Git (GitHub for repository management)
- Signing Tool: Sigstore (cosign)
- Transparency Log: Rekor
- Static Analysis Tools: Black or Ruff for formatting, Flake8 or Ruff for linting, Bandit for SAST, mypy for type checking
- Dependency Management: Poetry
- Testing Framework: pytest with pytest-cov for coverage measurement
Note: This document will be updated as more assignments are released.
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 rektor-4.0.0.tar.gz.
File metadata
- Download URL: rektor-4.0.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0776c9a177aac216418f177b14b15124889dd7769a31bcee5a84caf7f5ae444f
|
|
| MD5 |
e54858d424cd8b0fece95f104a6b2cd5
|
|
| BLAKE2b-256 |
a4a165a1507335721446ca218b870ee3f34ca6b9000daa4274d04c95916f3481
|
File details
Details for the file rektor-4.0.0-py3-none-any.whl.
File metadata
- Download URL: rektor-4.0.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44c4dc5c391a1c6255c059140e9a25cc710a0865d4d2737667182371c8052ed4
|
|
| MD5 |
3216c130f17b3af781ee66fcece9b316
|
|
| BLAKE2b-256 |
5768f63e36aff3fcc5ec385d57948d9fbf3129a3e183b7644031d8c091559270
|