Skip to content

Commit da17a79

Browse files
authored
Merge pull request #13 from rhdh-parasol/fix/fullsend-claude-exe-policy
fix(fullsend): allow Claude Code Vertex authentication
2 parents 6abe032 + d493020 commit da17a79

4 files changed

Lines changed: 72 additions & 0 deletions

File tree

‎.fullsend/rhdh/harness/review.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
base: https://raw.githubusercontent.com/fullsend-ai/agents/4bbe4f50ed8e33c60539eaa30ddc320edf8bcda0/harness/review.yaml#sha256=08456e534c7d1251b3a3b2bc1236643403809ecab27832c273764769f219a45b
2+
image: ghcr.io/redhat-developer/rhdh-fullsend-code:latest
3+
policy: rhdh/policies/review.yaml
24
skills:
35
- skills/e2e-failure-analysis
46
- skills/playwright-trace

‎.fullsend/rhdh/policies/code.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ network_policies:
4747
access: read-write
4848
binaries:
4949
- path: "**/claude"
50+
# Claude Code 2.1+ ships the bun compile as claude.exe; **/claude does not match it.
51+
- path: "**/claude.exe"
5052
- path: "**/node"
5153

5254
github_api:

‎.fullsend/rhdh/policies/e2e-triage.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ network_policies:
3636
access: read-write
3737
binaries:
3838
- path: "**/claude"
39+
# Claude Code 2.1+ ships the bun compile as claude.exe; **/claude does not match it.
40+
- path: "**/claude.exe"
3941
- path: "**/node"
4042

4143
github_api:
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
version: 1
3+
4+
# Sandbox policy for the review agent.
5+
#
6+
# Forked from fullsend-ai/agents policies/review.yaml so we can allowlist
7+
# Claude Code's bun binary (claude.exe). **/claude does not match claude.exe,
8+
# which is what 2.1+ uses to call sts.googleapis.com for Vertex.
9+
#
10+
# Read-only agent: needs GitHub API (gh pr view, gh pr diff, gh issue view)
11+
# and Vertex AI for inference. No write access to GitHub — the post-script
12+
# handles mutations on the runner with a separate write-scoped token.
13+
14+
filesystem_policy:
15+
include_workdir: true
16+
read_only: [/usr, /lib, /proc, /dev/urandom, /app, /etc, /var/log]
17+
read_write: [/sandbox, /tmp, /dev/null]
18+
landlock:
19+
compatibility: best_effort
20+
process:
21+
run_as_user: sandbox
22+
run_as_group: sandbox
23+
24+
network_policies:
25+
vertex_ai:
26+
name: vertex-ai
27+
endpoints:
28+
- host: "api.anthropic.com"
29+
port: 443
30+
protocol: rest
31+
enforcement: enforce
32+
access: read-write
33+
- host: "*.googleapis.com"
34+
port: 443
35+
protocol: rest
36+
enforcement: enforce
37+
access: read-write
38+
binaries:
39+
- path: "**/claude"
40+
- path: "**/claude.exe"
41+
- path: "**/node"
42+
43+
github_api:
44+
name: github-api
45+
endpoints:
46+
- host: "api.github.com"
47+
port: 443
48+
protocol: rest
49+
enforcement: enforce
50+
access: read-only
51+
# gh CLI uses POST /graphql for reads; protocol: graphql allows
52+
# queries but blocks mutations at the AST level
53+
- host: "api.github.com"
54+
port: 443
55+
protocol: graphql
56+
enforcement: enforce
57+
access: read-only
58+
path: "/graphql"
59+
- host: "github.com"
60+
port: 443
61+
protocol: rest
62+
enforcement: enforce
63+
access: read-only
64+
binaries:
65+
- path: "**/gh"
66+
- path: "**/node"

0 commit comments

Comments
 (0)