LangGraph Architecture Combines Hybrid RAG with YARA and Sigma Engines for Streaming Log Analysis
A research team has developed an architectural pattern titled LangGraph, hybrid RAG + Signature Engine that creates a universal graph for processing streaming data, demonstrated on cybersecurity logs but designed to be modular for other text analysis tasks.
Architecture Overview
Logs are ingested by Vector with a Lua chunker producing 250-line segments and 20-line overlap, then published to a Kafka topic. An aiokafka consumer with retry logic and dead-letter queue forwards batches to an 8-node LangGraph DAG whose results are persisted in PostgreSQL.
The graph contains two parallel branches. The AI branch routes filtered logs through Agent 1 for event grouping and anomaly detection, Description Agent for natural-language summaries, and Agent 2 for hybrid RAG retrieval against MITRE ATT&CK. The deterministic branch parses logs and runs them through custom YARA and Sigma engines. All outputs converge at Agent 3, which produces the final report, validates hypotheses, and flags events requiring manual review.
Hybrid RAG Component
Agent 2 improves queries with an LLM, executes hybrid search combining vector similarity (weight 0.6) and BM25 (weight 0.4) over a Russian-translated MITRE ATT&CK collection in ChromaDB, then applies LLM re-ranking on the top-3 candidates. This approach reduces token usage while maintaining classification accuracy for techniques such as T1110 and T1190.
Deterministic Engines and Rule Generation
The YARA engine compiles .yar files and matches concatenated log fields using the native yara-python library. The Sigma engine parses YAML rules into selection conditions evaluated with contains, startswith, endswith, and regex operators. When RAG identifies an uncovered technique, Agent 3 triggers an LLM-based YARA rule generator that iterates up to three times with validation before storing the rule in a pending queue for analyst approval.
Performance and Metrics
On a 43-minute synthetic dataset of approximately 850 lines containing 38 ground-truth MITRE ATT&CK techniques, the pipeline recorded 85.7% precision, 78.9% recall, and an F1 score of 0.82 while processing 3.5 lines per second. The system was developed as part of a project practicum at UrFU and tested with Gemini 2.5 Flash.
Related articles
Israeli Firm Reveals First Known AI-Led Breach of Taiwanese Government Systems
An Israeli cybersecurity company named Dream discovered an open 160 MB archive containing 1,395 files that documented a fully autonomous AI operation against Asian government infrastructure later identified as Taiwan. Between July 1 and July 4 2026 the system ran 12 sequential waves using up to eight sub-agents simultaneously, each handling reconnaissance, exploitation, lateral movement and persistence without further human input after initial setup. The agents mapped 21 interconnected government systems, exploited unauthenticated debug endpoints and single-sign-on weaknesses, and ultimately compromised 85 employee accounts while exfiltrating more than 2,500 personnel records. The framework relied exclusively on two publicly available open-source AI assistants, Hermes and OpenClaw, and bypassed model safety filters by framing the task as an authorized penetration test. The same agents later expanded into government IT suppliers, the national email system, seven energy companies and the nuclear safety agency while performing internal validation that rejected seven false-positive findings. No zero-day exploits were used; all successful access paths involved exposed endpoints, disabled signature checks and missing authentication controls.
GitHub Copilot Traffic Analysis via MITM Proxy Exposes Prompt Context Handling and Local SQLite Session Storage
A detailed reverse-engineering study placed GitHub Copilot behind an mitmproxy instance to inspect all network requests made by Visual Studio Code. The analysis revealed that Copilot performs OAuth token exchange, model availability checks, and intent classification before any user input occurs. Prompts sent to the model include context from recently edited files, even when inline suggestions are disabled for sensitive extensions such as .env. Copilot maintains a local SQLite database named session-store.db that records every user prompt, LLM response, repository, and branch worked on. The extension also exposes a session_store_sql tool allowing the model to run read-only SQL queries against this history using the Copilot Chronicle skill. These findings highlight how AI coding assistants manage context, authentication, and persistent local state.
Anthropic Rolls Out Invisible Statistical Watermarks for Claude Models to Comply with EU AI Act
Anthropic has embedded invisible statistical watermarks into all outputs from its Claude models starting August 2, 2026, to meet Article 50 of the EU AI Act. The two-layer system applies a token-level bias using a secret key for text and C2PA metadata for images and files. Open-source projects appeared within 24 hours promising to strip the marks, yet none have demonstrated verifiable success against the statistical layer because Anthropic has not released a public detector. The technique, first described by Kirchenbauer et al. in 2023 and deployed by Google as SynthID, works by subtly biasing token selection toward “green” lists during generation. Editing, translation, or full paraphrasing rapidly degrades detectability, while short or rigidly formatted text such as code offers little room for the signal. The move affects every Claude deployment worldwide, not only EU users, to avoid maintaining dual model versions.
Guardrails Filter Tackles Complex LLM Streaming and Tool Call Challenges to Protect Sensitive Data
Developers at Cloud.ru built Guardrails Filter to mask personal data such as phone numbers, emails, passport details and names before they reach large language models. The system replaces detected values with consistent placeholders like <PHONE_1> and maintains a mapping table so original data can be restored after the model responds. Simple replacement proved insufficient because identical values must receive the same placeholder across an entire conversation history, and the model receives the full message array on every request. Streaming responses using SSE create additional difficulties since placeholders can be split across multiple chunks, requiring buffering of 10-15 characters and state tracking for reasoning, content and tool_calls. The team also had to handle JSON-inside-JSON arguments for tool calls, different field names across providers, and edge cases such as escaped newlines matching email patterns. Separate implementations were written for OpenAI Chat Completions and Anthropic Messages APIs, resulting in roughly 1,500 lines of streaming code and more than 4,000 lines of tests to ensure agent pipelines remain intact.