From 6cb9065dcffa3b35cb308b5ed470c77416e79fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 24 Aug 2026 20:21:13 -0400 Subject: [PATCH] Secret: handle empty stdin read, explicit dir perms Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp --- bin/omarchy-cn-ai-secret | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-cn-ai-secret b/bin/omarchy-cn-ai-secret index 733a8dd9..c5b926d1 100755 --- a/bin/omarchy-cn-ai-secret +++ b/bin/omarchy-cn-ai-secret @@ -30,7 +30,7 @@ set) read -rs -p "API key for $provider: " key echo else - IFS= read -r key + IFS= read -r key || true fi if [[ -z $key ]]; then echo "Empty key refused" >&2 @@ -43,7 +43,8 @@ set) printf '%s\n' "$key" | pass insert -m -f "omarchycn/ai/$provider" > /dev/null echo "Stored in pass (omarchycn/ai/$provider)" else - mkdir -p -m 700 "$FILE_DIR" + mkdir -p "$FILE_DIR" + chmod 700 "$FILE_DIR" (umask 177 && printf '%s' "$key" > "$FILE_PATH") echo "Stored in $FILE_PATH (0600 file fallback — 安装 libsecret 或 pass 可获得更安全的存储)" fi