Skip to content

docs: add blogpost on CRSLang#449

Open
fzipi wants to merge 6 commits intomainfrom
feat/add-blogpost-crslang
Open

docs: add blogpost on CRSLang#449
fzipi wants to merge 6 commits intomainfrom
feat/add-blogpost-crslang

Conversation

@fzipi
Copy link
Member

@fzipi fzipi commented Jan 22, 2026

what

  • add blogpost on CRSLang

Signed-off-by: Felipe Zipitria <felipe.zipitria@owasp.org>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new blog post announcing and explaining CRSLang as a next-generation, YAML-based rule language for OWASP CRS, including motivation, examples, and migration guidance.

Changes:

  • Introduces a new long-form blog post describing CRSLang and the rationale for moving beyond Seclang
  • Includes multiple illustrative Seclang vs CRSLang examples, plus discussion of features (templates, logical expressions, translation)
  • Adds links and calls-to-action for readers to learn more and join discussions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 22, 2026

Deploying website with  Cloudflare Pages  Cloudflare Pages

Latest commit: e8aa6c6
Status:🚫  Build failed.

View logs

@fzipi
Copy link
Member Author

fzipi commented Jan 23, 2026

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Contributor

Copilot AI commented Jan 23, 2026

@fzipi I've opened a new pull request, #450, to work on those changes. Once the pull request is ready, I'll request review from you.

Signed-off-by: Felipe Zipitria <felipe.zipitria@owasp.org>
@fzipi fzipi force-pushed the feat/add-blogpost-crslang branch from 9628510 to 443929f Compare February 1, 2026 04:16

CRSLang introduces reusable rule components, making it easier to maintain consistent patterns across your rule set. You can also define common patterns and use them with different variables:

```
Copy link
Contributor

Choose a reason for hiding this comment

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

This example uses native YAML. While that's certainly a case of reuse, it's a feature of YAML, not CRSLang. The example should rather use the "global" or "scoped" "common definitions" (not sure if we defined a term for those files).

fzipi and others added 3 commits February 1, 2026 10:40
…n-rule-language.md

Co-authored-by: Max Leske <250711+theseion@users.noreply.github.com>
Restore truncated content and incorporate review feedback:
- Clarify CRSLang is for rule writers, not engines
- Add tooling vision section (engine transforms, filtering, augmentation)
- Replace YAML anchor template example with common definitions
- Remove repetitive "The Technology" section
- Bold CRSLang throughout, improve logical expressions explanation
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.

3 participants