Respond to a potentially compromised user account. Use when impossible travel, credential stuffing, successful phishing, or suspicious activity indicates account compromise. Investigates activity, contains the account, removes persistence, and restores access.
Install with Tessl CLI
npx tessl i github:dandye/ai-runbooks --skill respond-compromised-account95
Does it follow best practices?
Validation for skill structure
Structured workflow for responding to potentially compromised user accounts using the PICERL model.
USER_ID - Username or email of the potentially compromised userCASE_ID - SOAR case ID for documentationALERT_GROUP_IDENTIFIERS - Alert group identifiers from SOARINITIAL_ALERT_DETAILS - Summary of triggering alertAfter completing each phase, you MUST report these outputs:
| Output | Description |
|---|---|
AFFECTED_ACCOUNTS | User accounts confirmed or suspected compromised |
SUSPICIOUS_ACTIVITY | Summary of anomalous activity detected |
ACCESS_SCOPE | Systems/data the account had access to |
COMPROMISE_LIKELIHOOD | Assessment level: Low, Medium, High, Confirmed |
| Output | Description |
|---|---|
DISABLED_ACCOUNTS | Accounts that were disabled |
RESET_PASSWORDS | Accounts with passwords reset |
REVOKED_SESSIONS | Sessions terminated |
| Output | Description |
|---|---|
REMOVED_PERSISTENCE | Persistence mechanisms removed (forwarding rules, OAuth apps, etc.) |
CLEANED_ENDPOINTS | Associated endpoints verified clean |
| Output | Description |
|---|---|
RESTORED_ACCOUNTS | Accounts re-enabled with new security controls |
USER_NOTIFICATIONS | Users notified of incident and required actions |
Step 2.1: Get Context
secops-soar.get_case_full_details(case_id=CASE_ID)Use /check-duplicates.
Step 2.2: Gather Initial Context
SIEM entity lookup:
secops-mcp.lookup_entity(entity_value=USER_ID)(If IDP tools available):
Step 2.3: Analyze User Activity
Search SIEM for last 96 hours:
secops-mcp.search_security_events(
text="All activity for USER_ID",
hours_back=96
)Look for:
Step 2.4: Check Related Cases
Use /find-relevant-case with [USER_ID].
Step 2.5: Assess Compromise Likelihood
| Level | Indicators |
|---|---|
| Low | Single anomalous event, user confirms legitimate |
| Medium | Multiple anomalies, unverified |
| High | Clear malicious activity patterns |
| Confirmed | Known credential theft, attacker actions visible |
Document: COMPROMISE_LIKELIHOOD
Step 2.6: Document Identification
Use /document-in-case with findings and assessment.
Step 3.1: Confirm Containment Actions
Based on COMPROMISE_LIKELIHOOD, use /confirm-action:
High/Confirmed:
"Disable account [USER_ID] immediately?"
Medium:
"Reset password and terminate sessions for [USER_ID]?"
Low:
"Force MFA re-enrollment for [USER_ID]?"
Step 3.2: Execute Containment
(Requires Identity Provider tools)
Actions by severity:
Step 3.3: Verify Containment
Monitor for continued activity:
secops-mcp.search_security_events(
text="Activity from USER_ID after containment",
hours_back=1
)Use /document-in-case with containment status.
Step 4.1: Investigate Attacker Actions
Thoroughly review what the attacker did while in the account:
secops-mcp.search_security_events(
text="All actions by USER_ID during compromise window",
hours_back=96
)Focus on:
Step 4.2: Check for Persistence
(Requires email/cloud platform tools)
Look for:
Step 4.3: Remove Persistence
Delete/revoke all identified persistence:
Step 4.4: Endpoint Investigation
If account accessed specific endpoints:
Trigger endpoint triage to check for:
Use /document-in-case with eradication findings.
Step 5.1: Ensure Threat Removed
Verify:
Step 5.2: Secure Account
Step 5.3: Re-enable Account
(If disabled during containment)
Re-enable with:
Step 5.4: Communicate with User
Inform the user:
Step 5.5: Monitor Account
Enhanced monitoring for 30 days:
Use /document-in-case with recovery status.
Use /generate-report with:
Review:
| Likelihood | Disable Account | Reset Password | Terminate Sessions |
|---|---|---|---|
| Confirmed | ✅ Immediate | ✅ | ✅ |
| High | ✅ Recommended | ✅ | ✅ |
| Medium | Consider | ✅ | ✅ |
| Low | No | Consider | Consider |
| Mechanism | Where to Check |
|---|---|
| Email forwarding | Mail rules |
| Delegate access | Mailbox permissions |
| OAuth apps | Connected applications |
| Inbox rules | Mail filters |
| Recovery options | Account settings |
| API tokens | Developer settings |
67a00be
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.