HNHacker News
TopNewBestAskShowJobs

kernc

49 karma · joined March 23, 2022

submissionscomments
kernc··on MXC - a sandboxed code execution system
600 lines of dense POSIX Shell—in some respects that's even worse!

You would not be aware of the amount of trust you are putting into that.

kernc··on MXC - a sandboxed code execution system
> at least half is comments or unit tests

Thanks, I see there's a slight (~50%?) overestimation there, but then again, even unit tests and comments in a target programming language count as syntactically correct code that needs to be evaluated and reasoned upon. I'm not that familiar with Rust's runtime introspection features, but in languages like Python, even the comments can directly affect code (e.g. `Foo.__doc__ = Bar.__doc__ + SOME_ANNEX`).

> _generate_seccomp_filter ... the entire function doesn't block anything

Many thanks! I've applied a fix—it's a single line added. The missing test is pending a runnable that invokes one of the forbidden syscalls. As I have no qualms about force-pushing around a repo that nobody forks, happy to credit you(r LLM) proper!

> Main script invokes working directory's .env as shellcode

The sandboxed process can't overwrite existing .env files [1], but it could create a new $PWD/.env file, hoping to "escape" at next sandbox execution. That's a valid concern I'll have to think about some more.

[1]: https://github.com/sandbox-utils/sandbox-run/blob/c97d065184...

> Lots of race conditions

I sometimes experience "Slirp not ready in time" [2], but it's due to a so far unexplained upstream issue [3]. I you have time/tokens to spare, I'd appreciate those PRs and further similar feedback!

[2]: https://github.com/sandbox-utils/sandbox-run/blob/c97d065184... [3]: https://github.com/rootless-containers/slirp4netns/issues/35...

Don't know whether it's a good idea. It sure has got its issues. But even as the SLOC count and the number of bugs metrics are proved correlated in literature [4], min SLOC is not the primary target—a reasonably graspable and stable composition of few dependencies is. Whereas overreliance on third parties nowadays often ends with a rug pull one way or another. We simply can't count on this "MXC" (...) to be maintainable/non-archived even a year from now, just when I'd get it all properly integrated and set up.

[4]: https://softwareengineering.stackexchange.com/questions/1856...

> slightly concerned

Oh, I certainly wouldn't like to limit myself to promoting just this repo! ^D^ HN is a good venue, lots of smart people around! I see everyone shilling their own sh** all the time. Often in green usernames. :shrug:

kernc··on MXC - a sandboxed code execution system
350,000 of mostly Rust SLOC [1] ... And the upstream sandboxes aren't even vendored!

I'd be way more confident building upon something I can grasp and understand. [2]

[1]: https://ghloc.dev/microsoft/mxc [2]: https://github.com/sandbox-utils/sandbox-run

kernc··on Is sandboxing sufficient to contain rogue agents?
> executes outside the sandbox

Now, why would anyone do that? (Like everyone and their brother) I wrote my own simple Linux/shell-based sandbox [1] (I can trust ...) and am successfully running PyCharm whole inside it ...

[1]: https://github.com/sandbox-utils/sandbox-run

kernc··on AI makes programming differently difficult
The convergence is ongoing. We are Borg. You will be assimilated.
kernc··on Issue links now open in a popup
Why would they care to empower competitors?
kernc··on Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised
`sandbox-venv` is a small shell script that sandboxes Python virtual environments in separate Linux namespaces using Bubblewrap (and soon using only command `unshare`, bringing the whole script down to effectively 0 deps).

https://github.com/sandbox-utils/sandbox-venv

kernc··on GIMP 3.2 released
Did you also manage to enable menu icons?
kernc··on GIMP 3.2 released
Let everyone be reminded how joyful GIMP 2.10 menus used to look ...

https://i.imgur.com/nVyMQBt.png

kernc··on Show HN: I Built a Sandbox for Agents
Probably not. Maybe Bubblewrap and sandbox-run. It's an anything-is-already-way-better-than-nothing type of thing.

[0]: https://github.com/containers/bubblewrap

[1]: https://github.com/sandbox-utils/sandbox-run

kernc··on Sandboxing AI Agents in Linux
As a heads up and affirmation that the approach is correct, here's a small shell bubblewrap wrapper that boils the command line down to `sandbox-run claude --dangerously-skip-permissions`.

