driftstop

command
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Command driftstop re-enacts the Salesloft–Drift / UNC6395 OAuth-token theft (Aug 2025, ~700 orgs) and shows the token that survives it. The attacker stole the Drift integration's OAuth tokens, used them against Salesforce to run bulk SOQL exports, harvested secrets (AWS keys, Snowflake creds) embedded in support cases, and pivoted onward — dwelling ~10 days because the tokens were broad, long-lived, and revocable only org-wide.

We replay the SAME theft twice. First with a broad OAuth service-account token (what was actually stolen): bulk-export and secret-harvest both succeed. Then with a Legant on-behalf-of token — audience-scoped to the CRM, no bulk-export tool, no access to the secret-bearing records, a 15-minute TTL, and a business-hours window — every move the attacker makes is refused OFFLINE at the resource server, and one signed-feed entry kills it for good.

No database, no Docker:

go run ./examples/driftstop
# or
make demo-driftstop

NOTE (honest): a stolen token is still presented; Legant doesn't stop the theft. It collapses the blast radius — the constrained token can't bulk-export, can't read the secret-bearing records, can't pivot audiences, expires in minutes instead of days, and is revocable in one signed-feed entry rather than org-wide.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL