security: protect multi-root virtual mounts

This commit is contained in:
OpenClaw Agent
2026-09-21 22:38:02 +08:00
parent bf526cac2a
commit 18d5d29a09
2 changed files with 22 additions and 7 deletions
@@ -24,3 +24,18 @@ func TestNewMultiKeepsDuplicateBasenames(t *testing.T) {
t.Fatalf("unexpected virtual names: %v", m.Names)
}
}
func TestMultiRejectsMutationOfVirtualRoot(t *testing.T) {
root1 := t.TempDir()
root2 := t.TempDir()
m := NewMulti([]string{root1, root2})
if err := m.Remove(m.Names[0]); err == nil {
t.Fatal("expected virtual root removal to be rejected")
}
if _, err := m.Create(m.Names[0]); err == nil {
t.Fatal("expected virtual root creation to be rejected")
}
if err := m.Rename(m.Names[0], m.Names[1]); err == nil {
t.Fatal("expected virtual root rename to be rejected")
}
}