From: Robert Feldt Date: 2000-11-14T02:38:20+09:00 Subject: [ruby-talk:6319] Re: Q: Sandbox security, SAFE and system On Tue, 14 Nov 2000, Dave Thomas wrote: > Robert Feldt writes: > > > I'm trying to understand SAFe and tainting in Ruby but I can't see how it > > can help me create a "sandbox" for constrained execution of scripts and > > apps not in my direct control. I would like to limit the files a script > > (and any processes it might spawn/fork etc.) can access and write to a > > specified sub-directory, but I guess it's out of reach for Ruby's tainting > > and SAFE model? > > If you're on a Unix box, could you use Dir.chroot? > Probably, but I need something that is at least portable to Windows 2000 (win2k+cygwin ok?!). Preferably to other Ruby exec environments. Wouldn't it be nice to have a sandbox extension so that you could have this kind of func available regardless of platform and level of priviliges? What about wrapping something along the lines: * redefine file/dir related Ruby funcs and make sure they operate within a subdir * freeze File and Dir so that they cannot be tampered with * disallow syscall's that could start apps in an extension with an interface a la: Sandbox.new do # Run potentially dangerous code... end Is it possible or will there be obvious security holes? Thanks, Robert