https://github.com/sandbox-utils/sandbox-run

kernc··on How does misalignment scale with model intelligence and task complexity?
Other actionable insights are:

- Merge amendments up into the initial prompt.

- Evaluate prompts multiple times (ensemble).

kernc··on Running Claude Code dangerously (safely)
It being deprecated and all, didn't feel like wrapping it, but macOS supposedly has a similar `sandbox-exec` command ...
kernc··on Running Claude Code dangerously (safely)
> Linux-only

What other dev OSs are there?

> once privileges are dropped [...] it doesn't appear to be possible to reinstate them

I don't understand. If unprivileged code could easily re-elevate itself, privilege dropping would be meaningless ... If you need to communicate with the outside, you can do so via sockets (such as the bind-mounted X11 socket in one of the readme Examples).

kernc··on Running Claude Code dangerously (safely)
Since everyone tends to present their own solution, I bid you mine:

    sandbox-run npx @anthropic-ai/claude-code
This runs npx (...) transparently inside a Bubblewrap sandbox, exposing only the $PWD. Contrary to many other solutions, it is a few lines of pure POSIX shell.

https://github.com/sandbox-utils/sandbox-run

kernc··on GitLab discovers widespread NPM supply chain attack
I wrote myself a handy and generalized bwrap-wrapping script: https://github.com/sandbox-utils/sandbox-run
kernc··on Shai-Hulud Returns: Over 300 NPM Packages Infected
No.1: Run untrusted code in a sandbox! https://github.com/sandbox-utils/sandbox-venv
kernc··on Firefox 147 Will Support the XDG Base Directory Specification
Now that everyone is kindly on board, IBM can finally bury this standard. /s
kernc··on Optimism associated with exceptional longevity (2019)
What are the reasons for Snapchat? :.
kernc··on NPM flooded with malicious packages downloaded more than 86k times
> alias npm=...

I use sandbox-run: https://github.com/sandbox-utils/sandbox-run

The above simple alias may work for node/npm, but it doesn't generalize to many other programs available on the local system, with resources that would need to be mounted into the container ...

kernc··on Show HN: Katakate – Dozens of VMs per node for safe code exec
Local-first (on Lunix), POSIX shell: https://github.com/sandbox-utils/sandbox-run
kernc··on I almost got hacked by a 'job interview'
A simple zero-config alternative using Linux-native containers seems to be sandbox-venv [1] for Python and sandbox-run [2] for npm ...

[1]: https://github.com/sandbox-utils/sandbox-venv [2]: https://github.com/sandbox-utils/sandbox-run

kernc··on I almost got hacked by a 'job interview'
> This might be a red flag for Persona service itself as it might contain serious flaws and security vulnerabilities that Cyber criminals are relying on

Persona seems to rely solely on NFC with a national passport/ID, so simply stolen documents would work for a certain duration ...

kernc··on I almost got hacked by a 'job interview'
You can use special a Unicode strikethrough glyphs such as available in https://efck-chat-keyboard.github.io
kernc··on Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised
Is exactly why I composed bubblewrap-based sandbox-venv for Python: https://github.com/kernc/sandbox-venv

Dangerous times we live in.

kernc··on Dotfiles feel too personal to share
Too personal to share, but maybe too personal and important to share even with the members of the cloudy cartel, i.e. the Providers. Is exactly why I wrote myba that does full contents and paths encryption before syncing with the lapsable remotes ...

https://kernc.github.io/myba/

Some things are better public. Some are not ...

kernc··on How I configure BorgBackup and borgmatic (2023)
The intricacies of Borg are exactly why I switched over to a wrapper around pure git: https://kernc.github.io/myba/
kernc··on Make Your Own Backup System – Part 1: Strategy Before Scripts
Make your own backup system—is exactly what I did. I felt git porcelain had a stable-enough API to accommodate this popular use case.

https://kernc.github.io/myba/

kernc··on Every Line Is a Potential Bug
Indeed, more repos should add a SLOC (e.g. ghloc) badge! Give you a feel for what you're working with.

https://github.com/pajecawav/ghloc-web#badges

kernc··on An overview of gradient descent optimization algorithms (2016)
SAMBO does a good job of finding the global optimum in a black-box manner even compared to Nelder-Mead, according to its own benchmark ...

https://sambo-optimization.github.io

Page 1 of 2Next →