aspect-build / aspect-build/aspect-cli
[FR]: Add an `integrity` checksum argument to aspect launcher methods
- Dominant language
- Starlark
- Stars
- 165
- Forks
- 45
- Avg merge
- 1d 47m
- Merged PRs (30d)
- 35
Description
### What is the current behavior?
https://github.com/aspect-build/aspect-cli/blob/362d646d3ce1a6bd0e1a26d8d7c817d10f7f4919/crates/aspect-launcher/src/main.rs#L155
The current behavior (marked `FIXME`) does not accept any integrity checksums for any of the three supported launcher methods (http, github, local).
### Describe the feature
As is true in the rest of the Bazel ecosystem, it is useful for a variety of reasons to lockdown tools and dependencies used in a repo. The aspect-cli does not perform any checksum verification on the retrieved binaries, leaving room for a malicious actor to potentially substitute alternative binaries with undesirable behavior.
I'm imagining it would look something like:
```python
version("2026.27.7", integrity = "sha256-yUWuFQOLEbOFxboIBRNdoDp8pF7/+mivaaK9QVLxrXA=")
```
But I don't think the exact API shape matters as much as having confidence that the binary that's about to be executed matches the one we thought we were downloading.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at crates/aspect-launcher/src/main.rs around line 155, then trace the three launcher methods named in the issue: http, github, and local. Review how the version("2026.27.7", integrity = ...) API could reach each method, and verify completion by checking that retrieved binaries are rejected when their supplied checksum does not match.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100