Skip to content

Conversation

@fzipi
Copy link
Member

@fzipi fzipi commented Jan 22, 2026

what

  • add new blog for the seclang_parser

why

  • community outreach

Signed-off-by: Felipe Zipitria <felipe.zipitria@owasp.org>
@fzipi fzipi requested a review from Copilot January 22, 2026 19:17
@fzipi fzipi requested a review from a team January 22, 2026 19:19
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

This PR adds a comprehensive blog post introducing the seclang_parser project to the CRS community. The blog post explains the project's purpose, design principles, use cases, and how to get started with it.

Changes:

  • Added new blog post dated January 22, 2026, featuring the seclang_parser project
  • Documented the ANTLR-based parser for SecLang configuration language
  • Included examples for Go and Python developers

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

author: fzipi
---

We are excited to announce a significant development in the CRS ecosystem: the [seclang_parser](https://github.com/coreruleset/seclang_parser), a new ANTLR-based parser for the SecLang configuration language used by ModSecurity and compatible WAF engines.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The introduction states "We are excited to announce a significant development" which implies this is a new announcement, but later the blog mentions "The project is already in active use with multiple releases published. Version 0.3.2 was released in November 2025" (line 94). This creates a discrepancy - the blog cannot both announce something new and acknowledge it has been in active use for months. Consider changing the introduction to say something like "We are excited to highlight" or "We want to introduce the community to" to better reflect that this is a feature article about an existing project rather than an announcement of something new.

Copilot uses AI. Check for mistakes.
Rather than dealing with low-level parsing details in each target language, the grammar prioritizes simplicity and clarity. This reduces implementation errors and makes the parser easier to understand and maintain.

### Minimal Dependencies
The generated parsers are designed to work with native code without requiring external dependencies or CGo bindings. This makes integration into existing projects straightforward and reduces potential compatibility issues.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The correct spelling is "cgo" (lowercase), not "CGo". This is the standard way to refer to the Go tool that enables Go programs to call C code.

Suggested change
The generated parsers are designed to work with native code without requiring external dependencies or CGo bindings. This makes integration into existing projects straightforward and reduces potential compatibility issues.
The generated parsers are designed to work with native code without requiring external dependencies or cgo bindings. This makes integration into existing projects straightforward and reduces potential compatibility issues.

Copilot uses AI. Check for mistakes.

## What is seclang_parser?

The seclang_parser is a grammar-based parser generator built on ANTLR 4 (Another Tool for Language Recognition) that provides a unified, language-agnostic approach to parsing ModSecurity's SecLang configuration files. Rather than maintaining separate parsing implementations across different programming languages, this project consolidates efforts around a single, authoritative grammar specification.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The description "grammar-based parser generator" is technically imprecise. ANTLR 4 is the parser generator; seclang_parser provides ANTLR grammar definitions and the parsers generated from those grammars. Consider rephrasing to something like "a grammar-based parser built using ANTLR 4" or "an ANTLR 4-based parser with unified grammar definitions" to more accurately reflect the project's nature.

Suggested change
The seclang_parser is a grammar-based parser generator built on ANTLR 4 (Another Tool for Language Recognition) that provides a unified, language-agnostic approach to parsing ModSecurity's SecLang configuration files. Rather than maintaining separate parsing implementations across different programming languages, this project consolidates efforts around a single, authoritative grammar specification.
The seclang_parser is a grammar-based parser built using ANTLR 4 (Another Tool for Language Recognition) that provides a unified, language-agnostic approach to parsing ModSecurity's SecLang configuration files. Rather than maintaining separate parsing implementations across different programming languages, this project consolidates efforts around a single, authoritative grammar specification.

Copilot uses AI. Check for mistakes.
@fzipi
Copy link
Member Author

fzipi commented Jan 22, 2026

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

Copy link
Contributor

Copilot AI commented Jan 22, 2026

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

@cloudflare-workers-and-pages
Copy link

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

Deploying website with  Cloudflare Pages  Cloudflare Pages

Latest commit: d48ac0f
Status: ✅  Deploy successful!
Preview URL: https://b45fc680.website-1u6.pages.dev
Branch Preview URL: https://feat-add-seclang-parser-blog.website-1u6.pages.dev

View logs

Copilot AI and others added 2 commits January 22, 2026 19:28
Co-authored-by: fzipi <3012076+fzipi@users.noreply.github.com>
fix: apply review feedback on seclang_parser blog post
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.

2 participants