Skip to content

Commit bad7904

Browse files
committed
2 parents 0c364e3 + 54e51d9 commit bad7904

File tree

187 files changed

+111816
-1564
lines changed

Some content is hidden

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

187 files changed

+111816
-1564
lines changed

.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`

.github/instructions/releasenotes.instructions.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,25 @@ Exactly three columns in this order:
3030
| **No Duplicates** | Each version must appear only once | 3.0.1 appears twice | Each version appears once |
3131
| **All 3 Columns Present** | Table must have exactly 3 columns, no more, no less | 2 columns or 4 columns | Exactly 3 columns |
3232

33+
## When to Update Release Notes
34+
35+
Release notes **MUST be updated** for any of the following changes:
36+
37+
- **Content changes**: Modifications to Analytical Rules, Hunting Queries, Workbooks, Data Connectors, or any other solution content
38+
- **Package folder changes**: ANY changes to files in `Solutions/{SolutionName}/Package/` folder (metadata, configurations, solution settings)
39+
- **Parser/Function updates**: Changes to KQL parsers or custom functions
40+
- **Documentation updates**: Updates to README or other documentation files
41+
- **Bug fixes**: Any bug fixes to existing content
42+
- **Performance improvements**: Optimizations to queries or logic
43+
- **New content**: Addition of new Analytical Rules, Workbooks, Hunting Queries, etc.
44+
- **Deprecated content**: Marking components as deprecated or removing content
45+
46+
Release notes are **NOT required** for:
47+
- Changes only to non-solution files (e.g., standalone scripts outside Solutions folder)
48+
- Documentation-only PRs that don't affect solution content
49+
50+
**Important:** If your PR includes changes to `Solutions/{SolutionName}/Package/` folder, updating ReleaseNotes.md is mandatory. Failure to update release notes when package folder changes will result in PR review failure.
51+
3352
## Best Practices
3453

3554
- **Clear descriptions:** Specify which component changed (e.g., "Updated query in **Analytical Rule**", "Fixed bug in **Data Connector**")

.github/instructions/solution-data.instructions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ All Solution_*.json files must contain these mandatory fields:
3535
**Naming Requirements:**
3636
- Use official product/vendor names when possible
3737
- Match the solution folder name (converted appropriately)
38-
- **Only alphanumeric characters (a-z, A-Z, 0-9) and spaces allowed**
39-
- No special characters including hyphens, underscores, dots, or symbols
38+
- **Alphanumeric characters (a-z, A-Z, 0-9), spaces, and parentheses allowed**
39+
- Parentheses can be used for acronyms and short forms (e.g., "Visa Threat Intelligence (VTI)")
40+
- No other special characters including hyphens, underscores, dots, or symbols
4041
- Maximum length: 100 characters
4142
- Must be unique across all solutions
4243

0 commit comments

Comments
 (0)