You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Addresses review on #1339 (plus the analogous finding from
modelcontextprotocol/servers#4222 which applies here too).
In the new claude-fork-review job:
- Strip step now covers the full sensitive-path set the action's own
restoreConfigFromBase handles (.claude/, .husky/, .mcp.json,
.claude.json, .gitmodules, .ripgreprc, CLAUDE.md, CLAUDE.local.md)
rather than only .mcp.json. Block comment names
.claude/settings.json hooks as the primary threat (arbitrary shell
on SessionStart/PreToolUse, runs before --allowedTools applies) and
frames the step as defense-in-depth that survives future action
versions narrowing restoreConfigFromBase.
- Adds a concurrency group keyed on PR number (cancel-in-progress:
false) so rapid label→unlabel→relabel cycles don't spawn parallel
runs or leave half-finished reviews.
- Drops `issues: read` from permissions — label removal on a PR is
covered by pull-requests: write alone.
- Rewords the "only outbound HTTP" comment to "only outbound HTTP
Claude can direct" — the runner itself talks to api.anthropic.com /
api.github.com / the Actions cache; the claim is about Claude's
tool surface, not the runner.
In the existing first-party claude job:
- Refuses @claude mentions on fork PRs (steps.pr.outputs.repo !=
github.repository) with a comment pointing at the claude-review
label. Closes the back door where a maintainer @claude'ing a fork
PR would have Claude read untrusted fork content with unrestricted
Bash and ANTHROPIC_API_KEY in scope. Checkout-PR-branch and
run-claude steps short-circuit on cross-repo PRs.
- Pins the action to SHA 12310e4417c3473095c957cb311b3cf59a38d659
(v1.0.99) for symmetry with the fork-review job. The
AJV-schema-drift crash family applies to both paths.
CONTRIBUTING.md: documents the claude-review label flow and the
diff-scoped nature of the automated review so external contributors
understand what they're getting and maintainers remain responsible
for whole-file audits.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
body: '`@claude` mentions are not supported on fork PRs from this workflow path — Claude would read untrusted fork content with broader tooling than is safe. To get a Claude review on this PR, a maintainer can apply the `claude-review` label, which runs the hardened, sandboxed review job.'
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,10 @@ We're actively developing **Inspector V2** to address architectural and UX impro
30
30
7. Submit a pull request
31
31
8. PRs will be reviewed by maintainers
32
32
33
+
### Automated Claude review on fork PRs
34
+
35
+
Maintainers can apply the `claude-review` label to a fork PR to trigger an automated review by Claude. The job runs in a hardened, sandboxed mode: Claude sees the PR diff and can post inline comments, but cannot install, build, run, or check out the rest of the codebase. As a result, Claude's review is **diff-scoped** — it sees the hunks under change but not surrounding file context — so maintainers remain responsible for whole-file audits and broader architectural review. The label is removed automatically after each run; re-apply it to trigger a fresh review.
36
+
33
37
## Code of Conduct
34
38
35
39
This project follows our [Code of Conduct](CODE_OF_CONDUCT.md). Please read it before contributing.
0 commit comments