Hacker News new | ask | show | jobs
by jonathanstrange 3 days ago
From what I can gather from the site it has no security or sandboxing features. Or am I missing something?

I'm asking because I'm thinking about R7RS Wile scheme[1] as an embedded language, which has some basic security features. But it's heavily vibe-coded and that puts me off a bit, so I'm looking for other Lisp or Scheme dialects in Go.

[1] https://github.com/aalpar/wile

2 comments

Sandboxing in Wile is based on "A Security Kernel Based on the Lambda-Calculus" by Jonathan A. Rees (https://dspace.mit.edu/entities/publication/ef87c5a4-aae4-41...). This 2020 HN comment recommends it as the best paper the user read that year: https://news.ycombinator.com/item?id=25354770. The report itself is from 1996. Sounds worth reading.

My current choice of Go interpreter for untrusted code is Starlark in Go (https://github.com/google/starlark-go/). Since Starlark is a dialect of Python, it's occurred to me it might be fun to put a Hy-like (https://hylang.org/) layer on top.

A Go executable is self-contained. You can put it in a Docker container with very little overhead. That would give you some sandboxing at least.
I'm creating cross-platform GUI applications in Go. Besides that, there are numerous reasons why an extension/scripting language might need various security and sandboxing features on a server, too.