-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verify in-toto's supply chain with in-toto #278
Comments
|
I did prepare such metadata and also a corresponding document for our initial in-toto pre-release 0.1.1. I'm pasting it below with little redaction. It is the goal of this ticket to do this, taking into account any changes to in-toto's verification routine, and new features such as parameter substitution and gpg support. Overview The supply chains are laid out in "in_toto_sdist.layout" and "in_toto_bdist_wheel.layout" respectively, and consist of three steps each:
Both supply chains use the same link files for step (1) and (2) but different link files for (3.a) and (3.b) respectively. Both supply chains define a "dummy-inspection" whose sole purpose is a match rule, that matches the inspection's material, i.e. the downloaded distribution, with the product of the last step (3). You can use the following snippet for verification: Verify in-toto with in-toto (bootstrapping/chicken-egg situation) # Create a virtualenvironment, you can use these docs:
# https://virtualenvwrapper.readthedocs.io/en/latest/
mkvirtualenv verify-in-toto
# ... and install in-toto
pip install in-toto==0.1.1
# Create an empty directory and change into it
mkdir verifiy_in_toto && cd verifiy_in_toto
# Copy and extract in-toto metadata
wget https://github.com/in-toto/in-toto/files/3072515/in_toto.0.1.1.in_toto.tar.gz
tar xzf in_toto.0.1.1.in_toto.tar.gz
# Download final product target files
wget https://pypi.python.org/packages/2d/50/520c02bdfe6ea46c0cffd0b83684ff3e77785cd7aa1577080913dea3b598/in-toto-0.1.1.tar.gz#md5=43fc9122029cad6a503860d8ff55329b
wget https://pypi.python.org/packages/1a/ad/5a9759213850eb3e544ec83c00ca2f79aa00009430a377ea569b1bf430ff/in_toto-0.1.1-py2-none-any.whl#md5=b078fe50513eb3601387279363270ad5
# Verify source distribution
in-toto-verify -k owner.pub -l in_toto_sdist.layout
# Verify binary distribution
in-toto-verify -k owner.pub -l in_toto_bdist_wheel.layoutEnhancements/Todos
Caveats/Notes/Discussion
|
|
I recommend using TUF to bootstrap the whole process |
|
To anyone working on this issue these days, I suggest to take a close look at theupdateframework/python-tuf#2000. It provides a full in-toto integration (layout, attestation generation, verification) for a GitHub Action -based release pipeline of a different Python project (python-tuf), and is based on the ideas sketched out above. cc @jkjell |
Description of issue or feature request:
As per our roadmap we
Current behavior:
No publicly available in-toto metadata and no instructions to verify in-toto with in-toto.
Expected behavior:
Generate metadata and provide instructions how to use it to verify in-toto with in-toto.
The text was updated successfully, but these errors were encountered: