Hi Alex, I don't think it's possible to make PicoLisp somehow safer, it is unsafe by design. The only safe option is not to allow execution of any untrusted code.
> Alexander Burger <a...@software-lab.de> writes: > (catch '(NIL) > (let Res > (in "/dev/null" > (let (call prog load prog in prog out prog pipe prog dir > prog) > (eval (any Str)) ) ) > (prin "-> ") > (println Res) ) ) > >> This is the delicate/time consuming part: testing, trying to crack a >> «safe» interp. even if you bind those symbols to 'prog', an attacker could set them to the original values, which are simple numbers. It should be possible to find the original values from another instance of picolisp, for example. Or simply call something that crashes PicoLisp, e.g. : (setq hi 0) -> 0 : (hi) Segmentation fault My understanding is, that if you can crash a program, it is likely that there is a way to "own" it. It just might be more complicated to set up stuff the right way just before the crash. Cheers, Tomas -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe