Repository navigation
fix(policy): restrict Hermes Discord binary access #10682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
39f8b77
69630ff
7bd41ca
6b3c817
f03fdec
154699d
86f89a8
2bd37f0
7961bc8
9ba480c
b8813ca
74b0e67
e51270f
7b174c4
19e3815
98baa26
eb102f5
928df08
e34b1e0
e59ea72
e25b802
1e6b8c0
e12caf5
4b621c8
b4981ce
2228126
67b53ed
1b2a896
531642e
864e37d
b3fd418
e84a83f
db2377f
ebdcc63
dd7b229
388e0fb
21a97b0
df1f627
c9199a0
7cfd627
3985a1d
d858d2c
087024c
106f727
9e79653
05bca26
2b7ede2
260cf29
1d0fb71
46127b3
eb36cf7
5e6bf13
1503226
2e3e64c
5a84c21
355b7ea
f4249cd
e46edd4
d29047c
178c820
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -82,7 +82,7 @@ export const discordManifest = { | |
| validationWarningLines: [ | ||
| "For Discord preset validation, do not use curl as the success signal:", | ||
| "curl is not in the preset binary allowlist, so curl probes can fail even", | ||
| "when the policy is working. Use Node HTTPS against", | ||
| "when the policy is working. Use the configured agent runtime against", | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [P1][Operability/documentation]
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Addressed in commit 2bd37f0. Discord validation metadata now owns separate OpenClaw Node and Hermes venv-Python procedures; policy add selects the procedure from the sandbox agent; CLI/runtime regressions prove each agent receives only its supported command; and troubleshooting now has separate OpenClaw and Hermes sections with success/failure interpretation. The full npm run docs build and npm run validate:pr pass. |
||
| "https://discord.com/api/v10/gateway or validate the configured", | ||
| 'messaging bridge/gateway path. DNS-only checks such as dns.resolve("gateway.discord.gg")', | ||
| "can also be inconclusive behind a proxy.", | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,6 +58,5 @@ network_policies: | |
| rules: | ||
| - allow: { method: GET, path: "/**" } | ||
| binaries: | ||
| - { path: /usr/local/bin/node } | ||
| - { path: /usr/bin/python3* } | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [P1][Security testing] The shipped Hermes Discord policy is Python-only here, but
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Addressed in commit 2bd37f0. The Hermes fake Discord policy no longer grants either Node binary. The WebSocket and credential-bound REST proofs both run through /opt/hermes/.venv/bin/python, and the live lane reads the effective policy and fails if Node appears in either the production or fake Discord policy. Focused policy/onboarding tests (125), Hermes E2E-support tests (4), CLI type-check, docs, and npm run validate:pr pass. Fresh exact-head hermes-discord E2E will be dispatched after normal candidate checks and reviews stabilize.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [P1] Migrate the durable live policy, not only the preset source. Impact: existing Hermes Discord sandboxes retain the old
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Addressed on exact head |
||
| - { path: /opt/hermes/.venv/bin/python } | ||
Large diffs are not rendered by default.
Uh oh!
There was an error while loading. Please reload this page.