Skip to content

sdl-solutions: Detection as Code (s1-secops-skills v1.2.5)#72

Merged
jham-s1 merged 11 commits into
Sentinel-One:mainfrom
pmoses-s1:feat/sdl-solutions-detection-as-code
Jul 6, 2026
Merged

sdl-solutions: Detection as Code (s1-secops-skills v1.2.5)#72
jham-s1 merged 11 commits into
Sentinel-One:mainfrom
pmoses-s1:feat/sdl-solutions-detection-as-code

Conversation

@pmoses-s1

Copy link
Copy Markdown
Contributor

Summary

Adds a Detection as Code (DaC) solution to sdl-solutions: detection engineers author rules as TOML in Git, a pull request runs validation and four-eyes review, and a merge syncs the changed rules to the SentinelOne Custom Detection Rule API. Covers all three rule types (single-event events, multi-event correlation, scheduled PowerQuery) with CI for GitHub, GitLab, and Azure. Separate, self-contained PR; the diff is DaC-only on top of current main (v1.2.4 to v1.2.5).

What's included

  • skills/sdl-solutions/references/detection-as-code.md -- the orchestration playbook (prereqs, repo scaffold, branch protection / CODEOWNERS / RBAC, lint-on-PR + sync-on-merge CI, the TOML rule format, dry-run then deploy, monitor/refine).
  • skills/sdl-solutions/assets/detection-as-code-starter/ -- a ready-to-use repo scaffold: a zero-dependency dac_sync.py (TOML to Custom Detection API JSON, validate, idempotent create-or-update, lint/dry-run/sync/changed-only/rollback), dac_lint.py, rule.schema.json, working TOML examples per rule type, GitHub/GitLab/Azure CI, and CODEOWNERS.
  • docs/solutions/detection-as-code.md -- the human guide.
  • skills/mgmt-console-api/SKILL.md -- correlation rules require queryLang: "2.0" (confirmed live; without it the POST returns HTTP 400 query lang must be 2.0).
  • Version bump to 1.2.5 (plugin.json + marketplace), rebuilt dist/ bundles, CHANGELOG entry.

Testing

  • The three TOML examples lint clean via dac_sync.py --lint.
  • TOML to JSON conversion verified identical to a JSON twin.
  • All three rule types created live as Draft on a test site; idempotent re-sync (PUT, no duplicate) confirmed.
  • Built s1-secops-skills-v1.2.5.plugin verified to contain the DaC playbook, scaffold, and dac_sync.py; no __pycache__ / .DS_Store leaked.

Notes

  • All plugin descriptions are < 1024 chars and contain no <.
  • Naming vs the claude-skills source: sentinelone-<skill> -> <skill>, sentinelone-mcp -> s1-secops-mcp.

New sdl-solutions DaC playbook + detection-as-code-starter scaffold: author detection rules as TOML in Git, validate on PR, sync to the Custom Detection Rule API on merge. Covers single-event, correlation, and scheduled rule types; ships a zero-dependency dac_sync.py engine (TOML to API, idempotent create-or-update) with lint/sync CI for GitHub, GitLab, and Azure. mgmt-console-api: correlation rules require queryLang 2.0 (confirmed live). Version bump to 1.2.5, rebuilt dist bundles, CHANGELOG entry.
…aC + RBA

Quote the SKILL.md description so colons inside it (Catalog:, z-score:, Triggers:) no longer break YAML frontmatter parsing. Add Detection as Code and Risk-Based Alerting to docs/skills.md (triggers, solution catalog, playbooks list). Rebuilt sdl-solutions.skill and the plugin bundle.

@roarinpenguin roarinpenguin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved

@marcorottigni-s1 marcorottigni-s1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved

@marcorottigni-s1 marcorottigni-s1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@jham-s1

jham-s1 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Helping Prithvi, I will attempt to approve and merge this PR.

apporved

@jham-s1 jham-s1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving these changes to support Prithvi

@jham-s1 jham-s1 merged commit b73ea3d into Sentinel-One:main Jul 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants