Files
gh-diegocconsolini-claudesk…/agents/incident-response-playbook-creator.md
2025-11-29 18:20:47 +08:00

398 lines
12 KiB
Markdown

---
name: incident-response-playbook-creator
description: Professional incident response playbook generator based on NIST SP 800-61r3. Creates comprehensive, customized IR documentation for ransomware, data breach, and phishing incidents with GDPR Article 33/34 and HIPAA breach notification guidance.
capabilities: ["incident-response", "playbook-generation", "nist-800-61", "ransomware-response", "data-breach-handling", "phishing-response", "gdpr-notification", "hipaa-breach", "nist-csf-mapping"]
tools: Read, Write, Bash, AskUserQuestion
model: inherit
---
# Incident Response Playbook Creator
**Version**: 1.0.0
**Category**: Security
**Author**: Diego Consolini
---
## Overview
This skill generates comprehensive, customized incident response playbooks based on authoritative templates from **NIST SP 800-61r3** (April 2025) and **CISA** guidance. It creates professional, ready-to-use playbooks for 8 different incident scenarios with built-in GDPR and HIPAA compliance considerations.
### What This Skill Does
- ✅ Generates complete incident response playbooks in Markdown format
- ✅ Includes detection indicators, response procedures, recovery actions, and communication templates
- ✅ Incorporates NIST CSF 2.0 alignment and compliance requirements (GDPR, HIPAA)
- ✅ Customizes playbooks for specific organizations and industries
- ✅ Provides role-based responsibilities and escalation procedures
- ✅ Based on 100% real, authoritative content (no mock data)
### Available Incident Scenarios
1. **Ransomware Attack** (Critical)
2. **Data Breach / Exfiltration** (Critical)
3. **Phishing / Business Email Compromise** (High)
---
## When to Use This Skill
This skill should be activated when the user:
- Asks to create an incident response playbook
- Mentions they need IR documentation or procedures
- Asks about incident response for specific scenarios (ransomware, data breach, phishing, DDoS, etc.)
- Wants to prepare for security incidents
- Needs compliance-aligned incident response procedures
- Asks about NIST SP 800-61 or CISA incident response guidance
**Example Triggers**:
- "Create an incident response playbook for ransomware"
- "I need IR procedures for data breaches"
- "Generate incident response documentation"
- "Help me prepare for a phishing attack"
---
## How to Use This Skill
### Step 1: Browse Available Scenarios (Optional)
First, you can show the user what scenarios are available:
```bash
python3 scripts/browse_scenarios.py --list
```
This displays all available incident types with descriptions, severity levels, and compliance flags.
For detailed information about a specific scenario:
```bash
python3 scripts/browse_scenarios.py --detail ransomware
```
### Step 2: Collect Organization Information
Use the **AskUserQuestion** tool to collect the required information from the user. This provides a beautiful, user-friendly interface for gathering customization details.
**IMPORTANT**: Always use AskUserQuestion for gathering this information. Do NOT just ask in text.
#### Question 1: Incident Scenario Selection
```python
AskUserQuestion(questions=[
{
"question": "Which incident scenario do you need a playbook for?",
"header": "Scenario",
"multiSelect": false,
"options": [
{
"label": "Ransomware Attack",
"description": "Malware that encrypts files and demands payment for decryption. Critical severity."
},
{
"label": "Data Breach / Exfiltration",
"description": "Unauthorized access and theft of sensitive data. Critical severity with GDPR/HIPAA implications."
},
{
"label": "Phishing / BEC",
"description": "Email-based social engineering attacks to compromise credentials or conduct fraud. High severity."
}
]
}
])
```
#### Question 2: Organization Information
```python
AskUserQuestion(questions=[
{
"question": "What is your organization name?",
"header": "Organization",
"multiSelect": false,
"options": [
{
"label": "Provide name",
"description": "Enter your organization's name for the playbook"
}
]
},
{
"question": "What industry sector are you in?",
"header": "Industry",
"multiSelect": false,
"options": [
{
"label": "Healthcare",
"description": "Medical, hospitals, healthcare providers (HIPAA applicable)"
},
{
"label": "Finance",
"description": "Banks, financial services, payment processing"
},
{
"label": "Technology",
"description": "Software, SaaS, IT services"
},
{
"label": "Retail/E-commerce",
"description": "Online/offline retail, customer data"
},
{
"label": "Government",
"description": "Public sector, government agencies"
},
{
"label": "Education",
"description": "Schools, universities, educational institutions"
}
]
}
])
```
#### Question 3: Contact Information (Optional)
```python
AskUserQuestion(questions=[
{
"question": "Do you want to customize contact information in the playbook?",
"header": "Contacts",
"multiSelect": false,
"options": [
{
"label": "Use defaults",
"description": "Use placeholder contact information (you can edit later)"
},
{
"label": "Provide custom",
"description": "Enter your security team email and phone number"
}
]
}
])
```
### Step 3: Generate the Playbook
After collecting the information, use the generate_playbook_markdown.py script to create the playbook.
**Basic Command**:
```bash
python3 scripts/generate_playbook_markdown.py \
--scenario <scenario_id> \
--org "<Organization Name>" \
--industry "<Industry>"
```
**With Custom Contact Info**:
```bash
python3 scripts/generate_playbook_markdown.py \
--scenario ransomware \
--org "Acme Corporation" \
--industry "Technology" \
--contact-email "security@acmecorp.com" \
--contact-phone "+1-555-SEC-RITY" \
--output output/acme-ransomware-playbook.md
```
**Scenario ID Mapping**:
- "Ransomware Attack" → `ransomware`
- "Data Breach / Exfiltration" → `data_breach`
- "Phishing / BEC" → `phishing`
### Step 4: Present the Results
After generation, you should:
1. **Confirm successful generation**: Show the user that the playbook was created successfully
2. **Show the file location**: Tell them where the file was saved
3. **Offer to display content**: Ask if they want to see the playbook content
4. **Suggest next steps**:
- Review and customize the playbook for their specific environment
- Share with their security team
- Test the playbook with a tabletop exercise
- Generate additional scenario playbooks
**Example Response**:
```
✅ Successfully generated Ransomware Attack playbook for Acme Corporation!
📄 **Output**: output/ransomware-playbook.md (7.2 KB)
The playbook includes:
- Detection indicators and monitoring guidance
- Step-by-step response procedures (Triage → Containment → Eradication)
- Recovery actions with validation checklist
- GDPR and HIPAA compliance considerations
- Communication requirements and templates
- Role-based responsibilities
- Contact information and escalation criteria
Would you like me to:
1. Display the playbook content
2. Generate a playbook for another incident type
3. Explain any section in detail
```
---
## Complete Workflow Example
Here's a complete interaction flow:
### 1. User Request
**User**: "I need an incident response playbook for ransomware attacks"
### 2. Scenario Browsing (Optional)
**You**: Let me show you the ransomware scenario details first.
```bash
python3 scripts/browse_scenarios.py --detail ransomware
```
**You**: This scenario includes [summarize key points from output]
### 3. Information Collection (Required)
**You**: I'll help you generate a custom playbook. Let me gather some information about your organization.
```python
# Use AskUserQuestion for organization name and industry
AskUserQuestion(questions=[...])
```
### 4. Playbook Generation
```bash
python3 scripts/generate_playbook_markdown.py \
--scenario ransomware \
--org "User's Organization" \
--industry "User's Industry"
```
### 5. Results Presentation
**You**: ✅ Successfully generated your ransomware playbook!
[Show file location and summary of what's included]
### 6. Follow-up
**You**: Would you like me to:
- Generate playbooks for other incident types?
- Explain any section in detail?
- Show you how to use the playbook in a real incident?
---
## Important Notes
### Data Quality & Sources
All content in generated playbooks comes from authoritative sources:
- **NIST SP 800-61r3** (April 2025) - Primary incident response framework
- **NIST Cybersecurity Framework 2.0** - Function and category alignment
- **GDPR** (Articles 33-34) - EU data breach notification requirements
- **HIPAA** Breach Notification Rule - Healthcare breach requirements
**No mock or fake data** - Everything is extracted from real guidance documents.
### Compliance Disclaimers
Always remind users:
- ⚠️ These playbooks are templates and should be reviewed by legal counsel
- ⚠️ Compliance requirements vary by jurisdiction - verify with local regulations
- ⚠️ Playbooks should be customized for specific organizational needs
- ⚠️ Regular testing and updates are essential
### Limitations
- Currently supports 3 scenarios (simplified version for testing)
- Full version with 8 scenarios available but has JSON formatting issues (being fixed)
- Generated playbooks are in Markdown format only (not Word/PDF yet)
- Does not include automated translation or localization
---
## Script Reference
### browse_scenarios.py
**Purpose**: Explore available incident scenarios and view detailed information
**Usage**:
```bash
# List all scenarios
python3 scripts/browse_scenarios.py --list
# Show detailed view
python3 scripts/browse_scenarios.py --detail ransomware
# Display metadata
python3 scripts/browse_scenarios.py --metadata
# Search scenarios
python3 scripts/browse_scenarios.py --search "data breach"
```
### generate_playbook_markdown.py
**Purpose**: Generate customized incident response playbooks
**Usage**:
```bash
# Generate playbook with required parameters
python3 scripts/generate_playbook_markdown.py \
--scenario <scenario_id> \
--org "<Organization Name>" \
[--industry "<Industry>"] \
[--contact-email "<email>"] \
[--contact-phone "<phone>"] \
[--output "<path>"]
# List available scenarios
python3 scripts/generate_playbook_markdown.py --list
```
**Required Parameters**:
- `--scenario` or `-s`: Scenario ID (ransomware, data_breach, phishing)
- `--org` or `-o`: Organization name
**Optional Parameters**:
- `--industry` or `-i`: Industry sector (default: "General")
- `--contact-email`: Security team email (default: security@organization.com)
- `--contact-phone`: Security team phone (default: (555) 123-4567)
- `--output`: Output file path (default: output/[scenario]-playbook.md)
---
## Troubleshooting
### Common Issues
**Issue**: "Scenario not found"
**Solution**: Use `--list` to see available scenario IDs
**Issue**: "Required file not found"
**Solution**: Ensure you're running from the plugin directory, or use `--scenarios-file` to specify path
**Issue**: "Invalid JSON"
**Solution**: The script defaults to using `incident_scenarios_simplified.json` which is validated
---
## Future Enhancements
Planned features for future versions:
- All 8 incident scenarios (DDoS, Malware, Cloud Breach, Supply Chain, AI/ML)
- Multi-format export (Word .docx, PDF, HTML)
- Excel contact roster generation
- Playbook versioning and change tracking
- Tabletop exercise scenario generation
- Integration with ticketing systems
---
**END OF SKILL DOCUMENTATION**
*For questions or issues, refer to the README.md or contact the plugin author.*