NVIDIA / NVIDIA/NemoClaw

[Linux][Policy&Network] Deep Agents fetch URL allows POST to raw GitHub instead of blocking method at managed proxy

Open
#10,380 1 comment 0 reactions 1 assignee Claimed by @yimoj View on GitHub
area: networking area: policy area: sandbox integration: dcode NV QA platform: jetson platform: linux
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Description

Deep Agents Code can send a POST request through the managed proxy to `raw.githubusercontent.com`. The request is not blocked by the managed method policy before leaving the sandbox; it reaches GitHub and receives the upstream GitHub HTML error page instead.

Platform scope: Reproduced on Jetson Thor, Ubuntu 22.04, Ubuntu 24.04, Ubuntu 24.04 GPU, and Ubuntu 26 GPU Linux runners; non-Linux platforms were not part of this confirmation.
Regression: Unknown.
OpenShell issue: Unknown. The failing surface is the NemoClaw-managed Deep Agents proxy path backed by OpenShell policy enforcement.

## Environment

```text
Device: Linux CI runner class
OS: Jetson Linux, Ubuntu 22.04, Ubuntu 24.04, Ubuntu 24.04 GPU, Ubuntu 26 GPU
Architecture: x86_64
Node.js: v22.22.x to v22.23.x
npm: 10.9.x
Docker: Docker Engine 29.x
OpenShell CLI: 0.0.106
NemoClaw: v0.0.114
OpenClaw: not applicable to Deep Agents Code
```

## Steps to Reproduce

1. Install NemoClaw v0.0.114 and onboard a LangChain Deep Agents Code sandbox using the managed proxy path and the default balanced policy.
2. Verify that the Deep Agents sandbox has the managed proxy environment file and can fetch the approved raw GitHub README with GET.
3. From inside the sandbox, source the proxy environment and send a POST request to the same raw GitHub URL through the configured proxy:

```bash
. /tmp/nemoclaw-proxy-env.sh
body=/tmp/nemoclaw-post-body
status=$(curl -sS --max-time 30 -x "${HTTPS_PROXY:-${HTTP_PROXY:-}}" -X POST https://raw.githubusercontent.com/NVIDIA/NemoClaw/main/README.md -o "$body" -w '%{http_code}')
printf 'POST_STATUS:%s\n' "$status"
head -c 200 "$body"
rm -f "$body"
```

## Expected Result

The managed policy for Deep Agents Code allows GitHub raw content only for GET and HEAD. A POST to `raw.githubusercontent.com` should be rejected by the managed proxy or policy layer before the request is sent upstream. The response should be a local policy or method denial and should not contain upstream GitHub HTML content.

## Actual Result

The POST request returns HTTP 403 with the upstream GitHub HTML error page, including the GitHub Unicorn page content. This shows that the managed proxy forwarded the disallowed method to GitHub instead of enforcing the GET and HEAD-only method policy locally.

## Logs

```text
POST_STATUS:403
POST_BODY_BEGIN
GitHub Unicorn HTML error page content was returned from the upstream service.
POST_BODY_END
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.