Please update snap-declaration assertion for openshell

To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.


  • name: openshell
  • description: Safe, sandboxed runtimes for autonomous AI agents
  • snapcraft: OpenShell/snapcraft.yaml at main · NVIDIA/OpenShell · GitHub
  • upstream: GitHub - NVIDIA/OpenShell: OpenShell is the safe, private runtime for autonomous AI agents. · GitHub
  • upstream-relation: maintained upstream by nvidia and canonical
  • interfaces:
    • docker:
      • request-type: auto-connection
      • reasoning: openshell uses docker to create sandboxes
    • log-observe:
      • request-type: auto-connection
      • reasoning: openshell has an internal sandbox that looks at system logs to find about outgoing connection attempts that were denied and offers users policy changes inside “openshell term”
    • system-observe:
      • request-type: auto-connection
      • reasoning: openshell gateway uses system observe as it grants ptrace that is needed by the internal sandbox
    • ssh-keys:
      • request-type: auto-connection
      • reasoning: “openshell sandbox connect” uses ssh-keys as it grants access to the ssh binary and also the user’s keys so that one can ssh to a sandbox created earlier

This request has been added to the queue for review by the @reviewers team.

Hi @zyga ,

Given the functionality of the snap, it makes sense to me to grant auto-connection to docker, log-observe and system-observe interfaces.

Regarding ssh-keys, providing access to existing ssh keys to be able to access the sandboxed containers does not sound like a good idea. Instead, Openshell should create specific ssh keys, place in the per-snap home directory and inject that key to the docker containers. SSH binary can also be staged to be present inside the snap.

I agree with @shishirsub10 review.

  • docker is not typically granted auto-connection because the level of privilege it provides. It has only been granted in the past very few times after publisher vetting. Given the reasoning, I’m fine with granting it in this case
  • log-observe and system-observe are fine.
  • ssh-keys I agree you possibly don’t need the interface at all (not even manual-connection). The binary may be shipped with the snap and specific key generated for this only purpose used instead (similar to what vagrand did). Unless there is a very specific reason I’m missing now, I think this would be a better approach even for a non-snap version of openshell

Hi @zyga, If you agree with us about ssh-keys interface, I will go ahead and grant the access to other requested interfaces. If you think otherwise, kindly let us know.

I’m working on performing the ssh-keys migration. Please issue the assertion without the keys.

Thanks for the info.

+2 for, 0 against, granting auto-connection of docker, log-observe and system-observe for openshell. The publisher is vetted. This is now live.