Skip to content

[SECURITY] No custom seccomp profile — relies on container runtime defaults #803

@h-network

Description

@h-network

Problem Statement

NemoClaw does not define or apply a custom seccomp profile. The sandbox relies on whatever the container runtime (Docker/containerd) provides by default.

Impact

The default Docker seccomp profile allows ~300 of ~450 available syscalls. Many are unnecessary for agent workloads and present attack surface:

  • mount / umount — filesystem manipulation
  • ptrace — process debugging/injection
  • clone with CLONE_NEWUSER — user namespace creation
  • keyctl — kernel keyring access

Proposed Design

Define a restrictive seccomp profile that only allows syscalls needed for agent operations:

{
  "defaultAction": "SCMP_ACT_ERRNO",
  "architectures": ["SCMP_ARCH_X86_64"],
  "syscalls": [
    {"names": ["read", "write", "open", "close", "stat", "fstat", ...], "action": "SCMP_ACT_ALLOW"},
  ]
}

Apply via Docker: --security-opt seccomp=nemoclaw-seccomp.json

References

  • CIS Docker Benchmark 5.21: "Do not disable default seccomp profile"
  • Docker documentation: Custom seccomp profiles

Alternatives Considered

No response

Category

enhancement: feature

Checklist

  • I searched existing issues and this is not a duplicate
  • This is a design proposal, not a "please build this" request

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancement: featureUse this label to identify requests for new capabilities in NemoClaw.priority: highImportant issue that should be resolved in the next releasesecuritySomething isn't secure

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions