feat: verify archive integrity before extraction (SHA-256 checksum support)
@bzp2010 ci sta già lavorando.
Dal 6/5/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Currently, src/main.ts downloads a release tarball via tc.downloadTool() and immediately extracts it via tc.extractTar() without verifying the archive's integrity. This weakens supply-chain security for every workflow using this action.
Background
To properly implement checksum verification in the setup-adc action, the upstream ADC release workflow must first be enhanced to:
- Publish SHA-256 digest files alongside each release asset (e.g.,
adc_linux_amd64.tar.gz.sha256). - Enable immutable releases so that release assets cannot be silently replaced after publication.
Once the upstream project provides these artifacts, the action can be updated to:
- Fetch the expected checksum from the release metadata or a
.sha256sidecar file. - Compute the SHA-256 digest of the downloaded archive.
- Compare the computed digest to the expected value and abort extraction if they do not match.
References
- PR: https://github.com/api7/setup-adc/pull/1
- Review comment: https://github.com/api7/setup-adc/pull/1#discussion_r3193043662
/cc @bzp2010
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
TanStack/tanstack.com#1293 ·