<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Миша Ефремов</title>
    <description>The latest articles on DEV Community by Миша Ефремов (@__e46b9db84db5).</description>
    <link>https://dev.to/__e46b9db84db5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3922258%2Fd92ccb6c-4665-4b1c-87cf-207e1c6f04ce.png</url>
      <title>DEV Community: Миша Ефремов</title>
      <link>https://dev.to/__e46b9db84db5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/__e46b9db84db5"/>
    <language>en</language>
    <item>
      <title>SHARD v5.2.0 — What 25 Security Audits and 250+ Bug Fixes Taught Me About Building AI Security Software</title>
      <dc:creator>Миша Ефремов</dc:creator>
      <pubDate>Tue, 26 May 2026 11:43:13 +0000</pubDate>
      <link>https://dev.to/__e46b9db84db5/shard-v520-what-25-security-audits-and-250-bug-fixes-taught-me-about-building-ai-security-2eog</link>
      <guid>https://dev.to/__e46b9db84db5/shard-v520-what-25-security-audits-and-250-bug-fixes-taught-me-about-building-ai-security-2eog</guid>
      <description>&lt;p&gt;I've been building SHARD — an open-source autonomous AI SIEM — for the past few months. After 25 security audits and 250+ bug fixes, here's what I learned about building AI-powered security software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Decisions That Mattered
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Event-Driven Architecture
&lt;/h3&gt;

&lt;p&gt;SHARD uses an EventBus with per-subscriber queues and priority routing. This allows 22 security modules to operate independently without blocking each other. A honeypot detection doesn't slow down the ML pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Graceful Degradation
&lt;/h3&gt;

&lt;p&gt;Storage falls back PostgreSQL → SQLite → JSON file. If the database goes down, alerts aren't lost.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Module Registry Pattern
&lt;/h3&gt;

&lt;p&gt;18 modules loaded via topological sort with dependency resolution. Adding a new module is 5 lines in module_specs.py.&lt;/p&gt;

&lt;h2&gt;
  
  
  ML Pipeline
&lt;/h2&gt;

&lt;p&gt;10 neural networks working together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;XGBoost for classification (100% on 11 attack types)&lt;/li&gt;
&lt;li&gt;Isolation Forest for anomaly detection (82%)&lt;/li&gt;
&lt;li&gt;Seq2Seq Transformer for generating WAF/iptables rules (5.35M parameters)&lt;/li&gt;
&lt;li&gt;VAE for zero-day detection&lt;/li&gt;
&lt;li&gt;Temporal GNN for MITRE ATT&amp;amp;CK correlation (82% on 17 techniques)&lt;/li&gt;
&lt;li&gt;RL DQN Agent for autonomous response decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All models retrain online with balanced batches (50% attacks / 50% normal traffic).&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Lessons
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Validate IP addresses before passing to iptables. Always.&lt;/li&gt;
&lt;li&gt;Use HMAC for config file integrity.&lt;/li&gt;
&lt;li&gt;Pickle deserialization in federated learning = RCE. Replaced with JSON.&lt;/li&gt;
&lt;li&gt;Timing-safe password comparison matters.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;p&gt;60 unit tests. 4 integration tests. CI/CD pipeline. 0 critical vulnerabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;After 25 audit cycles: Pylint 8.29/10, Bandit 0 High, 22/22 modules loading.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/misha622/shard-siem" rel="noopener noreferrer"&gt;https://github.com/misha622/shard-siem&lt;/a&gt;&lt;br&gt;
Demo: &lt;a href="https://youtube.com/shorts/aeyiGMYsbn0" rel="noopener noreferrer"&gt;https://youtube.com/shorts/aeyiGMYsbn0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>cybersecurity</category>
      <category>ai</category>
    </item>
    <item>
      <title>How I Built an Autonomous AI SIEM With 10 Neural Networks in 3 Months</title>
      <dc:creator>Миша Ефремов</dc:creator>
      <pubDate>Wed, 13 May 2026 15:11:49 +0000</pubDate>
      <link>https://dev.to/__e46b9db84db5/how-i-built-an-autonomous-ai-siem-with-10-neural-networks-in-3-months-18k0</link>
      <guid>https://dev.to/__e46b9db84db5/how-i-built-an-autonomous-ai-siem-with-10-neural-networks-in-3-months-18k0</guid>
      <description>&lt;h1&gt;
  
  
  How I Built an Autonomous AI SIEM With 10 Neural Networks in 3 Months
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Beginning
&lt;/h2&gt;

