You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
security(secrets): any logged-in user can list and delete infrastructure hosts through /api/infrastructure/hosts #16426
Part of #16425 (Secrets page templates + admin-only infrastructure hosts umbrella).
Problem
Every route in autobot-backend/api/secrets.py requires admin (Depends(check_admin_permission)). But the infrastructure-host routes in autobot-backend/api/infrastructure.py do not: get_infrastructure_hosts (GET /api/infrastructure/hosts) and delete_infrastructure_host (DELETE /api/infrastructure/hosts/{id}) depend only on Depends(get_current_user). Any authenticated user can list every host's connection metadata (host, ports, username, os, capabilities, description) and delete any host — no admin check, no ownership check.
autobot-frontend/src/components/security/SecretsManager.vue merges these legacy hosts (via composables/security/useSecretsInfraApi.ts) into its list and renders the "Infrastructure Hosts" category with no role gate, so a non-admin user sees and can act on them through the Secrets page too.
The owner's decision: infrastructure hosts are admin-only.
Evidence
autobot-backend/api/infrastructure.py: get_infrastructure_hosts and delete_infrastructure_host, both _user: Any = Depends(get_current_user)
autobot-backend/api/secrets.py: every route uses Depends(check_admin_permission) for comparison
Activity
security(secrets): admin-gate infrastructure hosts, fix vault-backed …
security(secrets): admin-gate infrastructure hosts, fix vault-backed …
security(secrets): admin-gate infrastructure hosts, fix vault-backed …
fix(guards): filter entry instead of a raised MAX, fix a stale test s…
security(secrets): admin-gate infrastructure hosts, fix vault-backed …
fix(guards): filter entry instead of a raised MAX, fix a stale test s…
chore(secrets): merge main into the #16426 admin-gate branch (#16426)
fix(infrastructure): keep the #16426 rationale out of the published A…
Merge pull request #16442 from mrveiss/issue-16426-secrets-admin-temp…
fix(frontend): make a worktree able to verify frontend work, then use…