feat(nono): add restrictive core policy contract
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "pi-core-personal",
|
||||
"description": "Restrictive personal Pi baseline without repository or provider access"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"security": {
|
||||
"signal_mode": "isolated",
|
||||
"capability_elevation": false
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"filesystem": {
|
||||
"allow": [
|
||||
"$XDG_CACHE_HOME/pi-sbx/personal",
|
||||
"$XDG_STATE_HOME/pi-sbx/personal/agent",
|
||||
"$XDG_STATE_HOME/pi-sbx/personal/sessions"
|
||||
],
|
||||
"read": [
|
||||
"/home/jb/.bun/install/global/node_modules/@earendil-works/pi-coding-agent",
|
||||
"/home/jb/.bun/install/global/node_modules/jiti"
|
||||
],
|
||||
"allow_file": [
|
||||
"/dev/null",
|
||||
"/dev/stderr",
|
||||
"/dev/stdout",
|
||||
"/dev/tty"
|
||||
],
|
||||
"read_file": [
|
||||
"/home/jb/.pi/agent/AGENTS.md",
|
||||
"/usr/bin/node"
|
||||
]
|
||||
},
|
||||
"linux": {
|
||||
"af_unix_mediation": "pathname"
|
||||
},
|
||||
"network": {
|
||||
"block": true
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"COLORTERM",
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"NO_COLOR",
|
||||
"PATH",
|
||||
"PI_SBX_PROVIDER",
|
||||
"SHELL",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
],
|
||||
"set_vars": {
|
||||
"PI_CODING_AGENT_DIR": "$XDG_STATE_HOME/pi-sbx/personal/agent",
|
||||
"PI_CODING_AGENT_SESSION_DIR": "$XDG_STATE_HOME/pi-sbx/personal/sessions",
|
||||
"PI_SKIP_VERSION_CHECK": "1",
|
||||
"PI_TELEMETRY": "0"
|
||||
}
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "pi-core-work",
|
||||
"description": "Restrictive work Pi baseline without repository or provider access"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"security": {
|
||||
"signal_mode": "isolated",
|
||||
"capability_elevation": false
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"filesystem": {
|
||||
"allow": [
|
||||
"$XDG_CACHE_HOME/pi-sbx/work",
|
||||
"$XDG_STATE_HOME/pi-sbx/work/agent",
|
||||
"$XDG_STATE_HOME/pi-sbx/work/sessions"
|
||||
],
|
||||
"read": [
|
||||
"/home/jb/.bun/install/global/node_modules/@earendil-works/pi-coding-agent",
|
||||
"/home/jb/.bun/install/global/node_modules/jiti"
|
||||
],
|
||||
"allow_file": [
|
||||
"/dev/null",
|
||||
"/dev/stderr",
|
||||
"/dev/stdout",
|
||||
"/dev/tty"
|
||||
],
|
||||
"read_file": [
|
||||
"/home/jb/.pi/agent/AGENTS.md",
|
||||
"/usr/bin/node"
|
||||
]
|
||||
},
|
||||
"linux": {
|
||||
"af_unix_mediation": "pathname"
|
||||
},
|
||||
"network": {
|
||||
"block": true
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"COLORTERM",
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"NO_COLOR",
|
||||
"PATH",
|
||||
"PI_SBX_PROVIDER",
|
||||
"SHELL",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
],
|
||||
"set_vars": {
|
||||
"PI_CODING_AGENT_DIR": "$XDG_STATE_HOME/pi-sbx/work/agent",
|
||||
"PI_CODING_AGENT_SESSION_DIR": "$XDG_STATE_HOME/pi-sbx/work/sessions",
|
||||
"PI_SKIP_VERSION_CHECK": "1",
|
||||
"PI_TELEMETRY": "0"
|
||||
}
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "provider-anthropic",
|
||||
"description": "Anthropic route with a Nono-mediated phantom credential"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_read_linux_core",
|
||||
"system_read_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"network": {
|
||||
"block": false,
|
||||
"allow_domain": [],
|
||||
"credentials": [
|
||||
"anthropic"
|
||||
],
|
||||
"custom_credentials": {
|
||||
"anthropic": {
|
||||
"upstream": "https://api.anthropic.com",
|
||||
"credential_key": "ANTHROPIC_API_KEY",
|
||||
"inject_header": "x-api-key",
|
||||
"credential_format": "{}",
|
||||
"env_var": "ANTHROPIC_API_KEY"
|
||||
}
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"PATH",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
]
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "provider-lm-studio",
|
||||
"description": "Outbound TCP port 1234 for the managed loopback-only LM Studio extension"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_read_linux_core",
|
||||
"system_read_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"network": {
|
||||
"block": false,
|
||||
"connect_port": [
|
||||
1234
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"PATH",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
]
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "provider-morph",
|
||||
"description": "Morph route with a Nono-mediated phantom credential"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_read_linux_core",
|
||||
"system_read_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"network": {
|
||||
"block": false,
|
||||
"allow_domain": [],
|
||||
"credentials": [
|
||||
"morph"
|
||||
],
|
||||
"custom_credentials": {
|
||||
"morph": {
|
||||
"upstream": "https://api.morphllm.com",
|
||||
"credential_key": "MORPH_API_KEY",
|
||||
"inject_header": "Authorization",
|
||||
"credential_format": "Bearer {}",
|
||||
"env_var": "MORPH_API_KEY"
|
||||
}
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"PATH",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
]
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"extends": "default",
|
||||
"meta": {
|
||||
"name": "provider-openai",
|
||||
"description": "OpenAI route with a Nono-mediated phantom credential"
|
||||
},
|
||||
"groups": {
|
||||
"exclude": [
|
||||
"homebrew_linux",
|
||||
"homebrew_macos",
|
||||
"system_read_linux_core",
|
||||
"system_read_macos",
|
||||
"system_write_linux",
|
||||
"system_write_macos",
|
||||
"user_tools"
|
||||
]
|
||||
},
|
||||
"workdir": {
|
||||
"access": "none"
|
||||
},
|
||||
"network": {
|
||||
"block": false,
|
||||
"allow_domain": [],
|
||||
"credentials": [
|
||||
"openai"
|
||||
],
|
||||
"custom_credentials": {
|
||||
"openai": {
|
||||
"upstream": "https://api.openai.com/v1",
|
||||
"credential_key": "OPENAI_API_KEY",
|
||||
"inject_header": "Authorization",
|
||||
"credential_format": "Bearer {}",
|
||||
"env_var": "OPENAI_API_KEY"
|
||||
}
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"allow_vars": [
|
||||
"HOME",
|
||||
"LANG",
|
||||
"LC_ALL",
|
||||
"PATH",
|
||||
"TERM",
|
||||
"TMPDIR",
|
||||
"XDG_CACHE_HOME",
|
||||
"XDG_CONFIG_HOME",
|
||||
"XDG_RUNTIME_DIR",
|
||||
"XDG_STATE_HOME"
|
||||
],
|
||||
"deny_vars": [
|
||||
"ANTHROPIC_API_KEY",
|
||||
"GH_TOKEN",
|
||||
"GITHUB_TOKEN",
|
||||
"MORPH_API_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"SSH_AUTH_SOCK"
|
||||
]
|
||||
},
|
||||
"open_urls": {
|
||||
"allow_origins": [],
|
||||
"allow_localhost": false
|
||||
},
|
||||
"allow_launch_services": false
|
||||
}
|
||||
Reference in New Issue
Block a user