vllm-project/semantic-router

security: constrain OpenClaw image and skill provisioning inputs

Open

#2468 aperta il 12 lug 2026

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Go (699 fork)github user discovery
area/agentarea/dashboardbughelp wantedpriority/P1roadmapsafety

Metriche repository

Star
 (4293 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Summary

Make OpenClaw skills catalog-owned, contain every workspace operation, and enforce administrator-controlled image provenance and least privilege. Owner surfaces: dashboard/backend/handlers/openclaw.go, dashboard/backend/handlers/openclaw_skills.go, dashboard/backend/handlers/openclaw_provision.go, and dashboard/backend/handlers/openclaw_helpers.go.

Current behavior

Provisioning combines caller-selected image references with external skill identifiers used in filesystem operations, then starts the selected image with broad runtime privileges. Existing sanitization does not cover the skill boundary.

Expected behavior

Skills are selected only by strict server-catalog IDs, filesystem destinations cannot leave the owning workspace, images satisfy an administrator policy, and provisioned containers run with least privilege.

Acceptance

  • Use a strict server-owned skill catalog ID and never an external path segment.
  • Prove destination containment after symlink-aware resolution and reject aliases or unknown IDs.
  • Copy known assets by server identity instead of extracting content through an arbitrary image command.
  • Enforce administrator-controlled image allowlist, digest, and provenance policy.
  • Run non-root with a read-only root filesystem and minimal capabilities.

Validation

  • Add containment, separator, alias, symlink, unknown-ID, and image-policy negative tests without publishing host-specific paths.
  • Add deployment tests for non-root identity, read-only root filesystem, and capability set.
  • Run cd dashboard/backend && go test -race ./handlers.
  • Run the affected OpenClaw E2E profile selected by the repo harness.

Related

  • Parent audit: #2375
  • Security index: #2357
  • Dashboard state history: #1609

Guida contributor