概要
要求仕様書 NFR-1 に「取得 URL は go-task 公式リリースに固定し、リダイレクト先を検証する」とある。現状 src/constants.ts / src/download.ts で https://github.com/go-task/task/releases/download/... を固定して取得しているが、リダイレクト先の検証は行っていない。
受け入れ条件
- リリース資産・checksums ファイルの取得 URL が
github.com/go-task/task 配下であることを検証する。
- リダイレクトが発生した場合、その最終到達 URL が信頼できるホスト(
github.com / objects.githubusercontent.com 等)であることを確認する。
- 不正なホストへのリダイレクトは即座にエラー(PermanentError)とする。
- テストで悪意あるリダイレクトを注入し、検証が機能することを確認する。
参照
- 要求仕様書 NFR-1
src/constants.ts releaseDownloadUrl
src/download.ts downloadAsset
概要
要求仕様書 NFR-1 に「取得 URL は go-task 公式リリースに固定し、リダイレクト先を検証する」とある。現状
src/constants.ts/src/download.tsでhttps://github.com/go-task/task/releases/download/...を固定して取得しているが、リダイレクト先の検証は行っていない。受け入れ条件
github.com/go-task/task配下であることを検証する。github.com/objects.githubusercontent.com等)であることを確認する。参照
src/constants.tsreleaseDownloadUrlsrc/download.tsdownloadAsset