## Authentication & Authorization Assessment Complete **15 findings** identified across the Archipelago auth surface. Here's the breakdown: ### Critical (P0) — Fix immediately - **AUTH-001**: Production systemd service has `ARCHIPELAGO_DEV_MODE=true` — `password123` is a valid login credential and `Secure` cookie flags are disabled - **AUTH-002**: `/lnd-connect-info` exposes the **full LND admin macaroon** (Lightning node control) without any authentication, with `CORS: *` - **AUTH-011**: Nginx AIUI proxy only checks `$cookie_session != ""` — any non-empty string bypasses auth to the Claude/OpenRouter API proxies ### High (P1) — Fix before beta - **AUTH-003**: `remember` cookie (30-day TTL) not cleared on logout — stolen token auto-restores sessions indefinitely - **AUTH-004**: CSRF validation explicitly skipped on remember-me session auto-restore — enables single-request CSRF attacks - **AUTH-007/008**: Federation `peer-joined` and `peer-address-changed` accept arbitrary DIDs without cryptographic proof — attacker can inject fake trusted peers or redirect peer traffic ### Medium (P2) - **AUTH-005**: Rate limit bypass via `X-Real-IP` spoofing on direct port 5678 access - **AUTH-006**: `/content` leaks file catalog (names, sizes, UUIDs) without auth - **AUTH-009**: `federation.get-state` leaks installed apps/versions without auth - **AUTH-010**: `backup.restore-identity` can overwrite node identity even after setup ### Positives Session management is otherwise solid: 256-bit tokens, SHA256 server-side storage, bcrypt passwords, TOTP with Argon2id+ChaCha20 three-layer encryption, proper session rotation, and replay protection. The core auth architecture is good — these are mostly configuration issues and missing auth checks on specific endpoints. Full report written to `loop/pentest/analysis/auth.md`.