Harden tag mode tool permissions against prompt injection#1002
Harden tag mode tool permissions against prompt injection#1002km-anthropic merged 1 commit intomainfrom
Conversation
Two defenses for tag mode where an attacker with repo write access could craft a prompt injection payload in an issue/PR to gain RCE on the Actions runner: 1. git-push wrapper (H1 #3556799) The Bash(git\ push:*) rule permitted arbitrary flags and remotes, including combinations that execute shell commands locally. Replaced with scripts/git-push.sh which allowlists exactly 'origin <ref>' with no flags, validates the ref via check-ref-format. Same pattern as scripts/gh.sh. 2. acceptEdits instead of blanket Write/Edit (Asana 1213310082312048) Edit/MultiEdit/Write in allowedTools granted write access to the whole runner filesystem (~/.bashrc etc). Removed from allowedTools and set --permission-mode acceptEdits, which auto-accepts edits inside cwd ($GITHUB_WORKSPACE) and denies outside. Headless SDK has no prompt handler so 'ask' becomes deny. Also: - Noted that create-prompt/index.ts exports ALLOWED_TOOLS env var that nothing reads. The live path is modes/tag/index.ts. Mirrored the fix in both so the file the H1 report likely points to stays in sync. - Updated prompt text (3 callsites) to reference the wrapper. - Updated tests (4 prompt-content asserts, 7 tool-list asserts).
| @@ -137,7 +138,7 @@ export async function prepareTagMode({ | |||
| tagModeTools.push( | |||
| "Bash(git add:*)", | |||
| "Bash(git commit:*)", | |||
There was a problem hiding this comment.
Potential remaining RCE vector via git hooks: The git push:* wildcard is now properly locked down, but Bash(git commit:*) remains a wildcard. If acceptEdits allows writes to .git/hooks/ (which is inside $GITHUB_WORKSPACE), a prompt-injected Claude could write a malicious .git/hooks/pre-commit script and then trigger it via git commit.
Worth verifying whether acceptEdits mode blocks writes to .git/hooks/ or treats .git/ as part of the writable workspace. If it doesn't block it, consider either:
- Adding a
git commitwrapper similar togit-push.shthat runsgit commit --no-verify(to skip hooks), or - Ensuring
.git/hooks/is cleaned/protected before execution
| import { extractUserRequest } from "../utils/extract-user-request"; | ||
| export type { CommonFields, PreparedContext } from "./types"; | ||
|
|
||
| const GIT_PUSH_WRAPPER = `${process.env.GITHUB_ACTION_PATH}/scripts/git-push.sh`; |
There was a problem hiding this comment.
Module-level env var capture: This top-level const reads process.env.GITHUB_ACTION_PATH at import time, not at call time. If the module is imported before the env var is set, this bakes in "undefined/scripts/git-push.sh".
In production (GitHub Actions runtime), this is fine since the runner sets GITHUB_ACTION_PATH before execution. But in tests, beforeAll sets the env var after the module is already imported, so GIT_PUSH_WRAPPER captures undefined. Tests currently pass because they check for "scripts/git-push.sh" as a substring rather than the full path, which masks the issue.
Contrast with src/modes/tag/index.ts which correctly reads it inside the function body. Consider moving this inside buildAllowedToolsString (or making it a getter) to match that pattern.
|
|
||
| // Set allowed tools | ||
| // NOTE: these env var exports are dead — nothing reads ALLOWED_TOOLS / DISALLOWED_TOOLS. | ||
| // The live path is modes/tag/index.ts which builds --allowedTools into claudeArgs directly. |
There was a problem hiding this comment.
Consider removing this dead code: This block still calls core.exportVariable("ALLOWED_TOOLS", ...), which writes real env vars into the runner environment. Even though nothing reads them today, they could confuse future code or downstream workflow steps. The tool lists here also already diverge from the live path in modes/tag/index.ts (e.g., CI tools are conditional here but unconditional there).
A comment referencing the H1 report near the live code in tag/index.ts (which the wrapper script already does) would provide the same traceability without maintaining a shadow copy of the security-critical allowlist.
| // Add required tools for tag mode. | ||
| // acceptEdits: file edits auto-allowed inside cwd ($GITHUB_WORKSPACE), denied outside. | ||
| // Headless SDK has no prompt handler, so anything that falls through to "ask" is denied. | ||
| claudeArgs += ` --permission-mode acceptEdits --allowedTools "${tagModeTools.join(",")}"`; |
There was a problem hiding this comment.
userClaudeArgs appended after --permission-mode could override it: If Claude Code CLI uses "last wins" semantics for --permission-mode, a repo owner setting claude_args: "--permission-mode full" would silently defeat this hardening. Low severity since claude_args is workflow-author-controlled (not attacker-controlled via prompt injection), but the intent of this PR is to enforce acceptEdits as a security boundary.
Consider either appending the hardened flags after user args (so they take precedence), or stripping --permission-mode from userClaudeArgs before appending.
|
Review Summary - Solid security hardening PR. See inline comments for specific findings. Key areas: (1) potential remaining RCE vector via git commit hooks if acceptEdits allows .git/hooks writes, (2) GIT_PUSH_WRAPPER module-level env var capture issue in create-prompt/index.ts, (3) test coverage gaps for git-push.sh wrapper and prepareTagMode live code path, (4) dead code in create-prompt/index.ts still exports real env vars. |
Bumps the github-actions group with 2 updates: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) and [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions). Updates `anthropics/claude-code-action` from 1.0.71 to 1.0.72 Release notes *Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).* > v1.0.72 > ------- > > What's Changed > -------------- > > * Harden tag mode tool permissions against prompt injection by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1002](https://redirect.github.com/anthropics/claude-code-action/pull/1002) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.72> Commits * [`cd77b50`](anthropics/claude-code-action@cd77b50) chore: bump Claude Code to 2.1.76 and Agent SDK to 0.2.76 * [`0e80d3c`](anthropics/claude-code-action@0e80d3c) chore: bump Claude Code to 2.1.75 and Agent SDK to 0.2.75 * [`f956510`](anthropics/claude-code-action@f956510) Harden tag mode tool permissions against prompt injection ([#1002](https://redirect.github.com/anthropics/claude-code-action/issues/1002)) * See full diff in [compare view](anthropics/claude-code-action@5d0cc74...cd77b50) Updates `zgosalvez/github-actions-ensure-sha-pinned-actions` from 5.0.1 to 5.0.2 Release notes *Sourced from [zgosalvez/github-actions-ensure-sha-pinned-actions's releases](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases).* > v5.0.2 > ------ > > What's Changed > -------------- > > * Bump jest from 30.2.0 to 30.3.0 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#298](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/298) > * Bump eslint from 10.0.1 to 10.0.3 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#295](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/295) > * Bump actions/cache from 5.0.1 to 5.0.3 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#294](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/294) > * Bump undici from 6.23.0 to 6.24.1 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#297](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/297) > * Bump actions/checkout from 6.0.1 to 6.0.2 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#293](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/293) > * Bump actions/setup-node from 6.1.0 to 6.2.0 by [`@dependabot`](https://github.com/dependabot)[bot] in [zgosalvez/github-actions-ensure-sha-pinned-actions#292](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/pull/292) > > **Full Changelog**: <zgosalvez/github-actions-ensure-sha-pinned-actions@v5...v5.0.2> Commits * [`cc9ffdc`](zgosalvez/github-actions-ensure-sha-pinned-actions@cc9ffdc) Bump actions/setup-node from 6.1.0 to 6.2.0 ([#292](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/292)) * [`b74bd12`](zgosalvez/github-actions-ensure-sha-pinned-actions@b74bd12) Bump actions/checkout from 6.0.1 to 6.0.2 ([#293](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/293)) * [`8921d5c`](zgosalvez/github-actions-ensure-sha-pinned-actions@8921d5c) Bump undici from 6.23.0 to 6.24.1 ([#297](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/297)) * [`a88dd70`](zgosalvez/github-actions-ensure-sha-pinned-actions@a88dd70) Bump actions/cache from 5.0.1 to 5.0.3 ([#294](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/294)) * [`743dbe8`](zgosalvez/github-actions-ensure-sha-pinned-actions@743dbe8) Bump eslint from 10.0.1 to 10.0.3 ([#295](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/295)) * [`fb78cc3`](zgosalvez/github-actions-ensure-sha-pinned-actions@fb78cc3) Bump jest from 30.2.0 to 30.3.0 ([#298](https://redirect.github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/issues/298)) * See full diff in [compare view](zgosalvez/github-actions-ensure-sha-pinned-actions@70c4af2...cc9ffdc) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
… in the github-actions group [skip ci] Bumps the github-actions group with 1 update: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action). Updates `anthropics/claude-code-action` from 1.0.70 to 1.0.72 Release notes *Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).* > v1.0.72 > ------- > > What's Changed > -------------- > > * Harden tag mode tool permissions against prompt injection by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1002](https://redirect.github.com/anthropics/claude-code-action/pull/1002) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.72> > > v1.0.71 > ------- > > What's Changed > -------------- > > * docs: warn that allowed\_bots can expose the action to external triggers by [`@an-dustin`](https://github.com/an-dustin) in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039) > * feat(inline-comment): add confirmed param + probe-pattern safety net by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1048](https://redirect.github.com/anthropics/claude-code-action/pull/1048) > > New Contributors > ---------------- > > * [`@an-dustin`](https://github.com/an-dustin) made their first contribution in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.71> Commits * [`cd77b50`](anthropics/claude-code-action@cd77b50) chore: bump Claude Code to 2.1.76 and Agent SDK to 0.2.76 * [`0e80d3c`](anthropics/claude-code-action@0e80d3c) chore: bump Claude Code to 2.1.75 and Agent SDK to 0.2.75 * [`f956510`](anthropics/claude-code-action@f956510) Harden tag mode tool permissions against prompt injection ([#1002](https://redirect.github.com/anthropics/claude-code-action/issues/1002)) * [`5d0cc74`](anthropics/claude-code-action@5d0cc74) feat(inline-comment): add confirmed param + probe-pattern safety net ([#1048](https://redirect.github.com/anthropics/claude-code-action/issues/1048)) * [`567be3d`](anthropics/claude-code-action@567be3d) chore: bump Claude Code to 2.1.73 and Agent SDK to 0.2.73 * [`eb99fb3`](anthropics/claude-code-action@eb99fb3) chore: bump Claude Code to 2.1.72 and Agent SDK to 0.2.72 * [`33fbb80`](anthropics/claude-code-action@33fbb80) docs: warn that allowed\_bots can expose the action to external triggers ([#1039](https://redirect.github.com/anthropics/claude-code-action/issues/1039)) * [`3428ca8`](anthropics/claude-code-action@3428ca8) chore: bump Claude Code to 2.1.71 and Agent SDK to 0.2.71 * See full diff in [compare view](anthropics/claude-code-action@26ec041...cd77b50) [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
…updates [skip ci] Bumps the github-actions group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/cache](https://github.com/actions/cache) | `5.0.3` | `5.0.4` | | [graalvm/setup-graalvm](https://github.com/graalvm/setup-graalvm) | `1.4.5` | `1.5.0` | | [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.5.0` | `2.6.1` | | [github/codeql-action](https://github.com/github/codeql-action) | `4.32.5` | `4.33.0` | | [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) | `1.0.69` | `1.0.75` | | [ruby/setup-ruby](https://github.com/ruby/setup-ruby) | `1.289.0` | `1.295.0` | | [webfactory/ssh-agent](https://github.com/webfactory/ssh-agent) | `0.9.1` | `0.10.0` | Updates `actions/cache` from 5.0.3 to 5.0.4 Release notes *Sourced from [actions/cache's releases](https://github.com/actions/cache/releases).* > v5.0.4 > ------ > > What's Changed > -------------- > > * Add release instructions and update maintainer docs by [`@Link`](https://github.com/Link)- in [actions/cache#1696](https://redirect.github.com/actions/cache/pull/1696) > * Potential fix for code scanning alert no. 52: Workflow does not contain permissions by [`@Link`](https://github.com/Link)- in [actions/cache#1697](https://redirect.github.com/actions/cache/pull/1697) > * Fix workflow permissions and cleanup workflow names / formatting by [`@Link`](https://github.com/Link)- in [actions/cache#1699](https://redirect.github.com/actions/cache/pull/1699) > * docs: Update examples to use the latest version by [`@XZTDean`](https://github.com/XZTDean) in [actions/cache#1690](https://redirect.github.com/actions/cache/pull/1690) > * Fix proxy integration tests by [`@Link`](https://github.com/Link)- in [actions/cache#1701](https://redirect.github.com/actions/cache/pull/1701) > * Fix cache key in examples.md for bun.lock by [`@RyPeck`](https://github.com/RyPeck) in [actions/cache#1722](https://redirect.github.com/actions/cache/pull/1722) > * Update dependencies & patch security vulnerabilities by [`@Link`](https://github.com/Link)- in [actions/cache#1738](https://redirect.github.com/actions/cache/pull/1738) > > New Contributors > ---------------- > > * [`@XZTDean`](https://github.com/XZTDean) made their first contribution in [actions/cache#1690](https://redirect.github.com/actions/cache/pull/1690) > * [`@RyPeck`](https://github.com/RyPeck) made their first contribution in [actions/cache#1722](https://redirect.github.com/actions/cache/pull/1722) > > **Full Changelog**: <actions/cache@v5...v5.0.4> Changelog *Sourced from [actions/cache's changelog](https://github.com/actions/cache/blob/main/RELEASES.md).* > Releases > ======== > > How to prepare a release > ------------------------ > > > [!NOTE] > > Relevant for maintainers with write access only. > > 1. Switch to a new branch from `main`. > 2. Run `npm test` to ensure all tests are passing. > 3. Update the version in [`https://github.com/actions/cache/blob/main/package.json`](https://github.com/actions/cache/blob/main/package.json). > 4. Run `npm run build` to update the compiled files. > 5. Update this [`https://github.com/actions/cache/blob/main/RELEASES.md`](https://github.com/actions/cache/blob/main/RELEASES.md) with the new version and changes in the `## Changelog` section. > 6. Run `licensed cache` to update the license report. > 7. Run `licensed status` and resolve any warnings by updating the [`https://github.com/actions/cache/blob/main/.licensed.yml`](https://github.com/actions/cache/blob/main/.licensed.yml) file with the exceptions. > 8. Commit your changes and push your branch upstream. > 9. Open a pull request against `main` and get it reviewed and merged. > 10. Draft a new release <https://github.com/actions/cache/releases> use the same version number used in `package.json` > 1. Create a new tag with the version number. > 2. Auto generate release notes and update them to match the changes you made in `RELEASES.md`. > 3. Toggle the set as the latest release option. > 4. Publish the release. > 11. Navigate to <https://github.com/actions/cache/actions/workflows/release-new-action-version.yml> > 1. There should be a workflow run queued with the same version number. > 2. Approve the run to publish the new version and update the major tags for this action. > > Changelog > --------- > > ### 5.0.4 > > * Bump `minimatch` to v3.1.5 (fixes ReDoS via globstar patterns) > * Bump `undici` to v6.24.1 (WebSocket decompression bomb protection, header validation fixes) > * Bump `fast-xml-parser` to v5.5.6 > > ### 5.0.3 > > * Bump `@actions/cache` to v5.0.5 (Resolves: <https://github.com/actions/cache/security/dependabot/33>) > * Bump `@actions/core` to v2.0.3 > > ### 5.0.2 > > * Bump `@actions/cache` to v5.0.3 [#1692](https://redirect.github.com/actions/cache/pull/1692) > > ### 5.0.1 > > * Update `@azure/storage-blob` to `^12.29.1` via `@actions/cache@5.0.1` [#1685](https://redirect.github.com/actions/cache/pull/1685) > > ### 5.0.0 > > > [!IMPORTANT] > > `actions/cache@v5` runs on the Node.js 24 runtime and requires a minimum Actions Runner version of `2.327.1`. ... (truncated) Commits * [`6682284`](actions/cache@6682284) Merge pull request [#1738](https://redirect.github.com/actions/cache/issues/1738) from actions/prepare-v5.0.4 * [`e340396`](actions/cache@e340396) Update RELEASES * [`8a67110`](actions/cache@8a67110) Add licenses * [`1865903`](actions/cache@1865903) Update dependencies & patch security vulnerabilities * [`5656298`](actions/cache@5656298) Merge pull request [#1722](https://redirect.github.com/actions/cache/issues/1722) from RyPeck/patch-1 * [`4e380d1`](actions/cache@4e380d1) Fix cache key in examples.md for bun.lock * [`b7e8d49`](actions/cache@b7e8d49) Merge pull request [#1701](https://redirect.github.com/actions/cache/issues/1701) from actions/Link-/fix-proxy-integration-tests * [`984a21b`](actions/cache@984a21b) Add traffic sanity check step * [`acf2f1f`](actions/cache@acf2f1f) Fix resolution * [`95a07c5`](actions/cache@95a07c5) Add wait for proxy * Additional commits viewable in [compare view](actions/cache@cdf6c1f...6682284) Updates `graalvm/setup-graalvm` from 1.4.5 to 1.5.0 Release notes *Sourced from [graalvm/setup-graalvm's releases](https://github.com/graalvm/setup-graalvm/releases).* > v1.5.0 > ------ > > What's Changed > -------------- > > * Bump lodash from 4.17.21 to 4.17.23 by [`@dependabot`](https://github.com/dependabot)[bot] in [graalvm/setup-graalvm#205](https://redirect.github.com/graalvm/setup-graalvm/pull/205) > * Bump the "all" group with 2 updates across multiple ecosystems by [`@dependabot`](https://github.com/dependabot)[bot] in [graalvm/setup-graalvm#206](https://redirect.github.com/graalvm/setup-graalvm/pull/206) > * Bump the "all" group with 1 updates across multiple ecosystems by [`@dependabot`](https://github.com/dependabot)[bot] in [graalvm/setup-graalvm#207](https://redirect.github.com/graalvm/setup-graalvm/pull/207) > * Upgrade to Node 24by [`@fniephaus`](https://github.com/fniephaus) in [graalvm/setup-graalvm#209](https://redirect.github.com/graalvm/setup-graalvm/pull/209) > > **Full Changelog**: <graalvm/setup-graalvm@v1.4.5...v1.5.0> Commits * [`f744c72`](graalvm/setup-graalvm@f744c72) Bump version to `1.5.0`. * [`138cef5`](graalvm/setup-graalvm@138cef5) Fix Windows minimatch support in bundled action. * [`f0c91e2`](graalvm/setup-graalvm@f0c91e2) Bump dependencies. * [`5fbabde`](graalvm/setup-graalvm@5fbabde) Fork `RetryHelper` from tool-cache. * [`7777231`](graalvm/setup-graalvm@7777231) Run `npm audit fix`. * [`9be1e9e`](graalvm/setup-graalvm@9be1e9e) Drop minimatch override. * [`dd308a9`](graalvm/setup-graalvm@dd308a9) Upgrade to node 24 * [`91b8c57`](graalvm/setup-graalvm@91b8c57) Bump the all group with 11 updates * [`9d0e2df`](graalvm/setup-graalvm@9d0e2df) Update dist files. * [`7045e8f`](graalvm/setup-graalvm@7045e8f) Fix import. * Additional commits viewable in [compare view](graalvm/setup-graalvm@54b4f5a...f744c72) Updates `softprops/action-gh-release` from 2.5.0 to 2.6.1 Release notes *Sourced from [softprops/action-gh-release's releases](https://github.com/softprops/action-gh-release/releases).* > v2.6.1 > ------ > > `2.6.1` is a patch release focused on restoring linked discussion thread creation when > `discussion_category_name` is set. It fixes `[#764](https://github.com/softprops/action-gh-release/issues/764)`, where the draft-first publish flow > stopped carrying the discussion category through the final publish step. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. > > What's Changed > -------------- > > ### Bug fixes 🐛 > > * fix: preserve discussion category on publish by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#765](https://redirect.github.com/softprops/action-gh-release/pull/765) > > v2.6.0 > ------ > > `2.6.0` is a minor release centered on `previous_tag` support for `generate_release_notes`, > which lets workflows pin GitHub's comparison base explicitly instead of relying on the default range. > It also includes the recent concurrent asset upload recovery fix, a `working_directory` docs sync, > a checked-bundle freshness guard for maintainers, and clearer immutable-prerelease guidance where > GitHub platform behavior imposes constraints on how prerelease asset uploads can be published. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. > > What's Changed > -------------- > > ### Exciting New Features 🎉 > > * feat: support previous\_tag for generate\_release\_notes by [`@pocesar`](https://github.com/pocesar) in [softprops/action-gh-release#372](https://redirect.github.com/softprops/action-gh-release/pull/372) > > ### Bug fixes 🐛 > > * fix: recover concurrent asset metadata 404s by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#760](https://redirect.github.com/softprops/action-gh-release/pull/760) > > ### Other Changes 🔄 > > * docs: clarify reused draft release behavior by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#759](https://redirect.github.com/softprops/action-gh-release/pull/759) > * docs: clarify working\_directory input by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#761](https://redirect.github.com/softprops/action-gh-release/pull/761) > * ci: verify dist bundle freshness by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#762](https://redirect.github.com/softprops/action-gh-release/pull/762) > * fix: clarify immutable prerelease uploads by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#763](https://redirect.github.com/softprops/action-gh-release/pull/763) > > v2.5.3 > ------ > > `2.5.3` is a patch release focused on the remaining path-handling and release-selection bugs uncovered after `2.5.2`. > It fixes `[#639](https://github.com/softprops/action-gh-release/issues/639)`, `[#571](https://github.com/softprops/action-gh-release/issues/571)`, `[#280](https://github.com/softprops/action-gh-release/issues/280)`, `[#614](https://github.com/softprops/action-gh-release/issues/614)`, `[#311](https://github.com/softprops/action-gh-release/issues/311)`, `[#403](https://github.com/softprops/action-gh-release/issues/403)`, and `[#368](https://github.com/softprops/action-gh-release/issues/368)`. > It also adds documentation clarifications for `[#541](https://github.com/softprops/action-gh-release/issues/541)`, `[#645](https://github.com/softprops/action-gh-release/issues/645)`, `[#542](https://github.com/softprops/action-gh-release/issues/542)`, `[#393](https://github.com/softprops/action-gh-release/issues/393)`, and `[#411](https://github.com/softprops/action-gh-release/issues/411)`, > where the current behavior is either usage-sensitive or constrained by GitHub platform limits rather than an action-side runtime bug. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. > > What's Changed > -------------- ... (truncated) Changelog *Sourced from [softprops/action-gh-release's changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md).* > 2.6.1 > ----- > > `2.6.1` is a patch release focused on restoring linked discussion thread creation when > `discussion_category_name` is set. It fixes `[#764](https://github.com/softprops/action-gh-release/issues/764)`, where the draft-first publish flow > stopped carrying the discussion category through the final publish step. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. > > What's Changed > -------------- > > ### Bug fixes 🐛 > > * fix: preserve discussion category on publish by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#765](https://redirect.github.com/softprops/action-gh-release/pull/765) > > 2.6.0 > ----- > > `2.6.0` is a minor release centered on `previous_tag` support for `generate_release_notes`, > which lets workflows pin GitHub's comparison base explicitly instead of relying on the default range. > It also includes the recent concurrent asset upload recovery fix, a `working_directory` docs sync, > a checked-bundle freshness guard for maintainers, and clearer immutable-prerelease guidance where > GitHub platform behavior imposes constraints on how prerelease asset uploads can be published. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. > > What's Changed > -------------- > > ### Exciting New Features 🎉 > > * feat: support previous\_tag for generate\_release\_notes by [`@pocesar`](https://github.com/pocesar) in [softprops/action-gh-release#372](https://redirect.github.com/softprops/action-gh-release/pull/372) > > ### Bug fixes 🐛 > > * fix: recover concurrent asset metadata 404s by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#760](https://redirect.github.com/softprops/action-gh-release/pull/760) > > ### Other Changes 🔄 > > * docs: clarify reused draft release behavior by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#759](https://redirect.github.com/softprops/action-gh-release/pull/759) > * docs: clarify working\_directory input by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#761](https://redirect.github.com/softprops/action-gh-release/pull/761) > * ci: verify dist bundle freshness by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#762](https://redirect.github.com/softprops/action-gh-release/pull/762) > * fix: clarify immutable prerelease uploads by [`@chenrui333`](https://github.com/chenrui333) in [softprops/action-gh-release#763](https://redirect.github.com/softprops/action-gh-release/pull/763) > > 2.5.3 > ----- > > `2.5.3` is a patch release focused on the remaining path-handling and release-selection bugs uncovered after `2.5.2`. > It fixes `[#639](https://github.com/softprops/action-gh-release/issues/639)`, `[#571](https://github.com/softprops/action-gh-release/issues/571)`, `[#280](https://github.com/softprops/action-gh-release/issues/280)`, `[#614](https://github.com/softprops/action-gh-release/issues/614)`, `[#311](https://github.com/softprops/action-gh-release/issues/311)`, `[#403](https://github.com/softprops/action-gh-release/issues/403)`, and `[#368](https://github.com/softprops/action-gh-release/issues/368)`. > It also adds documentation clarifications for `[#541](https://github.com/softprops/action-gh-release/issues/541)`, `[#645](https://github.com/softprops/action-gh-release/issues/645)`, `[#542](https://github.com/softprops/action-gh-release/issues/542)`, `[#393](https://github.com/softprops/action-gh-release/issues/393)`, and `[#411](https://github.com/softprops/action-gh-release/issues/411)`, > where the current behavior is either usage-sensitive or constrained by GitHub platform limits rather than an action-side runtime bug. > > If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. ... (truncated) Commits * [`153bb8e`](softprops/action-gh-release@153bb8e) release 2.6.1 * [`569deb8`](softprops/action-gh-release@569deb8) fix: preserve discussion category when publishing releases ([#765](https://redirect.github.com/softprops/action-gh-release/issues/765)) * [`26e8ad2`](softprops/action-gh-release@26e8ad2) release 2.6.0 * [`b959f31`](softprops/action-gh-release@b959f31) fix: clarify immutable prerelease uploads ([#763](https://redirect.github.com/softprops/action-gh-release/issues/763)) * [`8a8510e`](softprops/action-gh-release@8a8510e) ci: verify dist bundle freshness ([#762](https://redirect.github.com/softprops/action-gh-release/issues/762)) * [`438c15d`](softprops/action-gh-release@438c15d) docs: clarify working\_directory input ([#761](https://redirect.github.com/softprops/action-gh-release/issues/761)) * [`6ca3b5d`](softprops/action-gh-release@6ca3b5d) fix: recover concurrent asset metadata 404s ([#760](https://redirect.github.com/softprops/action-gh-release/issues/760)) * [`11f9176`](softprops/action-gh-release@11f9176) chore: add RELEASE.md * [`1f3f350`](softprops/action-gh-release@1f3f350) feat: add AGENTS.md * [`37819cb`](softprops/action-gh-release@37819cb) docs: clarify reused draft release behavior ([#759](https://redirect.github.com/softprops/action-gh-release/issues/759)) * Additional commits viewable in [compare view](softprops/action-gh-release@a06a81a...153bb8e) Updates `github/codeql-action` from 4.32.5 to 4.33.0 Release notes *Sourced from [github/codeql-action's releases](https://github.com/github/codeql-action/releases).* > v4.33.0 > ------- > > * Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. [#3562](https://redirect.github.com/github/codeql-action/pull/3562) > > To opt out of this change: > > + **Repositories owned by an organization:** Create a custom repository property with the name `github-codeql-file-coverage-on-prs` and the type "True/false", then set this property to `true` in the repository's settings. For more information, see [Managing custom properties for repositories in your organization](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization). Alternatively, if you are using an advanced setup workflow, you can set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > + **User-owned repositories using default setup:** Switch to an advanced setup workflow and set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > + **User-owned repositories using advanced setup:** Set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > * Fixed [a bug](https://redirect.github.com/github/codeql-action/issues/3555) which caused the CodeQL Action to fail loading repository properties if a "Multi select" repository property was configured for the repository. [#3557](https://redirect.github.com/github/codeql-action/pull/3557) > * The CodeQL Action now loads [custom repository properties](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) on GitHub Enterprise Server, enabling the customization of features such as `github-codeql-disable-overlay` that was previously only available on GitHub.com. [#3559](https://redirect.github.com/github/codeql-action/pull/3559) > * Once [private package registries](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries) can be configured with OIDC-based authentication for organizations, the CodeQL Action will now be able to accept such configurations. [#3563](https://redirect.github.com/github/codeql-action/pull/3563) > * Fixed the retry mechanism for database uploads. Previously this would fail with the error "Response body object should not be disturbed or locked". [#3564](https://redirect.github.com/github/codeql-action/pull/3564) > * A warning is now emitted if the CodeQL Action detects a repository property whose name suggests that it relates to the CodeQL Action, but which is not one of the properties recognised by the current version of the CodeQL Action. [#3570](https://redirect.github.com/github/codeql-action/pull/3570) > > v4.32.6 > ------- > > * Update default CodeQL bundle version to [2.24.3](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3). [#3548](https://redirect.github.com/github/codeql-action/pull/3548) Changelog *Sourced from [github/codeql-action's changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md).* > CodeQL Action Changelog > ======================= > > See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. > > [UNRELEASED] > ------------ > > * Added an experimental change which disables TRAP caching when [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158) is enabled, since improved incremental analysis supersedes TRAP caching. This will improve performance and reduce Actions cache usage. We expect to roll this change out to everyone in March. [#3569](https://redirect.github.com/github/codeql-action/pull/3569) > > 4.33.0 - 16 Mar 2026 > -------------------- > > * Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. [#3562](https://redirect.github.com/github/codeql-action/pull/3562) > > To opt out of this change: > > + **Repositories owned by an organization:** Create a custom repository property with the name `github-codeql-file-coverage-on-prs` and the type "True/false", then set this property to `true` in the repository's settings. For more information, see [Managing custom properties for repositories in your organization](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization). Alternatively, if you are using an advanced setup workflow, you can set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > + **User-owned repositories using default setup:** Switch to an advanced setup workflow and set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > + **User-owned repositories using advanced setup:** Set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow. > * Fixed [a bug](https://redirect.github.com/github/codeql-action/issues/3555) which caused the CodeQL Action to fail loading repository properties if a "Multi select" repository property was configured for the repository. [#3557](https://redirect.github.com/github/codeql-action/pull/3557) > * The CodeQL Action now loads [custom repository properties](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) on GitHub Enterprise Server, enabling the customization of features such as `github-codeql-disable-overlay` that was previously only available on GitHub.com. [#3559](https://redirect.github.com/github/codeql-action/pull/3559) > * Once [private package registries](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries) can be configured with OIDC-based authentication for organizations, the CodeQL Action will now be able to accept such configurations. [#3563](https://redirect.github.com/github/codeql-action/pull/3563) > * Fixed the retry mechanism for database uploads. Previously this would fail with the error "Response body object should not be disturbed or locked". [#3564](https://redirect.github.com/github/codeql-action/pull/3564) > * A warning is now emitted if the CodeQL Action detects a repository property whose name suggests that it relates to the CodeQL Action, but which is not one of the properties recognised by the current version of the CodeQL Action. [#3570](https://redirect.github.com/github/codeql-action/pull/3570) > > 4.32.6 - 05 Mar 2026 > -------------------- > > * Update default CodeQL bundle version to [2.24.3](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3). [#3548](https://redirect.github.com/github/codeql-action/pull/3548) > > 4.32.5 - 02 Mar 2026 > -------------------- > > * Repositories owned by an organization can now set up the `github-codeql-disable-overlay` custom repository property to disable [improved incremental analysis for CodeQL](https://redirect.github.com/github/roadmap/issues/1158). First, create a custom repository property with the name `github-codeql-disable-overlay` and the type "True/false" in the organization's settings. Then in the repository's settings, set this property to `true` to disable improved incremental analysis. For more information, see [Managing custom properties for repositories in your organization](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization). This feature is not yet available on GitHub Enterprise Server. [#3507](https://redirect.github.com/github/codeql-action/pull/3507) > * Added an experimental change so that when [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158) fails on a runner — potentially due to insufficient disk space — the failure is recorded in the Actions cache so that subsequent runs will automatically skip improved incremental analysis until something changes (e.g. a larger runner is provisioned or a new CodeQL version is released). We expect to roll this change out to everyone in March. [#3487](https://redirect.github.com/github/codeql-action/pull/3487) > * The minimum memory check for improved incremental analysis is now skipped for CodeQL 2.24.3 and later, which has reduced peak RAM usage. [#3515](https://redirect.github.com/github/codeql-action/pull/3515) > * Reduced log levels for best-effort private package registry connection check failures to reduce noise from workflow annotations. [#3516](https://redirect.github.com/github/codeql-action/pull/3516) > * Added an experimental change which lowers the minimum disk space requirement for [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158), enabling it to run on standard GitHub Actions runners. We expect to roll this change out to everyone in March. [#3498](https://redirect.github.com/github/codeql-action/pull/3498) > * Added an experimental change which allows the `start-proxy` action to resolve the CodeQL CLI version from feature flags instead of using the linked CLI bundle version. We expect to roll this change out to everyone in March. [#3512](https://redirect.github.com/github/codeql-action/pull/3512) > * The previously experimental changes from versions 4.32.3, 4.32.4, 3.32.3 and 3.32.4 are now enabled by default. [#3503](https://redirect.github.com/github/codeql-action/pull/3503), [#3504](https://redirect.github.com/github/codeql-action/pull/3504) > > 4.32.4 - 20 Feb 2026 > -------------------- > > * Update default CodeQL bundle version to [2.24.2](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.2). [#3493](https://redirect.github.com/github/codeql-action/pull/3493) > * Added an experimental change which improves how certificates are generated for the authentication proxy that is used by the CodeQL Action in Default Setup when [private package registries are configured](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries). This is expected to generate more widely compatible certificates and should have no impact on analyses which are working correctly already. We expect to roll this change out to everyone in February. [#3473](https://redirect.github.com/github/codeql-action/pull/3473) > * When the CodeQL Action is run [with debugging enabled in Default Setup](https://docs.github.com/en/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-analysis-errors/logs-not-detailed-enough#creating-codeql-debugging-artifacts-for-codeql-default-setup) and [private package registries are configured](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries), the "Setup proxy for registries" step will output additional diagnostic information that can be used for troubleshooting. [#3486](https://redirect.github.com/github/codeql-action/pull/3486) > * Added a setting which allows the CodeQL Action to enable network debugging for Java programs. This will help GitHub staff support customers with troubleshooting issues in GitHub-managed CodeQL workflows, such as Default Setup. This setting can only be enabled by GitHub staff. [#3485](https://redirect.github.com/github/codeql-action/pull/3485) > * Added a setting which enables GitHub-managed workflows, such as Default Setup, to use a [nightly CodeQL CLI release](https://github.com/dsp-testing/codeql-cli-nightlies) instead of the latest, stable release that is used by default. This will help GitHub staff support customers whose analyses for a given repository or organization require early access to a change in an upcoming CodeQL CLI release. This setting can only be enabled by GitHub staff. [#3484](https://redirect.github.com/github/codeql-action/pull/3484) > > 4.32.3 - 13 Feb 2026 > -------------------- > > * Added experimental support for testing connections to [private package registries](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries). This feature is not currently enabled for any analysis. In the future, it may be enabled by default for Default Setup. [#3466](https://redirect.github.com/github/codeql-action/pull/3466) > > 4.32.2 - 05 Feb 2026 > -------------------- ... (truncated) Commits * [`b1bff81`](github/codeql-action@b1bff81) Merge pull request [#3574](https://redirect.github.com/github/codeql-action/issues/3574) from github/update-v4.32.7-7dd76e6bf * [`e682234`](github/codeql-action@e682234) Add changelog entry for [#3570](https://redirect.github.com/github/codeql-action/issues/3570) * [`95be291`](github/codeql-action@95be291) Bump minor version * [`59bcb60`](github/codeql-action@59bcb60) Update changelog for v4.32.7 * [`7dd76e6`](github/codeql-action@7dd76e6) Merge pull request [#3572](https://redirect.github.com/github/codeql-action/issues/3572) from github/mbg/pr-checks/eslint * [`e3200e3`](github/codeql-action@e3200e3) Merge pull request [#3563](https://redirect.github.com/github/codeql-action/issues/3563) from github/mbg/private-registry/oidc * [`4c356c7`](github/codeql-action@4c356c7) Merge pull request [#3570](https://redirect.github.com/github/codeql-action/issues/3570) from github/mbg/repo-props/warn-on-unexpected-props * [`b4937c1`](github/codeql-action@b4937c1) Only emit one message with accumulated property names * [`136b8ab`](github/codeql-action@136b8ab) Remove `cache-dependency-path` options as well * [`a5aba59`](github/codeql-action@a5aba59) Remove `package-lock.json` that's no longer needed * Additional commits viewable in [compare view](github/codeql-action@c793b71...b1bff81) Updates `anthropics/claude-code-action` from 1.0.69 to 1.0.75 Release notes *Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).* > v1.0.75 > ------- > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.75> > > v1.0.74 > ------- > > What's Changed > -------------- > > * Restore .claude/ and .mcp.json from PR base branch before CLI runs by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1066](https://redirect.github.com/anthropics/claude-code-action/pull/1066) > * Remove redundant git status/diff/log from tag mode allowlist by [`@ddworken`](https://github.com/ddworken) in [anthropics/claude-code-action#1075](https://redirect.github.com/anthropics/claude-code-action/pull/1075) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.74> > > v1.0.73 > ------- > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.73> > > v1.0.72 > ------- > > What's Changed > -------------- > > * Harden tag mode tool permissions against prompt injection by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1002](https://redirect.github.com/anthropics/claude-code-action/pull/1002) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.72> > > v1.0.71 > ------- > > What's Changed > -------------- > > * docs: warn that allowed\_bots can expose the action to external triggers by [`@an-dustin`](https://github.com/an-dustin) in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039) > * feat(inline-comment): add confirmed param + probe-pattern safety net by [`@km-anthropic`](https://github.com/km-anthropic) in [anthropics/claude-code-action#1048](https://redirect.github.com/anthropics/claude-code-action/pull/1048) > > New Contributors > ---------------- > > * [`@an-dustin`](https://github.com/an-dustin) made their first contribution in [anthropics/claude-code-action#1039](https://redirect.github.com/anthropics/claude-code-action/pull/1039) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.71> > > v1.0.70 > ------- > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.70> Commits * [`df37d2f`](anthropics/claude-code-action@df37d2f) chore: bump Claude Code to 2.1.79 and Agent SDK to 0.2.79 * [`1ba15be`](anthropics/claude-code-action@1ba15be) Remove redundant git status/diff/log from tag mode allowlist ([#1075](https://redirect.github.com/anthropics/claude-code-action/issues/1075)) * [`9ddce40`](anthropics/claude-code-action@9ddce40) Restore .claude/ and .mcp.json from PR base branch before CLI runs ([#1066](https://redirect.github.com/anthropics/claude-code-action/issues/1066)) * [`1b422b3`](anthropics/claude-code-action@1b422b3) chore: bump Claude Code to 2.1.78 and Agent SDK to 0.2.77 * [`4c044bb`](anthropics/claude-code-action@4c044bb) chore: bump Claude Code to 2.1.77 and Agent SDK to 0.2.77 * [`cd77b50`](anthropics/claude-code-action@cd77b50) chore: bump Claude Code to 2.1.76 and Agent SDK to 0.2.76 * [`0e80d3c`](anthropics/claude-code-action@0e80d3c) chore: bump Claude Code to 2.1.75 and Agent SDK to 0.2.75 * [`f956510`](anthropics/claude-code-action@f956510) Harden tag mode tool permissions against prompt injection ([#1002](https://redirect.github.com/anthropics/claude-code-action/issues/1002)) * [`5d0cc74`](anthropics/claude-code-action@5d0cc74) feat(inline-comment): add confirmed param + probe-pattern safety net ([#1048](https://redirect.github.com/anthropics/claude-code-action/issues/1048)) * [`567be3d`](anthropics/claude-code-action@567be3d) chore: bump Claude Code to 2.1.73 and Agent SDK to 0.2.73 * Additional commits viewable in [compare view](anthropics/claude-code-action@1fc90f3...df37d2f) Updates `ruby/setup-ruby` from 1.289.0 to 1.295.0 Release notes *Sourced from [ruby/setup-ruby's releases](https://github.com/ruby/setup-ruby/releases).* > v1.295.0 > -------- > > What's Changed > -------------- > > * Update CRuby releases on Windows by [`@ruby-builder-bot`](https://github.com/ruby-builder-bot) in [ruby/setup-ruby#890](https://redirect.github.com/ruby/setup-ruby/pull/890) > > **Full Changelog**: <ruby/setup-ruby@v1.294.0...v1.295.0> > > v1.294.0 > -------- > > What's Changed > -------------- > > * Add ruby-4.0.2 by [`@ruby-builder-bot`](https://github.com/ruby-builder-bot) in [ruby/setup-ruby#889](https://redirect.github.com/ruby/setup-ruby/pull/889) > > **Full Changelog**: <ruby/setup-ruby@v1.293.0...v1.294.0> > > v1.293.0 > -------- > > What's Changed > -------------- > > * Update README to remove JRuby version notes by [`@headius`](https://github.com/headius) in [ruby/setup-ruby#887](https://redirect.github.com/ruby/setup-ruby/pull/887) > * Update CRuby releases on Windows by [`@ruby-builder-bot`](https://github.com/ruby-builder-bot) in [ruby/setup-ruby#888](https://redirect.github.com/ruby/setup-ruby/pull/888) > > **Full Changelog**: <ruby/setup-ruby@v1.292.0...v1.293.0> > > v1.292.0 > -------- > > What's Changed > -------------- > > * Update Node to 24 by [`@eregon`](https://github.com/eregon) in [ruby/setup-ruby#886](https://redirect.github.com/ruby/setup-ruby/pull/886) > > **Full Changelog**: <ruby/setup-ruby@v1.291.0...v1.292.0> > > v1.291.0 > -------- > > What's Changed > -------------- > > * Add ruby-3.4.9 by [`@ruby-builder-bot`](https://github.com/ruby-builder-bot) in [ruby/setup-ruby#885](https://redirect.github.com/ruby/setup-ruby/pull/885) > > **Full Changelog**: <ruby/setup-ruby@v1.290.0...v1.291.0> > > v1.290.0 > -------- > > What's Changed > -------------- > > * Improve Windows version detection and HOME variable export by [`@jbaiza`](https://github.com/jbaiza) in [ruby/setup-ruby#883](https://redirect.github.com/ruby/setup-ruby/pull/883) > > New Contributors > ---------------- > > * [`@jbaiza`](https://github.com/jbaiza) made their first contribution in [ruby/setup-ruby#883](https://redirect.github.com/ruby/setup-ruby/pull/883) > > **Full Changelog**: <ruby/setup-ruby@v1.289.0...v1.290.0> Commits * [`319994f`](ruby/setup-ruby@319994f) Update CRuby releases on Windows * [`c984c1a`](ruby/setup-ruby@c984c1a) Add ruby-4.0.2 * [`dffb23f`](ruby/setup-ruby@dffb23f) Update CRuby releases on Windows * [`ea73ddb`](ruby/setup-ruby@ea73ddb) Update README to remove JRuby version notes * [`4eb9f11`](ruby/setup-ruby@4eb9f11) Update Node to 24 * [`9d13dd6`](ruby/setup-ruby@9d13dd6) Add ruby-3.4.9 * [`6ca151f`](ruby/setup-ruby@6ca151f) Leave only basic comment about env variable change * [`7413847`](ruby/setup-ruby@7413847) Set HOME variable from OS information * [`b3cff1b`](ruby/setup-ruby@b3cff1b) Add support for Windows Server Standard Evaluation * See full diff in [compare view](ruby/setup-ruby@19a43a6...319994f) Updates `webfactory/ssh-agent` from 0.9.1 to 0.10.0 Release notes *Sourced from [webfactory/ssh-agent's releases](https://github.com/webfactory/ssh-agent/releases).* > v0.10.0: Upgrade to node-24 > --------------------------- > > This release upgrades from node 20 to node 24, preparing for Node 20's upcoming EOL and getting rid of the related warning message in GitHub. > > What's Changed > -------------- > > * use node24 by [`@jimmymcpeter`](https://github.com/jimmymcpeter) in [webfactory/ssh-agent#243](https://redirect.github.com/webfactory/ssh-agent/pull/243) > > New Contributors > ---------------- > > * [`@jimmymcpeter`](https://github.com/jimmymcpeter) made their first contribution in [webfactory/ssh-agent#243](https://redirect.github.com/webfactory/ssh-agent/pull/243) > > **Full Changelog**: <webfactory/ssh-agent@v0.9.1...v0.10.0> Commits * [`e838748`](webfactory/ssh-agent@e838748) use node24 ([#243](https://redirect.github.com/webfactory/ssh-agent/issues/243)) * See full diff in [compare view](webfactory/ssh-agent@a6f90b1...e838748) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Addresses two bug bounty reports about tag mode's default tool permissions. Both require an attacker to already have write access to the target repo and to craft a prompt-injection payload in an issue/PR body, but once that bar is cleared they yield RCE on the Actions runner and exfil of
GITHUB_TOKEN/ANTHROPIC_API_KEY.1.
git pushwrapper — H1 #3556799The
Bash(git push:*)wildcard permitted arbitrary flags and remotes. Replaced withscripts/git-push.shwhich allowlists exactlyorigin <ref>(no flags, ref validated viagit check-ref-format). Same pattern asscripts/gh.sh(#996).The prompt already instructs Claude to run exactly
git push origin HEADorgit push origin <branch>, so this is transparent to normal operation.2.
acceptEditsinstead of blanket Write/Edit — AsanaEdit/MultiEdit/WriteinallowedToolsgranted unrestricted filesystem write across the entire runner. Removed from the allowlist and set--permission-mode acceptEdits, which auto-accepts edits inside the working directory ($GITHUB_WORKSPACE) and denies outside. The headless SDK has no prompt handler, so anything that falls through to "ask" is denied.Dead code note
src/create-prompt/index.tsexports anALLOWED_TOOLSenv var that nothing reads — the live path issrc/modes/tag/index.tswhich builds--allowedToolsintoclaudeArgsdirectly. Mirrored the fix in both so the file the H1 report points to stays in sync, and left a comment.Testing
origin HEADand valid branch namescc @dworken