Skip to content
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

Lockfiles #27

Open
sgammon opened this issue Mar 30, 2024 · 0 comments
Open

Lockfiles #27

sgammon opened this issue Mar 30, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@sgammon
Copy link
Owner

sgammon commented Mar 30, 2024

So, the theme of this tool and repo is a completely over-engineered tool for checking and handling hash lock files. Right? How can we really make this concept interesting?

The idea of a lockfile is that it captures state at a certain moment in time, and is committed to source control. Initially, the idea of a "lockfile" for hashlocks seems silly.

But, if that file was signed, say, with GPG, it would be possible to establish new guarantees. Without a lockfile, this tool can guarantee that: at a moment in time, when the tool was run, the hashlock files matched their subjects. Extended with a signed lockfile to gather these locks, we can make establish the following guarantees:

  • (Carried) at a moment in time, when the tool was run, the hashlock files matched their subjects
  • At that time, the tool was run with proper provenance and the code matched the expected binary or source state (JS, bin)
  • At that time, the tool was run with a specific version or hash of the hashlocks tool
  • At that time, the tool was run in an authorized environment
  • At that time, all hashlocks in aggregate summed to a known value

As a codebase evolves, with the lockfile in place, replacing one or more individual subjects and updating the hashlock would no longer pass checks.

@sgammon sgammon added the enhancement New feature or request label Mar 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant