Slack OAuth Token Security & Rotation Prompt
Audit, secure, and rotate Slack OAuth tokens (bot, user, granular) across services — inventory, threat model, rotation cadence, secret manager integration, and dual-active migration.
- Target user
- Security + platform engineers managing Slack bot identities at scale
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior application security engineer who has hardened Slack OAuth token management across orgs with 30+ services posting to Slack, surviving Slack API changes and zero downtime rotations. I will provide: - Bot count + per-bot install scope (workspace / org-app) - Token types in use (bot, user, granular bot tokens) - Secret manager (Vault, AWS SM, GCP SM, 1Password) - Recent incidents involving leaked or revoked tokens - Compliance regime Your job: 1. **Token type primer**: - **Bot token (`xoxb-`)** — for app actions; bound to bot user + workspace - **User token (`xoxp-`)** — acts as a specific user; avoid for service work - **Granular bot tokens** — newer scoping model with smaller per-scope tokens - **App-level token (`xapp-`)** — for Socket Mode connections - **Refresh tokens** — only when rotation is enabled at app install 2. **Threat model**: - **What an attacker can do with a bot token**: post to any channel the bot's installed in, read messages in those channels (if scoped), upload files, install dependencies - **What they cannot do**: workspace admin actions, install other apps, change billing - **Leak vectors**: committed to git, in CI logs, in error stack traces, in screenshots, in old backups, on departed-employee laptops, in API client telemetry 3. **Inventory & discovery**: - Slack admin API: list installed apps + their tokens - Search secret managers - Grep git history for `xoxb-`, `xoxp-`, `xapp-` - Audit CI variable lists - Search Sentry / log aggregator for leaked tokens 4. **Categorization**: - By criticality of destination channels - By install scope (workspace-wide vs limited channels) - By age of last rotation - By owner team - By usage frequency (dead bots are still risk) 5. **Token rotation enablement**: - For apps: enable Token Rotation in the app config - Apps then receive refresh tokens; access tokens expire in ~12h - Significantly reduces impact window of a leaked access token - Requires app code to handle refresh 6. **Rotation cadence**: - **Apps with rotation enabled** — automatic; verify the refresh works monthly - **Apps without rotation** — manual every 90 days; rotate on suspicion or owner departure - **High-sensitivity** (post to executive channels, sensitive content) — every 30 days regardless 7. **Zero-downtime rotation**: - Slack allows rotating a bot token by re-installing the app - During install, the OLD token continues to work briefly - Coordinate: secret manager update → service config reload → verify with synthetic post → revoke old via Slack admin - Document the per-app sequence 8. **Secret manager integration**: - Single source of truth — never embed tokens in env files - Per-environment secrets (dev / staging / prod each with separate Slack apps and tokens) - Rotation hooks: secret manager rotation invokes the Slack re-install endpoint, updates the secret, signals the consumer to reload 9. **Detection of compromise**: - Volume anomalies (10x normal post rate) - Off-hours posts - Posts to unusual channels (bot suddenly posts to #exec) - Slack admin notifications for token use from new IPs 10. **Decommission of dead bots**: - Quarterly review of unused bots - Notify owner with "this is being removed in 14d unless objection" - Revoke via Slack admin - Remove from secret manager - Record reason in audit log Output as: (a) token inventory script outline, (b) threat model summary, (c) rotation enablement guide per app, (d) zero-downtime rotation runbook, (e) secret manager integration spec, (f) anomaly detection rules, (g) decommission process, (h) compliance evidence checklist. Bias toward: enable token rotation everywhere it's supported, automation over manual, observable token use.
Run this prompt with AI
Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.
Related prompts
-
Slack Bot Permission Scopes Least-Privilege Audit Prompt
Audit a Slack app's requested OAuth scopes against what its code actually calls, strip over-broad permissions, and produce a least-privilege manifest your security team will approve.
-
Slack Bot Token Storage & Installation Store Prompt
Design a secure installation store for a multi-workspace Slack app — encrypted token persistence, OAuth install/uninstall lifecycle, and token-rotation handling in Bolt.
-
Slack Webhook Security & Secret Rotation Prompt
Inventory, secure, and rotate Slack incoming webhooks — discover existing webhooks, model the threat, design rotation cadence, integrate with Vault/SSM, and detect leaked URLs.
-
Slack team.accessLogs Login Anomaly Monitor Prompt
Build a bot that polls team.accessLogs to detect suspicious workspace sign-ins — new IPs, new countries, stale user agents, brute-force bursts — and routes scored alerts to a security channel.
More Slack prompts & error guides
Browse every Slack prompt and troubleshooting guide in one place.
Reading prompts? Get all 500 in one free PDF
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.