27 comments

  • xg15 49 minutes ago
    This is amazing!

    Currently you can "cheat" by simply denying all requests as quickly as possible. This will give you the "security-conscious engineer" badge and a perfect score in terms of how many requests were processed. (You will get the "overblock" notification, but it's somewhat tucked away at the bottom and the screen still looks as if you won)

    I also tried to play as the hustle4lyfe move fast and break things engineer and simply approved as many requests as quickly as possible - turns out, the "malicious command" popups actually slow you down. Mean!

  • axod 56 minutes ago
    Fun little game, but I think the questions jump context so much it's a little unrepresentative. It might be better to group things into "packs", which have more real-world representative structure to them. For example, lots of "editing something.js" file permission requests, and then an "npm publish" is far more normal, and it's more of a risk, if you're used to pressing Y lots and then suddenly out of the blue...
  • cobbal 1 hour ago
    That's funny. It told me that blocking "npm run build" was the wrong answer. Maybe it doesn't really under The threat model.
    • dns_snek 25 minutes ago
      That's a great example of how dangerous actions are perceived as innocent. The entire model of approving specific commands is absolutely bonkers.

      npm run build = run an arbitrary shell command written in package.json

      Meanwhile the agent could have done any of the following without approval:

      - edited `package.json` to contain any arbitrary build command

      - planted malicious code in `build.js` (called by `npm run build`)

      - planted malicious code in `node_modules/xyz/index.js` (imported by `build.js`)

  • zackify 1 hour ago
    I vibe coded a TUI that just shows running lxd containers

    I hit 'n' to toggle all network access minus anthropic and openai URLs.

    I use pi (sometimes claude, always on bypass) and I auto allow everything. I only toggle manual approval in rare cases like running a script or command that needs to touch a production system and I need to validate everything.

    Normally my container has full write access to staging so it can debug and validate everything on its own

    • kennywinker 12 minutes ago
      Sounds like your process has made you vulnerable to huge classes of exploits and accidents. You have no oversight of changes locally, and only focus on when it touches prod. That means toxic local changes can get in, and if it works in staging why would you look to closely at it before merging to prod? Meanwhile a malicious npm package has made it into your repo, and your staging api keys have been sent to the command and control server.
  • sandeepkd 16 minutes ago
    Interestingly I kept saying no to everything and some how I am a security conscious rare engineer who actually read the commands. Guess doing nothing is the safest approach from security standpoint.
  • Liftyee 1 hour ago
    I haven't used local agentic AI yet for programming projects. Hence, -187 score

    The filter for "commands I would run myself" and "commands I would let an agent run" are very different it seems.

  • ghrl 1 hour ago
    I am mostly using OpenCode and barely ever see a permission prompt. While they do enforce it for outside workspace read/write, with the bash tool the agent can just bypass that. I'm not quite sure why it is that way, and it certainly isn't a very good solution, but likely not worse than asking for everything which just trains the user to always accept and provides a false sense of security then.
  • sukhavati 14 minutes ago
    Reminds me of the "Papers, please" game. Glory to Arstotzka!
  • Wirbelwind 59 minutes ago
    Thanks all for checking it out and your suggestions!

    If anyone is curious about the actual underlying risks and problems with some mitigations (like the 17% false-negative rates of Auto Mode), I wrote up a quick summary of some of the approaches here

    https://scalex.dev/blog/ai-agent-permissions/

  • kqr 54 minutes ago
    Fun! Played twice and refused all dangerous commands, with only one "over-block". Although I disagree that saying no to `kill $(lsof -t -i:3000)` is over-blocking. It's such a simple command I'd rather run it myself and be fully aware of what process I'm killing.
  • misbau 50 minutes ago
    That was fun and gave me an idea how security conscious I am.
  • MeetingsBrowser 1 hour ago
    It would be cool to see the distribution of all player scores.
    • Wirbelwind 1 hour ago
      That's a great idea, stay tuned
  • sevenseacat 1 hour ago
    Continue? Y/N ── SCORE: 2,343 Security-Conscious Engineer

    Caught 8/8 threats "Not a single secret leaked"

    → llmgame.scalex.dev

  • ilaksh 40 minutes ago
    You can turn that off with an option in most agents.

    My own agent harness/framework has never had any permission system. It's also never deleted anything it shouldn't or done anything crazy or unrelated to what I asked.

    • flux3125 26 minutes ago
      > It's also never deleted anything it shouldn't or done anything crazy or unrelated to what I asked

      Until it does. A simple curl request to a compromised website could inject a malicious prompt into it.

    • fragmede 30 minutes ago
      How many car accidents have you been in, and do you wear your seatbelt when you're in a car?
  • bspammer 58 minutes ago
    To be realistic, 99% of the time it should be a totally innocuous command. If half of the commands are dangerous then you don't get fatigue because you're aware what you're doing is dangerous.
  • NewJazz 31 minutes ago
    git reset --soft HEAD~1

    Uh, how is this an overblock? It is literally a destructive command. No way I want an LLM agent rewriting my commit history. What if that commit was already pushed to a protected branch?

  • rvz 27 minutes ago
    This current thread is proof of AI psychosis.
    • stuartjohnson12 23 minutes ago
      What the hell is going on in this thread? This isn't good. The "threats" don't make sense. Oh no, all the sensitive information in my package.json...
  • soanvig 1 hour ago
    Fun game. Can somebody run an agent against those questions to see how it performs? :)
  • atemerev 52 minutes ago
    --dangerously-skip-permissions is the only way to fly. Of course your environment needs to be properly containerized and autobackup set up, so even rm -rf from your harness would do nothing. Life is too short to spend on replying to permissions requests.
    • prerok 5 minutes ago
      I've seen these suggestions but I am really curious about the set up because I just don't get it.

      If you want to work on the code then you need to have access to the repositories, so you need the github token. Then, to test the app, you may need your own backend token. And VPN. Of course, only to DEV, of course all tokens encrypted. So, only DEV and your branch of the code is in danger. In my view, even that is pretty bad.

      So, how does such a set up work?

    • kennywinker 8 minutes ago
      Lol. Countdown til you get pwned starts today. Let me know how that works out for you in six months.
  • carterschonwald 1 hour ago
    some of the sandboxing ive been playing with gives me the best of both yolo and like logic programming tier perms on llm actions in env. still not ready for prime time though ;)
  • Trung0246 43 minutes ago
    Nice got 6/6
  • cadwell 1 hour ago
    1,640 points on my first try—I fell into a few traps, but it was really interesting. Thanks for the little game! I'm sharing it with my coworkers :)
  • nardib 3 hours ago
    Use this and save yourself:

    claude --dangerously-skip-permissions

    • kennywinker 5 minutes ago
      It’s baking malicious code into your project, but hey it didn’t run rm -rf so… we’re good.
    • tasuki 1 hour ago
      Just make sure to run it in an isolated environment where it's ok to mess things up, and make sure it doesn't have access to any secrets.
    • wildpeaks 1 hour ago
      This is why having a human in the loop isn't enough because they will cut corners and skip reviewing what they should review.
      • preciousoo 58 minutes ago
        I created a watcher for this problem, to watch my PRs for unfinished scope and have a fresh Claude review

        Uses tmux and gh https://github.com/Kyu/claude-pr-watch

      • chuckadams 1 hour ago
        A tool that pushes people into permissions fatigue is in fact the proper recipient of the blame. The tool in question here is the entire system though, including the OS with insufficient permission boundaries in userspace, not just the agent
        • kennywinker 0 minutes ago
          A tool that bypasses permission requests because they’re annoying will be just as guilty when the repo is poisoned.
    • paulddraper 35 minutes ago

        alias yolo=claude --dangerously-skip-permissions
    • qsxfthnkp2322 1 hour ago
      I love it when Claude is dangerous
    • dheera 1 hour ago
      I got tired of typing that and just do

          alias claude="claude --dangerously-skip-permissions"
      
      I do have a separate "claude" user on my system without sudo access and without access to my main user home dir

      And yeah I know that's not perfect but I'm trying to get shit done

      • franze 1 hour ago
        alias claude+="claude --dangerously-skip-permissions"

        alias claude++="claude --dangerously-skip-permissions --continue"

  • ramonga 51 minutes ago
    Score is 6711 by just saying no to everything
  • syedofc 2 minutes ago
    [flagged]
  • vgudur297 16 minutes ago
    [flagged]