Skip to content

Commit a616da1

Browse files
committed
Complete merge
2 parents ccc6414 + 77a4e22 commit a616da1

801 files changed

Lines changed: 183331 additions & 12208 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ When reviewing pull requests, follow these rules strictly.
3939
3. Verify all required fields are present and properly formatted
4040
4. Do NOT use general instructions for these files - only use the huntingqueries custom instructions
4141

42+
### For Playbooks Files (`Playbooks/**/*.json`, `Playbooks/**/README.md`, `Solutions/**/Playbooks/**/*.json`, `Solutions/**/Playbooks/**/README.md`)
43+
1. **LOAD and USE:** `.github/instructions/playbooks.instructions.md`
44+
2. Apply ALL guidelines from that file
45+
3. Validate ARM template structure, metadata fields, parameters, and README requirements from that custom instruction file
46+
4. Check all required sections in README.md and ARM template metadata
47+
5. Do NOT use general instructions for these files - only use the playbooks custom instructions
48+
49+
### For Workbooks Files (`Workbooks/*.json`, `Solutions/**/Workbooks/*.json`)
50+
1. **LOAD and USE:** `.github/instructions/workbook.instructions.md`
51+
2. Apply ALL guidelines from that file
52+
3. Validate workbook JSON structure, required fields, items array, and metadata requirements from that custom instruction file
53+
4. Check all required top-level fields and item structure validation
54+
5. Do NOT use general instructions for these files - only use the workbook custom instructions
55+
4256
---
4357

4458
## Files and folders to ignore

.github/instructions/detections.instructions.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ Analytic Rules are YAML files that define scheduled queries to detect threats, s
5858

5959
#### **description** (Rule Description)
6060
- **Required**: Yes (all rule types)
61-
- **Format**: Comprehensive narrative text (max 255 characters)
6261
- **Opening**: Must start with "This query searches for" or "Identifies"
6362
- **Length**: Should be maximum 5 sentences
6463
- **Rules**:

.github/instructions/huntingqueries.instructions.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,24 @@ Hunting Queries are YAML files that define proactive search queries in Microsoft
7575
- **Instead do this** (specific and clear):
7676
- ✅ "Calculate the count of BytesIn per Source-Destination pair over 12/24 hours. Higher values may indicate beaconing. C2 servers reply with the same data, making BytesIn value the same."
7777

78+
#### **description-detailed** (Extended Description - Optional)
79+
- **Required**: No (optional field)
80+
- **When to Use**: When the description exceeds 255 characters and additional context is needed
81+
- **Format**: Extended narrative text (no hard character limit)
82+
- **Rules**:
83+
- Only use if `description` field cannot adequately convey the hunting methodology within 255 characters
84+
- Provides supplementary information about the query purpose, methodology, or hunt rationale
85+
- Can include more detailed explanation of patterns, thresholds, and threat indicators
86+
- Can provide context about why certain data sources or time windows were chosen
87+
- Useful for complex hunts that require deeper explanation
88+
- **When NOT to Use**:
89+
- If the 255-character description is sufficient
90+
- If the additional content is just repetition of the description
91+
- For implementation details or technical KQL explanations
92+
- **Example Usage**:
93+
- **description**: "Identify service accounts with unusually high failed login attempts within a short timeframe, which may indicate credential compromise or brute force attacks."
94+
- **description-detailed**: "This hunt searches for service accounts that experience more than 10 failed login attempts within a 1-hour window across multiple workstations. Service accounts should typically have successful logins; repeated failures may indicate credential compromise, brute force attempts, or misconfigured applications. Focus on investigating the affected workstations and reviewing access logs for those time periods. Check if any recent password changes or security alerts occurred before the failed attempts."
95+
7896
#### **requiredDataConnectors** (Data Sources)
7997
- **Required**: Yes
8098
- **Type**: Array of objects with `connectorId` and `dataTypes`

0 commit comments

Comments
 (0)