<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rules on pyToshka's DevSecOps Blog</title><link>https://blog.pytoshka.me/en/tags/rules/</link><description>Recent content in Rules on pyToshka's DevSecOps Blog</description><generator>Hugo</generator><language>en-US</language><managingEditor>ping@pytoshka.me (pyToshka)</managingEditor><webMaster>ping@pytoshka.me (pyToshka)</webMaster><lastBuildDate>Wed, 15 Apr 2026 10:36:10 +0400</lastBuildDate><atom:link href="https://blog.pytoshka.me/en/tags/rules/index.xml" rel="self" type="application/rss+xml"/><item><title>Wazuh Rule Static Analysis: Linter Evolution</title><link>https://blog.pytoshka.me/en/post/wazuh-static-analysis-rules/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><author>ping@pytoshka.me (pyToshka)</author><guid>https://blog.pytoshka.me/en/post/wazuh-static-analysis-rules/</guid><description>&lt;p&gt;&lt;strong&gt;&amp;ldquo;Wazuh Static Analysis&amp;rdquo; series:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.pytoshka.me/en/post/wazuh-static-analysis-decoders/"&gt;Part 1: Decoders&lt;/a&gt; - decoder XML validation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Part 2: Rules&lt;/strong&gt; (you are here) - rule validation and cross-type checking&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In &lt;a href="https://blog.pytoshka.me/en/post/wazuh-static-analysis-decoders/"&gt;Part 1&lt;/a&gt; we built a linter for Wazuh decoder XML files - a tool that validates structure, regex/order consistency, and parent-child decoder chains. But decoders are only half of the event processing pipeline. Decoders extract fields from raw logs, while rules decide what to do with those fields: generate an alert, escalate a threat level, or trigger an automated response. An error in a rule - a missed alert or a false positive - can be more dangerous than a decoder misconfiguration.&lt;/p&gt;</description></item></channel></rss>