Skip to content

ci: the summary reads the pull request through env - #25

Merged
christiangda merged 1 commit into
mainfrom
ci/the-summary-reads-the-pull-request-through-env
Oct 18, 2026
Merged

christiangda merged 1 commit into
mainfrom
ci/the-summary-reads-the-pull-request-through-env

Conversation

@christiangda

Copy link
Copy Markdown
Contributor

What

The pull request workflow's summary step wrote ${{ github.event.pull_request.title }}, the author's login and the two branch names into its script. An expression in run: is substituted into the script's text before the shell reads it, so they were part of the script. They reach it as environment variables now, as GitHub's security hardening guide recommends.

How

env: on the step (PR_TITLE, PR_AUTHOR, PR_HEAD, PR_BASE), and the echo lines read ${PR_TITLE} and the rest. The repository, the counts and the other values stay as they were: they are GitHub's, not the author's.

Verified locally

  • actionlint on the workflows: clean (it reported the title in the script before).
  • The two forms side by side, with a title of $(echo ran-a-command): as text in the script the shell runs the command; read from the environment it is printed as written.

🤖 Generated with Claude Code

The summary step wrote the pull request's title, author and branches into
its script as expressions. They reach it as environment variables now, as
GitHub's hardening guide asks: what the author writes is data to the
script, never part of it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@christiangda
christiangda merged commit 9f42c01 into main Oct 18, 2026
1 check passed
@christiangda
christiangda deleted the ci/the-summary-reads-the-pull-request-through-env branch October 18, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant