aspect-build / aspect-build/aspect-cli

[FR]: Add an `integrity` checksum argument to aspect launcher methods

Open
#1,309 1 comment 1 reaction 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.