‹ BackHN Continuity

Thread

Pi Durable

506 points · 72 comments · paulsmith

  1. zmmmmm · · focus · HN ↗
    It's an interesting concept. This is half way to replicating pieces of Gastown. I like the idea, but I'm disappointed these tools still fail to address sandboxing as a first class citizen. I want to be able to declaratively set rules for what sandboxes agents execute in and mark context as tainted when untrusted etc. So far I still don't see any of these harnesses properly addressing this space. I'd be interested in knowing if it can be done through the extensibility of Pi, but since it operates directly on the trust layer, it feels like the type of thing that really needs native support.
    1. jlkuester7 · · focus · HN ↗
      Not familiar with the details of Pi Durable, but I have tinkered a bit with different sandboxing strategies for Pi. IMHO it would be hard to trust a sandboxing layer built into a harness that is so focused on being fully pluggable/moddable/self-improvable.

      When I am using Pi to write extensions for Pi, I feel better running Pi wrapped in a separate os-level sandbox. I guess Pi could do it all, but I am content with how it is.

      1. LeBit · · focus · HN ↗
        After looking at so many options, that is also my take.

        These should be decoupled.

        Maybe I need nono in one context and smolvm in another or both.

        I would not want to trust the harness to self policy.

      2. dbmikus · · focus · HN ↗
        I agree in using a separate OS-level sandbox or a VM. Better to have the option for modularity.

        However, for ease of use, it is nice for harnesses to by default run with sane and safe sandboxing setup. Then give the option to disable them.

      3. zmmmmm · · focus · HN ↗
        if you only have one level of trust then running the harness itself in a sandbox and leaving it at that is fine. This works for coding. For more complex enterprise style scenarios it stops working. Say you have an agent reading emails for you to action high priority ones. You have to assume it is going to get prompt injected constantly. But you want to have an escalation pathway for a high priority email, so somewhere you need a tool that can modify state in a database. You can't give that trust to the email reading one. So you need a higher level agent that can spin up a low trust sub-agent, get an output from it, and then feed the sanitised output into a different agent that has rights to update the database. This is obviously simplified / toy scenario, but it just illustrates that there are different trust levels, and different agents need to be authorised to do different things.
        1. elesiuta · · focus · HN ↗
          I'm currently working on this [1] and can almost support this exact workflow. However the multiple agent orchestration is a sequential state machine, and other than network which can be set for tool states, filesystem access is still set only for the entire state machine.

          [1] <a href="https:&#x2F;&#x2F;github.com&#x2F;agent6-dev&#x2F;agent6" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;agent6-dev&#x2F;agent6

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.