Join our Newsletter — 33% off our NHI Course

Why do Slack app integrations create persistence risk after a user account is compromised or deleted?

Slack app integrations can outlast the original user session because OAuth-connected apps may keep operating through bot tokens even after a password change, and in some cases after an account is deactivated or deleted. That creates a separate control plane from the user account itself. If the app is not revoked, the attacker may retain messaging capability and spoofing opportunities.

Why Slack App Integrations Can Outlive a User Account

Slack app integrations are often granted their own operational identity, so the integration can continue to act even when the original user session is no longer valid. That matters because the attack surface is no longer the password or browser session alone, it is the token, scope, and revocation state attached to the app. In practice, the risky part is the disconnect between account lifecycle events and app lifecycle events.

Once an OAuth app has been authorised, it may keep a usable bot token until someone explicitly revokes it. That means password resets, MFA changes, or even account deactivation do not automatically remove the integration’s authority. If the app had messaging, file, or workspace access, an attacker who inherits that token path can keep operating under the app’s granted permissions.

The control failure is usually not a single broken login, it is weak offboarding of delegated access. Security teams often focus on the user account and miss the separate token inventory that can continue to function after the user is gone.

How the Persistence Works in Practice

Slack integrations typically rely on OAuth grants that issue access tokens for the app rather than for the human user alone. Those tokens can be scoped to specific workspace actions, and some apps use bot identities that behave independently of the original user account. If the compromised account installed or approved the app, the attacker may retain a path into the workspace until the app is removed, the token is revoked, or the app’s permissions are revalidated.

This creates a common mismatch between identity hygiene and access hygiene. An organisation may believe it has contained the incident because the user was reset or deleted, yet the integration still has:

  • messaging capability through a bot token or app token,
  • access to channels or data already granted by scope,
  • the ability to send trusted-looking messages from an authorised app identity,
  • a longer lifecycle than the employee account that originally approved it.

The practical implication is that incident response has to include application inventory, token revocation, and permission review, not just account shutdown. A clean user deactivation does not guarantee a clean workspace if third-party app grants are still live. The strongest comparator here is the app’s own trust boundary, not the user’s login state. The State of Secrets Sprawl 2025 is a useful reminder that collaboration tools remain a high-impact place for credential and token exposure.

These controls tend to break down when app approvals are informal, workspace admins do not regularly review grants, or offboarding only covers human credentials and misses delegated access paths.

Common Variations and Edge Cases

Tighter app governance often increases administrative overhead, requiring teams to balance collaboration speed against revocation discipline. The exact risk depends on whether the app is user-installed, admin-approved, or using a bot-style integration that can act independently of a person.

Some integrations stop working when the user is deleted because the app depends on user-bound OAuth access. Others keep functioning because the bot token or workspace grant remains valid. That distinction is operationally important, because the persistence risk is highest when the app has its own identity and a broad scope, especially for posting, reading, or modifying messages in shared channels.

There is also a difference between “cannot log in as the user” and “can still act as the app”. Attackers prefer the second condition because it preserves a legitimate-looking channel for abuse. If the app can still send messages after the user is gone, defenders may miss malicious activity unless they inspect integration logs and token status as part of containment. The 2024 ESG Report: Managing Non-Human Identities is relevant here because it captures how often organisations underestimate non-human identity exposure. In practice, the edge case becomes the norm whenever app authority is treated as separate from user lifecycle.

Risk and Threat Considerations

Slack app persistence is a control-risk problem because an attacker who compromises a user can retain a trusted integration path even after the user account is reset or removed. The risk is not just continued access, but continued authorised-looking access that can be used for impersonation, message abuse, or further internal reconnaissance.

Failure mechanism: OAuth grants, bot tokens, or app-level permissions remain active after the user lifecycle event, so the attacker shifts from the human account to the delegated app identity. If revocation is not explicit, the integration becomes the surviving control plane.

Impact: The workspace can remain exposed to messaging abuse, social engineering, data access through granted scopes, and delayed incident containment because responders assume the account action removed the threat when it did not.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 and MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP Non-Human Identity Top 10 NHI-01 — Secrets and Credential Management Slack app tokens persist after account loss when app grants stay active.
NHI-02 — Identity Lifecycle and Offboarding The issue is stale delegated access after a user is deleted or deactivated.
NHI-03 — Least Privilege and Scope Control Persisting bot tokens are harmful when scopes exceed what the app needs.
Recommendation — Revoke app tokens and rotate delegated credentials during account containment. Tie app grant revocation to offboarding and compromise response. Constrain Slack app scopes to the minimum required permissions.
NIST CSF 2.0 PR.AA — Identity Management, Authentication and Access Control Delegated app access must be managed separately from user authentication.
PR.DS — Data Security Active integrations can keep exposing messages or workspace data after user loss.
Recommendation — Manage app authorisations as distinct access paths in your IAM process. Protect collaboration data by controlling which apps can access it.
CIS Controls v8 5 — Account Management Offboarding must include app grants and service-style access, not only users.
6 — Access Control Management Bot tokens are surviving access paths that need explicit revocation.
8 — Audit Log Management Containment requires visibility into app actions after the user account is gone.
Recommendation — Inventory and remove stale app accounts and delegated access promptly. Enforce least privilege and revoke unused app permissions quickly. Log app installs, token use, and revocations for incident review.
MITRE ATT&CK T1136.003 — Create Account: Cloud Account Attackers may preserve access by using delegated app identities rather than the user.
T1098 — Account Manipulation Persisting Slack app grants are a form of access manipulation after compromise.
Recommendation — Monitor for persistence through newly created or retained cloud app identities. Hunt for altered permissions and surviving grants after compromise.

Practitioner Guidance

What to verify: Treat every user compromise or offboarding event as a prompt to check whether that user approved any Slack apps, and whether those apps still hold active tokens or workspace scopes. The useful question is not only “is the account disabled?” but “what delegated access still exists?”

Decision rule: If an app can post, read, or act in channels without the user session, revoke the app grant as part of containment rather than waiting for a later hygiene cycle. If the app is business-critical, reauthorise it deliberately after confirming scope, owner, and monitoring coverage.

Common mistake: Teams often rotate the user password, close the ticket, and leave the integration untouched. That sequence preserves attacker reach in the exact layer that survived the compromise.

Practitioner takeaway: In Slack incidents, persistence usually comes from delegated authority that outlives the account, so containment has to target the app identity and its tokens, not just the user who approved them.