Skip to content

Commit 8dc60fc

Browse files
committed
harden installers: pin curl to https + gitignore filter-repo secrets artifact
- Add --proto '=https' --proto-redir '=https' to all live curl download commands (design UI/UX skill, whisper model, copywriting + watch skill files) so a hijacked redirect cannot downgrade the transfer to cleartext. - Ignore .filter-repo-replacements.txt: the git-filter-repo artifact that records previously-scrubbed secret replacements must never be committed.
1 parent 8369e62 commit 8dc60fc

5 files changed

Lines changed: 8 additions & 4 deletions

File tree

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,7 @@ renders/
4949
*.m4a
5050
whisper-cache/
5151
.mailmap
52+
53+
# git-filter-repo artifact — records previously-scrubbed secret replacements
54+
# (old value → replacement). Must never be committed; delete after review.
55+
.filter-repo-replacements.txt

‎copywriting/install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ install_copywriting_skill() {
8282
local rel="$1"
8383
local dest="$2"
8484
local tmp="$dest.tmp"
85-
if curl -fsSL "$BASE_URL/$rel" -o "$tmp" 2>/dev/null && [ -s "$tmp" ]; then
85+
if curl -fsSL --proto '=https' --proto-redir '=https' "$BASE_URL/$rel" -o "$tmp" 2>/dev/null && [ -s "$tmp" ]; then
8686
mv "$tmp" "$dest"
8787
return 0
8888
fi

‎design/install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ install_uiux_skill() {
9191
local UIUX_SHA256="1c8b62068136ce3af4f6fe8d990a7da79b7ec6fd837c760b5ded4833b9756779"
9292

9393
local SKILL_TMP="$SKILL_DIR/SKILL.md.tmp"
94-
if curl -fsSL "$SKILL_URL" -o "$SKILL_TMP" 2>/dev/null && [ -s "$SKILL_TMP" ]; then
94+
if curl -fsSL --proto '=https' --proto-redir '=https' "$SKILL_URL" -o "$SKILL_TMP" 2>/dev/null && [ -s "$SKILL_TMP" ]; then
9595
# Verify integrity before accepting the file
9696
local _sha=""
9797
if command -v shasum &>/dev/null; then

‎media/install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ install_whisper_model_basen() {
360360
info " Source: $MODEL_URL"
361361
info " Checksum: server-side LFS only (HuggingFace does not publish a content SHA256)"
362362

363-
if ! curl -fL --retry 2 --connect-timeout 15 "$MODEL_URL" -o "$MODEL_FILE" 2>/dev/null; then
363+
if ! curl -fL --proto '=https' --proto-redir '=https' --retry 2 --connect-timeout 15 "$MODEL_URL" -o "$MODEL_FILE" 2>/dev/null; then
364364
rm -f "$MODEL_FILE"
365365
WHISPER_MODEL_STATUS="FAILED"
366366
soft_fail "Whisper base.en model download failed. Install manually:

‎watch/install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ install_watch_skill() {
8484
local dest="$2"
8585
local tmp="$dest.tmp"
8686
mkdir -p "$(dirname "$dest")"
87-
if curl -fsSL "$BASE_URL/$rel" -o "$tmp" 2>/dev/null && [ -s "$tmp" ]; then
87+
if curl -fsSL --proto '=https' --proto-redir '=https' "$BASE_URL/$rel" -o "$tmp" 2>/dev/null && [ -s "$tmp" ]; then
8888
mv "$tmp" "$dest"
8989
return 0
9090
fi

0 commit comments

Comments
 (0)