Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions agents/hermes/policy-additions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/messages" }
- allow: { method: POST, path: "/v1/messages/batches" }
Expand All @@ -54,14 +53,12 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/**" }
- host: sentry.io
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/api/*/envelope/**" }
- allow: { method: POST, path: "/api/*/store/**" }
Expand All @@ -75,7 +72,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/chat/completions" }
- allow: { method: POST, path: "/v1/completions" }
Expand All @@ -86,7 +82,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/chat/completions" }
- allow: { method: POST, path: "/v1/completions" }
Expand Down Expand Up @@ -119,23 +114,20 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: hermes-agent.nousresearch.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: api.nousresearch.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand All @@ -151,14 +143,12 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- host: files.pythonhosted.org
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand All @@ -173,7 +163,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/bot*/**" }
- allow: { method: POST, path: "/bot*/**" }
Expand All @@ -189,7 +178,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand All @@ -200,7 +188,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand Down
9 changes: 0 additions & 9 deletions nemoclaw-blueprint/policies/openclaw-sandbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/messages" }
- allow: { method: POST, path: "/v1/messages/batches" }
Expand All @@ -73,7 +72,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/**" }
# sentry.io is a multi-tenant SaaS — any authenticated client can POST
Expand All @@ -94,7 +92,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand All @@ -107,7 +104,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/chat/completions" }
- allow: { method: POST, path: "/v1/completions" }
Expand All @@ -118,7 +114,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: POST, path: "/v1/chat/completions" }
- allow: { method: POST, path: "/v1/completions" }
Expand Down Expand Up @@ -149,7 +144,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand All @@ -164,7 +158,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand All @@ -179,7 +172,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand All @@ -194,7 +186,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand Down
1 change: 0 additions & 1 deletion nemoclaw-blueprint/policies/presets/brave.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand Down
3 changes: 0 additions & 3 deletions nemoclaw-blueprint/policies/presets/huggingface.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
# Download-only. POST /** used to be allowed here, which let
# any sandboxed agent that happened to find an HF token in
Expand All @@ -28,14 +27,12 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- host: router.huggingface.co
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand Down
3 changes: 0 additions & 3 deletions nemoclaw-blueprint/policies/presets/jira.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,20 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: auth.atlassian.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: api.atlassian.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand Down
2 changes: 0 additions & 2 deletions nemoclaw-blueprint/policies/presets/npm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,12 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- host: registry.yarnpkg.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
binaries:
Expand Down
4 changes: 0 additions & 4 deletions nemoclaw-blueprint/policies/presets/outlook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,27 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: login.microsoftonline.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: outlook.office365.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
- host: outlook.office.com
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: POST, path: "/**" }
Expand Down
2 changes: 0 additions & 2 deletions nemoclaw-blueprint/policies/presets/pypi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,13 @@ network_policies:
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: HEAD, path: "/**" }
- host: files.pythonhosted.org
port: 443
protocol: rest
enforcement: enforce
tls: terminate
rules:
- allow: { method: GET, path: "/**" }
- allow: { method: HEAD, path: "/**" }
Expand Down
34 changes: 34 additions & 0 deletions test/policies.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,40 @@ describe("policies", () => {
}
});

it("policy YAML files do not use deprecated tls termination", () => {
const roots = [
path.join(REPO_ROOT, "nemoclaw-blueprint", "policies"),
path.join(REPO_ROOT, "agents"),
];
const stack = [...roots];
const yamlFiles = [];

while (stack.length > 0) {
const current = stack.pop();
for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
const fullPath = path.join(current, entry.name);
if (entry.isDirectory()) {
stack.push(fullPath);
continue;
}
if (entry.name.endsWith(".yaml") || entry.name.endsWith(".yml")) {
yamlFiles.push(fullPath);
}
}
}

const deprecatedTlsPattern = /^\s*tls\s*:\s*["']?terminate["']?(?:\s+#.*)?\s*$/m;

for (const file of yamlFiles) {
const content = fs.readFileSync(file, "utf-8");
assert.equal(
deprecatedTlsPattern.test(content),
false,
`${path.relative(REPO_ROOT, file)} still contains tls: terminate`,
);
}
});

it("pypi preset allows HEAD for pip lazy-wheel metadata checks", () => {
// pip and uv use HEAD requests for lazy wheel downloads and
// range-request support. GET-only would break pip install.
Expand Down