all 2 comments

sorted by: hot top controversial new old
[–] 5 points 3 months ago

Would be funny to see a version of this in which they’re trying not to use AI. I believe in the original they’re trying not to eat their cookies.

  • source
  • [–] 2 points 3 months ago

    But he can still write to stdout

  • source
  • 11 comments in c/artificial_intel@lemmy.ml view that post
    [–] 14 points 3 months ago (2 children)

    This is pretty much entirely why I built https://github.com/SteffenBlake/cli-mcp-mapper

    I map bespoke CLI commands, with parameters, to MCP tools, and then 100% just turn off the ability to invoke the CLI itself entirely.

    That way it can only explicitly invoke the whitelisted commands I have granted it access to run, with only the parameters I have allowed it to.

    So for example I can explicitly expose git commit, status, stage, unstage, but everything else git related is not available, not even git push or pull.

    This substantially seems to help prevent the LLM from going off the rails on stupid CLI nonsense, like when it starts cating files instead of just fucking reading them.

  • source
  • hideshow 2 child comments
  • [–] 3 points 3 months ago (1 child)

    That's a good idea. Be careful of the more advanced models finding ways to abuse/circumvent it though, even with only a limited set of parameters. Eg. A lot of git commands can be tricked into dropping into less which can drop into a full shell.

    They know all the gtfobins.org tricks.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 3 months ago

    It should theoretically be impossible with the way you set it up.

    You explicitly, opt in, expose which parameters are available to the LLM, it cant invoke any params beyond that.

    And you can set params to hard values that arent exposed.

    Finally, you can use the enum config to further specify a whitelist of valid values for a param, anything else gets rejected.

    This pretty much locks most tools down tight.

    Though, wouldn't hurt to add integration tests covering scenarios like this explicitly.

  • source
  • parent
  • [–] 9 points 3 months ago (1 child)

    This is why all of the claims that "Claude broke containment" are pure hype. They know how to truly design a secure box. They just don't want to and put out headlines to boast its hacking skills.

    You want it secure for experimental model security testing?

    • No VMs
    • Physical hardware
    • Physically disconnected from the internet

    For the rest of us who ain't doing that shit, a properly segregated dev network with firewalled access will suffice.

  • source
  • hideshow 1 child comment
  • [–] 2 points 3 months ago*

    Doesn't even need to be completely air gapped, they can still allow it to talk to one specific endpoint to e.g. actually drive the model. As long as all commands are executed on a machine that can't reach the Internet, all is safe.

    I don't actually doubt anything in the big post they sent out. I just doubt that running a LLM without the possibility of alignment drift is possible. It just doesn't seem like they work that way.

  • source
  • parent
  • [–] 6 points 3 months ago

    I love that as a meme, well done!

  • source
  • [–] 6 points 3 months ago (1 child)

    Or docker run --rm -v /:/host ubuntu rm -rf /host/ the possibilities are endless

  • source
  • hideshow 1 child comment
  • [–] 5 points 3 months ago (2 children)

    Would it be safe in a VM, or are there ways they can break out too

  • source
  • hideshow 2 child comments
  • [–] 5 points 3 months ago* (last edited 3 months ago)

    sure. it can be safe on the host machine too, if you remove its ability to manipulate files outside of those you want it to. the reason it can run bash is because most people don't bother to change the very permissive defaults their harness comes with.

    personally, I use Hermes, so the default is it asks permission for every single command it runs. if I didn't want that, I have a couple ways to to prevent the agent from removing files like this. I can do it with Python like so:

    if "rm -rf" in command.lower():  
        return DENY  
    

    or via regex like so:

    \b(rm)\s+-rf\b, or \b(rm)\s+(-[A-Za-z]*r[A-Za-z]*f|-rf|-fr)\b to catch common variants. or you can just use a shell command filter to block all shell commands. you can also make a whitelist and add the commands that you want the agent to be able to run without oversight to that.

  • source
  • parent