Compromised Credential Response
Attacker window collapsed to minutes
A credential leak is detected — via GitHub secret scanning, HaveIBeenPwned, dark-web monitoring, or a security researcher's disclosure. Every minute between detection and revocation is an attacker window. The manual response — page security, verify the leak, coordinate with the account owner, rotate — takes hours. In that time the attacker is already in.
An hour-by-hour walkthrough.
Step by step.
- 01
Detect credential leak
Ingest from multiple sources: GitHub secret scanning webhooks, HaveIBeenPwned watchlist, dark-web monitoring feeds, researcher-disclosure email. Every source auto-triggers investigation.
GitHub · HaveIBeenPwned · Vault monitoring · Threat intel - 02
Force password reset + MFA re-enrol
For password leaks: force reset via Okta / Entra, revoke active sessions, require MFA re-enrol on next login. User receives explanation immediately.
Okta · Microsoft Entra ID · HashiCorp Vault - 03
Rotate API keys / tokens
For API key leaks: generate new key, disable old key at the API level (AWS IAM, GitHub, third-party APIs), notify the owning developer with new key delivered securely.
AWS IAM · GCP IAM · HashiCorp Vault · Vendor APIs - 04
Kill active sessions
Invalidate every session using the compromised credential. Session tokens revoked at the SSO layer + at the resource level for anything still holding a live token.
Okta · Microsoft Entra ID · Vendor APIs - 05
Hunt for abuse
Scan logs for API calls or logins using the compromised credential in the exposure window. Any unauthorized access flags as a security incident; unauthorized-access investigation kicks off.
SIEM · CloudTrail · Application logs - 06
Notify user + hunt for related
User notified in Slack / email with what happened + what to do (immediate + long-term). Related credentials (same team, same repo, same access pattern) flagged for proactive rotation.
Slack · Email · Security queue
What you connect to make this run.
GitHub secret scanning
triggerGitHub webhook for detected secrets. Every commit + force-push scanned; even briefly-exposed keys trigger response.
HaveIBeenPwned · dark-web monitoring
readWatchlist per company domain. Password leaks trigger reset flows; API key exposures trigger rotation.
Okta · Microsoft Entra ID
writePassword reset, session revocation, MFA re-enrol. Zero-latency response — the compromised session is gone before the user reads the notification.
AWS IAM · GCP IAM · HashiCorp Vault
writeKey rotation via IAM API. Old key disabled at the same time new key is issued — no gap where both are valid.
Slack · Email · Security queue
writeUser notification, security-team incident record, escalation for unauthorized-access findings.
Before and after, honestly.
Playbooks that pair with this one.
Secret & API Key Rotation
The preventive cadence; compromised-response is the reactive backstop.
Anomalous Login
Detects login attempts using the compromised credential; complementary detection.
Security Alert Triage & Context
General-case alert enrichment pattern.
Incident Response Orchestration
If unauthorized access is confirmed, escalates to full incident response.
Answers about this playbook.
What if the compromised credential is for a critical shared service?
Configurable rotation strategies. For critical shared services, Sig can trigger a coordinated rotation with pre-scheduled maintenance window rather than immediate cutover. Human-in-the-loop required for critical-service rotations.
How does Sig handle vendor API key leaks (not our own)?
Detects via secret-scanning (matches vendor key patterns like sk_stripe, xoxb slack, etc.). Auto-notifies our team + the vendor (if opt-in) with the exposure details. Cannot rotate vendor keys autonomously; provides the developer with the vendor's key-rotation instructions.
What about false-positive detections?
Sig verifies the key is actually active before rotation. GitHub secret scanning has ~5% false-positive rate; verification catches most before they cause user friction.
Can we integrate with our SIEM for detection?
Yes — SIEM correlations feed compromised-credential detection. Anomalous login patterns, impossible-travel signals, unusual API activity all feed the same response playbook.
How is this different from just enabling GitHub secret scanning?
Secret scanning detects; Sig responds. Detection without response is just an alert queue. The auto-rotation + hunt-for-abuse + user-notification chain is what makes the exposure window materially small.
See it run on your data.
Free plan, no credit card. Connect the systems this playbook needs and run it against a past event first.