&lt;p&gt;Three months ago, I started with a simple Python script that could detect port scans. Today, SHARD has 10 neural networks, 13 honeypots, and can autonomously block attacks in real-time. This is the story of how it happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  Month 1: The Foundation
&lt;/h2&gt;

&lt;p&gt;The first month was all about getting the basics right. I built:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A packet capture engine using Scapy&lt;/li&gt;
&lt;li&gt;Basic ML classification with XGBoost&lt;/li&gt;
&lt;li&gt;EventBus architecture for modular communication&lt;/li&gt;
&lt;li&gt;SQLite storage with date-based partitions&lt;/li&gt;
&lt;li&gt;13 honeypots (SSH, MySQL, Redis, MongoDB, FTP, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest challenge was making all the modules communicate reliably. The EventBus went through 5 rewrites before it could handle 1000+ events per second without dropping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Month 2: The Neural Networks
&lt;/h2&gt;

&lt;p&gt;This was the hardest month. I trained 8 neural networks from scratch:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Seq2Seq Transformer (5.35M parameters)&lt;/strong&gt;&lt;br&gt;
The idea was radical: instead of using template iptables rules, generate unique rules for each attack. Training took 9 hours on CPU. The model learned to map "SQL Injection from 10.0.0.1 on port 3306" → actual iptables commands with the correct IP and port.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RL DQN Agent&lt;/strong&gt;&lt;br&gt;
Trained on 500 simulated attacks. The agent learned to choose between ignoring, throttling, temporarily blocking, or permanently blocking. After training, it made the right decision 100% of the time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VAE Anomaly Detector&lt;/strong&gt;&lt;br&gt;
Trained on 25,000 normal traffic samples. Detects zero-day attacks with 91.2% accuracy by measuring reconstruction error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GNN Threat Graph&lt;/strong&gt;&lt;br&gt;
Uses Graph Attention Networks to find clusters of attacking IPs and predict which nodes are most at risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Temporal GNN&lt;/strong&gt;&lt;br&gt;
The hardest model. It learns attack chains (Recon → Exploit → C2 → Exfil) and predicts what the attacker will do next. 75% accuracy on predicting the next attack type.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-Modal Fusion&lt;/strong&gt;&lt;br&gt;
Combines signals from all 7 other models using cross-attention. This single model decides the final threat level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Month 3: Production-Ready
&lt;/h2&gt;

&lt;p&gt;The last month was about making SHARD usable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker containerization (one command to deploy)&lt;/li&gt;
&lt;li&gt;Swagger API with 15 endpoints&lt;/li&gt;
&lt;li&gt;Telegram/Slack notifications&lt;/li&gt;
&lt;li&gt;CI/CD with GitHub Actions (11 tests)&lt;/li&gt;
&lt;li&gt;Stress testing: 4000+ defense actions, 8000+ RL decisions in one hour&lt;/li&gt;
&lt;li&gt;Federated Learning for privacy-preserving training&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Numbers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Lines of Python&lt;/td&gt;
&lt;td&gt;13,878&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Neural Networks&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total Parameters&lt;/td&gt;
&lt;td&gt;~8.5M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Honeypots&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Endpoints&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test Coverage&lt;/td&gt;
&lt;td&gt;11/11 passing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Throughput&lt;/td&gt;
&lt;td&gt;870 packets/sec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training Hours&lt;/td&gt;
&lt;td&gt;50+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start simple.&lt;/strong&gt; My first version was 200 lines. It grew organically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test everything.&lt;/strong&gt; Every neural network has its own training script and validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker is magic.&lt;/strong&gt; One command deploys everything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open source from day one.&lt;/strong&gt; Even when the code was bad, having it public kept me motivated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD saves hours.&lt;/strong&gt; GitHub Actions catches bugs before anyone sees them.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;SHARD is just getting started. The roadmap includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes operator for auto-scaling&lt;/li&gt;
&lt;li&gt;Splunk/ELK integration&lt;/li&gt;
&lt;li&gt;Real traffic training pipeline&lt;/li&gt;
&lt;li&gt;Community plugins&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
docker pull shard19/shard-siem
docker run -d --name shard -p 8080:8080 -p 5001:5001 shard19/shard-siem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>I Built an Autonomous AI SIEM With 10 Neural Networks</title>
      <dc:creator>Миша Ефремов</dc:creator>
      <pubDate>Sat, 09 May 2026 17:58:10 +0000</pubDate>
      <link>https://dev.to/__e46b9db84db5/i-built-an-autonomous-ai-siem-with-10-neural-networks-4en9</link>
      <guid>https://dev.to/__e46b9db84db5/i-built-an-autonomous-ai-siem-with-10-neural-networks-4en9</guid>
      <description>&lt;h2&gt;
  
  
  What if your server could defend itself?
&lt;/h2&gt;

&lt;p&gt;That's the question that drove me to build &lt;strong&gt;SHARD&lt;/strong&gt; — a fully autonomous cybersecurity system that detects attacks, generates real-time defense rules, blocks hackers, and predicts their next move. All without a security team. All without human intervention.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every day, thousands of servers are attacked. SQL injections, brute force attempts, DDoS floods, ransomware. Small businesses can't afford enterprise SIEM solutions like Splunk or Palo Alto ($50,000+/year). They need something that just works — automatically.&lt;/p&gt;

&lt;p&gt;I decided to build it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What SHARD Does
&lt;/h2&gt;

&lt;p&gt;When an attacker hits your server:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;13 honeypots&lt;/strong&gt; detect the connection (SSH, MySQL, Redis, MongoDB, FTP, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;XGBoost ML model&lt;/strong&gt; classifies the attack type (13 types, 100% accuracy)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seq2Seq Transformer (5.35M parameters)&lt;/strong&gt; generates unique iptables/WAF rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RL DQN Agent&lt;/strong&gt; decides: block permanently? block temporarily? throttle?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VAE Anomaly Detector&lt;/strong&gt; checks if this is a zero-day attack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GNN Threat Graph&lt;/strong&gt; maps the attacker's connections&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporal GNN&lt;/strong&gt; predicts their next target&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Modal Fusion&lt;/strong&gt; combines all 8 signals into one threat score&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram/Slack notification&lt;/strong&gt; is sent immediately&lt;/li&gt;
&lt;li&gt;Everything is logged and the attacker is blocked&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Numbers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Neural Networks&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attack Classification Accuracy&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RL Decision Accuracy&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anomaly Detection Rate&lt;/td&gt;
&lt;td&gt;91.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Defense Actions (1 hour test)&lt;/td&gt;
&lt;td&gt;4,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RL Decisions (1 hour test)&lt;/td&gt;
&lt;td&gt;8,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Throughput&lt;/td&gt;
&lt;td&gt;870 packets/sec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Honeypots&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PyTorch for deep learning models&lt;/li&gt;
&lt;li&gt;XGBoost for attack classification&lt;/li&gt;
&lt;li&gt;Docker for one-command deployment&lt;/li&gt;
&lt;li&gt;Swagger for API documentation&lt;/li&gt;
&lt;li&gt;pytest for testing (11/11 passing)&lt;/li&gt;
&lt;li&gt;Telegram API for notifications&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
git clone https://github.com/misha622/shard-siem
cd shard-siem
docker build -t shard-siem .
docker run -d --name shard -p 8080:8080 -p 5001:5001 shard-siem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>cybersecurity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
