Skip to content

Commit 57f43c8

Browse files
pdabelf5Copilot
andauthored
Improve masking of GitHub App private key in cherry-pick workflow (#10395)
* Improve masking of GitHub App private key in cherry-pick workflow * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Paul Abel <128620221+pdabelf5@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Paul Abel <128620221+pdabelf5@users.noreply.github.com> --------- Signed-off-by: Paul Abel <128620221+pdabelf5@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent b770318 commit 57f43c8

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

.github/workflows/cherry-pick.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,22 @@ jobs:
8787
id: app_key
8888
if: ${{ steps.branch.outputs.branch }}
8989
run: |
90-
private_key=$(echo "$APP_PRIVATE_KEY_B64" | base64 -d | awk 'BEGIN {ORS="\\n"} {print}' | sed 's/\\n$//')
91-
echo "::add-mask::$private_key"
92-
echo "private_key=$private_key" >> "$GITHUB_OUTPUT"
90+
set +x
91+
# Mask the raw base64 value
92+
echo "::add-mask::$APP_PRIVATE_KEY_B64"
93+
private_key=$(printf '%s' "$APP_PRIVATE_KEY_B64" | base64 -d)
94+
# Mask every line of the decoded PEM key individually
95+
while IFS= read -r line; do
96+
if [[ -n "$line" ]]; then
97+
echo "::add-mask::$line"
98+
fi
99+
done <<< "$private_key"
100+
delimiter="GHEOF_$(openssl rand -hex 12)"
101+
{
102+
echo "private_key<<$delimiter"
103+
echo "$private_key"
104+
echo "$delimiter"
105+
} >> "$GITHUB_OUTPUT"
93106
94107
- name: Generate GitHub App token
95108
id: app_token

0 commit comments

Comments
 (0)