<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Detection Engineering Weekly]]></title><description><![CDATA[The latest news and how-tos in detection engineering]]></description><link>https://www.detectionengineering.net</link><image><url>https://substackcdn.com/image/fetch/$s_!AUx7!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png</url><title>Detection Engineering Weekly</title><link>https://www.detectionengineering.net</link></image><generator>Substack</generator><lastBuildDate>Fri, 12 Jun 2026 08:26:46 GMT</lastBuildDate><atom:link href="https://www.detectionengineering.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Zack 'techy' Allen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[detectionengineering@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[detectionengineering@substack.com]]></itunes:email><itunes:name><![CDATA[Zack Allen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Zack Allen]]></itunes:author><googleplay:owner><![CDATA[detectionengineering@substack.com]]></googleplay:owner><googleplay:email><![CDATA[detectionengineering@substack.com]]></googleplay:email><googleplay:author><![CDATA[Zack Allen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[DEW #159 - Synthetic Logs for Detection, Device Code Phishing Detection & Mythos 5 release]]></title><description><![CDATA[Welcome to Issue #159 of Detection Engineering Weekly!]]></description><link>https://www.detectionengineering.net/p/dew-159-synthetic-logs-for-detection</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-159-synthetic-logs-for-detection</guid><pubDate>Wed, 10 Jun 2026 12:04:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!c0nX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #159 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I just got back from a work trip to NY and got to hang out with people in my org who traveled from all over the world (Europe, Asia, and around the US!) Sorry for not putting out an issue last week, but I definitely needed to maximize my time to spend with folks in the office :D </p></li><li><p>I hosted an internal security fireside chat where <a href="https://www.linkedin.com/in/ayoubfandi/en?originalSubdomain=uk">Ayoub Fandi</a>, who runs the <a href="https://grcengineer.com/">GRC Engineer Newsletter</a>, and he crushed it. It was great to hear his perspective on modernizing GRC functions and on the emergence of amazing tech applied to age-old security problems</p></li><li><p>It&#8217;s <em>almost</em> summer here in New England! I know it&#8217;s close because every week, I walk outside with my kids and pick wildflowers. There is almost always a new type of flower blooming every week that we get to bring back home</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Sponsor: runZero</strong></h3><blockquote><h3><strong>Are You Writing Detections for an Attack Surface You Can&#8217;t See?</strong></h3><p>Your detections are only as good as your asset coverage. If runZero isn't in your stack, you're writing rules for an attack surface you can't fully see&#8230; and AI-generated exploits are built to find exactly those gaps.<br><br>Know every asset, every exposure, every attack path&#8212;across IT, OT, IoT, cloud, and mobile. Validate your segmentation before the exploit drops. No agents. No authentication. No appliances.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.runzero.com/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=runzero-general&quot;,&quot;text&quot;:&quot;Try It Free Today&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.runzero.com/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=runzero-general"><span>Try It Free Today</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://blog.talosintelligence.com/introducing-evidenceforge-synthetic-security-logs-that-dont-look-as-fake/">Introducing EvidenceForge: Synthetic security logs that don&#8217;t look (as) fake</a> by David Bianco</p><p>I&#8217;ve worked in security product startups for years and have procured vendors and software related to security. The single biggest problem with the procurement process, IMHO, is evaluating the theoretical scenarios in a demo environment to see how accurate they would be in a real scenario. In the ideal state, you turn a product on, and it starts finding the bad stuff, but in my experience, it rarely happens. </p><p>The same thing happens with detection rules and capturing a truly malicious, compelling event to guarantee the alert will fire. As a community, we helped alleviate this pain with excellent Purple Teaming tools such as Stratus Red Team and Atomic Red Team, as well as attack-range data, including the <a href="https://github.com/splunk/botsv3">Botsv3</a> dataset. The problem at its core is realism: isolated attack chains work well for sequenced rules, but they don&#8217;t take into account the legitimate traffic that can harden the <a href="https://en.wikipedia.org/wiki/Necessity_and_sufficiency">necessary vs sufficient</a> assumptions you need to deploy a rule before it hits prod.</p><p>This is where Talos&#8217; EvidenceForge project fills that niche. It&#8217;s an LLM-backed synthetic telemetry generation platform that preserves the causal relationships that detection engineers should expect to see during an attack chain. Through realistic scenario generation via prompting, it tries to build scenarios and telemetry that you&#8217;d expect to see in a live environment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UVq2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UVq2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 424w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 848w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UVq2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png" width="893" height="1038" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1038,&quot;width&quot;:893,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UVq2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 424w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 848w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!UVq2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c40cf02-472b-4114-a525-f8b1a2bf0e93_893x1038.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>EvidenceForge first creates a shared event model to guide synthetic log generation without forcing the user to reason about every downstream format up front. Once generation occurs, it ties scenarios together across host and network telemetry, introduces benign traffic and prerequisite events for the attack, and adds a timing layer. Detection engineers can then use the resulting dataset to validate rule efficacy, and Bianco notes that it can also support threat hunting, analyst training, and incident response exercises.</p><p>Projects like this are where I am bullish on agentic technology because they focus on harnessing and acknowledging what does and doesn&#8217;t work in model prompting at specific steps. Adding guardrails around the model, such as the Shared Event Model and the realism layer, helps scope the task for the agents, ensuring they don&#8217;t make assumptions beyond the prompt's bounds.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://daniel.haxx.se/blog/2026/05/26/the-pressure/">The pressure</a> by Daniel Stenberg</p><p>I&#8217;ve included a ton of Stenberg&#8217;s blog posts on how the cURL team has dealt with surges of vulnerability reports due to LLM use. Many of these posts have shed light for me on how tiring open-source software maintenance work is, <em>just to fix vulnerabilities</em>. The problem in cURL&#8217;s case, and I&#8217;m sure many others, is the tension between popularity, attention and capacity. The project is already popular and gets lots of attention from software engineers and vulnerability researchers alike, so the volume of bug fixes and vulnerability reports puts a lot of strain on their day-to-day. Add LLMs on top of this; it reads as if it&#8217;s unbearable. </p><div class="pullquote"><p>I am jealous of those projects that shipped a horrible bug at some point in the past that made the world burn for a while. They got attention and some of them then got funding and financial muscles to get them staff and hire multiple full time engineers. I sometimes think we would be better off if we also had one of those.</p></div><p>This is a sobering and, in my opinion, sad quote from Stenberg. It highlights how underwater he feels while maintaining the cURL project. If I had to relate this, it&#8217;s very similar to what we deal with in the security industry. Don&#8217;t get it twisted: I think building and maintaining cURL is way more important than my day-to-day in many ways, but the pressure of delivering security initiatives is so much higher than it&#8217;s ever been in my career. </p><p>Be careful of burnout and take care of yourselves and your loved ones. I think OSS development and security are altruistic in so many ways, but it shouldn&#8217;t interfere with your health. I&#8217;ll put the cURL donation page link below if you all want to help out a great project.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://curl.se/donation.html&quot;,&quot;text&quot;:&quot;Donate to cURL&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://curl.se/donation.html"><span>Donate to cURL</span></a></p><div><hr></div><p><a href="https://www.elastic.co/security-labs/tycoon-2fa-aitm-detection-engineering">Detecting Tycoon 2FA AiTM attacks across Entra ID and Google Workspace</a> by Samir Bousseaden &amp; Terrance DeJesus</p><p>The evolution of phishing has been fascinating to stay on top of since my days of first catching phishing threat actors in 2014. Typically, I&#8217;ve associated phishing kits with targeting users to steal passwords and credit cards for fraud. I&#8217;m sure most of your friends and family have asked you about spam texts for unpaid tolls, missing packages or a crypto company &#8220;threatening&#8221; to turn off their accounts. These target the everyday person.</p><p>Advanced &#8220;attacker-in-the-middle&#8221; kits, like Tycoon, target enterprise and cloud accounts. In this post, DeJesus and Bousseaden showcase opportunities for post-phish detection in Tycoon 2FA. Tycoon 2FA is a prolific phishing framework that targets cloud accounts, especially Entra ID and Google Workspace, to provide operators with post-compromise access to sensitive corporate environments. It moves the question from &#8220;how do we detect phishing attacks&#8221; to &#8220;how do we find identity compromise in cloud environments?&#8221; Check out the flow below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XERC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XERC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 424w, https://substackcdn.com/image/fetch/$s_!XERC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 848w, https://substackcdn.com/image/fetch/$s_!XERC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!XERC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XERC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png" width="1456" height="1001" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1001,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XERC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 424w, https://substackcdn.com/image/fetch/$s_!XERC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 848w, https://substackcdn.com/image/fetch/$s_!XERC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!XERC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef13992e-203f-49a6-b703-0e7d4b569f67_1999x1374.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tycoon 2FA Attacker Flow for Cloud</figcaption></figure></div><p>It looks eerily similar to how authentication flows, both for OAuth apps and individual users, because the attackers understand the identity model. Hunting for phishing pages and infrastructure is a strong indicator, but when paired with control plane logs from Entra ID and Google Workspace, you can generate high-fidelity alerts.</p><div><hr></div><p><a href="https://newtonpaul.com/blog/device-code-lab-post-exploit/">Device Code Lab (DCL) &#8212; Deep Dive into a Device Code Phishing Toolkit</a> by Paul Newton</p><p>Continuing the phishing kit theme from Elastic&#8217;s post above, Newton dissects the Device Code Lab (DCL) phishing kit to demonstrate its functionality. This is a great piece for comparing and contrasting with other phishing kits. DCL, for example, has unique properties that make it more of a full-service offering, including integration with residential proxy networks, expired domain hunting, and an operator/post-operator model similar to a Cobalt Strike Team Server.</p><p>For the most part, the phishing workflow is the same, but uses some Cloudflare Worker shenanigans instead of Socket.io:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c0nX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c0nX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 424w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 848w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 1272w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c0nX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sequence diagram showing the device code phishing session lifecycle from DCL backend generating a device code through to token capture&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sequence diagram showing the device code phishing session lifecycle from DCL backend generating a device code through to token capture" title="Sequence diagram showing the device code phishing session lifecycle from DCL backend generating a device code through to token capture" srcset="https://substackcdn.com/image/fetch/$s_!c0nX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 424w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 848w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 1272w, https://substackcdn.com/image/fetch/$s_!c0nX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71c61f59-cba9-4d4a-a54d-62803a7a7349_960x560.svg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are three interesting features that I listed above:</p><ul><li><p>Residential proxy integration lets operators route device-code traffic through consumer ISPs rather than obvious cloud ASNs, making sign&#8209;in patterns look much more like real users.</p></li><li><p>The expired domain hunting feature continuously discovers and recycles aged domains, so links land on infrastructure with an existing reputational history rather than freshly registered junk.</p></li><li><p>The operator / post&#8209;operator model separates the initial phish from the later tenant abuse, giving you two distinct activity phases to hunt for in identity logs, similar to how you&#8217;d reason about beacons and operators in Cobalt Strike</p></li></ul><p>Look for post-exploitation activity similar to what Elastic recommended above. These seem to be noisy when they gain access to a tenant and perform enumeration. Look for rogue registered devices as well, because invalidating refresh or persistent tokens can only stop immediate access.</p><div><hr></div><p><a href="https://medium.com/@amankrew/after-the-github-vscode-supply-chain-attack-is-your-extension-block-actually-working-584e20c7161a">After The GitHub VSCode Supply Chain Attack: Is Your Extension Block Actually Working?</a> by Aman Khurana</p><p>This post-incident analysis of the VSCode incident in GitHub by TeamPCP is a clear example of why we need to understand how supply chain tools actually install.</p><p>Khurana shows that VS Code uses &#8201;marketplace.visualstudio.com&#8201; only to resolve extension metadata, then pulls the real VSIX from &#8201;<code>gallerycdn.vsassets.io&#8201;</code> , Microsoft&#8217;s CDN, from which the poisoned Nx Console payload originated. Blocking the Marketplace API felt like an immediate win, but it left the CDN &#8220;warehouse&#8221; untouched, so anyone who knows the deterministic URL pattern can still fetch and install the extension directly. This is the same pattern for pypi (https://pythonhosted.org) and npm (registry.npmjs.org&#8201; and popular 3rd parties like jsdelivr).</p><p>This is the pattern you should expect everywhere supply chain software meets cloud: app frontends, APIs, and CDNs can all be different domains, which can mess up detection opportunities if attackers start using legitimate cloud hosting services to blend in.</p><p> I&#8217;ve joked about this before, but detection engineers are now becoming supply chain security experts. We now need to understand how to map the full software installation flow: which domains resolve metadata, which domains deliver binaries, and which local directories auto&#8209;load content without a visible installer. Otherwise, you are tuning detections against the storefront rather than the delivery path that attackers actually use.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://www.anthropic.com/news/claude-fable-5-mythos-5">Claude Fable 5 and Claude Mythos 5</a> by Anthropic</p><p>Anthropic released a <em>Mythos-class</em> frontier model dubbed Fable 5. It has extensive capabilities across its usual benchmarks and enhanced capabilities in cybersecurity tasks. The cool thing here is that it&#8217;ll route certain prompts to Opus if it deems them unsafe for use. The most random (but most important) benchmark is that it beat Pok&#233;mon FireRed only using vision. It&#8217;s an 18-second video, so I&#8217;m unsure if they just accelerated the playthrough or if it actually went so fast pressing buttons that it did everything in 18 seconds.</p><div id="youtube2-CIQBP1w4B1M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;CIQBP1w4B1M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/CIQBP1w4B1M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><a href="https://blog.rubygems.org/2026/06/03/cooldown-let-new-gems-be-vetted.html">Cool down before you install: give new gems a few days to be vetted</a> by Hiroshi Shibata</p><p>The RubyGems ecosystem just released a &#8220;cooldown&#8221; feature for its bundle tool. Effective supply chain attacks, such as those carried out by TeamPCP or DPRK, rely on publishing a malicious package after a CI/CD pipeline or a user has been compromised. Once that package is pushed out, people start installing it, and both the open-source and security communities begin flagging it as malicious. </p><p>Cooldowns help combat this type of attack by allowing users to specify a cooldown period during which the package version must remain in the ecosystem before it can be installed. The premise here is that, for example, if you set a cooldown timer for 24 hours, you won&#8217;t install new compromised packages. </p><p>It&#8217;s a great governance control for engineering teams, but given the hyper-configurability that open-source software tools offer teams, it will be harder to pull off in practice. This, IMHO, will work in controlled CI/CD environments, but will likely be bypassed on developer laptops. </p><div><hr></div><p><a href="https://depthfirst.com/research/21-zero-days-in-ffmpeg">21 Zero-Days in FFmpeg</a> by Zhenpeng (Leo) Lin</p><p>This blog by the Depthfirst research team shows how much latent risk lies within &#8220;plumbing&#8221; style open source software. Kind of like what I called out in Stenberg&#8217;s cURL blog above, the thankless work that goes into these pieces of software that literally touch our everyday lives is astronomical. So, helping the ecosystem become more secure by performing vulnerability research on these projects is overall helpful, but it still raises questions about the toil on maintainers.</p><p>That being said, this blog is a great demonstration on the scale and velocity of vulnerability analysis using agents.  Their security agent rescanned a heavily audited FFmpeg tree and still found 21 new zero-days, including heap and stack overflows that had been quietly reachable for 10&#8211;20 years in demuxers, depacketizers, and RTP paths.</p><p>There&#8217;s a great explanation of a vulnerable code path in <a href="https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol">RTSP</a> processing that potentially leads to remote code execution. All the Depthfirst team needs to do is set up a rogue stream of a period piece movie and/or series, and they can totally pwn me.</p><div><hr></div><p><a href="https://www.documentcloud.org/documents/28202858-meta-ai-ag-maine/">Incident Notification to the Maine Attorney General</a> by Meta AI</p><p>Meta suffered an AI-related incident in which its &#8220;high-touch support&#8221; chat agent was abused to grant attackers unauthorized access to social media accounts via password resets. But, my analysis isn&#8217;t just about this incident; it&#8217;s about how awesome Maine (the state I live in) should be your early warning system.</p><p>Basically, when a security breach occurs at companies like Meta AI, they go through a notification process to make sure affected users are aware of the incident. This is especially important when trying to comply with federal and state laws. Maine has some of the strictest requirements for breach notification if&nbsp;<em>any</em>&nbsp;Mainer (yep, that's what we call ourselves) is affected by a breach. </p><p>Here&#8217;s what Perplexity cooked up as it did some research on this for me:</p><ul><li><p>Companies must notify affected Maine residents and the Attorney General &#8220;as expediently as possible and without unreasonable delay,&#8221; which in practice means they cannot sit on a breach for months while they polish a narrative.</p></li><li><p>If more than 1,000 people are notified, they also have to notify consumer reporting agencies and file a detailed notice with the AG that becomes part of a public record, even if only a handful of those people actually live in Maine.</p></li><li><p>Notice has to go out as soon as law enforcement says it will not compromise an investigation, with guidance converging on roughly a 30&#8209;day outer bound from discovery, so Maine filings often appear before a company&#8217;s national comms and investor disclosures are fully baked.</p></li></ul><p>If you want a live view of the feed, here&#8217;s the &#8220;Breach Portal&#8221; for Maine: </p><p><a href="https://www.maine.gov/agviewer/content/ag/985235c7-cb95-4be2-8792-a1252b4f8318/list.html">https://www.maine.gov/agviewer/content/ag/985235c7-cb95-4be2-8792-a1252b4f8318/list.html</a></p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/Cisco-Talos/EvidenceForge">Cisco-Talos/EvidenceForge</a></p><p>GitHub link to Bianco&#8217;s EvidenceForge project listed in the Gem above. Check out the&nbsp;<a href="https://github.com/Cisco-Talos/EvidenceForge/blob/main/AGENTS.md">AGENTS.md</a>&nbsp;file since this is run as a skill within Claude / Codex.</p><div><hr></div><p><a href="https://github.com/tjnull/cygor">tjnull/cygor</a></p><p>Open-source, Python-based asset discovery framework. It handles host discovery, port scanning, service fingerprinting, and enrichment in a single path, then organizes the results into a single web app. Good fit for attack surface inventory, lab mapping, and quick scoping when you need a clean picture of a subnet or environment.</p><div><hr></div><p><a href="https://github.com/cjpais/Handy">cjpais/Handy</a></p><p>Handy is essentially a push-to-talk assistant for transcribing your speech into text. It uses local models for the transcription itself. Good for note-taking, but might be super interesting for prompting your coding agent so you can be totally hands-off keyboard.</p><div><hr></div><p><a href="https://github.com/CarterPerez-dev/exs-cyberjob-scraper">CarterPerez-dev/exs-cyberjob-scraper</a></p><p>Elixir-based scraper that pulls cybersecurity job postings, filters out the generic &#8220;IT&#8221; noise, and surfaces which certs show up most often in real roles.  If you mentor juniors or run hiring, this is a handy way to sanity&#8209;check which certification signals actually appear in current job ads instead of guessing based on vendor marketing.</p>]]></content:encoded></item><item><title><![CDATA[DEW #158 - Perplexity open sources their Bumblebee tool, Project Glasswing Update & A history lesson in residential proxies]]></title><description><![CDATA[also im hiring so come apply!]]></description><link>https://www.detectionengineering.net/p/dew-158-perplexity-open-sources-their</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-158-perplexity-open-sources-their</guid><pubDate>Wed, 27 May 2026 12:03:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Vjkj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #158 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>Over the weekend, I was clearing out some brush in the woods behind my house since we want to create a play area for the kids. Once we get the deadwood and sticks away, we want to clear some plants as well. I pulled out my phone and scanned the plants to identify them, just in case it was poison ivy, and lo and behold, we have blueberry bushes everywhere! And I mean <em>everywhere</em>, I&#8217;ve asked my neighbors to come dig some up if they want some for their yards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k2qd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k2qd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 424w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 848w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k2qd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg" width="423" height="751.8708791208791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:423,&quot;bytes&quot;:2782186,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/199018271?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k2qd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 424w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 848w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!k2qd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27e8ea77-2cf8-49fe-a8a3-2853bb8bcbca_2376x4224.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The blooming flowers are a good sign that these may produce blueberries in a few months!</figcaption></figure></div></li><li><p>I&#8217;ll be in NY next week for work, and will be attending Sprawl on Thursday. If any readers are attending, let me know! </p></li><li><p>Lastly, my org at Datadog just opened up two engineering manager positions for our detection engineering team. We are expanding our detection engineering here at Datadog and would love to have some folks come in and help shape it in the age of AI. U.S. based applicants at this time :). </p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://careers.datadoghq.com/detail/7958663/?gh_jid=7958663&quot;,&quot;text&quot;:&quot;Apply Here!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://careers.datadoghq.com/detail/7958663/?gh_jid=7958663"><span>Apply Here!</span></a></p><p> </p></li></ul><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://www.perplexity.ai/hub/blog/perplexity-is-open-sourcing-bumblebee">Perplexity Is Open-Sourcing Bumblebee</a> by Perplexity</p><p>Perplexity, a major AI company in the AI search space, released a Go-based secret scanner dubbed Bumblebee. Bumblebee is a secrets scanner, but it has a much more focused approach to targeting open-source software and 3rd-party vendor supply chain attacks. Every week, I read and likely link threat landscape stories involving an open-source supply chain attack. Perplexity deployed this tool in a clever framework to quickly orient to emerging attacks and check their exposure on developer laptops:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vjkj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vjkj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 424w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 848w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 1272w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vjkj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png" width="1456" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Vjkj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 424w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 848w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 1272w, https://substackcdn.com/image/fetch/$s_!Vjkj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188dcc3c-b1c7-4c15-884e-999cd931ec14_1475x916.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Architecture behind Perplexity&#8217;s use of Bumblebee</figcaption></figure></div><p>I&#8217;m sure Perplexity uses its own product to create its &#8220;threat intelligence feeds&#8221; listed at the top left, then passes them to its <a href="https://www.perplexity.ai/hub/blog/introducing-perplexity-computer">Perplexity Computer Agent</a>. The agent collects as much context as possible around the attack and drafts a pull request to their exposure catalog, which is essentially a database of known malicious packages derived from their feeds. </p><p>The updated catalog kicks off a separate workflow to scan Perplexity&#8217;s fleet of laptops for emerging threats, while continuous scans are run on known-compromised packages from previous campaigns. The &#8220;worst case&#8221; scenario is finding successful compromises of devices, but the beautiful thing about this is the reliability of the build-and-scan pipeline, scouring for new campaigns. The package inventory and audit logs are excellent for false-negative analysis, especially in scenarios where a more subtle campaign that doesn&#8217;t perform smash-and-grab attacks can help responders with threat hunting. </p><p>I&#8217;ll say this again, as a word to all my readers who work in detection &amp; response: please upskill in software supply chain security! We need to understand how these campaigns operate so we can hook into CI/CD pipelines to generate detections and audit logs for hunting.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://www.reddit.com/r/blueteamsec/comments/1tm5gbo/built_a_soc_from_scratch_with_no_prior_soc/">Built a SOC from scratch with no prior SOC experience (Reddit Post)</a> by After_Marsupial_3531</p><p>I am seeing more and more discussions on Reddit about security operations programs, and this one specifically impressed me because the author rolled out a full SIEM stack as an apprentice at an MSSP. They essentially have three people in their team: themselves, a CISO, and a salesperson. What they managed to do with zero experience and launching an MSSP service is nothing short of a miracle:</p><blockquote><p> <em>I have zero experience in a mature SOC &#8212; and neither does anyone else on the team. I&#8217;m figuring things out as I go, and I&#8217;m not always sure whether what I&#8217;m doing is actually sound or consistent with industry standards.</em></p></blockquote><p>When I hear about stories like this, I immediately jump to the worst-case scenario. No experience in a SOC, fresh out of an apprenticeship and architecting a competitive managed service seems like a recipe for disaster. But they managed to launch it with real customers, primarily looking at EDR &amp; M365 telemetry. Elastic Security was their stack of choice, probably due to its simplicity of out-of-the-box rules and its being an open architecture. </p><p>The resulting discussion is great, as they were looking for feedback on their deployment. There is definitely some memeing in the comments, with good nuggets and insights for the author, such as finding a way to create a crown jewels or critical assets list and prioritizing high-risk scenarios a small business would face. </p><div><hr></div><p><a href="https://www.anthropic.com/research/glasswing-initial-update">Project Glasswing: An initial update</a> by Anthropic</p><p>I don&#8217;t know what it is about this year&#8217;s developing AI &amp; security space, but 1 month feels like 6 months in terms of technology acceleration. Anthropic just gave their 1-month update for Project Glasswing, and the results are impressive. They released Mythos to a limited set of company partners they deemed to be Internet-essential software companies, and also ran it on 1,000+ open-source projects. The results speak for themselves, but there are some nuances:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VVSd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VVSd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 424w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 848w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 1272w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VVSd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp" width="1456" height="898" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:898,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VVSd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 424w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 848w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 1272w, https://substackcdn.com/image/fetch/$s_!VVSd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3512b576-2998-4ab3-9bd1-196c082b7f01_1634x1008.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A lot of work goes into verifying vulnerabilities, both their presence and their reproducibility. Anthropic spent a lot of human energy, rightly so, to make sure that these vulnerabilities wouldn&#8217;t waste a human&#8217;s time. They employed independent security firms to help verify their findings and touted a 90%+ true positive rate. The nuance here is the patch cycle itself. </p><p>I do think this year is a landmark year for rapid vulnerability discovery and disclosure, but we are certainly not close to it being the year of rapid vulnerability patching. The bottleneck is the process of fixing, testing, merging, and deploying patches at scale. I hope Anthropic continues to invest in this space and moves towards rapid deployment of patches. Our industry, conferences, and community reveres vulnerabilities as the pinnacle of achievement for a researcher. </p><p>Maybe it&#8217;s my blue team bias, but the pinnacle achievement for me is protecting others. I&#8217;m unsure if more disclosed vulnerabilities protect others,  because the externalities around patch time, exploit time, and volume may make our situation much worse.</p><div><hr></div><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a0c504c011cb2c1081c2fb032&quot;,&quot;title&quot;:&quot;The AI-powered 10x patch tsunami has arrived. Now what?&quot;,&quot;subtitle&quot;:&quot;Security Conversations&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/6aoLItQ3c7Ngazb51HurLS&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/6aoLItQ3c7Ngazb51HurLS" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>If you haven&#8217;t read the Project Glasswing analysis above before reading this one, please do, because this episode is very relevant to my analysis. Shocker, it tends to agree with JAGS and the crew here :). </p><p>What I love about this episode is the sober grounding around the concept of &#8220;10xing vulnerabilities&#8221; due to these models. There is a lot of talk about the volume of patching from early-access vendors in Glasswing, but this tends to overlook the critical part: customers actually applying the patch! </p><p>Much like I said in my Glasswing update, I will be impressed if we can have companies that build and sell appliances, IoT devices, or even endpoints take a more opinionated approach to forcing patches. JAGS gave some ideas around this, such as giving a window for people to apply before a vendor forces the update. This has its risks, especially around governance, customer success, and usability, but if we want to tout the success of AI in security, then the boring part of patching needs to be solved just as much as the exciting part of vulnerability discovery. </p><div><hr></div><p><a href="https://code.visualstudio.com/docs/enterprise/extensions">Manage extensions in enterprise environments</a> by Microsoft Visual Studio (Documentation)</p><p>Following GitHub&#8217;s disclosed security breach, someone on Reddit posted the documentation for managing, securing, and deploying Microsoft Visual Studio extensions. It was released five days ago, so it&#8217;s likely this was posted in response to the VSCode extension attack on GitHub, which resulted in its public disclosure. For the most part, these protections are great, but I worry about a few things. </p><p>First, it assumes you have a list of all extensions that every developer uses, that you can accept and apply a deny-all afterward. For those who work with a large engineering team: good luck with that! Second, trusted publisher allow lists wouldn&#8217;t have stopped the Tanstack attack since the trusted publisher itself was compromised. Third, besides the private registry, I wish there was a native way to grab an inventory of these extensions for analysis, much like what Bumblebee from Perplexity does. </p><p>Microsoft be Microsoftin&#8217;.</p><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://www.qurium.org/forensics/the-future-of-residential-proxies/">The Future and Past of Residential Proxies</a> by Qurium</p><p>I learned the term &#8220;botnet&#8221; in my first year of college in 2008. The concept seemed cool: you infect a device, build a Rolodex of infected devices, and collect them like Pok&#233;mon cards. I never really understood the financial appeal because everything leading up to the massive DDoS botnets, such as Mirai, was mostly around selling access to perform DDoS attacks to make a statement. The recent development of residential proxies in the last two years, though, exposes a much more lucrative financial model and a more serious threat than DDoS attacks.</p><p>Qurium&#8217;s piece here eloquently lays out the history of this evolution and gives great context for those who worry about residential proxy abuse. It&#8217;s worth reading less for the individual provider callouts and more for the ecosystem shape. The interesting story is how Android supply-chain compromise, proxy SDKs, DDoS botnets, and commercial residential proxy markets start to blur together. </p><p>Qurium is on the receiving end of this abuse and has been mapping the providers, botnets, Android supply chain compromise, and proxy monetization layers that enable it. The useful takeaway is not that every residential proxy provider is malicious. It is that the line between &#8220;commercial proxy service,&#8221; &#8220;compromised device pool,&#8221; and &#8220;botnet infrastructure&#8221; is getting harder to see from the outside.</p><div><hr></div><p><a href="https://krebsonsecurity.com/2026/05/lawmakers-demand-answers-as-cisa-tries-to-contain-data-leak/">Lawmakers Demand Answers as CISA Tries to Contain Data Leak</a> by Brian Krebs</p><p>Krebs provided a follow-up update on the initial break of his&nbsp;<a href="https://krebsonsecurity.com/2026/05/cisa-admin-leaked-aws-govcloud-keys-on-github/">CISA Leak story</a>, in which he obtained letters from lawmakers asking CISA to answer questions about how the leak happened. He posted a picture from one of the letters, and it looks like Krebs' story was the first reference in their letter. I wonder if he prints these out and frames them?</p><p>With CISA funding and workforce being slashed, as Krebs points out, it's hard to understand whether this leak happened due to reduced security controls, a burnt-out staff, or discontent. CISA took over a week to rotate some credentials, including an RSA private key, after having researchers from Trufflehog and GitGuardian reaching out multiple times.</p><div><hr></div><p><a href="https://www.europol.europa.eu/media-press/newsroom/news/cybercriminal-vpn-used-ransomware-actors-dismantled-in-global-crackdown">Cybercriminal VPN used by ransomware actors dismantled in global crackdown</a> by Europol</p><p>Europol seized servers and assets, and even interviewed an administrator of &#8220;First VPN&#8221;, a residential proxy network. These networks allow users to purchase access to typically unwitting endpoints, such as cellphones, routers, and VPSes, to conceal malicious activity and make it much harder for defenders to distinguish legitimate IP addresses from malicious ones. </p><p>I&#8217;ve always been impressed by these joint operations, especially those led by Europol. They have to coordinate across countries and jurisdictions, and they manage to navigate the bureaucracies of these agencies to execute coordinated takedowns that can include seizing physical servers, domains, and other infrastructure.</p><div><hr></div><p><a href="https://www.aikido.dev/blog/supply-chain-attack-targets-laravel-lang-packages-with-credential-stealer">Supply Chain Attack Targets Laravel-Lang Packages with Credential Stealer</a> by Iyas Makari</p><p>Aikido&#8217;s Iyas Makari publishes their research on a supply-chain attack targeting Laravel. Laravel is a PHP framework used by developers to build and manage PHP applications and is widely used by websites worldwide. There are two interesting findings from this report I want to call out:</p><ul><li><p>I am worried that supply chain attacks affecting PHP applications are more likely to reach VPS servers themselves. This can open the door for more Mirai/Kimwolf-style residential proxy botnet infections, where the goal is to monetize access to compute rather than keys</p></li><li><p>The actor pushed malicious packages and pointed them to an orphaned commit on a fork, making it much harder to detect on the main repository</p></li></ul><p>I don&#8217;t think bullet 1 is happening yet, as Makari reverse-engineered the infostealer itself, which performs typical infostealer-like things such as swiping secrets and API keys. But those secrets do exist in deployed web applications, and not to sound biased, but I don&#8217;t ever think of a PHP website hosted on a VPS is as &#8220;secure&#8221; compared to what we are used to in SaaS land :).  </p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/perplexityai/bumblebee">perplexityai/bumblebee</a></p><p>Perplexity&#8217;s package scanning and supply chain security project linked from the Gem above. It&#8217;s a single Go binary you can run on your endpoints, typically paired with an MDM solution. It&#8217;ll scan for malicious packages and generate alerts, audit logs and build asset inventories. </p><div><hr></div><p><a href="https://github.com/gadievron/honeyslop/">gadievron/honeyslop</a></p><p>Much like the prompt injections you see people post about on LinkedIn, where a description in their profile has a prompt that an AI recruiter uses when sending out messages, honeyslop does this but for codebases. It&#8217;ll add prompt injections as code itself, where AI vulnerability harnesses will read and report on fictitious vulnerabilities so you know when you receive an AI slop report. </p><div><hr></div><p><a href="https://github.com/rootsecdev/relay_bible">rootsecdev/relay_bible</a></p><p>GitHub native course for readers to learn about NTLM-relay style attacks, tools and frameworks. It has several sections that first introduce what an NTLM relay attack is, and then expands out to concepts like coercion attacks, different tools and advanced techniques.</p><div><hr></div><p><a href="https://github.com/grepstrength/malsnitch">grepstrength/malsnitch</a></p><p>malsnitch is a neat malware analysis helper that looks for secrets inside malware artifacts. It takes strings output, FLOSS JSON, or Binary Ninja exports and pulls out things like C2 credentials, crypto keys, API tokens, Discord webhooks, Telegram bot tokens, and hardcoded exfil configs. This is nice if you are tracking malware families that have hardcoded C2 servers that frequently change so you can update your blocking lists. These pivots can help uncover additional infrastructure, or map out existing infrastructure for your own security research.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #157 - Shai Hulud Goes Open Source, How Anthropic uses Claude and Underground Internet Cables]]></title><description><![CDATA[Do keystone jacks work a mile under the sea?]]></description><link>https://www.detectionengineering.net/p/dew-157-shai-hulud-goes-open-source</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-157-shai-hulud-goes-open-source</guid><pubDate>Wed, 20 May 2026 12:03:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y31g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #157 of Detection Engineering Weekly!</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>Spring in Maine is finally here, and it feels like a Disney movie at the Allen household with all of the animals coming out. We have two bird nests, a family of deer, and now a woodchuck named Chippy prancing around</p></li><li><p>Speaking of Maine, I had the most Maine dinner with some friends the other night. They hunted a Moose and cooked Moose steaks for the family. Afterward, we had dessert with maple syrup tapped from trees in their yard. Moose was not that gamey, and I&#8217;d try it again!</p></li><li><p>Sabres lost :( But I&#8217;m super excited to watch this young team in the coming years, so if you are a hockey fan, don&#8217;t tease me too much because I&#8217;m still hurting from the loss</p></li></ul><h3><strong>Sponsor: Adaptive Security</strong></h3><blockquote><h3><strong>The best threat intelligence is generated by your coworkers</strong></h3><p>Security Operations teams rely heavily on detection rules and threat intelligence to stay ahead of threats. But, the AI of today focuses on social engineering your coworkers, such as deep fake interviews, voice phishing, and impersonating executives. Training your employees to spot and report AI attacks can provide valuable signals that no security product can match. </p><p>Adaptive trains your organization to spot, report, and stop these AI threats before they reach your perimeter.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.adaptivesecurity.com/lp/nb/security-awareness-training?utm_source=sp_email&amp;utm_medium=other&amp;utm_campaign=2026_02_email_newsletter_detection_engineering&amp;utm_id=701Rd00000bOBReIAO&quot;,&quot;text&quot;:&quot;Take A Tour&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.adaptivesecurity.com/lp/nb/security-awareness-training?utm_source=sp_email&amp;utm_medium=other&amp;utm_campaign=2026_02_email_newsletter_detection_engineering&amp;utm_id=701Rd00000bOBReIAO"><span>Take A Tour</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://securitylabs.datadoghq.com/articles/shai-hulud-open-source-framework-static-analysis/">Shai-Hulud Goes Open Source</a> by Ryan Simon, Sebastian Obregoso and Greg Foss</p><p><em>~ Note, Datadog is my current place of employment, and the authors here are my colleagues ~</em></p><p>I&#8217;ve covered several supply chain attacks linked to TeamPCP and one of their worm-based toolsets, Shai-Hulud. This week, GitHub repositories popped up and were quickly taken down, hosting the potential source code for Shai-Hulud. <br>The team here did a deep dive on its architecture, how it deploys loaders and malware, its C2 infrastructure, and its credential exfiltration techniques.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y31g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y31g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 424w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 848w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 1272w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y31g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png" width="1456" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Shai-Hulud framework architecture showing the pipeline from loaders through providers, collector, dispatcher, senders, and mutators (click to enlarge)&quot;,&quot;title&quot;:&quot;Shai-Hulud framework architecture showing the pipeline from loaders through providers, collector, dispatcher, senders, and mutators (click to enlarge)&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Shai-Hulud framework architecture showing the pipeline from loaders through providers, collector, dispatcher, senders, and mutators (click to enlarge)" title="Shai-Hulud framework architecture showing the pipeline from loaders through providers, collector, dispatcher, senders, and mutators (click to enlarge)" srcset="https://substackcdn.com/image/fetch/$s_!Y31g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 424w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 848w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 1272w, https://substackcdn.com/image/fetch/$s_!Y31g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47347bd7-eecd-4cbd-adfa-fd4f7769bd1c_1568x847.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The Mutator step, which enables Shai-Hulud&#8217;s propagation and worm-like capabilities, is super interesting. There are three propagation mechanisms: one I was familiar with, npm credential publishing, and two I wasn&#8217;t familiar with, cache poisoning and developer environment poisoning. Every stolen secret can be used to propagate malware across various developer environments and IDEs, such as Claude Code and VSCode. </p><p>The two npm-related techniques rely on insecure configurations for publishing npm packages. For example, if you store npm publishing tokens in your GitHub Actions pipeline, it&#8217;ll automatically download the latest version of your release, increment the semver to make it the latest branch, then deploy it, causing the post-install hooks to run, which contain the malware.</p><p>&#8220;Leaks&#8221; of malware source code like this help provide insight into how threat actors think about exploiting misconfigurations and security gaps in their targets. It&#8217;s hard to say whether this is the &#8220;real one&#8221;, but there is threat intelligence floating around social media that TeamPCP &amp; cybercriminal forums are teaming up for a Supply Chain Competition to see who pulls off the most impactful breach with Shai-Hulud.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cu-G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cu-G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 424w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 848w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 1272w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cu-G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:253332,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/197871645?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cu-G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 424w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 848w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 1272w, https://substackcdn.com/image/fetch/$s_!cu-G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dafbd8a-d99a-4c7e-a09f-25225a1399e1_1637x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://mostafa.dev/wiring-live-threat-intel-into-sigma-detection-with-dynamic-pipelines-4de29b4af7ca">Wiring Live Threat Intel into Sigma Detection with Dynamic Pipelines</a> by Mostafa Moradian</p><p>Most SIEMs let you manage threat intelligence as lookup tables or reference lists that detection rules can query against. A rule checks a destination IP against a known C2 list; the list is updated by a feed; the rule stays the same. It is one of the more practical parts of how enterprise detection pipelines handle the IOC lifecycle. It&#8217;s also VERY hard to manage, and without understanding the underlying engineering required to handle dynamic tables, you can produce stale IOCs for your detections, or worse, miss emerging IOCs and fall victim to false negatives.</p><p>Moradian has been building toward the same capability in his <a href="https://github.com/timescale/rsigma">RSigma</a> project. I first covered the project in <a href="https://www.detectionengineering.net/p/dew-149-roll-your-own-sigma-siem">#149</a>, when it was a Rust CLI for evaluating Sigma rules against JSON logs without any infrastructure. By <a href="https://www.detectionengineering.net/p/dew-154-mythos-firefox-hype-rsigma">#154</a>, it had grown into a streaming daemon with NATS and HTTP log inputs, stateful correlation windows, and Prometheus metrics.</p><p>The latest addition here is dynamic pipelines: instead of hardcoding IOC values in rule YAML, you declare external sources in the pipeline config, and RSigma fetches and injects them at evaluation time. This works very similarly to how I&#8217;ve seen SIEMs implement threat intelligence pipelines, but since it&#8217;s RSigma, it&#8217;s self-contained within its ecosystem.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qILj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qILj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 424w, https://substackcdn.com/image/fetch/$s_!qILj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 848w, https://substackcdn.com/image/fetch/$s_!qILj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 1272w, https://substackcdn.com/image/fetch/$s_!qILj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qILj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Architecture diagram showing two threat intelligence sources (Feodo Tracker HTTP feed providing C2 IPs, and a CISA Advisory processed by ioc-finder providing C2 domains) feeding into a Dynamic Pipeline that resolves and expands placeholders in Sigma Rules, which are then evaluated by the RSigma Daemon against incoming Firewall and DNS log events to produce Detections.&quot;,&quot;title&quot;:&quot;Architecture diagram showing two threat intelligence sources (Feodo Tracker HTTP feed providing C2 IPs, and a CISA Advisory processed by ioc-finder providing C2 domains) feeding into a Dynamic Pipeline that resolves and expands placeholders in Sigma Rules, which are then evaluated by the RSigma Daemon against incoming Firewall and DNS log events to produce Detections.&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Architecture diagram showing two threat intelligence sources (Feodo Tracker HTTP feed providing C2 IPs, and a CISA Advisory processed by ioc-finder providing C2 domains) feeding into a Dynamic Pipeline that resolves and expands placeholders in Sigma Rules, which are then evaluated by the RSigma Daemon against incoming Firewall and DNS log events to produce Detections." title="Architecture diagram showing two threat intelligence sources (Feodo Tracker HTTP feed providing C2 IPs, and a CISA Advisory processed by ioc-finder providing C2 domains) feeding into a Dynamic Pipeline that resolves and expands placeholders in Sigma Rules, which are then evaluated by the RSigma Daemon against incoming Firewall and DNS log events to produce Detections." srcset="https://substackcdn.com/image/fetch/$s_!qILj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 424w, https://substackcdn.com/image/fetch/$s_!qILj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 848w, https://substackcdn.com/image/fetch/$s_!qILj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 1272w, https://substackcdn.com/image/fetch/$s_!qILj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9a0284c-ee54-4c0c-8681-2b4f8453258f_2000x500.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The practical demo is a firewall detection rule with a single field: DestinationIp: &#8220;%c2_ips%&#8221;. The pipeline pulls the Feodo Tracker C2 blocklist, a public JSON feed covering Emotet, Dridex, TrickBot, and QakBot updated every five minutes, extracts the IP array, and expands that placeholder before the rule evaluates. If the feed is unreachable, RSigma falls back to the last cached data so you do not lose coverage during a transient outage. The rule author never touches an IOC value again.</p><div><hr></div><p></p><div id="youtube2-FPPTnI88RR8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FPPTnI88RR8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/FPPTnI88RR8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I thought this was a neat video by the Anthropic team, featuring a friend of the newsletter, Jackie Bow, on how their internal detection &amp; response team uses Claude! They built a tool called CLUE, which they <a href="https://www.youtube.com/watch?v=JRvQGRqMazA">first featured</a> at BSides SF in 2025. It looks similar to a co-pilot tool from AI SOC vendors, but it's their own internal version. I think it helps make the case for those who choose to go build versus buy, by offering control over which features go in and out of the tool, an integration catalog focused on systems you deploy for your organization, and a tighter feedback loop. <br></p><p>The case against is a capacity-and-cost problem. It is attractive to buy AI SOC-like tools if you are budget-constrained or don&#8217;t have the talent to build and maintain one.</p><div><hr></div><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a77e76ef980ccf6174ff80c42&quot;,&quot;title&quot;:&quot;Samanth Subramanian on the Undersea Cables That Keep the Internet Alive&quot;,&quot;subtitle&quot;:&quot;Bloomberg&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/724d6AwG89DWt9qr1BlNIx&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/724d6AwG89DWt9qr1BlNIx" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>Ok, a lot of media on this issue, but hear me out. Odd Lots is a Top 3 podcast for me, and its focus is Finance topics. They bring on amazing guests that talk about everything from the economics of milk to tarriff refunds at shipping ports and even cybersecurity. </p><p>I chose this episode because its about the history and economics of deep-sea cables, with a particular focus on Internet cabling. We seriously don&#8217;t appreciate how complicated and opaque this process is for the end user. So, if you want to learn about Internet-scale issues, you must learn about the physical nature of operating the Internet!</p><div><hr></div><p><a href="https://censys.com/blog/ultimate-guide-to-detection-engineering-with-censys/">The Ultimate Guide to Detection Engineering with Censys</a> by Alex Gartner</p><p>In this post, Censys detection engineer and security researcher Alex Gartner helps readers understand how to integrate detection engineering concepts into Censys&#8217; internet-wide scanning data. This is especially interesting to me in a few ways:</p><ul><li><p>I&#8217;ve rarely read posts on how to <em>integrate</em> Internet scan data as correlation rules with traditional telemetry from the endpoint or network</p></li><li><p>Understanding how attacker infrastructure can be fingerprinted is a valuable skill in itself; it&#8217;s not all just IP address and domain matching</p></li><li><p>Speaking of IP addresses: threat intelligence is much more useful when it&#8217;s clustered and used as an enrichment, and we leave out a lot of interesting threat intelligence indicators</p></li></ul><p>I&#8217;ve been a big fan of Censys since they started their company several years ago. And luckily, many of the concepts Gartner discusses are available in community edition accounts. I typically don&#8217;t link to vendor blogs that talk about their products unless they offer free or community-edition access, so you can try these concepts out by signing up.</p><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/grafana/status/2055827123236171827&quot;,&quot;full_text&quot;:&quot;&#128680; We recently discovered that an unauthorized party obtained a token with access to the Grafana Labs GitHub environment, enabling the threat actor to download our codebase. (1/6)&quot;,&quot;username&quot;:&quot;grafana&quot;,&quot;name&quot;:&quot;Grafana&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1678521927176953856/YIo0FGyy_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-17T01:45:56.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:146,&quot;retweet_count&quot;:1044,&quot;like_count&quot;:6421,&quot;impression_count&quot;:1675663,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Grafana, an observability company with a large open-source following, disclosed a security breach in which attackers obtained an administrative-level GitHub access token. They don&#8217;t specifically say if it&#8217;s a <a href="https://github.blog/changelog/2021-07-26-expiration-options-for-personal-access-tokens/">long-lived token</a>, which GitHub has urged customers to use, but it&#8217;s likely if it survived a CI/CD build run. The group behind the incident, <a href="https://www.ransomware.live/group/coinbasecartel">Coinbase Cartel</a>, also likely used a <a href="https://www.praetorian.com/blog/pwn-request-hacking-microsoft-github-repositories-and-more/">pwn request</a> to take the token and subsequently exfiltrate their entire codebase.</p><p>The group tried to extort Grafana with a ransom demand, but Grafana said in their tweet that they refused to pay. This is the right approach, since paying doesn&#8217;t guarantee that the thiefs won&#8217;t sell it to someone else.</p><div><hr></div><p><a href="https://canlas.me/oh-look-a-vps-i-purchased-8-months-ago-ae3ce8993446">Oh look, a VPS I purchased 8 months ago.</a> by Jonathan Canlas</p><p>In this post, Canlas, a detection engineer, stumbled upon a VPS they had purchased several months ago and had accidentally left running. They turned it into a honeypot to understand what kinds of attacks it attracts, using subsequent telemetry to learn more about the research and detection workflow. I appreciated reading this post because most honeypot stories I read follow a formula: a lab that deploys a honeypot. This one, in particular, offers much more insight into Canlas&#8217; experience as a detection engineer and how they approached the deployment through a lens of hypothesis-driven research.</p><div><hr></div><p><a href="https://newtonpaul.com/blog/evilginx-m365-aitm-panel-research/">Novel Evilginx Frontend - Lowering the barrier for token theft reuse</a> by Paul Newton</p><p>Evilginx is a legitimate open-source framework that helps red-teamers build and deploy phishing pages with easy-to-use templates. There is a pro version where the company behind Evilginx vets prospects to ensure they aren&#8217;t evil, but the open-source version gets a lot of traction from bad guys. In this post, Newton was hunting for M365-related phishing kits and found a cleverly built M365-themed management interface. IMHO, it makes the post way more interesting since it&#8217;s about this peculiar management tool.</p><p>The potential threat actor built this front end to manage stolen M365 tokens at scale. They can switch between victim tokens within a single interface, import stolen tokens from their Telegram bot, and execute attacks with a single click. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BMqL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BMqL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 424w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 848w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 1272w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BMqL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg" width="1456" height="1199" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1199,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram showing the three-tier AiTM attack chain: Evilginx phishing server, operator panel, and Microsoft Graph API&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing the three-tier AiTM attack chain: Evilginx phishing server, operator panel, and Microsoft Graph API" title="Diagram showing the three-tier AiTM attack chain: Evilginx phishing server, operator panel, and Microsoft Graph API" srcset="https://substackcdn.com/image/fetch/$s_!BMqL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 424w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 848w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 1272w, https://substackcdn.com/image/fetch/$s_!BMqL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c3fadb9-197c-44ba-bc3f-e38ae38a5327_680x560.svg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A single stolen token grants the operator access to several products in the M365 suite, up to and including pivoting to take over the Entra environment. </p><p>When AI doomers or marketers post about the onset of dangerous, vibe-coded malware at scale, I roll my eyes because most malware is a commodity at this point. Evilginx is so good, so why switch how it works? I worry more about the <em>organizational scale</em> that vibe-coding offers threat actors. </p><p>Before Claude Code, creating an interface like this would have taken months, either with a professional front-end developer or with someone who spent a lot of time learning front-end coding. Front-end coding with coding agents is AWESOME, so it&#8217;s now much more accessible for people to build things like this without spending their capacity on learning.</p><div><hr></div><p><a href="https://blog.cloudflare.com/cyber-frontier-models/">Project Glasswing: what Mythos showed us</a> by Grant Bourzikas</p><p>Cloudflare ran Mythos Preview on more than 50 of its own repositories as part of Project Glasswing and published the results. Much like what Anthropic noted about Mythos in their Glasswing blog, Cloudflare said it was excellent at generating exploit chains and generating proof, via a PoC, that it found a bug. The harness architecture they built around it is worth reading too: they created narrowly scoped parallel agents, each focused on a single attack class, and then used an independent adversarial agent whose only job is to disprove the original finding. </p><p>Nothing in here really surprised me regarding the applicability of Mythos to real-world code environments. An agent is only as good as its harness, and although Mythos has fewer guardrails and is tuned for security findings, it still requires work to operationalize. </p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/vinsk0h/KQLab">vinsk0h/KQLab</a></p><p>KQLab is a self-hosted platform for storing, protecting, and indexing KQL rules. It has an impressive full-stack architecture and is built to provide strong authentication and verification measures for users, and even includes RBAC capabilities to scope certain rule sets to specific teams. </p><div><hr></div><p><a href="https://github.com/OWASP/DockSec">OWASP/DockSec</a></p><p>DockSec is an OWASP Incubator project that builds a vulnerability scanning report from several open-source tools and generates human-readable reporting leveraging an LLM harness. It&#8217;s smart enough to prioritize vulnerabilities based more on CVSS scores, and you can stick it in your CI/CD pipeline so it can recommend fixes that developers understand, rather than a massive findings report.</p><div><hr></div><p><a href="https://github.com/phylecorp/gabo">phylecorp/gabo</a></p><p>Gabo is a Nebula:Fog hackathon project built for threat intelligence analysts. It uses the CIA&#8217;s&nbsp;<a href="https://www.cia.gov/resources/csi/static/Tradecraft-Primer-apr09.pdf">Structured Analytical Techniques</a>&nbsp;playbook to provide users a tool where they can ask it questions, and it&#8217;ll provide rigorous feedback based on their analysis. It has an MCP server as well, so you can point your local coding agent or stack at it.</p><div><hr></div><p><a href="https://github.com/microsoft/AntiSSRF">microsoft/AntiSSRF</a></p><p>AntiSSRF is a security component library from Microsoft that helps developers deploy apps without worrying about the underlying techniques used to prevent SSRF attacks. It has a robust URL parsing library, which are always a headache to work with, to validate incoming HTTP requests and reject any that look like SSRF attacks.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #156 - Putting Detection Coverage on Blast, SOC Metrics Stink and the decline of cool Windows Malware]]></title><description><![CDATA[Long car rides make me question everything in security]]></description><link>https://www.detectionengineering.net/p/dew-156-putting-detection-coverage</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-156-putting-detection-coverage</guid><pubDate>Wed, 13 May 2026 12:03:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/719b0642-6848-4d68-9b81-7f2ace20ad5c_3736x1768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #156 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>Another Allen first! My daughter had her first T-Ball game and after trepidation in practice, she surprised all of us with some <em>very</em> competitive plays and dogpiled on the baseball with other 4-5 year olds</p></li><li><p>I booked my hacker summer camp Vegas travel so I&#8217;ll see you all at BlackHat &amp; DEFCON. I&#8217;ll be trying to host a Detect &amp; Response Happy Hour again, so stay tuned. If any current or future sponsors want to do an event, or sponsor the Happy Hour, feel free to reach out to me! <a href="mailto:techy@detectionengineering.net">techy@detectionengineering.net</a></p></li><li><p>I&#8217;m starting to kick the tires on Codex and have been impressed with it so far. I&#8217;ve also had an itch to resurrect my OpenClaw instance for more malware research so wish me luck with my wallet :) </p></li></ul><ul><li><p>The 3rd edition of Datadog Detect is next week! Datadog Detect is a FREE, fully-online security operations focused event hosted by the Security Research team here at Datadog. We&#8217;ll have three presentations from practitioners and a short panel discussion afterward. The first two were excellent and I hope to see you all on this one. Checkout the schedule and the registration link below!</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ddog.io/detect-0526-dew&quot;,&quot;text&quot;:&quot;Register for Datadog Detect&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://ddog.io/detect-0526-dew"><span>Register for Datadog Detect</span></a></p></li></ul><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://www.gabrielabdelgawad.com/p/coverage-is-not-detection">Coverage Is Not Detection</a> by Gabriel Abdelgawa</p><p>I read a ton of blogs and thought pieces about detection coverage. MITRE ATT&amp;CK is the industry standard for explaining this concept, and it has its uses. It answers the question &#8220;am I covered?&#8221; and is a useful tool for communicating to others that you don&#8217;t have a visibility or detection gap. It has also been abused by product marketing, especially when vendors claim 100% coverage or more coverage than their competitors. Detection engineers know this, but they don&#8217;t necessarily know why it&#8217;s a double-edged sword, beyond the nuances of rules and how they can be bypassed.</p><p>Abdelgawa&#8217;s blog post on this is the cleanest and most concise description of the inherent problem with detection coverage as a metric. The problem is that they are defensible because it&#8217;s a number you are communicating. They aptly reference a concept from Theodore Porter on mechanical objectivity. The idea is that quantifying a problem, such as with a percentage, is harder to challenge than a qualitative approach. Presenting 90% coverage on an ATT&amp;CK heatmap biases the audience because they assume the measurement that yielded that 90% used sound methodologies. </p><p>We all know that&#8217;s not true :).</p><p>Abdelgawa cites several examples within detection scenarios where coverage starts to fail. The examples are rooted in three categories:</p><ul><li><p><strong>Depth</strong>: The idea of coverage is binary, so if you detect obfuscated PowerShell usage, and you have one rule, are you covered?</p></li><li><p><strong>Relevance</strong>: What is relevant to your environment, and are you assigning equal weight to a Windows technique if you run a full macOS shop?</p></li><li><p><strong>Independence</strong>: Focusing a detection opportunity on a singular telemetry source can fail you if that telemetry source, such as EDR, doesn&#8217;t generate the correct telemetry or find the activity at all</p></li></ul><p>I&#8217;ve argued ad nauseam about coverage to folks, and it&#8217;s never the detection engineers who disagree with me. It&#8217;s mostly leaders and vendors. And TBH, I don&#8217;t blame leaders. We need a better way to measure the readiness of detection rules and security incidents in general. So, use a number as an anchor point, but make sure you provide context and methodology so it can be challenged.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://thrivingdefense.com/reference/ACRE">ATT&amp;CK Coverage Ratio Evaluation (ACRE)</a> by Jordan Anderson</p><p>This blog release timing is excellent with Abdelgawa&#8217;s Gem post above! The gem above diagnoses why coverage maps fail as a measurement device, and Anderson's blog is essentially the constructive counterpart. Anderson&#8217;s ACRE measurement fairly well addresses the two problems of relevance and independence in detection coverage, and, self-admittedly, depth is much harder to solve. </p><p>The &#8220;ratio&#8221; in ACRE helps teams derive a denominator of techniques more likely to be mapped to your environment, forming a subset of the full MITRE ATT&amp;CK map. They leverage MITRE&#8217;s <a href="https://car.mitre.org/coverage/">CAR Catalog</a>, a set of rules compiled across several vendors, to build a realistic roadmap of detections you should implement to achieve coverage. This can fail, IMHO, if this catalog is not kept up to date, but just building the roadmap for coverage alone is worth using CAR.</p><p>ACRE also solves the &#8220;everything carries the same weight&#8221; problem by adding a weighting mechanism. Techniques that live in the middle of ATT&amp;CK, such as persistence, should have more telemetry and detection opportunities than those in the beginning and end stages. So, when ACRE computes the full score, it assigns greater weight to coverage for these middle-stage techniques and then splits them out by OS. You then have a much cleaner numerical score on coverage and weights within each environment.</p><div><hr></div><p><a href="https://www.ncsc.gov.uk/blogs/could-your-choice-of-metrics-be-harming-your-soc">Could your choice of metrics be harming your SOC?</a> by Dave Chismon</p><p>As we move downstream from detection metrics to SOC metrics as a whole, we return to the question of how we measure success in security and the pitfall of mechanical objectivity. Chismon rightly calls out that efficacy in security operations is rooted in an IT-centric productivity culture. This focuses on units-of-work measurements, such as the number of tickets processed (alerts triaged), meeting KPIs or SLAs (mean time to touch an alert), and other human-based tasks.</p><p>Chismon calls out four metrics that fall into the mechanical objectivity trap: the number of tickets processed, the time to close a ticket, the number of detection rules, and the volume of logs. We tend to take metrics like this and optimize around them because we assume they measure SOC performance. But, much like the pieces above by Anderson and Abdelgawa, they don&#8217;t answer the question of &#8220;how ready are we for a security incident?&#8221;</p><p>Chismon suggests seven metrics at the end of the post, and what I love about these is that they are a mix of metrics we know and love, and <em>human-based</em> metrics. A successful SOC, for example, is one full of people who are satisfied with their jobs and engaged, so why not measure that? The same thing applies to engagement beyond the security team and to making sure the analysts know the environment they are trying to protect. </p><div><hr></div><p><a href="https://nooneshappy.com/article/appearing-productive-in-the-workplace/">Appearing Productive in The Workplace</a> by No One&#8217;s Happy</p><p>This blog isn&#8217;t necessarily detection or even security-related, but it&#8217;s especially relevant for all of us operating in a coding-agent world where everyone seems to be building code. It offers a meek look at what coding agents can do well for anyone, but also what they don&#8217;t do for those who understand the underlying technologies, idiomatic techniques, and gotcha&#8217;s associated with software engineering. It plays nicely into the security-relevant piece on the <em>cognitive rust belt</em> by St-Meyers in a <a href="https://www.detectionengineering.net/i/192866611/detection-engineering-gem">previous issue</a>.</p><p>These risks are real, and people are concerned about untrained people writing software. Putting the security piece aside, the reliability of these systems and the likelihood of strange architectures that don&#8217;t fit practices built and honed over the last 30 years mean they risk being dumped on the software teams who did not build them. </p><p>On the contrary, it does throw the baby out with the bathwater, in the sense that I don&#8217;t see anything about how this technology can be used for good to help these folks. I tried writing about this in my piece about agentic coding x security below:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;aed6a227-a68d-42ce-a7a4-7fbd49254072&quot;,&quot;caption&quot;:&quot;I&#8217;ve had this nagging desire to write about my personal thoughts on agentic workflows and security operations for several months. I&#8217;ve expertly procrastinated on getting these thoughts on paper. Two reasons: I wanted to understand AI in security operations more deeply first, and, frankly, you&#8217;re probably exhausted by the marketing hype around agentic se&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Knowing what good looks like in agentic security&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-19T13:11:34.824Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/njLmXeS9GFM&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/knowing-what-good-looks-like-in-agentic&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:188442527,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><a href="https://visit.suspect.network/reversing-adventures/inadvertent-injections">Inadvertent Injections</a> by sud0woodo</p><p>In this post, sud0woodo hunted for PoisonedRefresh samples first discovered and posted by ESET <a href="https://xcancel.com/ESETresearch/status/2047709934721049040?ref_src=twsrc%5Etfw">on Twitter</a>. PoisonedRefresh is a piece of malware that targets F5 devices and creates an implant within the Apache process to execute a webshell. The x64 variant they found on VirusTotal is more portable than the original sample and includes a peculiar design decision that could potentially expose researchers to accidentally compromising a device.</p><p>The implant hooks read() and runs a <a href="https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm">KMP</a> string search against every GET and POST request. The upside of KMP is that the magic trigger can live anywhere in the request, such as a cookie value, a referrer, or a JWT payload, which makes it much harder to fingerprint the implant from the outside.</p><p>According to sud0woodo, if security companies or researchers are actively scanning for this variant and their probes carry the magic string, they can trigger the webshell injection on a box that the operator has not yet activated. The author calls this an inadvertent injection, and it can mess up forensic investigations and create false alarms for those hunting for these payloads in their own environments.</p><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://r136a1.dev/2026/05/07/where-have-all-the-complex-malware-and-their-analyses-gone/">Where Have All the Complex Windows Malware and Their Analyses Gone?</a> by R136a1</p><p>I remember when Mandiant first released its&nbsp;<a href="https://services.google.com/fh/files/misc/mandiant-apt1-report.pdf">APT1 report</a>&nbsp;and how blown away I was by the technical aptitude of both&nbsp;the researchers and the threat actors themselves. I was just out of college, and after reading it, I knew I wanted to pursue threat research as my career. Windows was the operating system used to build malware because of Microsoft&#8217;s market share, the lack of cloud computing at the time, and the lack of commoditization of attack tools and security knowledge.</p><p>Fast forward 14 years (!) later, and the industry and landscape have changed so much that reports like this no longer come out. It&#8217;s not for the lack of effort, as R136a1 puts it, but more so several factors around access to <a href="https://pylos.co/2025/09/01/intelligence-poverty-and-the-commercial-data-economy/">intelligence</a>, the advent of GitHub and open-source post-exploitation toolsets, and the cloud and SaaS apps changing the focus of threat actors. Social media, IMHO, plays a huge part here too, because we can all build independent followings without having to worry about throwing time and money into marketing our research.</p><div><hr></div><p><a href="https://github.com/V4bel/dirtyfrag">dirtyfrag</a> by V4bel</p><p>Dirtyfrag is a Linux kernel LPE vulnerability that draws inspiration from <a href="https://securitylabs.datadoghq.com/articles/dirty-pipe-container-escape-poc/">DirtyPipe</a>. It&#8217;s a reliable exploit in the sense that it doesn&#8217;t cause kernel panics, and you don&#8217;t need to rely on any time windows or race conditions. It relies on exploiting <a href="https://en.wikipedia.org/wiki/Page_cache">page caches</a> in the Linux kernel, which are privileged kernel memory that help optimize memory reads and writes by preventing repeated disk access.</p><p>In DirtyPipe, you can achieve LPE by timing a <a href="https://en.wikipedia.org/wiki/Splice_(system_call)">splice()</a> syscall to gain arbitrary write. Dirtyfrag achieves the same outcome by corrupting a pointer in <a href="https://docs.kernel.org/networking/skbuff.html">sk_buff</a>, the Linux kernel&#8217;s core network packet structure. The frag member of sk_buff holds a reference to a page-cache page used to build packet fragments. </p><p>By corrupting that reference to point to a read-only page backing a privileged file, you get an arbitrary 4-byte write through the network path, allowing you to write suid binaries, overwrite entries in a password file, or do some fun container escape shenanigans.</p><div><hr></div><p><a href="https://www.aikido.dev/blog/mini-shai-hulud-is-back-tanstack-compromised">Mini Shai-Hulud Is Back: npm Worm Hits over 160 Packages, including Mistral and Tanstack</a> by Raphael Silva</p><p>The Aikido Research team uncovered a new campaign <a href="https://malpedia.caad.fkie.fraunhofer.de/details/js.shai_hulud">Shai-Hulud</a> targeting several npm packages, with <a href="https://github.com/tanstack">Tanstack</a> and Mistral&#8217;s npm packages being the more popular packages hit inside the campaign. Tanstack&#8217;s <a href="https://tanstack.com/blog/npm-supply-chain-compromise-postmortem">post-mortem</a> describes a PwnRequest style initial access vector, which then pivoted into their CI/CD pipeline. They abused the lack of trusted publishing inside their environment, and began propagating 80+ malicious versions into the ecosystem that performed the same worm-like attacks that looked like it eventually hit Mistral.</p><div><hr></div><p><a href="https://www.microsoft.com/en-us/security/blog/2026/05/07/prompts-become-shells-rce-vulnerabilities-ai-agent-frameworks/">When prompts become shells: RCE vulnerabilities in AI agent frameworks</a> by Uri Oren, Amit Eliahu and Dor Edry</p><p>This is an interesting vulnerability research piece that examines how AI agent applications leveraging orchestration layers, such as LangChain, can be vulnerable to traditional command injection and remote code execution. Much like the well-understood attacks against web applications that exploit code paths leading to unsafe deserialization or risky eval() calls, popular AI agent libraries can have the same vulnerable code paths. </p><p>Microsoft researchers Oren, Eliahu, and Edry demonstrate this vulnerable code path within Microsoft&#8217;s Semantic Kernel project. In CVE-2026-26030, the In-Memory Vector Store feature passes AI model output directly into a Python eval() call to filter search results. They circumvented some filtering logic in the path to break out and achieve a shell.</p><p>The second vulnerability, CVE-2026-25592, abuses a helper function that was accidentally exposed to the model as a callable tool. The localFilePath parameter, which controls where the file is written on the host filesystem, lacked validation. The attack was unique here: they generated the payload in the sandbox, then made a tool call to achieve host compromise.</p><div><hr></div><p><a href="https://www.taipeitimes.com/News/taiwan/archives/2026/05/05/2003856781">Student&#8217;s hack prompts THSRC review</a> by Shelley Shan (Taipei Times)</p><p>A student in Taiwan used a software-defined radio to analyze, reverse engineer, and replay signals on Taiwan High Speed Rail&#8217;s radio communication system. They sent a spoofed general alarm to the control center that halted trains for 20 minutes. Police found nearly a dozen two-way radios at his residence and confirmed he had also cracked into the New Taipei City Fire Department and Taoyuan Airport MRT frequencies.</p><p>I&#8217;m unsure what the motivation for the hacks here were other than morbid curiosity and the hacker mindset. I do think this points out several security flaws in Taiwan&#8217;s rail system, so they could have done some good and tried to report this. It makes it particularly sensitive as the tensions in Taiwan are higher than ever with PRC, and a &#8220;hack&#8221; causing physical consequences makes the government particularly sensitive to these types of crimes.</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://gist.github.com/ddamenova/a24f3f012012affd017d6bf712f2dd02">ddamenova/IRQL - Incident Response Query Language</a></p><p>IRQL is a domain specific language that sits on top of KQL to help alleviate both the barrier-to-entry of running KQL and to reduce the complexities of large KQL queries. Analysts use 5 primary functions that help build queries: selectors, extractors, enrichers, graph-listed variants and external enrichments. These look to be re-usable components and idiomatic queries found in KQL functions, and the example KQL &lt;&gt; IRQL query shows an impressive transformation that looks much cleaner and easier to read.</p><div><hr></div><p><a href="https://github.com/microsoft/EventLogExpert">microsoft/EventLogExpert</a></p><p>Windows Event Log viewer built by Microsoft themselves! It looks like a Wireshark but for Event Log analysis, which is nice because parsing these logs does require some expertise not only with the structure of EventLogs but some PowerShell kung-fu to correctly parse them.</p><div><hr></div><p><a href="https://github.com/Mihir-Choudhary/EventHawk">Mihir-Choudhary/EventHawk</a></p><p>EventHawk&#8217;s latest release has some good timing with Microsoft&#8217;s EventLogExpert listed right above this entry. EventHawk is also a Windows Event Log parsing tool, but it has a lot more bells and whistles and a much cleaner user interface for analysis. I love the ATT&amp;CK integration module, so it provides a much more enriched view into EventLogs both for quick analysis and for learning.</p><div><hr></div><p><a href="https://github.com/beenuar/AiSOC">beenuar/AiSOC</a></p><p>Self-contained AI SOC you can run locally or on a hosted cloud environment such as Fly, AWS or K8s. It ships an MCP server and exposed tools to call the models and perform the translation layer. These repositories generally look like lab environments or someone&#8217;s research project, but this is the first one I&#8217;ve found that has a seriously impressive amount of features, toolsets, integrations and a healthy development community. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #155 - Gems from the 2026 Trenches]]></title><description><![CDATA[A lookback on my favorite gems :)]]></description><link>https://www.detectionengineering.net/p/dew-155-gems-from-the-2026-trenches</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-155-gems-from-the-2026-trenches</guid><pubDate>Wed, 06 May 2026 12:03:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lZ-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #155 of Detection Engineering Weekly! <br><br>This week, I&#8217;m resurfacing some of my favorite Gems over the last five months. We&#8217;ll be back to our regularly scheduled newsletter starting next week!</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I&#8217;ve officially christened yard work shoes with an old pair of white sneakers. I just need some cargo pants, a cell phone clip attached to my hip, and a Bluetooth headset to really complete the outfit</p></li><li><p>I saw my friends playing Slay the Spire 2 on Steam, so I got it, and it&#8217;s so addictive! You know it&#8217;s bad when you think about game mechanics on your drive to the gym or between work meetings</p></li><li><p>Proud Dad moment: my daughter had her first-ever ballet recital, and she crushed it. She was in an auditorium with over 100 people, and she was in the youngest age group. She was all smiles and even found us in the crowd and waved</p></li></ul><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e1310ed7-ec09-4a1c-91d8-8f5e7dd88169&quot;,&quot;caption&quot;:&quot;Welcome to Issue #148 of Detection Engineering Weekly!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DEW #148 - Detection Pipeline Maturity, GenUI for Log Analysis and Hunting Kali in Splunk&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-03-11T12:03:30.865Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!lZ-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/dew-148-detection-pipeline-maturity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:190509913,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><a href="https://detect.fyi/detection-pipeline-maturity-model-076984779651">Detection Pipeline Maturity Model</a> by Scott Plastine</p><p>I&#8217;m a huge fan of maturity models, and in the early days of my writing, I frequently referenced the work of <a href="https://medium.com/snowflake/threat-detection-maturity-framework-23bbb74db2bc">Haider Dost</a> and Kyle Bailey when discussing the maturity of detection engineering programs. As this space matured, technology matured with it, and we now have complex systems within each part of the Detection Engineering Lifecycle. So, to me, it makes sense that we now have folks like Plastine helping us understand what it means to measure the maturity of a Detection Pipeline.</p><p>Plastine outlines six different levels of maturity, starting with a classic favorite, no maturity! This involves having a security tool stack with no centralization, and analysts have dozens to hundreds of Google Chrome tabs open which gives me anxiety. The fundamental issues Plastine outlines and continues to improve here include:</p><ul><li><p>Several security tools with their own alerting and detection systems</p></li><li><p>The need to log into and investigate each alert on each individual tool, so managing screen sprawl</p></li><li><p>The analyst manually building cases in some case management or ticketing tool, such as JIRA or ServiceNow</p></li></ul><p>The next maturity step, Basic, addresses some of these issues by essentially placing the Case Management tool between the tools and the analyst, rather than being out of band. As maturity levels progress, so does the architecture of this setup. For example, the &#8220;Standard+&#8221; architecture has a much saner pipeline setup:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lZ-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 424w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 848w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1272w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" width="1027" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1027,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:336659,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/190509913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 424w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 848w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1272w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The cool part at this point in the maturity journey is switching from architecture improvements to more advanced concepts in the analytics platform. Custom telemetry, log normalization, and a risk-based alerting engine ideally surface only relevant alerts and reduce false positives. Teams begin to build composite rules, leveraging commercial detections alongside their own internal detection and risk alerting systems, and they all take advantage of learning from their data to inform their rule sets, not just their environment.</p><p>This diagram drove it home for me, and became my favorite:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_NB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_NB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 424w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 848w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1272w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png" width="1456" height="586" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129464,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/190509913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_NB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 424w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 848w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1272w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As you progress through maturity, the trap teams fall into is <em>more rules is better</em>. I think the measure of a Leading detection function is reducing rule count thereby reducing the complexity of managing rule sprawl.</p><p>Plastine posits that this can be achieved by using data-science-based rules, risk-based detection, and leveraging as much entity-based correlation as possible.</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3d89cf95-75ed-4c2d-a08a-ba1a159c0704&quot;,&quot;caption&quot;:&quot;Welcome to Issue #144 of Detection Engineering Weekly!Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DEW #144 - Pyramid of Permanence and &#129438;OpenClaw &#129438; Security Dumpster Fires&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-04T13:03:46.569Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!vnCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/dew-144-pyramid-of-permanence-and&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186803888,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:3,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><a href="https://medium.com/@vanvleet/ttpis-extending-the-classic-model-058c572b76f3">TTPI&#8217;s: Extending the Classic Model</a> by Andrew VanVleet</p><p>Tactics, Techniques &amp; Procedures (TTPs) is a table-stakes term in our industry. It binds our understanding of attacker behavior into a common lexicon. Within this lexicon, MITRE ATT&amp;CK reigns supreme, and they have some generally agreed-upon definitions within their <a href="https://attack.mitre.org/resources/faq/">ATT&amp;CK FAQ</a>. Basically, in order to understand MITRE ATT&amp;CK, you have to understand their nomenclature of TTPs, where:</p><ul><li><p>Tactics describe an adversarial objective, such as initial access</p></li><li><p>Techniques describe how an attacker can execute some operation to achieve that objective</p></li><li><p>Procedures describe the implementation details of a technique in a given environment</p></li></ul><p>In this post, VanVleet challenges this model because the specific details of how an attack is carried out at the Procedure level can sometimes be vague. I think this is by design on MITRE&#8217;s part, because the procedure to achieve it can differ depending on the environmental context I mentioned earlier. He makes the analogy that Procedures are like a cake, not necessarily a recipe. He proposes the concept of <em>Instance,</em> which is the recipe itself, to achieve that procedure.</p><p>ATT&amp;CK does get close to this via Detection Strategies. As an example, VanVleet looks at <a href="https://attack.mitre.org/techniques/T1070/001/">T1070.001</a>, Indicator Removal: Clear Windows Event Logs. The MITRE page includes a description of how this can be achieved, but it seems high-level enough that some more detail on the recipe would be helpful. The <a href="https://attack.mitre.org/detectionstrategies/DET0532/">detection strategy</a> can provide more clues from an event-ID perspective, but without the technical implementation, it may be hard to recreate and test. Here&#8217;s his idea of what an <em>Instance</em> section could look like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zwOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zwOR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 424w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 848w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png" width="1456" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:378216,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/186803888?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zwOR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 424w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 848w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This could be helpful for detection engineers who want to recreate the attack in their own environment to test their telemetry generation and detection rules.</p><p>I&#8217;ve always had a hard time with the Pyramid of Pain for this exact reason. The &#8220;TTPs&#8221; part at the top of the Pyramid can encapsulate <em>so much work</em>, without any ability to reverse-engineer how the attack is captured. In fact, I&#8217;ve always thought TTPs/Tools should be combined, because almost every Procedure contains some level of tooling to capture the attack.</p><p>In the spirit of alliteration, and perhaps more as a thought exercise, he proposes the &#8220;Pyramid of Permanence&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EsQt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EsQt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 424w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 848w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1272w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png" width="575" height="456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:456,&quot;width&quot;:575,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EsQt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 424w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 848w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1272w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Basically, Procedures are what we want to capture, and everything below the tip of the Pyramid are Instances that supports the procedure. It&#8217;s an interesting thought experiment, and as long as it serves as a lexicon to drive the conversation on better modeling, I&#8217;m all for it.</p><div><hr></div><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;199807b4-56d7-4ca8-83d9-6d18a0df5207&quot;,&quot;caption&quot;:&quot;Welcome to Issue #143 of Detection Engineering Weekly!Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DEW #143 - Suppressing False Positives at Scale, Silencing EDRs &amp; Detection Fidelity via Social Network Analysis&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-28T13:04:05.400Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!YrJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/dew-143-suppressing-false-positives&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:185976503,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:12,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><a href="https://detecteng.com/centralized-suppression-management-for-detections-using-macros-lookups-be87ffc2f954">Centralized Suppression Management for Detections Using Macros &amp; Lookups</a> by Harrison Pomeroy</p><p><a href="https://www.detectionengineering.net/p/detection-field-manual-3-what-is">Detection rule efficacy</a> is the practice of curating rule sets that balance precision, recall, and the cost of triage. New detection engineers typically think about rules being the only place you can apply logic to help manage this balance. A more precise query that accounts for benign behaviors, given the tactic or technique, can increase the likelihood of capturing true positives. But there are other capabilities in SIEM technologies and software engineering practices that can perform filtering and suppress alerts in more dynamic, context-aware ways that align with the threat landscape or your environment.</p><p>This post by Harrison Pomeroy details the power of Splunk&#8217;s macro and lookup table functionality to perform suppression of alerts without re-deploying rules. A suppression is a concept in which detection engineers deploy a capability to dynamically mute alerts, thereby reducing the cost of both false-positive generation and the subsequent need to tune a rule on small fields. It also makes the rule more resilient because it can account for external factors related to benign behaviors, such as known service accounts, scheduled tasks, or internal tooling.</p><p>Harrison leverages Splunk&#8217;s <a href="https://help.splunk.com/en/splunk-enterprise/manage-knowledge-objects/knowledge-management-manual/9.1/search-macros/use-search-macros-in-searches">macro</a> and <a href="https://help.splunk.com/en/splunk-enterprise/manage-knowledge-objects/knowledge-management-manual/9.2/use-lookups-in-splunk-web/about-lookups">lookup table</a> features to achieve this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YrJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YrJa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 424w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 848w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png" width="489" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:489,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:232529,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185976503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!YrJa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 424w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 848w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The above Mermaid diagram shows his really clever setup. When you apply macros to each of your Splunk rules, you can start bringing in logic to evaluate whether suppressions are enabled for the rule (the <code>T</code> value), and then specify a lookup table to find additional alert logic to <em>append to your original rule</em> to suppress false positives.</p><p>The above example suppresses alerting on any user called <code>svc_backup</code>. The macro executes based on the <code>T</code> value and performs a lookup in a table relevant to the <code>PShell Alert</code> rule. <code>svc_backup</code> is in the table and uses a NOT() filter to prevent an alert if <code>svc_backup</code> is present. The <em>suppressed</em> green box ensures the alert doesn&#8217;t fire, and the <code>Alert</code> red box fires because the user is <code>jsmith</code>.</p><p>This type of suppression occurs at query time, before the alert is generated. There are other suppressions you can apply before a log hits the index, or after the alert fires. This is a great topic for my <a href="https://www.detectionengineering.net/s/field-manual">Field Manual</a> series, so thank you, Harrison, for the inspiration!</p><p></p><h1>&#128073;&#65039; <a href="https://open.substack.com/pub/detectionengineering/p/dew-155-gems-from-the-2026-trenches?r=p73bo&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true">Read Online if Clipped</a> &#128072;&#65039;</h1><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5bc28ab0-12b1-439d-8051-69889b7358b4&quot;,&quot;caption&quot;:&quot;Welcome to Issue #145 of Detection Engineering Weekly!Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DEW #145 - Modified Z-Score for Anomaly Detection, Watermarking for Audit Logs -> SIEM and Zack gives you all an RFC for homework&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-11T13:02:52.646Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!45SV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/dew-145-modified-z-score-for-anomaly&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:187464417,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><a href="https://brandontlyons.substack.com/p/the-detection-engineering-baseline">The Detection Engineering Baseline: Hypothesis and Structure (Part 1)</a> by Brandon Lyons</p><p>Baselining is an overused term in this field because, at least in my experience, it&#8217;s a hand-wavy marketing term. You&#8217;ll read about a product that&#8217;ll perform baselines of your behavior and environment, and it&#8217;ll alert you if it detects something abnormal or outside that baseline. In practice, this works, but the opaqueness of some of these methods makes it hard to understand how it happens.</p><p>This is why posts like Lyons help cut through the opaqueness and show the receipts of how to do this in practice. And to be honest, it&#8217;s nothing groundbreaking, only in the sense that the concepts Lyons proposes here are part of entry-level statistics literacy. Which is why I&#8217;m pretty <a href="https://www.detectionengineering.net/p/detection-engineering-field-manual">opinionated</a> on the <em>engineer</em> of detection engineer. Don&#8217;t get it twisted: although the concepts in this post are entry-level statistics, understanding the application requires deep security expertise.</p><p>Lyons lays out a 7-step, repeatable process to establish a detection baseline, quoted here:</p><blockquote><ul><li><p><em><strong>Backtesting of rule logic:</strong> Validate your detection against historical data before deploying</em></p></li><li><p><em><strong>Codified thought process:</strong> Document why you chose specific thresholds and methods</em></p></li><li><p><em><strong>Historical context:</strong> Capture what your environment looked like when the baseline was created</em></p></li><li><p><em><strong>Reproducible process:</strong> Enable re-running when tuning or validating detection logic</em></p></li><li><p><em><strong>Foundation for the ADS:</strong> Feed directly into your <a href="https://blog.palantir.com/alerting-and-detection-strategy-framework-52dc33722df2">Alerting Detection Strategy documentation</a></em></p></li><li><p><em><strong>Cross-team collaboration fuel:</strong> Surface insecure patterns and workflows with data-backed evidence</em></p></li><li><p><em><strong>Threat hunting runway:</strong> When alert precision isn&#8217;t achievable, convert the baseline into a scheduled hunt</em></p></li></ul></blockquote><p>This process succinctly captures a well-thought-out detection process. Without <em>data</em>, how can anyone possibly deploy detections that will fire? Without <em>context around that data</em>, how can anyone possibly <em>believe</em> the rules that are firing outside of the baseline?</p><p>They step through the 7 steps here using a CloudTrail API example. Basically, Lyons tries to map out what anomalous behavior looks like for CloudTrail access across an environment. The statistics section focuses on a modified <a href="https://en.wikipedia.org/wiki/Standard_score">Z-Score</a>. Here&#8217;s the rundown:</p><p>Security metrics (API calls per day, login attempts per hour, file accesses) approximate a normal distribution (a bell curve), especially when aggregated over time. This means that:</p><ul><li><p>Most values cluster around the median (middle value)</p></li><li><p>Extreme values become increasingly rare as you move away from the center</p></li><li><p>The distribution is symmetric</p></li></ul><p>To establish a baseline, Lyons collects historical data, such as 30 days of activity, and computes two key statistics:</p><ul><li><p>Median - the middle value</p></li><li><p>MAD (Median Absolute Deviation) - measures spread around the median</p></li></ul><p>When a new value enters your queue, you compute the Modified Z-score, which is the distance-via-standard-deviation of that value from the median. Modified Z-score is really good at capturing <strong>outliers</strong>, versus the regular Z-score, which focuses on standard deviations from the mean, and can be sensitive to outliers.</p><p>An outlier can be, according to Lyons, creating administrative credentials at 3am to an abnormal amount of S3 bucket accesses, perhaps used for exfiltration. Here&#8217;s a graphic I prompted Claude to create to drive this point home:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!45SV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!45SV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 424w, https://substackcdn.com/image/fetch/$s_!45SV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 848w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1272w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png" width="1456" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:422209,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/187464417?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!45SV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 424w, https://substackcdn.com/image/fetch/$s_!45SV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 848w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1272w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">If my stats professor put normal distribution computation problems in the context of finding russian threat actors, I probably would have aced the class</figcaption></figure></div><p>This type of rigor removes the guessing game about whether events are <em>absolute</em> <em>measurements</em>. Is 1000 API calls weird, or is 100? Is 10 pm an acceptable window for Administrator access, or is 5 pm? By looking at the standard deviations away from the median, you focus on <em>relative measurement</em>. It removes the human judgment about the absolute weirdness of an event, and whenever you remove a human from a large data problem, you get a bit closer to sanity.</p><p>Lyons created a follow-along Jupyter notebook with synthetic data to recreate the measurements in his blog.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #154 - Mythos <> Firefox hype, RSigma gets an uplift, Detection-as-Code is overrated and TeamPCP Strikes Again]]></title><description><![CDATA[Welcome to Issue #154 of Detection Engineering Weekly!]]></description><link>https://www.detectionengineering.net/p/dew-154-mythos-firefox-hype-rsigma</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-154-mythos-firefox-hype-rsigma</guid><pubDate>Wed, 29 Apr 2026 12:04:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-nS-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #154 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>I&#8217;m back from Spring Break and happy to report I have no sunburns. New England Spring is here as well, and it feels like the Northeast U.S. is coming out of hibernation</p></li><li><p>I just booked Hacker Summercamp (BlackHat &amp; DEFCON), so excited to see folks there. If anyone wants to meet up/host an event/drink <a href="https://www.bakingbeauty.net/miami-vice-drink/">Miami Vice</a> by the pool, HMU</p><ul><li><p>For my BJJ fam: if anyone wants to train at Jeremiah Grossman&#8217;s Smackdown or hit an open mat during that week, let me know :D</p></li></ul></li></ul><blockquote><h3><strong>Webinar with Forrester: AI x Security Operations, What Works and Doesn&#8217;t Work</strong></h3><p>I&#8217;m hosting a webinar with <a href="https://www.linkedin.com/in/hackerxbella/">Allie Mellen</a> from Forrester tomorrow, where we&#8217;ll be diving deep into security operations and how AI is working and not working for all of us. </p><p>We&#8217;ve had awesome discussions around this in the past. Feel free to register and come roast me in the chat!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ddog.io/forrester-dd&quot;,&quot;text&quot;:&quot;Register &amp; Roast Zack&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://ddog.io/forrester-dd"><span>Register &amp; Roast Zack</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://xark.es/b/mythos-firefox-150">A quick look at Mythos run on Firefox: too much hype?</a> by Antide Petit</p><p>The talk of the town last week was Mozilla's <a href="https://blog.mozilla.org/en/firefox/ai-security-zero-day-vulnerabilities/">blog post</a> on how they used Anthropic&#8217;s mysterious and powerful Mythos model to find and fix 271 vulnerabilities. The blog post itself isn&#8217;t bragadocious in the way you might see vulnerability reports; in fact, it has a level-headed take on how the Mozilla team is hopeful about the scale LLMs can find vulnerabilities, but that no singular vulnerability found was something that a human couldn&#8217;t find:</p><blockquote><p><em>So far we&#8217;ve found no category or complexity of vulnerability that humans can find that this model can&#8217;t. - Petit</em></p></blockquote><p>They used the term &#8220;vertigo&#8221; to describe how jarring the capabilities of LLMs are in changing our perception of defense. </p><p>Luckily, this post by Petit helps ground the announcements even further into reality, with some objections to the hype of the news. Petit reviewed Firefox&#8217;s issue trackers and commit history to gather more details about the 271 reported bugs. Petit went through the commit history to map bugs to CVEs, classify by exploitability and attack surface, and figure out which of the 271 actually met the bar for a CVE or had a PoC.&#8221;</p><p>They vibe coded an excellent visualization tool with their findings, located <a href="https://xark.es/firefox_150_commits_stats/index.html">here</a>, with a neat dashboard shown below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-nS-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-nS-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 424w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 848w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-nS-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png" width="1456" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:872794,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/195467950?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-nS-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 424w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 848w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!-nS-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5937be5-fd44-4666-8a9f-8e168feceb82_2686x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The 12 CVEs shown here tell a different story from the 271 vulnerabilities. Granted, the Firefox team did not say they issued 271 CVEs, but it depends on how we interpret those vulnerabilities and whether they are presented as exploitable or meet the bar for a CVE. The other finding here is that a vulnerability patched for a defender has a tighter distribution of usefulness than one found that is useful for offensive security purposes. A fully exploitable vulnerability still won&#8217;t guarantee a Firefox browser breakout, and you typically see these chained together to fully break out of the sandbox.</p><p>Petit ends the blog with a section on defender and attack relevance that captures my last point much better than I could ever explain it. Foundation models are proving themselves to be a useful tool for increasing the velocity of defense at a scale that sometimes gives us vertigo. But as an offensive security tool, it may not seem as useful or exciting because of the complexity of building a fully exploitable chain against an extremely hardened piece of software like a web browser. </p><blockquote><p><em>The operational details of the research matter - Petit</em></p></blockquote><p>Until this restraint on the opacity of research details becomes more transparent, it&#8217;s hard to separate the wheat from the chaff among blog post announcements from foundational labs. So, remain hopeful, but the hype is deliberate to build buzz, even though Anthropic does a good job of balancing this hype so it doesn&#8217;t seem disingenuous. </p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://mostafa.dev/streaming-logs-to-rsigma-for-real-time-detection-72084b8041ad">Streaming Logs to RSigma for Real-Time Detection</a> by Mostafa Moradian</p><p>I covered Moradian&#8217;s RSigma tool in a <a href="https://www.detectionengineering.net/p/det-eng-weekly-pattern-detection">previous gem</a>, and he has been busy since then :). RSigma is a Rust binary that evaluates Sigma rules against JSON logs without a SIEM. Since that post, three releases have added some neat new features: <a href="https://nats.io">NATS</a> and HTTP inputs, a hot-reload feature for rules, observability via Prometheus metrics, and persistent correlation windows backed by SQLite.</p><p>Moradian walks through a well-known Okta cross-tenant impersonation scenario to show how these new features work in practice. The four SigmaHQ rules covering that attack (proxy login, MFA deactivation, privilege grant, IdP creation) each fire independently on events that are individually defensible. </p><p>The <code>temporal_ordered</code> correlation rule ties them together, requiring all four to fire in sequence from the same <code>actor.alternateId</code> within 30 minutes. Without stateful windowing across events, you risk creating noise on these four rules that may not be correlated. The field-mapping pipeline that reconciles Sigma rule field names with Okta&#8217;s camelCase API schema is what makes the whole thing portable. Moradian frames this as one of the hardest parts of detection portability. Vendors certainly take this for granted and leave the work to detection engineers, but Sigma is the closest to standardizing this.</p><p>RSigma is not a SIEM, as Moradian puts it, but it&#8217;s an impressive feat to build a self-contained Rust binary that operates much like one. For teams doing pre-SIEM rule validation or forensics, it&#8217;s a solid plug-and-play option for certain scenarios. It&#8217;s also a great read for understanding the deeper architectural challenges software engineers face when building high-volume distributed detection systems.</p><div><hr></div><p><a href="https://medium.com/@harrisonpomeroy/are-detection-as-code-pipelines-overrated-2fe21f80f269">Are Detection-as-Code Pipelines Overrated?</a> by Harrison Pomeroy</p><p>Detection-as-code (DaC) has been the gold standard maturity milestone for security teams for years. The goal of DaC is straightforward: provide governance, guardrails, human review, and validation of detections before they ever touch a production instance. It attempts to minimize regressions, detection drift, and cost increases through the lens of CI/CD and widely used SRE concepts.</p><p>Much like everything in security, agentic workflows present opportunities to improve this architecture or remove it altogether. So, in this post, Pomeroy explores this topic with an honest look at how we can scope out several portions of a DaC pipeline and move the work toward the agent running on the detection engineer&#8217;s laptop. Schema validation, metadata creation and documentation, linting, and accuracy validation agents for backtesting and accuracy checks can mostly be handled by an agent before it ever hits a pipeline. </p><p>We had many of these tasks within CI/CD because we expected humans to make errors. The governance aspect of DaC is attractive because centralizing knowledge around schemas and pre-deployment checks is deterministic by design. As Pomeroy points out, we perhaps overcorrected regarding the necessity of deterministic checks for safety, and an agent can provide both safety and speed. The DaC pipeline still exists, but in a much leaner form that still requires humans for approval.</p><div><hr></div><p><a href="https://medium.com/@plantainstan/detection-pipeline-metrics-ae6757d7e6b2">Detection Pipeline Metrics</a> by Scott Plastine</p><p>This short-but-sweet post on detection metrics is a continuation of Plastine&#8217;s post on <a href="https://medium.com/detect-fyi/detection-visibility-metrics-577fa1d63696">Detection Visibility Metrics</a>. I highly recommend reading the Visibility Metrics post, from which I learned two insights:</p><ul><li><p>Visibility is just as important as detection itself. There is <a href="https://www.detectionengineering.net/i/167435526/there-is-no-rule-without-telemetry">no rule without telemetry</a>, and you should treat log sources as an asset as much as you treat developer laptops</p></li><li><p>We focus too heavily on rule metrics, such as coverage, and neglect business-level metrics like the number of users, coding environments, and servers we protect</p></li></ul><p>After visibility, according to Plastine, you should focus on metrics within your logging pipelines themselves. I love how he used the <a href="https://specterops.io/blog/2019/11/20/introducing-the-funnel-of-fidelity/">Funnel of Fidelity</a> as the inspiration for some of these measurements. If we don&#8217;t want to &#8220;clog the funnel&#8221;, we should look to reduce the amount of noise that arrives at alert inboxes. You reduce the amount of noise that makes it to alert queues by building more robust rule sets, risk scoring through composite rules or risk-based alerting, and building pipeline features that flatten or aggregate telemetry rather than sending in a ton of logs at once.</p><div><hr></div><p><a href="https://medium.com/@nessi.dgtl/midnight-thinking-on-browser-extension-security-5b681da2b07e">Midnight thinking on browser extension security</a> by Anya Nessi</p><p>This is a great late-night musing piece on how it&#8217;s going to be harder to differentiate code authors as a detection signal due to agentic coding. The anchor is <a href="https://redcanary.com/blog/threat-detection/assemblyline-browser-extensions/">Red Canary&#8217;s Cyberhaven incident analysis</a>, where the compromised extension update scored a modified z-score of 75.38 against the extension&#8217;s historical entropy baseline. For context, 3.5 is already a strong statistical outlier. A score of 75 means the injected script&#8217;s entropy was so far outside the distribution of the legitimate codebase that attribution to the same author was statistically implausible. I covered the modified z-score in <a href="https://www.detectionengineering.net/i/187464417/detection-engineering-gem">Issue 145</a> if you want more background.</p><p>Nessi built her own entropy-based detection pipeline along similar lines, and it works. The question she&#8217;s grappling with is what will happen to this technique as LLM-assisted development becomes the norm for both legitimate developers and attackers. If both parties are writing code using tools trained on overlapping data, the distinct human authorship fingerprints that enable entropy-based detection begin to drift.</p><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><h2>&#128230;&#128279; TeamPCP News</h2><p>TeamPCP was back in the news this last week! These attacks don&#8217;t seem as impactful as the several I covered earlier this month, but there are some worthwhile callouts about updates to TTPs.</p><p><a href="https://socket.dev/blog/checkmarx-supply-chain-compromise">Malicious Checkmarx Artifacts Found in Official KICS Docker Repository and Code Extensions</a> by Socket Research Team</p><p>The group compromised multiple Checkmarx distribution channels simultaneously: the official <code>checkmarx/kics </code>Docker Hub repository had trusted tags overwritten with a trojanized KICS binary that exfiltrated secrets during infrastructure-as-code scan runs for Terraform, CloudFormation, and K8S configs. Checkmarx <code>ast-vscode-extension</code> had an orphaned 2022 commit injected carrying a payload that runs via Bun and exfiltrates secrets, including MCP config files. It <em>looks</em> like the Bitwarden CLI npm hijack was part of the same campaign, and I wrote about this below.</p><div><hr></div><p><a href="https://research.jfrog.com/post/bitwarden-cli-hijack/">TeamPCP Campaign Spreads to npm via a Hijacked Bitwarden CLI</a> by Meitar Palas</p><p>In the next part of the campaign, the group compromised the npm CLI of the well-known password manager BitWarden. According to JFrog research, the group hijacked @bitwarden/cli version 2026.4.0, keeping the legitimate Bitwarden branding intact while rewiring the installation scripts to download Bun and execute a payload that attempts to exfiltrate GitHub tokens, SSH keys, and AWS/GCP/Azure secrets, as well as GitHub Actions secrets. The interesting part here, which I haven&#8217;t seen before, is that the malware explicitly targets <code>~/.claude.json </code>and MCP config files, potentially marking a shift to use secrets from coding agents to pivot into victim environments.</p><div><hr></div><h2>Other News</h2><p><a href="https://arman-bd.hashnode.dev/i-left-port-22-open-on-the-internet-for-54-days-here-s-who-showed-up">I Left Port 22 Open on the Internet for 54 Days. Here's Who Showed Up.</a> by Arman Hossain</p><p>This was a fun honeypot research project write-up in which Hossain deployed a basic SSH honeypot on a cheap VPS to collect and analyze connection attempts and attacks. Nothing here seems out of the ordinary or new from the sense of novel attacks, but it goes to show how noisy the Internet is and how easy it is to be targeted by Internet-wide scanners. Attackers attempted to run default credentials for well-known IoT devices, tried to download binaries to have their servers join a botnet, and had some level of hands-on keyboard operators interacting with the server. This would be a great experiment and exercise for folks getting into threat research and log analysis to build a server like this and analyze the logs.</p><div><hr></div><p><a href="https://www.netcraft.com/blog/fibergrid-inside-the-bulletproof-host">Fibergrid: Inside the Bulletproof Host for 16,000+ Active Fake Shops</a> by Harry Freeborough</p><p>Bulletproof Hosts are organizations that provide IP leasing space for customers and are known for not responding to takedown requests from abuse reports and, often, to law enforcement preservation requests. They are impressive feats of misdirection in that these organizations tend to layer themselves through shell companies and hard-to-contact administrators to maintain anonymity. </p><p>Fibergrid is a particularly unique bulletproof hoster because of its origin story. Netcraft Research has been tracking Fibergrid and attributed 16,700+ active fake shops and an IP address pool that traces back to the <a href="https://www.devdiscourse.com/article/international/1813989-the-strange-case-of-africas-stolen-ip-addresses">Great African IP Address Heist.</a> Netcraft found that the servers are actually sitting in Equinix facilities across the US, UK, and the Netherlands, not Africa, which Netcraft argues gives Western law enforcement a real pressure point.</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/F2u0a0d3/goodboy-framework">F2u0a0d3/goodboy-framework</a></p><p>I was hoping to get a dog picture or instructions for training a dog to be a good boy in the README. Instead, I found an <em>excellent</em> resource for people trying to learn malware development, analysis, and detection engineering on Windows using Rust. There are 15 lessons or &#8220;stages&#8221;, and each one has a particular technique it&#8217;s trying to teach you to learn. They integrate malware technique development, such as direct or indirect syscalls, with analysis techniques for finding what you wrote along the way.</p><div><hr></div><p><a href="https://github.com/weirdmachine64/SharkMCP">weirdmachine64/SharkMCP</a></p><p>Locally-run MCP server that provides tooling for local agents to perform PCAP analysis using Wireshark&#8217;s sharkd API. There are close to 20 tools that weirdmachine64 exposes for clients, and so you&#8217;ll want to add this one to your CTF arsenal, especially if you are looking at pcap files.</p><div><hr></div><p><a href="https://github.com/trailofbits/trailmark">trailofbits/trailmark</a></p><p>Trailmark is a tool for visualizing code paths and dependencies. You feed it a codebase to analyze, and it&#8217;ll construct an abstract syntax tree in Treesitter format and pass it to a graphing function. You can then query the graph for specific classes or code paths, as well as use their querying capabilities to perform reachability analysis, annotate functions, find dependencies, or look for &#8220;paths in between&#8221; two nodes.</p><div><hr></div><p><a href="https://github.com/synacktiv/pike-agent">synacktiv/pike-agent</a></p><p>Pike-agent is an LLM assistant that reads <code>strace</code> telemetry and performs analysis based on the prompts you give it. For example, if a binary crashes every time you run it, you can feed it to pike-agent, and it&#8217;ll help you debug the root cause. I think the cool use case here, and I might be biased in security, is the malware analysis functionality :). </p><div><hr></div><p><a href="https://github.com/anondotli/awesome-privacy-tools">anondotli/awesome-privacy-tools</a></p><p>Yet another awesome-* list, this time focused on privacy tools. I&#8217;m surprised something like this hasn&#8217;t been made yet, but it&#8217;s nice to see an aggregation of useful tools that can help improve your OPSEC. Might be especially useful if you are a threat researcher or intel specialist doing cybercriminal research on underground forums.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #153 - New IPv8 Draft, macOS Threat Detection LLM Evals & Canaries in your CI/CD Pipeline]]></title><description><![CDATA[Never ask the IETF about odd numbers in versioning]]></description><link>https://www.detectionengineering.net/p/dew-153-new-ipv8-draft-macos-threat</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-153-new-ipv8-draft-macos-threat</guid><pubDate>Wed, 22 Apr 2026 12:04:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!I4rm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #153 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I&#8217;m spending time in the Caribbean this week with my family and wish I could write this newsletter everyday with nice weather and an ocean nearby. Luckily New England does have the Atlantic, but it&#8217;s not the same for two reasons. First, the fruit is so much tastier down here. Lastly, I can&#8217;t find an Oscar the Grouch with dance moves quite like this Oscar :D </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I4rm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I4rm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I4rm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg" width="281" height="374.60233516483515" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:281,&quot;bytes&quot;:836840,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/194391705?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I4rm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I4rm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0951a1bc-7d94-4228-bf40-3d46bea69393_3024x4032.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">100% of my fav character on Sesame Street. </figcaption></figure></div></li><li><p>I&#8217;m hosting a webinar with <a href="https://www.linkedin.com/in/hackerxbella/">Allie Mellen</a> from Forrester on April 30th where we&#8217;ll be diving deep on security operations and how AI is working and not working for all of us. We&#8217;ve had awesome discussions around this in the past. Feel free to register and come roast me in the chat </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ddog.io/forrester-dd&quot;,&quot;text&quot;:&quot;Register &amp; Roast Zack&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://ddog.io/forrester-dd"><span>Register &amp; Roast Zack</span></a></p></li></ul><h3><strong>Sponsor: Push Security</strong></h3><blockquote><h3><strong>Register for a brand new research-focused webinar series from Push Security</strong></h3><p>The browser is the place where modern breaches happen, powered by a huge amount of attacker innovation &#8212; countless ClickFix variants, new malvertised phishing campaigns, and device code phishing attacks being powered by brand new PhaaS kits and AI tools. And we&#8217;re only in April. </p><p>Join Push Security threat researchers, along with incredible guests like John Hammond, Troy Hunt, and Matt Johansen, in a brand new webinar series deep-diving into the State of Browser Attacks.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hubs.li/Q0495FRC0&quot;,&quot;text&quot;:&quot;Register Now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hubs.li/Q0495FRC0"><span>Register Now</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://www.ietf.org/archive/id/draft-thain-ipv8-00.html">Internet Protocol Version 8 (IPv8)</a> by Jamie Thain</p><p>Ok, here&#8217;s a confession, but it&#8217;s more of a brag than something to be embarrassed about. When I went to college, I studied networking and network security extensively, as the 2008-2012 era had a strong focus on it. A lot of what my classes entailed was setting up large VM farms and networking devices on server racks. I lucked out because I got really good at networking, and part of that involved studying RFCs. I love RFCs. My favorite RFC is <a href="https://www.ietf.org/rfc/rfc1034.txt">1034</a>, DNS, the coolest protocol in the modern Internet.</p><p>My co-worker sent out a link this week amid the Opus-4.7 news about the IETF skipping odd-numbered Internet Protocol RFCs and moving directly to IPv8. This specific proposal (not yet accepted) attempts to address the fragmentation of IPv4 &amp; IPV6 networks around IP address assignment, DNS, NTP, telemetry, authentication, route validation, and access controls. </p><p>Jamie Thain, the proposal&#8217;s author, suggests that these fragmented services can be reconciled through a singular concept called a Zone Server. This Zone Server assigns DHCP leases that contain network information for everything I listed above. As Thain puts it:</p><div class="pullquote"><blockquote><p>A device connecting to an IPv8 network sends one DHCP8 Discover and receives one response containing every service endpoint it requires. No subsequent manual configuration is needed for any service. The device is fully operational -- authenticated, logged, time-synchronised, zone-policy-enforced -- before its first user interaction.</p></blockquote></div><p>The most interesting part of this proposal, IMHO, is the authorization model. Every manageable element in an IPv8 network is authorized via OAuth2 JWT tokens. Like what Thain said in the quote, when a new device joins, it sends a single DHCP8 Discover and receives a lease containing the device&#8217;s configuration, including a JWT. The &#8220;OAuth2 Authority&#8221; can be hosted on a home router or on an external IdP such as Google Workspace, Okta, or Azure AD. The Zone Server stores the public keys for these authorizations, so local devices can verify token validity with the Zone Server before interaction. It reminds me a lot of Tailscale, but unlike Tailnets, rogue devices can still join your network; you just need to make sure peer devices validate tokens before they talk to it.</p><p>The <em>second</em> most interesting thing is DNS. Every outbound connection must have a valid DNS8 lookup before it traverses the broadcast domain; otherwise, it is automatically blocked. This helps protect against malware infections calling back to a C2 server.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vmfS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vmfS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 424w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 848w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vmfS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png" width="576" height="448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1120,&quot;width&quot;:1440,&quot;resizeWidth&quot;:576,&quot;bytes&quot;:248037,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/194391705?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vmfS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 424w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 848w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!vmfS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F683951e5-8796-4459-adcf-a1ee4425f50f_1440x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude is amazing for visuals on complicated subjects if you like to learn that way!</figcaption></figure></div><p>As Claude pointed out, this authorization layer exists at a higher layer in the OSI stack. Attacks can still occur on lower layers. Putting my networking nerddom aside, it&#8217;s refreshing seeing how Internet-scale engineers are thinking about solving issues around security and having solutions being a feature of the protocol itself. This prevents service fragmentation, poor visibility, and the need to stitch together different security layers and hope they work.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8abf2c970fc181c38f2c5ebc0d&quot;,&quot;title&quot;:&quot;Magic Packets &amp; Stealth Backdoors: The Art of Detection Engineering&quot;,&quot;subtitle&quot;:&quot;Proofpoint&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/1dNtdbqLKFCiQIwNRJ4xB4&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/1dNtdbqLKFCiQIwNRJ4xB4" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>This was a fun episode of Discarded where the hosts interviewed their coworker, Stuart Del Caliz, who&#8217;s a threat detection engineer at Proofpoint. When I think of writing rules and detections, my mind usually drifts towards researching and deploying log-based detections in a SIEM. Del Caliz, on the other hand, focuses on Suricata &amp; YARA rules for malware using appliance products via the&nbsp;<a href="https://rules.emergingthreats.net/">Emerging Threats Ruleset</a>. The team has a robust malware sandbox that enables Del Caliz and the detection team to identify patterns in C2 traffic and binaries and to generate alerting and blocking mechanisms for customers.</p><p>Luckily, the Emerging Threats Ruleset is available for download, so you can set up your own&nbsp;<a href="https://github.com/oisf/suricata">Suricata</a>&nbsp;lab to test it out.</p><div><hr></div><p><a href="https://www.cotool.ai/research/macos-threat-investigation">macOS Threat Investigation Benchmark</a> by Cotool Research</p><p>Friends of the newsletter Cotool published their latest research benchmark on the efficacy of the latest foundational model around macOS investigations. What makes this interesting is that, unlike CTF events, which have a clear incremental path to success, this benchmark uses logs and telemetry from an <a href="https://malpedia.caad.fkie.fraunhofer.de/details/osx.odyssey_stealer">Odyssey stealer infection</a>. The agents were given access to 14 log sources across hundreds of thousands of events and had question harnesses across 36 tasks in incident response, threat hunting, and detection engineering. </p><p>GPT-* models performed&nbsp;<em>very well</em>&nbsp;across Accuracy, Speed, and Reliability, and were middle-of-the-pack in cost. I think the most interesting finding here is that Cotool rewarded models based on task difficulty. For example, Incident Response was the hardest and most expensive among the tracks, and GPT-5.4 and 5.3 Codex had the best combination of accuracy and cost efficiency. Opus 4.6 had the same accuracy but cost nearly double that of GPT-5.4</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0gP3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0gP3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 424w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 848w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0gP3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png" width="1190" height="1160" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1160,&quot;width&quot;:1190,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:222544,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/194391705?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0gP3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 424w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 848w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!0gP3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d81fd26-672e-4974-8ec7-e4c7d5360b03_1190x1160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><a href="https://tracebit.com/blog/detecting-cicd-supply-chain-attacks-with-canary-credentials">Detecting CI/CD Supply Chain Attacks with Canary Credentials</a> by Alessandro Brucato</p><p>The Tracebit team just released a clever canary detection mechanism for supply-chain attacks against GitHub Actions, similar to what we saw with the TeamPCP campaign a few weeks ago. Security teams can pull in their community edition GitHub action, which generates per-run canary credentials, such as AWS tokens. If your security controls fail or you fail to detect an attack, you can use these tokens as a reliable alerting tool that points to the repo and specific GitHub action. </p><p>They have a <a href="https://community.tracebit.com/join">community edition</a>, which is always great to see, because you can sign up and try it without all the vendor marketing gates and FUD that is commonly shoved down security people&#8217;s throats :). </p><div><hr></div><p><a href="https://help.openai.com/en/articles/20001107-codex-security">Codex Security</a> by OpenAI</p><p>The foundational labs are leaning more and more into cybersecurity use cases. With Mythos&#8217; release last week, OpenAI released a Codex Security preview that allows vetted cybersecurity professionals to use an advanced version of Codex to scan their repositories for vulnerabilities. The &#8220;vetted&#8221; part of this announcement is interesting because Mythos was heavily gated in their announcement, whereas OpenAI has made it easier for folks to apply and get access if they meet certain verification criteria.</p><div><hr></div><h3><strong>Sponsor: Spectrum Security</strong></h3><blockquote><h3><strong>Stop the Grind and Kill the Detection Backlog with Spectrum</strong></h3><p>You know the grind: Research the gap. Understand the environment. Write the logic. Tune it. Deploy it. Watch it break when something upstream changes. Repeat. Backlog never shrinks. </p><p>Spectrum is now available. One platform that continuously maps your coverage, authors deployment-ready detections tailored to your stack, and keeps them resilient, so your expertise drives strategy, not maintenance.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.spectrum.security/&quot;,&quot;text&quot;:&quot;See It In Action&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.spectrum.security/"><span>See It In Action</span></a></p></blockquote><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://www.justice.gov/opa/pr/two-us-nationals-sentenced-facilitating-fraudulent-remote-information-technology-worker">Two U.S. Nationals Sentenced for Facilitating Fraudulent Remote Information Technology Worker Scheme that Generated $5M in Revenue for the Democratic People&#8217;s Republic of Korea</a> by U.S. Department of Justice</p><p><em>Why is it always someone from New Jersey?</em></p><p>Kidding, unless you are a Jets fan. The DoJ released a sentence announcement for two U.S. nationals who became facilitators for <a href="https://malpedia.caad.fkie.fraunhofer.de/actor/wagemole">Wagemole</a> over several years. According to the announcement, they helped generate over $5 million USD of revenue for DPRK, stole identities of close to 100 U.S. persons, and worked at 100s of U.S. companies. </p><p>I post a lot about the DPRK in this newsletter because it hits so close to home, given that I work in tech. I also post a lot about DPRK in this newsletter because I have to follow up with these Wagemole stories by watching this Key &amp; Peele sketch:</p><div id="youtube2-jgYYOUC10aM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jgYYOUC10aM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/jgYYOUC10aM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><a href="https://www.nist.gov/news-events/news/2026/04/nist-updates-nvd-operations-address-record-cve-growth">NIST Updates NVD Operations to Address Record CVE Growth</a> by NIST</p><p>NIST released updated guidelines on how they will perform CVE enrichment moving forward. They&#8217;ve had nearly two years of turmoil trying to keep up with enriching CVEs for their <a href="https://nvd.nist.gov/">National Vulnerability Database</a>. I think this failure to enrich every CVE is due to two things: funding shortages and AI. I&#8217;ve linked a ton of stories here from open-source maintainers like Daniel Stenberg, saying that AI is <a href="https://thenewstack.io/curls-daniel-stenberg-ai-is-ddosing-open-source-and-fixing-its-bugs/">creating too much vulnerability research slop</a>. But I do believe recent CVEs have been at least AI-assisted, which helps increase velocity.</p><p>In their announcement, NIST says it will prioritize CVEs into three categories: CISA KEV entries, vulnerabilities in software used by the federal government, and CVEs for Critical Software, as detailed in an <a href="https://www.nist.gov/system/files/documents/2026/04/15/EO%2014028%20Critical%20FINAL.pdf">executive order</a> from 2021. </p><p>There are other playbook changes regarding severity scores and modified CVEs, but IMHO, the significant reduction in CVE enrichment is the big news here. I hope we can find a way, as a community, to fund efforts to enrich CVEs in lieu of the NVD. </p><div><hr></div><p><a href="https://www.ox.security/blog/mcp-supply-chain-advisory-rce-vulnerabilities-across-the-ai-ecosystem/">MCP Supply Chain Advisory: RCE Vulnerabilities Across the AI Ecosystem</a> by Moshe Siman Tov Bustan, Mustafa Naamnih &amp; Nir Zadok</p><p>The Ox Security Research Team found four attack surfaces in Anthropic&#8217;s MCP Protocol implementation. These attack surfaces led the research team to disclose vulnerabilities to dozens of open-source repositories and get to 10 CVEs and counting. The way it works is how this software sets up MCP servers and what they allow as input into their configurations. The command injection is via exposed tools that can add an MCP configuration. When you add an stdio transport, you can specify an arbitrary bash command that allows remote code execution.</p><p>The team disclosed this vulnerability to Anthropic but the protocol specifically allows this option and is by design. The problem here is when users of these MCP-enabled projects don&#8217;t know about the insecure configuration and deploy it to the Internet allowing the remote code execution. There are situations where this RCE can be unauthenticated or authenticated, but for the most part, it points out that anytime you allow arbitrary configurations to be uploaded by users, you risk exposing yourselves to attacks like this.</p><div><hr></div><p><a href="https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/understanding-security-warnings">Understanding security warnings when opening Remote Desktop (RDP) files</a> by Microsoft</p><p>Microsoft finally released security updates to help warn users of malicious RDP files before they become victims of an infection or social engineering attack. Attackers leverage RDP files to initiate remote connections to victim computers, often using them to steal files, take pictures or steal contents of your clipboard. Now, users of the latest security update will get warnings when double-clicking on these files, hopefully preventing some of these infections from happening.</p><p>With the advent of ClickFix, my hopes aren&#8217;t too high, but sometimes security is about incremental steps versus massive swings.</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/google/magika">google/magika</a></p><p>Magika is <code>file</code> on steroids. It uses a deep-learning model under the hood that helps classify files with what they claim is 99% accuracy. It was trained on 100 million+ samples and 200+ content types. The cool part here is that this is the model and tool used by Google to help detect filetypes on Gmail, Drive and Safe Browsing. I imagine they can use this to route files based on their content types to different internal security services for scanning.</p><div><hr></div><p><a href="https://github.com/mukul975/cve-mcp-server">mukul975/cve-mcp-server</a></p><p>Locally ran MCP server that helps researchers and defenders connect to 27 (!) security tools for CVE lookup and enrichment. Unfortunately you won&#8217;t get much data anymore from NVD, but it has some great integrations with ATT&amp;CK, internet scanners and even VirusTotal.</p><div><hr></div><p><a href="https://github.com/Hainrixz/cyber-neo">Hainrixz/cyber-neo</a></p><p>Cyber Neo is a Vulnerability research plugin for Claude Code. It has 11 security domains it tries to scan for, and each domain has toolsets and markdown instructions for Claude to execute to render findings. </p><div><hr></div><p><a href="https://github.com/tahaafarooq/Fenrir">tahaafarooq/Fenrir</a></p><p>GoLang credential and secrets harvesting tool that uses eBPF to skim credentials off from syscall events. It&#8217;s like a Linux rootkit that only cares about secrets. It has some interesting capabilities, such as memory-only execution and anti-detection capabilities. It tries to intercept secrets across SSH, PAM, the command line and does some file-based discovery for things like API keys and cloud secrets.</p><div><hr></div><p><a href="https://github.com/jsmonhq/xnew">jsmonhq/xnew</a></p><p>xnew is a low-footprint and fast file appender. It is contextually aware of every line inside the file, and it will only append unique lines not already present. This has always been a pain for me everytime I&#8217;ve had to <code>cat x | uniq | sort | uniq</code> , which can sometimes take forever when the file is super large. </p>]]></content:encoded></item><item><title><![CDATA[DEW #152 - Celebrating Gaps in Detection Coverage, Threat Hunting on Teams & OpenAI Axios post-mortem]]></title><description><![CDATA[rain rain go away~]]></description><link>https://www.detectionengineering.net/p/dew-152-celebrating-gaps-in-detection</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-152-celebrating-gaps-in-detection</guid><pubDate>Wed, 15 Apr 2026 12:03:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LcNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #152 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>The sun is staying out later and coming up earlier. There&#8217;s nothing better to me than an early morning sunrise :) </p></li><li><p>I finished my book about the Marquis de Lafayette, <em>Between Two Worlds</em>, and it was fantastic. I&#8217;m already reading a new one about the ugly truths of living on Mars called <em>A City On Mars</em>. A former NASA Chief Economist recommended it on a podcast</p></li><li><p>I&#8217;m excited for an upcoming beach vacation in the Caribbean for some much-needed sun and relaxation. I&#8217;ll still be putting an issue out, so there won&#8217;t be a gap in coverage (ha)</p></li></ul><h3><strong>Sponsor: Adaptive Security</strong></h3><blockquote><h3><strong>Can Your Team Spot an AI Deepfake Attack?</strong></h3><p>Today's phishing attacks involve AI voices, videos, and deepfakes of company executives.<br><br>Adaptive Security is the first security awareness platform built to stop AI-powered social engineering. <br><br>Adaptive protects your team with:<br><br>AI-driven risk scoring that reveals what attackers can learn from public data<br>Deepfake attack simulations featuring your own executives<br>Interactive, customizable training content</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.adaptivesecurity.com/demo/security-awareness-training?utm_source=sp_email&amp;utm_medium=newsletter&amp;utm_campaign=NA_detection_engineering_newsletter_placement_february2026&amp;utm_id=701Rd00000bOBReIAO&quot;,&quot;text&quot;:&quot;Tour The Platform (3 minutes)&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.adaptivesecurity.com/demo/security-awareness-training?utm_source=sp_email&amp;utm_medium=newsletter&amp;utm_campaign=NA_detection_engineering_newsletter_placement_february2026&amp;utm_id=701Rd00000bOBReIAO"><span>Tour The Platform (3 minutes)</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://geochen.medium.com/measuring-what-were-missing-58a8259f4c41">Measuring What We&#8217;re Missing</a> by George Chen</p><p>In this post, Chen gives readers some honest thoughts and super reasonable metrics around measuring detection efficacy. We tend to fall into the true-positive/false-positive trap because they are the easiest to measure and explain. False negatives are the most risky, but if you only rely on a security incident where an alert failed to fire, they can really affect your detection engineering operations, because you can only measure when things go wrong. Your operational work should revolve around identifying coverage gaps (false negatives) and eliminating unnecessary work (false positives).  </p><p>These metrics can fall into &#8220;busy work&#8221;, when you really want to show impact. You also risk making your coverage gaps harm your operational score instead of celebrating them.</p><p>Chen&#8217;s fix is to separate detection efficacy into two signals: </p><ul><li><p>An effectiveness score (how well do tested controls perform?)</p></li><li><p>A discovery count (how many new gaps did you find outside of testing?)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LcNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LcNn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 424w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 848w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 1272w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LcNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png" width="1440" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116208,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/193747437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LcNn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 424w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 848w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 1272w, https://substackcdn.com/image/fetch/$s_!LcNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff421c50-a7f3-4a79-8fcd-87126db6cdda_1440x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Thanks Claude for the visual!</figcaption></figure></div><p>The &#8220;under test conditions&#8221; qualifier is the important part. This isn&#8217;t a coverage number. It&#8217;s a performance number scoped to what you&#8217;ve actually challenged through red teams, purple teams, BAS, and threat hunts. If 50 techniques are executed and 10 are missed, you now have a denominator, a defined scope, and a measurable gap. Without that structure, a miss is just an observation. </p><p>The discovery count stays separate on purpose. If you lump newly found gaps into the denominator, the more unknowns you surface, the worse your score looks. That creates a perverse incentive where teams stop looking for blind spots because finding them risks tanking the metric. Chen&#8217;s answer is simple: keep it as a standalone count. &#8220;3 new gaps discovered and addressed in Identity &amp; Access this quarter.&#8221; Effectiveness tells you how well tested controls perform. Discovery tells you how much you&#8217;re still missing. </p><p>I&#8217;m seeing metrics like this more often in security operations, where we&#8217;re starting to describe the <em>health of the system,</em> similar to what Site Reliability Engineering departments do. Chasing 100% accuracy is meaningless due to the <a href="https://www.detectionengineering.net/i/168641940/precision-and-recall-make-our-rules-brittle-and-broad">Precision and Recall Problem</a>, but showing any kinks in the armor can come across as unpreparedness. Owning the idea that you need to curate and maintain a ruleset, just like you maintain a cloud or on-prem environment, is a more stable approach for your sanity and for business outcomes.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://medium.com/@ciphersecur80/hunting-malicious-links-delivered-via-microsoft-teams-an-endpoint-cloud-correlation-approach-0e218c309753">Hunting Malicious Teams Delivered Links via Endpoint &amp; Cloud Telemetry Correlation</a> by CipherSecy</p><p>This comprehensive threat hunting report highlights a rare but effective attack scenario around Microsoft Teams. In any modern workspace chat application, you can talk with your coworkers and external people like contractors, vendors, or customers. So, something like Teams or Slack can serve as an excellent pivot point for threat actors, since they gain direct access to your DMs, and the telemetry isn&#8217;t as well-documented as with phishing emails. </p><p>CipherSecy built the following hypothesis before their hunt: </p><blockquote><p>A compromised third-party account sends a malicious link via Microsoft Teams with the intent of compromising an internal user&#8217;s identity.</p></blockquote><p>What follows are their findings and documentation on available telemetry to help catch these types of attacks via Teams. A hunt like this uncovers a ton of nuances and peculiarities in the attack flow from a visibility perspective:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kW_Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kW_Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 424w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 848w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 1272w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kW_Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png" width="1400" height="422" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:422,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kW_Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 424w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 848w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 1272w, https://substackcdn.com/image/fetch/$s_!kW_Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad4ed9a-94c4-483e-90aa-03e0542ff3cb_1400x422.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Telemetry and event flow of a malicious team link - CipherSecy</figcaption></figure></div><p>Teams launches an in-app browser via a CLI command. The browser can link to malicious downloads or phishing sites, so making sure you have an EDR that can provide that telemetry is important. The cool part here IMHO is the rich context from within the CLI command:</p><p><code>C:\Program Files (x86) \Microsoft\Edge\Application\msedge.exe" <br>--single-argument microsoft-edge:///?url=https://github.com/notsosafelink&amp;<br>source=teams&amp;treatment=4445&amp;form=MY02BU&amp;qpc=955403648535<br>&amp;oid=&lt;RCV-OBJ-ID&gt;&amp;hubappid=bc25fcef-8964-4e72-8287-23e2b496c128<br>&amp;hubappsubpath=embed-client/chats/19:&lt;SNDR-OBJ-ID&gt;_&lt;RCV-OBJ-ID&gt;@unq.gbl.spaces<br>/view&amp;hubappparams=hostCtx=edge&amp;layout=singlePane&amp;src=teamsLink<br>&amp;messageId=&lt;MSG-ID&gt;&amp;oid=&lt;USER-OBJ-ID&gt;&amp;loginHint=&lt;RCV-UPN&gt;<br>&amp;startTimeStamp=1773993512074&amp;correlationId=&lt;GUID&gt;</code></p><p>CipherSecy points out two things here. One, <code>&#8212;-single-argument </code>indicates a process spawned Edge programmatically, which helps reduce the noise of manual browsing. Secondly, <code>src=teamsLink</code> means it was spawned from Teams itself. Both turn into high-value signals, and throughout the rest of the post, they show some of their KQL queries to perform additional hunting and inspire some detection opportunities.</p><div><hr></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:193647116,&quot;url&quot;:&quot;https://joshuasaxe181906.substack.com/p/exploits-dont-cause-cyberattacks&quot;,&quot;publication_id&quot;:3619184,&quot;publication_name&quot;:&quot;Joshua Saxe&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!HJ5b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf753c-129e-42b9-a54a-8e593c37a02f_144x144.png&quot;,&quot;title&quot;:&quot;Exploits don't cause cyberattacks&quot;,&quot;truncated_body_text&quot;:&quot;As far as I can tell, here&#8217;s the median model of attacker behavior people are using in their Claude Mythos hot takes.&quot;,&quot;date&quot;:&quot;2026-04-09T02:41:53.304Z&quot;,&quot;like_count&quot;:10,&quot;comment_count&quot;:5,&quot;bylines&quot;:[{&quot;id&quot;:50731283,&quot;name&quot;:&quot;Joshua Saxe&quot;,&quot;handle&quot;:&quot;joshuasaxe181906&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8bbf753c-129e-42b9-a54a-8e593c37a02f_144x144.png&quot;,&quot;bio&quot;:&quot;Machine learning, cyber security, social science, philosophy, classical/jazz piano. Incubated and led Meta's security for LLMs and AI for security work, now building in stealth&quot;,&quot;profile_set_up_at&quot;:&quot;2022-09-02T22:51:16.806Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-07-14T15:40:37.121Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:3689867,&quot;user_id&quot;:50731283,&quot;publication_id&quot;:3619184,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:3619184,&quot;name&quot;:&quot;Joshua Saxe&quot;,&quot;subdomain&quot;:&quot;joshuasaxe181906&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Machine learning, cyber security, social science, philosophy, classical/jazz piano. Currently at Meta working at the intersection of Llama and cybersecurity&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:50731283,&quot;primary_user_id&quot;:50731283,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-12-31T19:01:26.284Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Joshua Saxe&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;profile&quot;,&quot;is_personal_mode&quot;:true,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:5,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:5,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[1071360,1317673,89120,48206,313411,35345,471923],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://joshuasaxe181906.substack.com/p/exploits-dont-cause-cyberattacks?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!HJ5b!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf753c-129e-42b9-a54a-8e593c37a02f_144x144.png" loading="lazy"><span class="embedded-post-publication-name">Joshua Saxe</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Exploits don't cause cyberattacks</div></div><div class="embedded-post-body">As far as I can tell, here&#8217;s the median model of attacker behavior people are using in their Claude Mythos hot takes&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 10 likes &#183; 5 comments &#183; Joshua Saxe</div></a></div><p>Mythos<a href="https://red.anthropic.com/2026/mythos-preview/"> has been the talk of the town</a> since its preview release on April 7. The industry reacted to the hype with <a href="https://news.ycombinator.com/item?id=47679121">mixed</a> reactions. On the hype side, it&#8217;s an extremely impressive model and deserves its accolades for vulnerability research and exploitation. In fact, Anthropic is worried enough about the model that it created an invite-only program, dubbed Glasswing, to give early access to companies that will initially use it to find and fix vulnerabilities.</p><p>On the other hand, the incentive structure of frontier labs like Anthropic is to build hype and generate buzz. And when you generate buzz around the security industry, you will get pushback against the hype, whether you want it or not. I believe Saxe&#8217;s pushback in this article has the best-grounded arguments to help us brace for impact without burning too much energy bracing too hard. </p><p>Mythos, much like Opus&#8217; release, will fundamentally change a lot of our capabilities. But much like Opus, our security capacity is bounded by more than just computation and prompting. Saxe frames this argument with a thought experiment. If these frontier models changed the game for synthetic voice and text, have we meaningfully seen an <em>explosion of activity</em> in social engineering and phishing attacks? The key here is &#8220;explosion&#8221;, because that&#8217;s what it seems like the Mythos release is warning the industry about, but instead of phishing, it&#8217;s vulnerabilities.</p><p>I do wish there were some investigation from Anthropic on the detection and response front. Mythos will clearly help the vulnerability side of the house, but what about deep investigations, rule writing, or threat hunting? Frontier models have fundamentally changed blue team operations in these fronts, but I don&#8217;t think it&#8217;s ruined the status quo. We&#8217;ve certainly become better prompt engineers, though :). </p><div><hr></div><p><a href="https://pylos.co/2026/04/11/myth-mythos-where-do-we-go-from-here/">Myth &amp; Mythos: Where Do We Go From Here?</a> by Joe Slowik</p><p>It&#8217;s pretty apt that Joe Slowik wrote a blog about Mythos on his blog named &#8220;Stranded on Pylos&#8221;. I really enjoyed reading this essay, mostly because it highlighted some of the intentional or unintentional decisions Anthropic made when announcing Project Glasswing. Specifically, the lack of non-American companies and the focus on tech &amp; IT rather than critical infrastructure or healthcare organizations.</p><p>Joe is a staunch advocate for critical infrastructure security research, especially around OT systems. He offered a critical but fair take on the initial release of Project Glasswing, lacking any focus on these areas. In all fairness, as he points out, many of these large tech companies do build and maintain products for critical infrastructure networks, but there isn&#8217;t enough information from Anthropic to confirm whether they are considering the threat model for these networks.</p><p>Admittedly, I think it&#8217;s a Catch-22. If Anthropic brought in a Siemens, and maybe didn&#8217;t bring in Apple, would we be making the same argument? Probably. And the marketing is well done, capturing the attention of major news outlets worldwide. Though Anthropic, in my opinion, has done the most to demonstrate its commitment to AI safety research, I feel like they are more trustworthy for the time being, especially when they say something is &#8220;too dangerous right now.&#8221;</p><div><hr></div><p><a href="https://blog.grumpygoose.io/web-exploitation-712cdeb8ecf0">Webex-ploitation</a> by Grumpy Goose Labs</p><p>I first featured Grumpy Goose Labs in <a href="https://www.detectionengineering.net/i/102962985/state-of-the-art">Issue 11</a> (!!), and since then, they&#8217;ve done a ton of research on hunting for Fake IT Workers. In <a href="https://www.detectionengineering.net/p/dew-138-sigmas-detection-quality?utm_source=publication-search">Issue 138</a>, I wrote an analysis of their fantastic research on hunting for KVM Switches in Crowdstrike, which can be a great signal for <a href="https://www.justice.gov/opa/pr/justice-department-announces-coordinated-nationwide-actions-combat-north-korean-remote">facilitators</a> who gain fraudulent employment. In this post, they switch their hunting methods to look for Webex sessions used by facilitators in a similar way. </p><p>I find it insane how RMM software, like Webex, has poor audit logs, logs everything locally, and provides opaque logs that make it a lot harder to detect and hunt for this activity. I ran a cursory search on GitHub for any log-shipping pipelines that parse, normalize, and ship these logs to providers, and I didn&#8217;t find any. </p><p>The craziest find in this research is how WebEx has keylogging capabilities. It&#8217;ll record keyboard firing events to the local log files, and so theoretically you can: a) spy on your employees, b) run malware that ships these logs off to a C2 for password collection, or c) hunt for TTPs by some of these IT Workers.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://openai.com/index/axios-developer-tool-compromise/">Our response to the Axios developer tool compromise</a> by OpenAI Security</p><p>The OpenAI Security team published a security update on the impact of the Axios supply-chain compromise on their macOS signing process. According to their security team, the GitHub action that signs the binaries for their macOS apps, such as Codex CLI and ChatGPT desktop, was compromised and downloaded the malicious Axiox 1.14.1 version. </p><p>Based on research published over the last week and a half, many of these compromised builds failed due to peculiarities in their code, but OpenAI revoked and rotated the signing certificate out of an abundance of caution.</p><div><hr></div><p><a href="https://blog.bushidotoken.net/2025/04/tracking-adversaries-evilcorp-ransomhub.html">Tracking Adversaries: EvilCorp, the RansomHub affiliate</a> by Will &#8216;BushidoToken&#8217; Thomas</p><p>Following my Threat Landscape coverage from last week&#8217;s issue, threat research G.O.A.T. BushidoToken&#8217;s timely issue on EvilCorp helps tie their operations under the newer and active RansomHub affiliate program. Since the U.S. sanctioned EvilCorp, it has become much harder for victims to pay the group after they suffer a ransomware attack. This leads groups to rebrand as new groups or join affiliate programs to continue their operations, removing a significant financial hurdle to their success.</p><p>Will&#8217;s survey of infections from the last few years of ransomware attacks helps tie them to EvilCorp because of the use of the <a href="https://malpedia.caad.fkie.fraunhofer.de/details/js.fakeupdates">SocGolish malware</a>. This is about as close as you can get to attribution with only pure technical data without relying on HUMINT, such as law enforcement or doxxing. </p><div><hr></div><p><a href="https://www.microsoft.com/en-us/security/blog/2026/04/06/ai-enabled-device-code-phishing-campaign-april-2026/">Inside an AI&#8209;enabled device code phishing campaign</a> by Microsoft Defender Research Team</p><p>This post by Microsoft Defender Research highlights a phishing operation tracked under the EvilTokens phishing group. It focuses on DeviceCode phishing, where a threat actor abuses an authentication flow primarily used to sign in to Microsoft accounts associated with non-endpoint applications, such as Netflix or YouTube. The way the attack works is when you click &#8220;Sign-in with Microsoft&#8221;, you are given a token that lasts 15 minutes to complete the authentication flow. This makes sense given it&#8217;s designed for devices other than your laptop.</p><p>Traditional phishing campaigns must generate the token before sending a phishing email, which can limit the infection window. According to Microsoft, EvilTokens' unique approach is to use AI-generated frontends and workflows to create on-the-fly tokens via a hyper-optimized phishing page, thereby extending the window to the full 15 minutes, since tokens are generated only when the victim interacts with the attacker's infrastructure.</p><div><hr></div><p><a href="https://panther.com/blog/tracking-an-ottercookie-infostealer-campaign-across-npm">Tracking an OtterCookie Infostealer Campaign Across npm</a> by Alessandra Rizzo</p><p>In the latest evolution of Contagious Interview/WageMole and FAMOUSCHOLLIMA-aligned threat actors, Panther security researcher Alesandra Rizzo tracks an open-source supply chain attack that results in an OtterCookie infection, followed by the exfiltration of developer secrets and machine configuration files. To me, there are two interesting findings that showcase the evolution of DPRK-nexus threat actors. </p><p>First, they are heavily abusing <a href="https://vercel.com/">Vercel</a> services, making it easy to stand up and rotate attacker infrastructure used as exfiltration points. Secondly, the OPSEC trickery around dotted Gmail email addresses, such as t.e.ch.y@detectionengineering.net, allows them to get a little more use out of the emails, since Gmail ignores dots when receiving email on behalf of users, whereas other services like npm do not.</p><div><hr></div><p><a href="https://www.jamf.com/blog/clickfix-macos-script-editor-atomic-stealer/">ClickFix technique uses Script Editor instead of Terminal on macOS</a> by Jamf Threat Labs</p><p>When I first learned about the ClickFix infection technique, I couldn&#8217;t believe that people would copy and paste terminal commands from a website into their Terminal. I scoffed at people falling victim to it, exclaiming that it would never happen to me because I&#8217;m a security person. I then proceeded to install a package manager by copy pasting a bash command into my terminal:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!58_D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!58_D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 424w, https://substackcdn.com/image/fetch/$s_!58_D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 848w, https://substackcdn.com/image/fetch/$s_!58_D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 1272w, https://substackcdn.com/image/fetch/$s_!58_D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!58_D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png" width="1456" height="484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118065,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/193747437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!58_D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 424w, https://substackcdn.com/image/fetch/$s_!58_D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 848w, https://substackcdn.com/image/fetch/$s_!58_D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 1272w, https://substackcdn.com/image/fetch/$s_!58_D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6384017a-73bb-4e9a-b4dc-120ea603f9fe_1702x566.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The technique works because the industry has collectively settled on the ease of installing software via a copy-paste command. So, as vendors like Jamf and Apple began to catch up by deploying mechanisms to detect this behavior, threat actors adjust and continue the cat-and-mouse game. </p><p>In this post, Jamf Threat Labs uncovers a ClickFix campaign they discovered that combined the social-engineering aspect of a lookalike website with an older technique: AppleScript URIs. According to the researchers, victims are presented with the phishing website, and instead of copy-pasting the command, you click an Execute Button, which runs a native applescript:// feature that launches a Script Editor and prompts the user to run it. </p><p>The payload leads to an infostealer infection so not much changes there, but adjusting the delivery and exploiting the trust of victims running these commands are just one UI/UX workflow away from a new infection.</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/salesforce/url-content-auditor">salesforce/url-content-auditor</a></p><p>url-content-auditor scans web content for sensitive data, such as secrets and PII, as well as anything that puts the website's or its users' privacy at risk. It&#8217;s smart enough to download video, audio, and documents, extract data, apply some heuristics, and also use LLMs to classify and alert on anything sensitive. </p><div><hr></div><p><a href="https://github.com/momenbasel/malware-check">momenbasel/malware-check</a></p><p>Modern static and dynamic analysis toolset for malware analysis. It has an impressive number of analysis engines, including Windows, macOS, Linux, Android, and iOS. It uses a Docker sandbox for its dynamic analysis, so it&#8217;s pretty lightweight. It generates findings in the console, JSON, HTML, and SARIF for CI/CD pipeline reports.</p><div><hr></div><p><a href="https://github.com/416rehman/DeepZero">416rehman/DeepZero</a></p><p>DeepZero is a research toolset using quite a grab bag of techniques to find vulnerabilities in Windows kernel drivers. Two features stood out to me. One, it uses Semgrep rules on decompiled binaries to find &#8220;known vulnerability shapes&#8221;, which essentially means it can direct analysis towards interesting findings versus sweeping the whole binary. On the back of the Mythos announcement, it uses DeepAgents from langchain and Vertex AI to triage the Semgrep findings.</p><div><hr></div><p><a href="https://github.com/momenbasel/htb-writeups">momenbasel/htb-writeups</a></p><p>Massive compendium of HackTheBox writeups used for self-learning and exploration. This is super helpful for those who want to explore topics as they work through HackTheBox challenges, or they want to see and read about techniques used during these challenges. It has four interactive tools you can use to query and generate write-ups based on your interests: everything from searching for specific machines, operating systems, and attack paths to a Skill tree that maps out your learning journey.</p><div><hr></div><p><a href="https://github.com/pandaadir05/snoop">pandaadir05/snoop</a></p><p>Slick-looking syscall tracer leveraging eBPF versus strace&#8217;s ptrace. This is especially helpful if you are using it to research malware or hunt for vulnerabilities in binaries on CTFs. The TUI is quite beautiful and interactive, whereas strace makes me want to cry every time I stare at it.</p>]]></content:encoded></item><item><title><![CDATA[DEW #151 - The Security Cognitive Rust Belt, Music Streaming Fraud & the Axios Incident Post-Mortem]]></title><description><![CDATA[And the Sabres make the playoffs :3]]></description><link>https://www.detectionengineering.net/p/dew-151-the-security-cognitive-rust</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-151-the-security-cognitive-rust</guid><pubDate>Wed, 08 Apr 2026 12:03:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-zN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #151 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>I tried to visit my hometown over the weekend, but my flight was canceled before I could leave. I did my first solo road trip in probably <em>years</em>. Maybe it&#8217;s an American culture thing, but I didn&#8217;t mind the 6.5-hour drive. Lots of music, podcasts, and sitting with your thoughts</p></li><li><p>It&#8217;s always strange going back to your hometown and seeing how much has or hasn&#8217;t changed. For example, it&#8217;s almost mid-April, and I drove into snow :(. But pizza &amp; chicken wings are so much better in NY than in New England so I hope that never changes</p></li><li><p>I&#8217;ve been reading about Daniel Miessler&#8217;s <a href="https://danielmiessler.com/blog/personal-ai-infrastructure">PAI</a> project, and I&#8217;m quite impressed with the idea of using AI for <em>Personal Augmentation</em>. Rather than having several Claude Code sessions or optimizing ways to integrate into Gmail or Calendars, you can use this almost like an extension of yourself. It learns your motivations, wishes, and tool-stack preferences, and even tries to configure its personality so you enjoy working with it. This is definitely my project for the next several weeks</p></li></ul><h3><strong>Sponsor: Nebulock</strong></h3><blockquote><h3><strong>Automate the Tedious Parts of Your Hunting Workflow</strong></h3><p>The hardest part of threat hunting isn&#8217;t running queries. It&#8217;s knowing what to look for, why it matters, and whether your environment is exposed. </p><p>Distilling reports, mapping TTPs, and translating into behavioral indicators is where time disappears. Vespyr, Nebulock&#8217;s autonomous hunting agent, handles the reasoning layer. Findings are tied to your stack, your data, and your exposure profile, so every result is relevant to your environment and ready for the judgment calls only you can make.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://na2.hubs.ly/H04Kx850&quot;,&quot;text&quot;:&quot;See How Vespyr Works&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://na2.hubs.ly/H04Kx850"><span>See How Vespyr Works</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://www.sentinelone.com/blog/the-implementation-blind-spot-why-organizations-are-confusing-temporary-friction-with-permanent-safety/">The Implementation Blind Spot | Why Organizations Are Confusing Temporary Friction with Permanent Safety</a> by Chris St. Myers</p><p>This is an excellent commentary on the risks in the adoption curve of AI and Agents in security. It&#8217;s easy to get overwhelmed by the noise of marketing, fear, uncertainty, and doubt about security. On the one hand, we are hearing about so many companies adopting AI to increase productivity, sell products, and, more often than not, citing its use to justify layoffs. On the other hand, AI doomers claim that this technology will ruin our careers by automating us away. Like most things in life, the answer is probably somewhere in the middle, but we need to make sure we understand the risks. </p><p>We are all fortunate to be standing on the shoulders of giants. We know what a good security product, alert, or workflow <a href="https://www.detectionengineering.net/p/knowing-what-good-looks-like-in-agentic">looks and feels like.</a> AI is too nascent for us to forget how much we&#8217;ve had to practice learning our craft with deterministic tools like Wireshark, the command line, and SIEMs. St. Myers warns, though, that we are at risk of forgetting. He compares and contrasts this with the massive adoption of technologies like the cloud, where we retained the analytical capabilities of security people and anyone in technology, because it was a deterministic shift in architecture. We still needed to understand and synthesize information to help automate tasks.</p><blockquote><p>We are not just changing the pipes; we are changing <strong>who</strong> (or what) processes the data.</p></blockquote><p>But, for AI, it&#8217;s non-deterministic, and that&#8217;s by design. And the &#8216;who&#8217; in the quote here is important. St. Myers calls this risk the &#8220;cognitive rust belt&#8221;. We aren&#8217;t farming out architecture, building, or repetitive tasks to AI; we are farming out analytical capabilities. It&#8217;s a gradual hollowing out of analytical capabilities, as if we were all handed a junior analyst to synthesize data for us, and all we read are prompt responses. </p><p>Here&#8217;s how it relates to detection and response:</p><ul><li><p>We&#8217;re building out increasingly complex detection technology, but we risk losing the understanding of why those detections matter, and how we can investigate when they fail</p></li><li><p>For AI-generated triage, are we slowly removing the &#8220;approved by an analyst&#8221; workflow? What parts of D&amp;R will we lose agency to AI?</p></li><li><p>If we solve SOC analyst burnout with AI, which is great, what do we lose in the process? How else can they learn the field if they don't sit down and work through alerts?</p></li></ul><blockquote><p>They have been living inside summaries, not raw telemetry. </p></blockquote><p>These are paradoxes in detection engineering, but honestly, it applies to every place trying to replace or accelerate human analysis with AI. We have to find ways to train and retain this expertise in an analytically rigorous profession. The prompts will be tuned and perfected, direct feedback on results will become more opaque, and we run the risk of understanding the <em>how</em> underneath the hood. When we enter the rust belt, it&#8217;ll be harder to trust the output of LLMs without trusting that we have the expertise to judge them.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a7a262a364e129ab23663a014&quot;,&quot;title&quot;:&quot;171: Melody Fraud&quot;,&quot;subtitle&quot;:&quot;Jack Rhysider&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/17eH1NRe48iEantOJCSlSV&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/17eH1NRe48iEantOJCSlSV" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>I fell in love with Darknet Diaries years ago, probably starting with the <a href="https://en.wikipedia.org/wiki/Carbanak">Carbanak</a> <a href="https://open.spotify.com/episode/6Albk1QKubTGvzUUAUtMyl?si=5c25890570374d36">Episode</a>. It&#8217;s cool to learn about the intermix of pure cybersecurity, professional stories, and security-adjacent stories through Jack&#8217;s storytelling. In this episode, Jack interviews the CEO of <a href="http://beatdapp.com/">BeatDapp</a>, who first started out as a fraudster in the BlackHat/GrayHat SEO realm. They began as a marketing firm but are now a fraud-prevention platform for the music industry. There are SO many parallels to security. </p><ul><li><p>Fraud impact is directly measurable to impact (loss prevention), and bad guys are extremely persistent in finding ways to perform fraud</p></li><li><p>Many techniques to perform that fraud involve security means, such as compromising individual accounts all the way to compromising streaming services to skim money from payouts</p></li><li><p>Detection rules range from basic heuristics to machine learning, and clustering activity is a huge part of finding fraud</p></li></ul><p>I also learned a few things about the streaming platform&#8217;s business model after this. Advertisers pay apps like Spotify or Apple Music for ads, and the money goes into a single pool each month. The streaming services then take all the listen counts by artist, sum them, and divide them across artists to create pizza slices (percentages) showing how each contributed to that sum. Then they carve out a portion of the ad revenue to pay artists and divvy up the payments according to those percentages. </p><p>So, if you compromise an artist or the streaming services, and you can take money off the top of those payouts, you can make a lot of money. </p><p>Fascinating stuff!</p><div><hr></div><p><a href="https://medium.com/detect-fyi/a-detection-researcher-mindset-f2ed045480c5">A Detection Researcher Mindset</a> by Scott Plastine</p><p>It always fascinates me to find posts like this one by Plastine that outline their mental model in how they approach research and detection ideation. Detection ideation typically begins with a news story or a research blog post that (hopefully) contains enough technical detail to initiate the process. Then, you should deconstruct this information into components around capabilities, environmental context, existing coverage, and feasibility. This is easier said than done, so Plastine splits this into seven steps, with, funny enough, the last step being to write the detection.</p><p>They first start with understanding the technique and what normal behavior looks like in the context of the attack. A lot of people jump straight into writing rules without properly investigating whether this is even relevant to their environments. If it is relevant&nbsp;and you do understand the attack, you must then see whether you have the&nbsp;<a href="https://www.detectionengineering.net/i/167435526/there-is-no-rule-without-telemetry">necessary telemetry</a>&nbsp;for your rules to fire. </p><p>My favorite step in this blog, though, is under &#8220;is prevention possible?&#8221; A metric we can all obsess over is rule count and coverage, and making sure they go up.  More rules is more coverage and more attacks, right? As an industry, I think we need a separate metric that accounts for cases where we <em>remove rules</em> because we implemented a technical control to limit the attack path altogether. Seeing Plastine call this out as a possibility in rule development means teams obsess less about hitting coverage metrics and more about recommending and implementing security controls that make all of our lives easier.</p><div><hr></div><p><a href="https://wiz-sec-public.github.io/SITF/">SITF: The SDLC Infrastructure Threat Framework</a> by Wiz Research</p><p>We can&#8217;t always wait for MITRE ATT&amp;CK to release new frameworks so quickly; many great research and security teams can help fill that gap with their own ATT&amp;CK-style frameworks for everyone in the industry. The SDLC Infrastructure Threat Framework, or SITF, helps solve that gap. Here are some gaps and features they address:</p><ul><li><p>They list five components of potential victim infrastructure: Endpoint, VC, CI/CD, Registry &amp; Production. You can see these being attacked in every supply chain attack in the last two weeks surrounding Trivy &amp; Axios</p></li><li><p>Three stages, Initial Access, Discovery &amp; Lateral Movement and Post-Compromise, connect to ATT&amp;CK, sans post-compromise</p></li><li><p>The techniques are specific and actionable. For example, <a href="https://wiz-sec-public.github.io/SITF/techniques-library.html#T-V011">Git Tag Manipulation</a> was used in the Trivy attack as tags were removed and re-added with an orphaned commit on a fork in the attacker&#8217;s repo</p></li></ul><p>Each technique has protective controls associated with them, so this is great reference material for those who are trying to harden their supply chain pipelines.</p><div><hr></div><p><a href="https://pr3tack.org/">PR3TACK</a> by Atlassian CSIRT</p><p>The Preemptive Tactics &amp; Countermeasures Knowledgebase (PR3TACK) is an ATT&amp;CK-style lexicon of tactics and techniques that highlight theoretical or &#8220;hard to observe&#8221; attacks. It&#8217;s a bit hard to understand at first, but once you dig into their matrix, there are some interesting entries. For example, the following collection technique:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-zN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-zN0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 424w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 848w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 1272w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-zN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png" width="501" height="307.06451612903226" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:992,&quot;resizeWidth&quot;:501,&quot;bytes&quot;:94191,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/192866611?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-zN0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 424w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 848w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 1272w, https://substackcdn.com/image/fetch/$s_!-zN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f29053d-e8d9-432e-a154-a332cc96a116_992x608.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is malware that abuses clipboard content theft, so it makes sense that operating systems have mechanisms to cache history in some fashion. Each technique has a preemptive defense section, and in this case, it states there is no effective way to detect this type of attack due to a lack of telemetry. </p><p>It also introduces eight unique tactics that &#8220;extend beyond traditional technical compromise into governance, cognition, and sociotechnical domains.&#8221; There are supposedly longer descriptions for each one, but it either seems like the website doesn&#8217;t have a page to navigate to or my Brave browser is broken :3.  </p><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><p><a href="https://github.com/axios/axios/issues/10636">Axios Post Mortem</a> by Jason Saayman</p><p>The owner and victim of the Axios supply chain attack last week published a great post-mortem on GitHub issues. Not much new information was shared, but you can tell they took the attack seriously and were an unfortunate victim to a convincing social engineering attack likely led by DPRK operators. They could have taken some steps to prevent this from happening, such as:</p><ul><li><p>Removing long-lived tokens for publishing out-of-band versions</p></li><li><p><a href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">OIDC-style</a> publishing to issue short-lived tokens and force releases through GitHub</p></li><li><p>Immutable-builds: this can mean many different things, but pinning to a specific version of axios that uses <a href="http://npm pack">bundleDependencies</a>, for example, can prevent consumers of axios from pulling in updated malicious versions</p></li></ul><p>Even if Axios hardened their build pipeline with the above bullets, th</p><div><hr></div><p><a href="https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers">Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign</a> by Sarah Gooding</p><p>Following the Axios breach and the subsequent post-mortem above, Socket.dev researcher Gooding collected several notable open-source maintainer posts about how they were contacted by the same threat actors in the same campaign. It&#8217;s good to see the openness of many of these maintainers to share their stories. It brings transparency to the situation and a sense of community that they are all in this together. It&#8217;s <em>bad</em> to see how wide DPRK cast their nets and have succeeded with at least one victim. </p><p>These developers are all self-selecting, meaning many more likely got these phishing emails and Slack invites. I&#8217;m unsure if there were any more victims, but I wouldn&#8217;t be surprised.</p><div><hr></div><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8afab1d15f582746740ced6956&quot;,&quot;title&quot;:&quot;Between Two Nerds: Make cyber, not war&quot;,&quot;subtitle&quot;:&quot;Risky Business Media&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/0CFGn2fmfPXbeTKhrtLrUu&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/0CFGn2fmfPXbeTKhrtLrUu" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>I have to apologize to you all. I listened to lots of podcasts on a long drive over the weekend, and this one stuck with me in particular because of its coverage of the war in Iran. The U.S. military industrial complex has warned of a &#8220;Cyber 9/11&#8221; event since I&#8217;ve been in the industry. The idea is a thought exercise in which a single cybersecurity breach or attack can trigger massive kinetic effects without a nation-state ever leaving its computer screens.</p><p>It&#8217;s a term that&#8217;s been made fun of relentlessly. Nation-states have effectively used these capabilities as spying tools, which they are very good at doing. But, starting with the Russia-Ukraine war, we&#8217;ve seen attacks mounted that have crossed that threshold. In Iran, there have been reports of Iranian actors using compromised devices to perform <a href="https://www.militaryfactory.com/dictionary/military-terms-defined.php?term_id=689">Battle Damage Assessments</a>, as well as using them for targeting for a strike. </p><p>This is where I see security being relevant in a more modern environment. The grugq and Tom Uren have an excellent conversation in this podcast on everything from cyber 9/11 doomers to the effective use of cybersecurity as an intelligence weapon in lieu of boots-on-the-ground collection activities.</p><div><hr></div><p></p><p><a href="https://krebsonsecurity.com/2026/04/germany-doxes-unkn-head-of-ru-ransomware-gangs-revil-gandcrab/">Germany Doxes &#8220;UNKN,&#8221; Head of RU Ransomware Gangs REvil, GandCrab</a> by Brian Krebs</p><p>I haven&#8217;t heard the words UNKN, REvil or GandCrab in many years! The wheels of justice grind slowly but grind fine, and it looks like German authorities are joining the fray, along with UNKN and co-conspirators. For those unfamiliar with REvil, it was the O.G. ransomware gang that moved the cybercrime industry from small-scale attacks for a few hundred to a few thousand dollars to a cartel-like operation that claimed to extort over two billion dollars.</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="https://github.com/Blevene/structured-analysis-skill">Blevene/structured-analysis-skill</a></p><p>Claude plugin for performing <a href="https://www.cia.gov/resources/csi/static/Tradecraft-Primer-apr09.pdf">structured analysis techniques</a> used by organizations like the CIA and the U.S. intelligence community. This is super useful for people using Claude Code as a threat intelligence research aid. You can instruct your session to use the plugin or skills for everything from attribution and intelligence writing to malware analysis.</p><p>Maybe I&#8217;m an intel nerd, but I do think a lot of people or companies who write blog posts on threat research could use a toolset like this as a gut check before they start throwing out wild claims to grab attention.</p><div><hr></div><p><a href="https://github.com/wiz-sec-public/SITF">wiz-sec-public/SITF</a></p><p>Wiz&#8217;s repository for their SITF supply chain site is listed above in State of the Art.</p><div><hr></div><p><a href="https://github.com/elastic/supply-chain-monitor">elastic/supply-chain-monitor</a></p><p>With all the OSS supply chain attacks happening, I think it&#8217;s important for security engineers to become more knowledgeable about the OSS ecosystem. For example, how are new packages published or updated, and where can you get better visibility in the upstream publishing process and into how your organization consumes these packages? </p><p>The Elastic Security team made that a little easier with a fully packaged open-source tool that monitors PyPI and npm for new packages and package diffs. It normalizes them and feeds them into a Claude prompt for analysis and subsequent alerting.</p><div><hr></div><p><a href="https://github.com/ironsh/iron-proxy">ironsh/iron-proxy</a></p><p>To continue the supply chain security awareness story, iron-proxy helps prevent data exfiltration or command and control call-outs by injecting a workload on top of your CI/CD pipeline to do network monitoring and egress blocking. It specifies that it can be used for any workload, so theoretically you can run this on top of a developer container or a cloud machine, but IMHO it should shine in test runners within CI/CD pipelines.</p><div><hr></div><p><a href="https://github.com/HaxL0p4/L0p4Map">HaxL0p4/L0p4Map</a></p><p>L0p4Map is a network scanning tool with a quite stunning front end. I think something like this would be useful in your network, where it can scan for devices, fingerprint them, and perform basic vulnerability scanning to help you understand how an attacker might probe your network for lateral movement.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #150 - macOS Endpoint Security Firewall, EDR telemetry updates & Supply Chain Bonanza]]></title><description><![CDATA[pls no more OSS compromises]]></description><link>https://www.detectionengineering.net/p/dew-150-macos-endpoint-security-firewall</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-150-macos-endpoint-security-firewall</guid><pubDate>Wed, 01 Apr 2026 10:48:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ciJn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #150 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>We completed a 5-hour back-and-forth car ride over the weekend with mostly chill kids, no car sickness, and even some napping. It doesn&#8217;t seem like much but it made the trip wayyy less stressful.</p></li><li><p>I skipped last week to take some time off after RSA. Thank you to everyone who came up and said hello to me, as well as to those who hung out at the Detection &amp; Response Happy Hour!</p></li><li><p>I finally set up Claude to be an &#8220;executive assistant&#8221;. It&#8217;s been helpful to have it sift through email, Slack, and Calendars and give me the most important things up front. It did take some prompt tuning to separate what matters from what is noise, but I recommend setting this up for people who have a busy personal or work life.</p></li></ul><h3><strong>Sponsor: Permiso Security</strong></h3><blockquote><h3><strong>Every identity. Every environment. Know static posture and runtime behavior.</strong></h3><p>Attackers aren&#8217;t breaking in anymore. They&#8217;re logging in. And they&#8217;re not just targeting human accounts. Service accounts, OAuth tokens, and AI agents are just as exposed and far less monitored. Most detection tools weren&#8217;t built for that reality. Permiso was, which is why we won the 2026 SC Award for Best Threat Detection Technology. See how it works in our product tour.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://permiso.storylane.io/share/bw28kjulerop&quot;,&quot;text&quot;:&quot;Take the Tour&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://permiso.storylane.io/share/bw28kjulerop"><span>Take the Tour</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://objective-see.org/blog/blog_0x86.html">Building a Firewall ...via Endpoint Security!?</a> by Patrick Wardle</p><p><code>&lt;rant&gt;</code></p><p>Apple and lack of accessibility to secure telemetry: name a better duo. Jokes aside, I have such a love-hate relationship with Apple products. I use them <em>for everything</em>. The ecosystem is SO good. I can&#8217;t imagine not working on a MacBook, surfing the Internet, taking calls on an iPhone, or sporting around my AirPods Max. They integrate their technologies so well and make them easy to use across devices, and if my parents can figure out how to use them (sorry, Dad &amp; my in-laws), then you know they do something right.</p><p>What infuriates me is how opaque they choose to make their devices to researchers, security tinkerers, and security teams at companies who pay Apple a lot of money. There are <a href="https://citizenlab.ca/research/bahrain-hacks-activists-with-nso-group-zero-click-iphone-exploits/">myriad</a> <a href="https://citizenlab.ca/2021/09/forcedentry-nso-group-imessage-zero-click-exploit-captured-in-the-wild/">nation-state</a> <a href="https://www.microsoft.com/en-us/security/blog/2023/04/11/reign-of-terror-discovering-the-full-capabilities-of-quadreams-spyware/">threat</a> <a href="https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/">actor</a> <a href="https://citizenlab.ca/2023/09/blastpass-nso-group-iphone-zero-click-zero-day-exploit-captured-in-the-wild/">cases</a> in which a <a href="https://iverify.io/blog/iverify-uncovers-evidence-of-zero-click-mobile-exploitation-in-the-us">sophisticated</a> exploit runs against an Apple device, and victims are unaware of what happened.  In every case above, detection required either an external forensics lab (Citizen Lab, Amnesty Tech), corporate network monitoring catching anomalous traffic (Kaspersky), or a specialized third-party iOS monitoring tool (iVerify). Apple&#8217;s own platform produced no victim-facing signal. </p><p><code>&lt;/rant&gt;</code></p><p>Luckily, we have the macOS researcher community, and Patrick Wardle is one of the lead researchers in this cause. Wardle routinely reverse-engineers macOS releases to discover new capabilities and features to share with the wider community. In this latest macOS 26.4 release, Apple&#8217;s built-in <a href="https://developer.apple.com/documentation/EndpointSecurity">Endpoint Security</a> product got some updates. This didn&#8217;t come with much (any) documentation, so Wardle built a harness to explore new data types within the framework and determine how to implement them. There were six new event types added with unhelpful names, such as E<code>S_EVENT_TYPE_RESERVED_1</code></p><p>So, Wardle built a harness to subscribe to the Endpoint Security event stream and filter out the event types listed above. He sucessfully subscribed to 3-6, and had such a clever way to print the raw bytes from these subscribed events into essentially what is a hex dump. Instead of parsing each byte, he fed his methodology (plus the dumps) into Claude Code, and it found out they were network logs:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WaGk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WaGk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 424w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 848w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 1272w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WaGk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png" width="1456" height="1508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1508,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:989953,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/192436315?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WaGk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 424w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 848w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 1272w, https://substackcdn.com/image/fetch/$s_!WaGk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F817f9483-b22d-4979-b1cd-70c6f9cd60cc_3680x3812.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One thing I learned from Wardle is that these event logs send two events to a subscription: an AUTH and a NOTIFY event. The AUTH allows you to allow or deny the event. So, in this case, imagine cURLing a suspicious domain from a ClickFix attack and your Endpoint Security event software denies it. The NOTIFY event is for logging and might be useful for on-device correlated alerts in an EDR or for sending it to your SIEM.</p><p>I am really starting to enjoy the macOS detection &amp; response capabilities coming out, and I am hopeful that the research from the small, tight-knit macOS security community can bring them to the masses.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://medium.com/breakout-time/the-c2-trap-3acabbc7a04f">The C2 Trap</a> by James Rowell</p><p><a href="https://en.wikipedia.org/wiki/Shiny_object_syndrome">Shiny object syndrome</a> is a phenomenon I see a lot in security, and it can dangerously bias your work towards what is new and trendy. A classic example of this is a security operations team reading threat intel reports on nation-state activity and trying to write rules to catch the latest TTPs. What they may not realize, for example, is that this nation-state targets technologies that the team rarely uses, or they don&#8217;t fit into the threat actor&#8217;s target set due to their size or industry. We love our shiny objects!</p><p>In this post, Rowell describes how detection engineers can fall victim to this syndrome by targeting the wrong parts of the MITRE ATT&amp;CK chain. One of my favorite quotes they use here:</p><blockquote><p>The first mistake that teams make is to treat C2 and exfiltration as if they are specific behaviours. They are not. They are outcomes.</p></blockquote><p>This is super concise for a number of reasons that Rowell points out. First, the &#8220;outcomes&#8221; portion of this quote means you can&#8217;t stop exfiltration without understanding the underlying behaviors. It begs the question: when an actor successfully exfiltrates data from your environment, how did they do it? Was it uploading to a cloud service, a good old-fashioned SSH session, or perhaps emailing a large zip file to their inboxes?</p><p>Rowell challenges readers to move to the left of exfiltration if you have to start somewhere. <a href="https://www.detectionengineering.net/i/183742455/composite-detections-tell-a-story">A lot of things have to go right</a> for the attacker in order to get to this stage. So, focusing on behavior chokepoints in persistence, privilege escalation, and lateral movement can meaningfully reduce the complexity of your rule backlog. It&#8217;s also likely that you have a limited set of attack paths for data exfiltration, whereas there are many ways to exfiltrate data, as I stated above.</p><div><hr></div><p><a href="https://detect.fyi/detection-via-deception-using-your-siem-as-a-free-deception-platform-8ecdd97023d9">Detection via Deception &#8212; Using your SIEM as a Free Deception Platform</a> by Regan Carey</p><p>Honeytokens are widely regarded as a low-cost, effective detection tool for identifying threat actors targeting your environment. Thinkst Canary is the prime example of a company that creates this technology, and you can use their canaries <a href="https://www.notion.so/April-1-32a64c6e50e680d7973efeebbe81b09f?pvs=21">for free</a> across a variety of technologies. In fact, it&#8217;s a great learning experience for those building detection labs or securing their home networks to deploy these and watch threat actors try to use them, especially if you intentionally expose them.</p><p>In this post, Carey does a great job of framing some of the issues people have with deploying canarytokens and calls out some misconceptions behind deception-based alerting and honeytokens. First, the technological barrier to using honeytokens isn&#8217;t low, so you just have to find a way to deploy them and send any corresponding alerts. Second, people may believe that their environment isn&#8217;t complex enough to warrant using honeytokens, when in fact they may be better for small organizations and environments due to the cost of entry for security products.</p><p>They round out the post with an example of using MITRE Engage to deploy and monitor honeytokens leveraging native Azure, Sentinel, and KQL functionality.</p><div><hr></div><p><a href="https://www.edr-telemetry.com/blog/macOS-EDR-Telemetry-Framework-and-Generator-A-New-Chapter-for-Endpoint-Visibility">macOS EDR Telemetry: A Structured Framework for Evaluating Endpoint Visibility</a> by Kostas Tsialemis</p><p>I first covered Kostas&#8217; <a href="https://www.detectionengineering.net/p/det-eng-weekly-90-its-bullking-szn?utm_source=publication-search">EDR Telemetry Project</a> in October 2024, and it&#8217;s grown so much since then! The project provides a framework for benchmarking the detection &amp; response capabilities of various EDR vendors across Linux and Windows. With this release, the team added a macOS benchmark. The framework comprises 16 categories and 58 subcategories across 8 EDR projects.</p><p>I&#8217;m glad to see them tackle macOS: infostealers have been a popular target for cybercriminals. Apple built <a href="https://developer.apple.com/documentation/EndpointSecurity">Endpoint Security</a> (ES) for security vendors to subscribe to, similar to Windows ETW or eBPF on Linux. The issue with ES is it&#8217;s super noisy, and because it&#8217;s not technically an inline hook, there&#8217;s not the same level of inline blocking as you&#8217;ll see on Windows and Linux. They released a companion query-generation tool that people can run while comparing their EDRs or security tooling against the framework.</p><div><hr></div><p><a href="https://www.seccompare.com/">SecCompare</a> by Mark Manning</p><p>Long time friend of the newsletter, Mark Manning, is one of the leading researchers in container and Kubernetes security. He recently gave a talk at BSidesSF that surveyed various Linux security guardrail tools and their corresponding threat models. Within the talk, he showed his tool, SecCompare, which helps people understand <a href="https://www.kernel.org/doc/html/v4.19/userspace-api/seccomp_filter.html">SeccompBPF</a> filters, and compare and contrast expected behavior from filters you generate versus baselines. These can get tricky as there are peculiar attack paths among many different Linux syscalls that can bypass a seccomp filter without you realizing it.</p><p>He&#8217;s got a sick <a href="https://www.seccompare.com/syscalls/index.html">Linux syscall table lookup</a> with information on each syscall as well as labels around how you can abuse them. The interactive &#8220;how do containers work&#8221; demo is sick, too.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ciJn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ciJn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 424w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 848w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 1272w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ciJn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2455523,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/192436315?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ciJn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 424w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 848w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 1272w, https://substackcdn.com/image/fetch/$s_!ciJn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb547f351-3311-4e40-a005-54975d2fedd1_2506x1338.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><p><a href="https://addxorrol.blogspot.com/2026/03/slightly-safer-vibecoding-by-adopting.html">Slightly safer vibecoding by adopting old hacker habits</a> by Halvar Flake</p><p>Vulnerability Research GOAT Halvar Flake released a timely post on his setup for coding in the wake of all of the TeamPCP supply chain attacks over the last few weeks. It&#8217;s a short but sweet post that starts to bring up &#8220;old&#8221; ways of doing things I learned when I first started in security. A basic setup involving a rented server, SSH, and a clear separation between your physical computer and your coding machine seems secure because you don't have any personal information, keys, or crypto wallets on the rented server.</p><p>I&#8217;ve been thinking a lot about old concepts from 14-15 years ago. We have been in container nirvana for the last 8 years or so, and the security boundaries are hard to nail as you begin to develop more and more in them. You load keys inside containers, push them to remote registries, and build them alongside your code. Each step of the deployment pipeline becomes an attack vector, and people aren&#8217;t paying attention to the endpoints writing this code, which are also part of the pipeline.</p><p>I can&#8217;t wait for Vagrant to come back, as it was my favorite tool for years and years, and virtual machines are way more &#8220;secure&#8221; by default. Now it&#8217;ll just be containers inside a local VM &#128514;.</p><div><hr></div><h3><strong>Sponsor: Blu Raven Academy</strong></h3><blockquote><h3><strong>Threat Hunting + Detection Engineering, Powered by Advanced Analytics</strong></h3><p>Master practical threat hunting and detection engineering through hands-on training with advanced analytics, real-world scenarios, and exercises designed for defenders who want skills they can apply immediately.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://academy.bluraven.io/courses?utm_source=detectionengineeringweekly&amp;utm_medium=newsletter&amp;utm_campaign=sponsorship&quot;,&quot;text&quot;:&quot;Start Learning&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://academy.bluraven.io/courses?utm_source=detectionengineeringweekly&amp;utm_medium=newsletter&amp;utm_campaign=sponsorship"><span>Start Learning</span></a></p></blockquote><div><hr></div><h1><strong>&#9763;&#65039; Threat Landscape</strong></h1><h3><strong>Emerging Threat: The Open Source Supply Chain Ecosystem is Front and Center</strong></h3><p>I take one week off from writing this newsletter, and now the software supply chain is on fire! I am linking posts to several compromises over the last 2 weeks that fall into two buckets: Axios &amp; Nation-State Activity and TeamPCP &amp; Cybercriminal Activity. This is becoming more significant from a detection perspective because the expertise required to understand how threat actors carry out these attacks is becoming more prevalent in our detection &amp; response community.</p><p>The other component to call out is that the impact of these attacks extends beyond cryptominers; they can serve as primary, secondary, and tertiary initial access vectors as the bad guys work through the exfiltrated code, secrets, and infections sourced from these compromises.</p><p>I am linking two stories from $DAYJOB, so full disclosure, they are my colleagues and excellent researchers.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/axios-npm-supply-chain-compromise/">Compromised axios npm package delivers cross-platform RAT</a> by Christophe Tafani-Dereeper</p><p>The first set of news, as of me writing this (Mar 31), is that the very popular Axios library for JavaScript was compromised. Axios has over 3 million weekly downloads, and these downloads range from individual developer laptops, CI/CD systems, and production environments. The threat actor compromised the owner&#8217;s account and inserted a backdoor in the dependency list. This malware had payloads for macOS, Windows &amp; Linux. Two versions of the compromised package were released using the NPM publishing token and were exposed for around 4 hours. </p><p>Christophe&#8217;s analysis and timeline are excellent here. He covers each payload and the second-stage RAT, and also notes that this attack didn&#8217;t necessarily work in many environments due to errors in the initial loader logic.</p><div><hr></div><p><a href="https://www.elastic.co/security-labs/axios-one-rat-to-rule-them-all">Inside the Axios supply chain compromise - one RAT to rule them all</a> by Ruben Groenewoud, Samir Bousseaden, Salim Bitam, Joe Desimone, Colson Wilhoit &amp; Andrew Pease</p><p>This post from the Elastic Security Research team helps shed light on the malware payloads in the second stage of the Axios attack. They said that the RAT dropped on this stage shares a &#8220;significant overlap&#8221; with WAVESHAPER, a malware family tracked by Mandiant that is connected to a DPRK-linked threat cluster. I thought this was a helpful table to show the details of this campaign compared to WAVESHAPER data:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bGqi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bGqi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 424w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 848w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bGqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side comparison of the axios compromise macOS sample and WAVESHAPER indicators&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side comparison of the axios compromise macOS sample and WAVESHAPER indicators" title="Side-by-side comparison of the axios compromise macOS sample and WAVESHAPER indicators" srcset="https://substackcdn.com/image/fetch/$s_!bGqi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 424w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 848w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!bGqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bfa797-e45e-4a29-9ac6-acdd9f1e9ad8_1999x1156.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.elastic.co/security-labs/axios-one-rat-to-rule-them-all#attribution">Source</a></figcaption></figure></div><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/litellm-compromised-pypi-teampcp-supply-chain-campaign/">LiteLLM and Telnyx compromised on PyPI: Tracing the TeamPCP supply chain campaign</a> by Nick Frichette, Sebastian Obregoso, Christophe Tafani-Dereeper &amp; Emile Spir</p><p>The fallout from the Trivy compromise led to several package compromises, and LiteLLM &amp; Telnyx were among the bigger ones.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FFy2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FFy2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 424w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 848w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FFy2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png" width="1456" height="1109" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1109,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Overview of the TeamPCP supply chain campaign across five stages (click to enlarge)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Overview of the TeamPCP supply chain campaign across five stages (click to enlarge)" title="Overview of the TeamPCP supply chain campaign across five stages (click to enlarge)" srcset="https://substackcdn.com/image/fetch/$s_!FFy2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 424w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 848w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!FFy2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4ca2bf-6589-4d61-8b80-db07b1ec33f7_1568x1194.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The timeline above helps explain my take at the start of this section, a round primary, secondary, and tertiary compromises. Specifically, look at the <code>BACKDOORED</code> sections of each box. Given the many integration points in a CI/CD pipeline, rotating one credential doesn&#8217;t imply that another access point could provide a backdoor. </p><div><hr></div><p><a href="https://ramimac.me/trivy-teampcp/">TeamPCP Supply Chain Campaign</a> by Rami McCarthy</p><p>There has been some amazing research on this campaign by several researchers and vendors, and Rami led the way throughout. If you need a quick reference blog that&#8217;s easy to navigate, he built a beautiful website outlining the campaign so you can do just that. There are references to the timeline itself, IOCs, the payloads, unanswered questions, myths, and a nice playlist with songs for each part of the compromise!</p><div><hr></div><h1><strong>&#128279; Open Source</strong></h1><p><a href="http://github.com/agentshield-ai/sigma-ai">agentshield-ai/sigma-ai</a></p><p>Sigma ruleset for detecting malicious activity within agent behavior. It&#8217;s more of a pure detection-and-alerting toolset than an EDR, compared to some of the &#8220;Agent EDRs&#8221; I&#8217;ve linked in the newsletter. It&#8217;s listing 42 different Sigma rules, which is an impressive set for agent threat activity.</p><div><hr></div><p><a href="https://github.com/cisco-ai-defense/defenseclaw">cisco-ai-defense/defenseclaw</a></p><p>OpenClaw plugin that provides an AI gateway and several governance functions to help secure your OpenClaw deployment. What&#8217;s cool is that it hooks OpenClaw to scan every skill, MCP servers, and plugins before they are installed and used by the agent. It also has some code security scanning capabilities, as well as run-time monitoring through the gateway.</p><div><hr></div><p><a href="https://github.com/awslabs/threat-modeling-mcp-server">awslabs/threat-modeling-mcp-server</a></p><p>Locally-run MCP server that provides threat modeling capabilities and tool calls. It uses the <a href="https://owasp.org/www-community/Threat_Modeling_Process#stride">STRIDE</a> framework to contextualize the application or code you are modeling and attempts to learn the application's business context before providing recommendations.</p><div><hr></div><p><a href="https://github.com/alicankiraz1/Codex-Sentinel">alicankiraz1/Codex-Sentinel</a></p><p>Yet another awesome-* repo for skills on Codex. It&#8217;s similar to the threat-modeling MCP server above, but primarily relies on skills to help shape secure-by-design coding practices and inject security tests into code artifacts.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #149 - Roll your own Sigma SIEM, Stryker Breach and New Branding!]]></title><description><![CDATA[if anyone wants to see my pinterest mood board hmu]]></description><link>https://www.detectionengineering.net/p/dew-149-roll-your-own-sigma-siem</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-149-roll-your-own-sigma-siem</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 18 Mar 2026 12:04:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AUx7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd903e6-9e5e-44d3-9850-fcce9802e5a1_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #149 of Detection Engineering Weekly!</p><p>For folks who haven&#8217;t checked the site in the last week, I&#8217;ve updated the theme of this newsletter as part of a brand uplift project. I am so impressed with how this went: everything from the color scheme, typography, logos, and wordmarks gives me a lot of flexibility to give you all the content in different flavors. My hope was to make this more of a professional theme while still capturing the essence of what this newsletter aims to bring you: unfiltered information from a practitioner in the field.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>T-minus 3 days until BSides SF! I will see you all there, and I think I&#8217;ll have stickers and t-shirts ready to give out :D</p></li><li><p>I&#8217;m starting to see the sun after work, and I cannot begin to describe how much better evenings are when you don&#8217;t have to leave work into darkness</p></li><li><p>I recently pulled apart a phishing kit with Claude, and developed a skill to help me reverse engineer it, look for vulnerabilities, and build a lab environment for live interaction. Within an hour, I had about a week&#8217;s worth of analysis, vuln research, and lab environment completed. I really wish I had this at my last job!</p></li></ul><h3><strong>Sponsor: Push Security</strong></h3><blockquote><h3><strong>Learn how browser-based attacks have evolved &#8212; get the 2026 report</strong></h3><p>Most breaches today start with an attacker targeting cloud and SaaS apps directly over the internet. In most cases, there&#8217;s no malware or exploits. Attackers are abusing legitimate functionality, dumping sensitive data, and holding companies to ransom. This is now the standard playbook. </p><p>The common thread? It&#8217;s all happening in the browser. </p><p>Get the latest report from Push Security to understand how browser-based attacks work, and where they&#8217;ve been used in the wild.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hubs.li/Q045W13y0&quot;,&quot;text&quot;:&quot;Get Your Copy&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hubs.li/Q045W13y0"><span>Get Your Copy</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://mostafa.dev/pattern-detection-and-correlation-in-json-logs-fab16334e4ee">Pattern Detection and Correlation in JSON Logs</a> by Mostafa Moradian</p><p>Similar to research I published <a href="https://www.notion.so/March-18-32464c6e50e6809eb794f9492e416048?pvs=21">last week</a>, this post follows a theme I&#8217;m seeing a lot more of in the detection engineering space: detection engineers can gain a much deeper understanding of log and alerting pipelines technologies by implementing their own inside a programming language. In this post, Moradian built an impressive Rust-based JSON parser and rule-matching binary called RSigma. It works by ingesting JSON logs and a Sigma rule, building a structured <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">abs</a>tract syntax tree, and evaluating the rule against the log to generate an alert. This seems straightforward, but the <a href="https://sigmahq.io/sigma-specification/specification/sigma-rules-specification.html">Sigma specification</a> has evolved over the years into a robust domain-specific language, so Moradian had their work cut out for them.</p><p>For those unfamiliar with Sigma, I definitely recommend checking out the <a href="https://sigmahq.io/docs/guide/about.html">About section</a> on their website, because it&#8217;s almost exclusively the de facto standard for rule languages, much like MITRE ATT&amp;CK serves as the community-approved lexicon for understanding tactics, techniques, and procedures. Let&#8217;s take a small rule example from Moradian, and I&#8217;ll try to work through RSigma&#8217;s processing pipeline so you can understand just how hard it is to build a tool like this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ad1i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ad1i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 424w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 848w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 1272w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ad1i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png" width="1456" height="1010" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1010,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1363584,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/191079258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ad1i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 424w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 848w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 1272w, https://substackcdn.com/image/fetch/$s_!ad1i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcfa299-1773-4160-9ee6-dc9fa51f86ab_3680x2552.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This rule detects base64 decoding on the command line. This is especially relevant for malware execution, as base64 is an obfuscation pattern used by malware, and it travels more easily over the wire because it preserves structures like newlines, tabs, and spaces. The rule starts on Line 16: a &#8220;selection&#8221; looks at a log file, and it uses the <code>Image</code> field to detect any process that <code>endswith</code> <code>/base64</code>, and it looks for a <code>-d</code> flag on the CommandLine which indicates decoding base64 text.</p><p>To replicate this selection and alerting functionality in a SIEM, you need one of two things: a translation layer to a SIEM domain-specific language, such as Splunk&#8217;s SPL, or a technology that uses Sigma natively to parse both the log and the rule and create a match. RSigma is the latter. There are two types of language formats it must parse: YAML (the Sigma Rule) and JSON (the log file format)</p><ul><li><p>First, it parses Sigma rules written in YAML and verifies that they match the Sigma specification. This includes processing everything you see in the image above, plus up to 30 <a href="https://sigmahq.io/docs/basics/modifiers.html">modifiers</a>, that allow the <code>|endswith</code> and <code>|contains</code> matching on lines 18 and 19, conditional logic such as &#8220;and&#8221;, &#8220;or&#8221;, &#8220;not&#8221;, and <a href="https://sigmahq.io/docs/meta/correlations.html">correlation</a> and <a href="https://sigmahq.io/docs/meta/filters.html">filter</a> capabilities. <a href="https://sigmahq.io/docs/digging-deeper/pipelines.html">Pipelines</a> are also complex because they handle JSON field remappings to ensure your selection fields are agnostic across several file formats. This is a diligent practice due to the arbitrary nature of YAML structures</p></li><li><p>Both YAML and JSON are file formats that contain arbitrary structures, and JSON, for the most part, serves as the de-facto format for log telemetry. The evaluation step takes the ASTs generated by parsing the Sigma rule and attempts to match them against target logs. This can be one many or 1000s. </p></li></ul><p>I really appreciated this post because it transparently showed the architectural decisions behind the implementation of detection-matching technology. RSigma is essentially a SIEM. Although it&#8217;s not meant to be used for streaming logs, much like you can see in Splunk or Elastic, you can run it on the command line to perform detection research. It also looks like a lightweight binary that lets you do quick-and-dirty Sigma matching on a target system if you are doing any type of forensics work.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://defensebench.ai/benchmarks/botsv3">Splunk Botsv3 Benchmark Against Foundational Models</a> by DefenseBench</p><p>Benchmarking is an important practice for evaluating LLMs using widely accepted tests and datasets to measure their performance. For example, if you look at Claude&#8217;s Opus 4.6 <a href="https://www.anthropic.com/news/claude-opus-4-6">announcement</a>, you can see how the foundational model measured against several thirteen benchmarks, ranging from coding to financial data analysis and visual reasoning. In practice, this allows foundational labs like OpenAI and Anthropic to publish performance comparisons between their models.</p><p>Some of these benchmarks <em>may</em> relate to security, especially in problem-solving and agentic coding, but they aren&#8217;t pure security tests. This is where more research is emerging from the security community on how these foundational models perform on well-known datasets to test their out-of-the-box efficacy.</p><p>Splunk&#8217;s Botsv3 dataset is an excellent choice here, and DefenseBench published its first benchmarking test using Botsv3. This site is cool in the sense that you can click into each agent in their leaderboard, and <a href="https://defensebench.ai/runs/20260312202331-8dy79p/agents/cc-claude-opus-4-6-interactive">view the conversations</a> as ASCIIcast recordings:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cbq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cbq8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 424w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 848w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 1272w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cbq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png" width="1456" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:429623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/191079258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cbq8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 424w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 848w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 1272w, https://substackcdn.com/image/fetch/$s_!cbq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48515e99-1822-4611-8a83-b91ac5886481_1948x1348.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The above is Opus 4.6, who beat out Codex Gpt 5.2 &amp; 5.3 pretty handedly. DefenseBench shared their agent prompt as well, so you can go replicate this on your own, or with foundational models outside the Anthropic and OpenAI space.</p><pre><code><code>## DefenseBench Rule

You are an AI SOC analyst competing in an investigation race.

### Objective
Answer as many referee questions as correctly and quickly as possible.

### Referee API
- Get questions: `curl {referee_url}/questions`
- Get your progress/state (use this on every restart): `curl {referee_url}/me`
- Submit answer:
curl -X POST {referee_url}/answer \ -H &#8220;Content-Type: application/json&#8221; \ -d &#8216;{&#8221;question_id&#8221;:&#8221;Q1&#8221;,&#8221;answer&#8221;:&#8221;your answer&#8221;}&#8217;
- Buy hint:
curl -X POST {referee_url}/hint \ -H &#8220;Content-Type: application/json&#8221; \ -d &#8216;{&#8221;question_id&#8221;:&#8221;Q1&#8221;,&#8221;hint_id&#8221;:&#8221;1&#8221;}&#8217;
- Round status: `curl {referee_url}/status`
- Scoreboard: `curl {referee_url}/scoreboard`

### Restart-Safe Workflow (Important)
- On every start or restart, call `curl {referee_url}/me` and use it to decide what to do next.
- Never answer a question listed in `solved_question_ids`.
- Prefer questions where `question_state[Q].active_now=true` and `question_state[Q].solved_by_me=false`.
- After `POST /answer`, check `result_code`:
- `correct_awarded`: scored; move on.
- `correct_no_credit_already_solved` / `incorrect_no_penalty_already_solved`: you already solved it; do not retry.
- `correct_no_credit_out_of_window`: correct but not scorable right now; pick a different active question.
- `incorrect_penalized`: wrong; decide if you should buy a hint or switch questions.

### Splunk Access
- URL: `{splunk_url}`
- Username: `{splunk_user}`
- Password: `{splunk_password}`
- Suggested CLI query path:
curl -k -u &#8220;{splunk_user}:{splunk_password}&#8221; \ &#8220;{splunk_url}/services/search/jobs/export&#8221; \ -d search=&#8217;search index={splunk_index} | head 20&#8217; \ -d output_mode=json


### Scoring
- Correct in time window: base points + speed bonus.
- Incorrect answer: penalty.
- Hint purchase: hint cost penalty.

Focus on high-confidence, fast, reproducible answers.
</code></code></pre><div><hr></div><p><a href="https://medium.com/@terminalsandcoffee/building-a-cloud-native-detection-engineering-lab-with-terraform-and-aws-63d3990190f1">Building a Cloud-Native Detection Engineering Lab with Terraform and AWS</a> by Rafael Martinez</p><p>I remember when I first was studying cybersecurity, the only way I could build labs was through Virtual Machines. This was fun for several reasons: you can see all of your operating systems in one program (vSphere anyone?), switch between them easily, and blow them up with malware or misconfigurations and reset them. But there was a limit: if you added too many machines, or required a complicated lab setup with many different components, you started to see your attention to detail fail to maintain the setup. </p><p>This all changed when AWS and technologies became the mainstay for engineering and security teams. So, reading this post by Martinez about moving a virtualized detection engineering environment to a cloud-native lab helped me remember the pain I felt in the late 2000s. Martinez set up an environment where Kali was ran as an attacker emulation box against a Windows machine, and Windows logged telemetry data to a local ELK stack.</p><p>The simplicity of the cloud-migration solution using Terraform was clearly described and easy to follow. I think anyone who is trying to build their own lab environments for detection should go through this exercise, because its not just architectural decisions you need to make, but also security decisions and understanding the threat model behind AWS.</p><div><hr></div><p><a href="https://detect.fyi/move-and-countermove-game-theory-aspects-of-detection-engineering-c8284245c6c5">Move and Countermove: Game Theory Aspects of Detection Engineering</a> by Daniel Koifman</p><blockquote><p><em>This is detection engineering&#8217;s uncomfortable truth: you&#8217;re not building static defenses against fixed attack patterns. You&#8217;re playing a dynamic adversarial game where both sides continuously adapt to each other&#8217;s moves. - Daniel Koifman</em></p></blockquote><p>This is the first post I&#8217;ve read in the detection engineering space that uniquely outlines the challenges of attackers shifting the goalposts as they learn new techniques or discover new attack surfaces. This is the nature of security operations: you have a motivated adversary, be it a criminal or a nation-state, who has an agenda they can execute from the comfort of their computer chair. Since the physical stakes are theoretically low (granted, they aren&#8217;t indicted), they can spend a lot more time working on ways to circumvent defenses.</p><p>To help describe the concept better than I ever could, Koifman aptly applies the lens of <a href="https://en.wikipedia.org/wiki/Game_theory">Game Theory</a> over these games of cat &amp; mouse. He outlines some of the realities of detection writing, where a detection engineer develops a detection methodology to hunt for something like PowerShell usage, but the attacker quickly pivots and finds a way around it to issue malicious PowerShell.</p><p>Towards the end, he talks about one of my favorite concepts in Game Theory: Nash Equilibrium. The ideal state for a Nash Equilibrium is where no massive change in strategy between two players fundamentally improves their advantage. He outlines two examples, False Positive Equilibrium and Sophistication Equilibrium. </p><ul><li><p>The former describes a state where analysts accept some level of False Positives because a False Negative is too costly, and threat actors accept some level of detection because developing new methodologies is too costly</p></li><li><p>The latter plays on False Positives in the form of cost. Burning zero-days can be costly because you incur massive amounts of waste if they are found and subsequently patched. On the other hand, using noisy techniques in a victim environment can easily ruin your intrusion due to the sophistication of catching the attacks. The equilibrium is in the middle for attackers, and defenders also prefer this as they hedge &#8220;towards the middle&#8221; of the sophistication spectrum</p></li></ul><div><hr></div><p><a href="https://detecting.cloud/">Detecting.cloud</a> by Omar Haggag</p><p><a href="http://detecting.cloud">Detecting.cloud</a> is a comprehensive research database that aggregates cloud attack paths and detection rules into a single central platform. You can search for attack paths, such as privilege escalation, and it provides everything from descriptions to example rules written in Sigma, Splunk, Athena, CloudWatch, and EventBridge. It&#8217;s all AWS-based, but it&#8217;s an impressive feat given that Haggag is an undergraduate student (I know this because he posted it on the Cloud Security Slack!). It has some other cool features, including a CloudTrail analyzer, Attack Simulator, and even a way to contribute community rules.</p><div><hr></div><p><a href="https://cursor.com/blog/security-agents">Securing our codebase with autonomous agents</a> by Travis McPeak</p><p>For those working in pure security engineering roles, the explosion of developer-focused AI tools and the subsequent developer velocity has made our work cut out for us. Besides the increasing attack surface from malicious skills and ClickFix malware payloads delivered via AI Tooling ads, the sheer amount of code being pushed by developers means more vulnerabilities and more time spent in security tools to ensure they don&#8217;t make it into the product. </p><p>In this post, McPeak showcases how Cursor is solving this using its autonomous agent framework, <a href="https://cursor.com/blog/automations">Cursor Automations</a>. The thing I&#8217;m learning the most about security in the modern age is that security people rarely go as fast as developers. McPeak and the team at Cursor are closing the gap on this race by leveraging several Cursor Agents that do everything from vulnerability review, version bumpings, and a compliance drift mapper. Almost all of their findings are pushed to Slack for every Cursor engineer to see, and they take this even further by leveraging agents to fix the issues they find. </p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><h3>&#9877;&#65039; Emerging Threat: Handala Attack on Stryker Medical Device &amp; Equipment Company</h3><p>The big story over the last week has been the Stryker ransomware attack. This happened right around the release of my last issue, so it&#8217;s been helpful for me to read more about this attack as news came out over the last 7 days. I&#8217;ve listed 4 stories: the 8-K filing from Stryker disclosing to the SEC that it suffered a cyberattack, Kim Zetter&#8217;s excellent article on the background of the attack, and more technical articles from Checkpoint Research and Palo Alto Networks&#8217; Unit 42.</p><p><a href="https://d18rn0p25nwr6d.cloudfront.net/CIK-0000310764/7fd1068c-1cef-4fd3-8a20-8c086e15da56.pdf">Stryker 8-K Filing from Ransomware Attack</a></p><p>For those unfamiliar with 8-K filings, they are reports that public companies must issue to shareholders and the public when the company has material information about its operations to disclose. The reasons vary, and there&#8217;s a guidance that the SEC issues to help direct companies, and there is a <a href="https://www.sec.gov/files/rules/final/2023/33-11216.pdf">whole document related to cybersecurity</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lp7q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lp7q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 424w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 848w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 1272w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lp7q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png" width="1266" height="646" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:646,&quot;width&quot;:1266,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161889,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/191079258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lp7q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 424w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 848w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 1272w, https://substackcdn.com/image/fetch/$s_!lp7q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c253aa-97ac-4d5f-8e80-59eda6d38619_1266x646.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this case, Stryker disclosed an 8-K detailing a cybersecurity incident affecting its Microsoft environments, which is causing a material impact on its ability to function as a company.</p><div><hr></div><p><a href="https://www.zetter-zeroday.com/iranian-hacktivists-strike-medical-device-maker-stryker-in-severe-attack-that-wiped-systems/">Iranian Hacktivists Strike Medical Device Maker Stryker in "Severe" Attack that Wiped Systems</a> by Kim Zetter</p><p>Zetter helped break the news of the Stryker breach and pointed out that it was linked to an Iranian hacktivist group called &#8220;Handala.&#8221; This group claimed this was in response to the ongoing U.S. attacks against Iran. Stryker is a multinational corporation, so Handala targeted its Microsoft Intune deployment and removed employees' ability to log in to their systems, bringing operations to a halt. This allegedly affected over 200,000 systems, and the group also claimed to have exfiltrated over 50 TB of sensitive data.  </p><p>Zetter quoted several Reddit posts of users purported to work at Stryker, and I thought this was the most interesting quote she pulled forward:</p><blockquote><p>According to the person who posted this message, the hackers gained access to administrator accounts and put &#8220;their signature Handala artwork on every login page.&#8221; They also sent emails to a number of company executives taking ownership of the cyberattack.</p></blockquote><p>I&#8217;m unsure what this attack can specifically help with in the war, beyond drawing attention to it and serving as a demonstration of force. Nonetheless, it does have everyone talking more about the war, including me. </p><div><hr></div><p><a href="https://research.checkpoint.com/2026/handala-hack-unveiling-groups-modus-operandi/">&#8220;Handala Hack&#8221; &#8211; Unveiling Group&#8217;s Modus Operandi</a> by Checkpoint Research</p><p>CheckPoint Research&#8217;s post on Handala Hack, the full name of the Iranian hacktivist group, outlines their history, TTPs, and motivations in more technical detail. Although claiming to be a hacktivist group, CheckPoint Research clusters their activity to Iran&#8217;s Ministry of Intelligence Service (MOIS). Their TTPs revolve around initial access via criminal forums and infostealer marketplaces. Once they land on a victim environment, they use living-off-the-land tools and techniques to steal passwords and eventually laterally move to administrator accounts. </p><p>Much like the Stryker attack, they conduct data exfiltration and wiper attacks, accompanied by propaganda images depicting their Handala persona. The clustering element CheckPoint disclosed is interesting:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hf4p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hf4p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 424w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 848w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hf4p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png" width="1456" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174922,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/191079258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hf4p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 424w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 848w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf4p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044e43ef-b0b4-4636-8f77-0ee2fe92c6b2_1684x652.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Homeland Justice/KarmaBelow80 are associated with Handala, and Checkpoint alleges that internal intelligence (Void Manticore) and counter-terrorist units (Scarred Manticore) provide access and TTPs to Handala to carry out their operations.</p><div><hr></div><p><a href="https://unit42.paloaltonetworks.com/handala-hack-wiper-attacks/">Insights: Increased Risk of Wiper Attacks</a> by Andy Piazza, Eric Goldstrom &amp; Steve Elovitz</p><p>Unit42&#8217;s insights on the attack align with CheckPoint Research's clustering, which shows overlaps with Void Manticore and identifies Handala Hack as a front of Iran&#8217;s MOIS division. They provide a great hardening guide to help eliminate some of the TTPs used by Handala Hack, with much of the hardening focused on identity and access management. The two I wanted to call out are around eliminating long-lived accounts, especially Administrator accounts that Handala likes to abuse, and using just-in-time access for logging and approval workflows.</p><p>As with most AD-style attacks, they recommend hardening Entra ID, which, in turn, can help deploy wipers via Intune, as happened at Stryker. I&#8217;ve seen a lot more of a push from IR firms like Palo Alto Networks, where they push the community to remove local Administrator accounts altogether. </p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/elastic/agent-skills">elastic/agent-skills</a></p><p>Yet another agent skills library, this time from the folks at Elastic. They split each skills group into cloud, Elasticsearch, Kibana, observability, and security. Their <a href="https://github.com/elastic/agent-skills/blob/main/skills/security/detection-rule-management/SKILL.md">detection rule agent skill</a>, for example, has a rule-tuning workflow that uses internal scripts within the skill to identify and fix noisy rules. </p><div><hr></div><p><a href="https://github.com/nikaiw/VMkatz">nikaiw/VMkatz</a></p><p>VMkatz is a credential-harvesting tool that specifically targets virtual machines containing Windows credentials from VM snapshots &amp; virtual disks. The idea here is that an attacker would land in an environment where these VMs contain the credentials they need to escalate privileges or laterally move, but the disks are so large that it would take forever to copy them off, or worse, you risk detection.</p><p>Running this binary on a target environment helps relieve this burden by performing the extraction directly on the box.</p><div><hr></div><p><a href="https://github.com/BaddKharma/redStack">BaddKharma/redStack</a></p><p>redStack is a full-stack lab environment for folks to learn how to use post-exploitation tools on a victim environment without worrying about infrastructure configuration. It has an impressive architecture and it&#8217;s all hosted on AWS. The README is succinct and contains step-by-step instructions for deploying three post-exploitation tools and using Apache redirectors to navigate to specific C2 tools. </p><div><hr></div><p><a href="https://github.com/Gk0Wk/ClawGuard">Gk0Wk/ClawGuard</a></p><p>OpenClaw plugin that acts as an endpoint security tool or firewall for AI. It has a demo of three security controls: blocking risky actions or skills, minimizing risky filesystem access, and limiting outbound communication. It&#8217;s cool to see projects like this spring up because you start to get a sense of where security technology is going, and can expect products to emerge that can solve this for businesses.</p><div><hr></div><p><a href="https://github.com/backbay-labs/hush">backbay-labs/hush</a></p><p>Hush is a policy spec for writing rules and checks to implement inside AI security controls. This spec reminds me a lot of <a href="https://www.openpolicyagent.org/docs">OPA</a>, but instead of returning pass/fail, you translate YAML rules into enforcement controls. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #148 - Detection Pipeline Maturity, GenUI for Log Analysis and Hunting Kali in Splunk]]></title><description><![CDATA[happiness is when the temperature is above 40F/4C]]></description><link>https://www.detectionengineering.net/p/dew-148-detection-pipeline-maturity</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-148-detection-pipeline-maturity</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 11 Mar 2026 12:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lZ-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #148 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I have some exciting news! In about a week, you&#8217;ll see some <strong>new branding</strong> for Detection Engineering Weekly. This will be the <strong>second brand uplift</strong> of the newsletter, and I can&#8217;t wait to don the new colors and logo. It&#8217;s more professional and understated, and it captures much of the energy of what I think this newsletter brings to your inboxes. I&#8217;ll be handing out stickers and potentially some t-shirts at BSidesSF in a few weeks!</p></li><li><p>Speaking of BSidesSF, I&#8217;m interested in how many of you are going to be there. I am organizing a happy hour and doing a sticker order, so please vote Yes here, ping me, or honestly just find me in the hallway (I&#8217;ll be shilling the newsletter with tshirts) and say hello!</p><div class="poll-embed" data-attrs="{&quot;id&quot;:471347}" data-component-name="PollToDOM"></div></li></ul><h3><strong>Sponsor: Spectrum Security</strong></h3><blockquote><h3><strong>Detection is Broken.</strong></h3><p>Measuring coverage means wrangling spreadsheets, BAS tools, and weeks of manual work. By the time you finish, the data is out of date.</p><p>But finding blind spots is only half the battle. There&#8217;s never enough time to close them. You&#8217;re on an endless treadmill: writing new rules, fixing broken ones, and tuning out noise.</p><p>We built the end of the manual grind.</p><p>Get an early look at the AI platform transforming how teams identify, build, &amp; deploy detections</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://spectrum.security/contact-us&quot;,&quot;text&quot;:&quot;Try It Now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://spectrum.security/contact-us"><span>Try It Now</span></a></p></blockquote><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://detect.fyi/detection-pipeline-maturity-model-076984779651">Detection Pipeline Maturity Model</a> by Scott Plastine</p><p>I&#8217;m a huge fan of maturity models, and in the early days of my writing, I frequently referenced the work of <a href="https://medium.com/snowflake/threat-detection-maturity-framework-23bbb74db2bc">Haider Dost</a> and Kyle Bailey when discussing the maturity of detection engineering programs. As this space matured, technology matured with it, and we now have complex systems within each part of the Detection Engineering Lifecycle. So, to me, it makes sense that we now have folks like Plastine helping us understand what it means to measure the maturity of a Detection Pipeline.</p><p>Plastine outlines six different levels of maturity, starting with a classic favorite, no maturity! This involves having a security tool stack with no centralization, and analysts have dozens to hundreds of Google Chrome tabs open which gives me anxiety. The fundamental issues Plastine outlines and continues to improve here include:</p><ul><li><p>Several security tools with their own alerting and detection systems</p></li><li><p>The need to log into and investigate each alert on each individual tool, so managing screen sprawl</p></li><li><p>The analyst manually building cases in some case management or ticketing tool, such as JIRA or ServiceNow</p></li></ul><p>The next maturity step, Basic, addresses some of these issues by essentially placing the Case Management tool between the tools and the analyst, rather than being out of band. As maturity levels progress, so does the architecture of this setup. For example, the &#8220;Standard+&#8221; architecture has a much saner pipeline setup:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lZ-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 424w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 848w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1272w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png" width="1027" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1027,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:336659,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/190509913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lZ-4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 424w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 848w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1272w, https://substackcdn.com/image/fetch/$s_!lZ-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ff42aa-1fb3-4d3f-8a2a-78e0e15015e9_1027x777.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The cool part at this point in the maturity journey is switching from architecture improvements to more advanced concepts in the analytics platform. Custom telemetry, log normalization, and a risk-based alerting engine ideally surface only relevant alerts and reduce false positives. Teams begin to build composite rules, leveraging commercial detections alongside their own internal detection and risk alerting systems, and they all take advantage of learning from their data to inform their rule sets, not just their environment.</p><p>This diagram drove it home for me, and became my favorite:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_NB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_NB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 424w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 848w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1272w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png" width="1456" height="586" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129464,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/190509913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_NB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 424w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 848w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1272w, https://substackcdn.com/image/fetch/$s_!_NB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994d7f77-7ce4-42f0-a978-3c88a43625c6_1760x708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As you progress through maturity, the trap teams fall into is <em>more rules is better</em>. I think the measure of a Leading detection function is reducing rule count thereby reducing the complexity of managing rule sprawl.</p><p>Plastine posits that this can be achieved by using data-science-based rules, risk-based detection, and leveraging as much entity-based correlation as possible.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://detect.fyi/whose-endpoint-is-this-kali-9d69aa961092">Whose endpoint is this&#8230; kali?!</a> by Alex Teixeira</p><p>I love reading Alex&#8217;s detection and hunting blogs because he always stuffs a ton of knowledge around query optimization and hunting. When you manage massive amounts of data in a SIEM, especially Splunk, you need to query it in a way that doesn&#8217;t cause a ton of load on the system. This is especially helpful when you are researching new detection rules.</p><p>In this post, Alex addresses query optimization and discovery for post-exploitation tools. I typically see a lot of teams worry, for good reason, about malware that is the beginning stages of a breach. Alex references loaders in this scenario: malware designed as an initial beachhead for infection, which is then upgraded into a more reliable malware tool. Cobalt Strike is a leading example, but there are <a href="https://github.com/killvxk/awesome-C2">hundreds</a> at this point.</p><p>Post-exploitation tools are aptly named to help threat actors navigate the MITRE ATT&amp;CK chain toward a specific objective, such as data exfiltration or ransomware. Persistence, lateral movement, and privilege escalation are all built-in to these types of tools. So if you assume these exist, how do you catch them?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x7mh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x7mh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 424w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 848w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 1272w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x7mh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png" width="575" height="391.575" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:681,&quot;width&quot;:1000,&quot;resizeWidth&quot;:575,&quot;bytes&quot;:400025,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/190509913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x7mh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 424w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 848w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 1272w, https://substackcdn.com/image/fetch/$s_!x7mh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91836c3f-ac6b-4e08-ac67-67fca54ee5a9_1000x681.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">From Alex&#8217;s Prioritizing a Detection Backlog post <a href="https://detect.fyi/how-to-prioritize-a-detection-backlog-84a16d4cc7ae">https://detect.fyi/how-to-prioritize-a-detection-backlog-84a16d4cc7ae</a></figcaption></figure></div><p>His strategy is to &#8220;reduce the dataset&#8221; as you are hunting. Instead of performing blind searches over logs, you can first focus on terms within the index and the Windows sourcetype itself. So, he begins his hunt looking for the term <code>kali</code> in Windows Event Logs. This is because these tools can leak their internal hostnames, and finding <code>kali</code> in the hostname with some threat activity is a great hunting lead.</p><p>Through a combination of hostname detection and observing a network event with the same name, he narrows the dataset to a meaningful set of events to respond to an infection and write rules for afterward.</p><div><hr></div><p><a href="https://kmsec.uk/blog/dprk-opsec-3/">Tracking DPRK operator IPs over time</a> by Kieran Miyamoto</p><p>Threat research is such a fun, dynamic field within security because it examines both the technical and human elements of threat actors. This post is Miyamoto's &#8220;Part 3&#8221; on tracking DPRK threat actors via OPSEC failures, and it&#8217;s brilliant in its simplicity. Basically, FAMOUS CHOLLIMA, which has Contagious Interview and some WageMole overlaps, uses email to maintain its personas, register accounts, and issue fake employment-scam communications. The <em>technical elements</em> of this are interesting because they try to deploy malware on victim machines or obtain legitimate jobs as fake IT workers.</p><p>The <em>human element</em> of this operation is that humans tend to optimize for reducing the time it takes to do their job as efficiently as possible. So, why would you go through a ton of work to get legitimate email inboxes like Gmail or Yahoo if you only need the email address to send scam messages or register an npm account to publish malware? Miyamoto found that this group had the same question, and answered it by using temporary email addresses. </p><p>The subsequent finding is that, <em>as long as you know the email address, you can also view the inbox!</em> Miyamoto started with malicious npm packages containing maintainer emails and began logging into DPRK-controlled temporary email accounts to glean additional intelligence, including source IP addresses and potential victim targets.</p><div><hr></div><p><a href="https://blog.securitybreak.io/from-genai-to-genui-why-your-ai-cti-agent-is-sh-t-f297800116ff">From GenAI to GenUI: Why Your AI CTI Agent Is Sh*T</a> by Thomas Roccia</p><p>TIL there&#8217;s a concept called Generative UI, where agents decide how to render the UI in real time based on your queries. In this post, Roccia uses this concept to build out use cases for cyber threat intelligence analysis. The idea here is that visually representing threat intelligence can help a researcher understand the underlying data much better than blobs of text. Roccia argues that most CTI Agents focus on ingesting unstructured threat intelligence and producing large volumes of output tailored to your environment or prompt. This setup can be helpful to some, but adding a visual component to aid your understanding makes it more attractive.</p><p>Roccia outlines two GenUI styles: MCPUI and A2UI. Both focus on delivering a graphical representation of a prompt response. MCPUI returns dynamic elements from an MCP server in response to a prompt, but it&#8217;s mostly contained within a UI that the developer creates. A2UI takes it a step further by delivering the entire UI experience in a container, making the agent the arbiter of the experience.</p><p>Roccia&#8217;s A2UI implementation was more interesting to me from a detection standpoint because he built a log analyzer on top of a log stream. Each element is supposedly dynamic, and you can click into and investigate logs while allowing the A2UI protocol do its thing and present data and experiences to you, all driven by an agent. Here&#8217;s a demo video from his blog:</p><div id="youtube2-Te0dzeytJJ0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Te0dzeytJJ0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Te0dzeytJJ0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Wild times!</p><div><hr></div><p><a href="https://sublime.security/blog/how-we-built-high-speed-threat-hunting-for-email-security/">How we built high speed threat hunting for email security</a> by Hugh Oh</p><p>I love it when security product companies show how they&#8217;ve engineered their product. In this post, Oh reveals how Sublime Security designed its massive email-detection and threat-hunting architecture. Their platform is built on <a href="https://sublime.security/blog/introduction-to-message-query-language-mql/">MQL</a>, their domain-specific language for rule writing and alerting. When you think about email as a telemetry source, there are some inherent issues you have to worry about unlike other sources:</p><ul><li><p>Unstructured body content, since, by design, it is human-generated and human-readable</p></li><li><p>In Internet standards, email is a <a href="http://RFC 114">pretty ancient</a> concept, so additional designs and RFCs were layered on top of it for decades, which can introduce some sharp edges</p></li><li><p>Attachments, integrations and user-experience elements are a huge vector for abuse, so you need to be able to parse those</p></li></ul><p>This is a security and engineering problem to parse at scale. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AH7i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AH7i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 424w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 848w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 1272w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AH7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp" width="1024" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AH7i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 424w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 848w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 1272w, https://substackcdn.com/image/fetch/$s_!AH7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F499adab1-95af-48b2-9835-54f0bdc66c17_1024x450.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">https://sublime.security/blog/how-we-built-high-speed-threat-hunting-for-email-security/</figcaption></figure></div><p>The Sublime product parses incoming emails into <a href="https://en.wikipedia.org/wiki/Email#Filename_extensions">EML</a> format and stores metadata in fast storage and the full contents in blob storage. They split email selection into several phases. Candidate selection focuses on fast metadata lookups; evaluation performs a deeper analysis to determine whether these candidates are truly worth a blob storage query; and, when the full email is retrieved, they can perform enrichments and ultimately decide whether to generate a result. </p><div><hr></div><p><a href="https://medium.com/@zoniclit3/a-practical-blue-team-project-ssh-log-analysis-with-python-507f17113aba">A Practical Blue Team Project: SSH Log Analysis with Python</a> by Edson Encinas</p><p>This is a great introductory post on researching a singular log source, SSH authentication logs, and building a research plan to implement detection rules. I think sometimes people breaking into this industry want to jump right into a SIEM and write rules, which can take time, energy, and potentially cost a lot to set up, whereas in this post, Encinas leveraged Python. It&#8217;s a good learning exercise: you can see where Python excels at detection, especially in a risk-based alerting scenario.</p><p>The architecture for the SSH alerting pipeline includes parsing, normalization, rule writing, risk calculation, and de-duplication. Their <a href="https://github.com/edsonencinas/log-analyzer">GitHub project</a> was pretty easy to follow alongside the blog. Again, demonstrating these concepts in pure Python can accelerate understanding more than setting up massive environments.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a72f9ae106c87397d5fd9140e&quot;,&quot;title&quot;:&quot;Threat Hunter Greg Linares on the modern ransomware playbook&quot;,&quot;subtitle&quot;:&quot;Security Conversations&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/3DVbcAXsrRI7JPkzZj3uUj&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/3DVbcAXsrRI7JPkzZj3uUj" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>I&#8217;m glad to see more individual interviews from Ryan on the Three Buddy Problem podcast! In this &#8220;Security Conversations&#8221; segment, Ryan interviews threat-hunting and intelligence expert <a href="https://x.com/Laughing_Mantis">Greg Linares</a>. Greg has all kinds of visibility working at an MDR and recently released a year-in-review report on some of the intrusions Huntress is seeing.</p><p>The most interesting sections for me were around the intersection of ransomware and nation-state threat actors, as well as the use of RMM tools and the complete lack of audit logging and visibility they provide defenders. Imagine onboarding any other critical IT tool, such as an Enterprise Email provider or a Cloud tool, and being told there will be little to no telemetry available to help you defend the application against a compromise. That&#8217;s RMM in a nutshell! </p><div><hr></div><p><a href="https://ctrlaltintel.com/threat%20research/DPRK-Crypto-Heist/">Investigating Suspected DPRK-Linked Crypto Intrusions</a> by CTRL-Alt-Intel</p><p>I talk a lot about DPRK-related threat activity in this newsletter for several reasons. One, DPRK tends to focus on cloud technologies, and IMHO, they were way ahead of their other nation-state peers. Two, they are just so damn crafty and are willing to move fast and break things. Third, because of point two, they have a ton of OPSEC failures that lead to some hilarious findings</p><p>In this post, CTRL-Alt-Intel follows an intrusion by a DPRK actor who began with an Application exploit a la React2Shell, found AWS credentials, pivoted to AWS, and ultimately stole source code. The author says this focus was mostly on cryptocurrency companies, so if we believe this intrusion targeted one of those organizations, then the intelligence value for them would be discovering secrets and vulnerabilities in proprietary code for further attacks.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/copilot-studio-logging-gaps/">Uncovering agent logging gaps in Copilot Studio</a> by Katie Knowles</p><p>~ Note, Datadog is my employer and Katie is my colleague / friend! ~</p><p><a href="https://www.microsoft.com/en-us/microsoft-365-copilot/microsoft-copilot-studio">Microsoft Copilot Studio</a> is Microsoft&#8217;s offering for creating and managing AI agents. During Katie&#8217;s previous research on how to abuse Copilot Studio for <a href="http://o">OAuth phishing</a>, she found that Copilot wasn&#8217;t logging certain administrative actions. This is especially concerning if you rely on audit logs for threat detection. A victim agent could be abused to retrieve sensitive information from your organization and you&#8217;d have no visibility into the attack itself.</p><p>Katie provides excellent security recommendations towards the end, including identifying which M365 users are using Copilot, and what searches and rules you could write to detect anomalous activity in Copilot.</p><div><hr></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187300061,&quot;url&quot;:&quot;https://inti.io/p/how-i-infiltrated-phishing-panels&quot;,&quot;publication_id&quot;:1628937,&quot;publication_name&quot;:&quot;Inti De Ceukelaire&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!HLKa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5128d80f-faa2-454a-9bc9-d6465b16dfad_1160x1096.png&quot;,&quot;title&quot;:&quot;How I infiltrated phishing panels targeting European banks and tracked down their operators&quot;,&quot;truncated_body_text&quot;:&quot;I live in the most lucrative country for phishing scams in the EU. Every month, millions of euros are lost, and according to recent reporting, nearly two-thirds of complaints to banks are ignored.&quot;,&quot;date&quot;:&quot;2026-03-09T05:34:33.452Z&quot;,&quot;like_count&quot;:36,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:30980176,&quot;name&quot;:&quot;Inti De Ceukelaire&quot;,&quot;handle&quot;:&quot;intidc&quot;,&quot;previous_name&quot;:&quot;Ggliabs&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5128d80f-faa2-454a-9bc9-d6465b16dfad_1160x1096.png&quot;,&quot;bio&quot;:&quot;Ethical hacker &amp; cybercrime investigator&quot;,&quot;profile_set_up_at&quot;:&quot;2023-05-01T10:21:04.603Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-05-01T16:47:14.705Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1601760,&quot;user_id&quot;:30980176,&quot;publication_id&quot;:1628937,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1628937,&quot;name&quot;:&quot;Inti De Ceukelaire&quot;,&quot;subdomain&quot;:&quot;intidc&quot;,&quot;custom_domain&quot;:&quot;inti.io&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Ethical hacker &amp; cybercrime investigator&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5128d80f-faa2-454a-9bc9-d6465b16dfad_1160x1096.png&quot;,&quot;author_id&quot;:30980176,&quot;primary_user_id&quot;:30980176,&quot;theme_var_background_pop&quot;:&quot;#67BDFC&quot;,&quot;created_at&quot;:&quot;2023-05-01T10:21:38.211Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;INTI Comm. V.&quot;,&quot;founding_plan_name&quot;:&quot;1337 Elite Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;paused&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://inti.io/p/how-i-infiltrated-phishing-panels?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!HLKa!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5128d80f-faa2-454a-9bc9-d6465b16dfad_1160x1096.png" loading="lazy"><span class="embedded-post-publication-name">Inti De Ceukelaire</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How I infiltrated phishing panels targeting European banks and tracked down their operators</div></div><div class="embedded-post-body">I live in the most lucrative country for phishing scams in the EU. Every month, millions of euros are lost, and according to recent reporting, nearly two-thirds of complaints to banks are ignored&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 36 likes &#183; 1 comment &#183; Inti De Ceukelaire</div></a></div><p>This was a fun read for those who are interested in phishing-related threat research. Ceukelaire got a phishing text message, accessed the phishing page, and began poking holes in it. He found a vulnerability where he set the <code>X-Forwarded-For</code> header to a localhost address (Substack won&#8217;t let me publish it?) and it was an auto bypass of the administrator login panel.</p><p>From there, he started rendering the kit useless by removing its functionality and its ability to communicate with a Telegram-controlled channel. He was able to stop victim exfiltration and prevent further victims from visiting the website. Luckily, it was a poorly designed phishing kit, riddled with vulnerabilities, but not all kits are this insecure.</p><div><hr></div><p><a href="https://www.huntress.com/blog/muddywater-attack-chain">Clearing the Water: Unmasking an Attack Chain of MuddyWater</a> by Harlan Carvey and Jamie Levy</p><p>In this post, Huntress researchers Carvey and Levy detailed findings related to what appears to be a hands-on-keyboard MuddyWater campaign targeting one of their customers. They first found intelligence from a <a href="https://hunt.io/blog/iranian-apt-infrastructure-state-aligned-clusters">Hunt.io</a> report and worked backwards into their own customer reports. Some interesting findings they made include:</p><ul><li><p>Typos in the terminal commands MuddyWater ran, indicating an actor who was typing in real time during the intrusion</p></li><li><p>Tradecraft learnings, such as opening PowerShell from the Explorer, making it seem like a more legitimate activity than running it from the commandline</p></li><li><p>Troubleshooting in real-time by cURLing ifconfig.me to make sure they have Internet connectivity</p></li></ul><p>It turns out that threat actors make mistakes too!</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/killvxk/awesome-C2">killvxk/awesome-C2</a></p><p>Yet another awesome-* list of 300+ Command and Control frameworks. This is a fun list if you want to test adversary simulation in a lab environment, or statically analyze the post-exploitation code for detection opportunities. </p><div><hr></div><p><a href="https://github.com/edsonencinas/log-analyzer">edsonencinas/log-analyzer</a></p><p>Encina&#8217;s pure Python &#8220;SIEM&#8221; used in his SSH log analyzer blog post listed above in the State of the Art section. What&#8217;s nice about this is it reduces the complexity of standing up an environment, and instead you can focus on the concepts of detection in a contained programming language.</p><div><hr></div><p><a href="https://github.com/github/spec-kit">github/spec-kit</a></p><p>Not really detection related, but this was something my colleague <a href="https://www.linkedin.com/in/matthewrmuller/">Matt Muller</a> sent me as I was vibecoding out a fully STIXv2 compliant Threat Intelligence Platform. Spec Kit is a framework for spec-driven development using agents. You create a constitution that sets guidelines for development principles. You then specify what you want to build, how you want to plan to build it with certain technologies, build a task list and then have the agent go to work. </p><p>I kept my speckit separate from my code, so my agent would read and update my local spec and then go into the target project directory for development.</p><div><hr></div><p><a href="https://github.com/m1k1o/neko">m1k1o/neko</a></p><p>Self-hosted virtual browser using containers and WebRTC. These technologies are always super interesting from an OPSEC perspective, because you can literally embed a browser in a website that you host that also hosts neko. This makes it easy to make non-attributable and disposable infrastructure for things like threat intelligence research or for interacting with threat actor infrastructure.</p><div><hr></div><p><a href="https://github.com/anotherhadi/default-creds">anotherhadi/default-creds</a></p><p>Open-source database of default credentials across 100s of manufacturers. You can download this and take the credentials yourself, or run their self-contained web application, or just <a href="https://default-creds.hadi.diy/">visit the hosted web application</a> and find some hilarious default creds.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #147 - Flying Blind with your Logs, MAD lads and Z-scores & How Reddit Does Threat Detection]]></title><description><![CDATA[I need a beach vacation asap]]></description><link>https://www.detectionengineering.net/p/dew-147</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-147</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 04 Mar 2026 13:04:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-6rL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Welcome to Issue #147 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>Sickness in the Allen household was rampant all last week until today. Fingers crossed that the family stays healthy because there is FINALLY some good weather in New England to look forward to</p></li><li><p>I recently bought a history book about the <a href="https://en.wikipedia.org/wiki/Marquis_de_Lafayette">Marquis de Lafayette</a>. It&#8217;s been so nice to get away from technical books and even fantasy to enjoy some history. This guy was a baller and essentially helped overthrow two governments and turn them into democracies</p></li><li><p>BSidesSF is getting closer and I&#8217;m getting more and more excited to enjoy a security conference and network. There&#8217;s a chance I&#8217;ll be bringing stickers :D </p></li></ul><h3><strong>Sponsor: Cotool</strong></h3><blockquote><h3>Cotool Research: Benchmarking LLMs for Defensive Security</h3><p>Most AI benchmarks skew toward offense, so we built our own grounded in real SecOps workflows to answer questions that matter in production:</p><ul><li><p>Which model should power your triage agent?</p></li><li><p>What architectures hold up in complex investigations?</p></li></ul><p>We believe those answers should be public, so we release every benchmark we create.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://research.cotool.ai/?utm_source=det-eng-weekly&amp;utm_medium=newsletter&amp;utm_campaign=research&quot;,&quot;text&quot;:&quot;Explore the benchmarks&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://research.cotool.ai/?utm_source=det-eng-weekly&amp;utm_medium=newsletter&amp;utm_campaign=research"><span>Explore the benchmarks</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://lydiagraslie.substack.com/p/youre-probably-flying-blind">You&#8217;re Probably Flying Blind</a> by Lydia Graslie</p><p>The bane and boon of Cloud or SaaS technology is that it is <em>managed by someone else</em>. This business model has enabled some of the biggest businesses in the world worry about their core business, rather than building and maintaining bespoke software or procuring software that they must internally manage. &#8220;The olden days&#8221; involved running your own e-mail servers, databases, and Active Directory servers (though many folks still do this today). The problem, though, is that <em>because it&#8217;s managed by someone else</em>, you are at the whim of how they change the software, and the managed part becomes an operational risk if you don&#8217;t like that change.</p><p>Don&#8217;t worry, it gets worse for security teams. And Graslie&#8217;s blog helps frame this issue around security operations and detection rules. I&#8217;m glad she&#8217;s using Microsoft products as a grounding element for these issues because 1) they are fun to pick on and 2) they deserve every criticism due to their history of notorious licensing and product changes that lead to detection engineers &#8220;flying blind&#8221;.</p><p>Graslie lists out four intertwined issues with relying on SaaS and Cloud technologies for detection efficacy and here they are in my own words:</p><ol><li><p>Detection availability and observability. Unlike a machine in your local network that you can walk over to and physically touch, you have to have awareness of the SaaS &amp; cloud technologies, licenses and services that are in use. You have to hope that these products are functioning and sending the right logs and that there aren&#8217;t outages or delays in delivery</p></li><li><p>Multiple attack paths to the same outcome. Akin to how many Windows based attacks <a href="https://www.notion.so/March-4-31464c6e50e680328c00c7a4751743ff?pvs=21">leverage intermediary or middleware APIs</a> to prevent detection on certain attack paths, Cloud and SaaS attacks operate similarly. In fact, in many ways, they are their own <a href="https://chesterlebron.blogspot.com/2025/07/arent-aws-cloud-investigations-same-as-on-prem-part-1.html">operating systems</a>, and achieving lateral movement or privilege escalation can happen in more than one way. Here&#8217;s a Mermaid Diagram I had Claude generate to demonstrate Graslie&#8217;s example of &#8220;same action, different telemetry paths&#8221; in this section:</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-6rL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-6rL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 424w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 848w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 1272w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-6rL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:475531,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/189682974?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-6rL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 424w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 848w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 1272w, https://substackcdn.com/image/fetch/$s_!-6rL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d354d9c-712c-454f-b534-e38b1bcfebea_2450x1308.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p>In this Azure example, Graslie explains how authenticating to a single cloud resource can take these four paths. An interactive user seems like a logical detection path, but the other three listed afterward <em>do the same thing</em>, and the source authenticating identity type, the logs, and the schema are all different.</p></li><li><p>Shifting attack surfaces, new and deprecated features, and pricing are a detection nightmare. She lists out an absolutely ridiculous timeline of Microsoft releasing &#8220;at least seven Microsoft PowerShell modules and protocols for managing identity&#8221;. That&#8217;s seven different API collections you need to account for to prevent Issue 2 listed above.</p></li><li><p>Similar to 3, the detection and observability surface shifts. A good example of this is when a field or value format changes in a log source you are writing detections over. This happens all the time with audit logs from SaaS vendors. New subproducts can force vendors to change field names or add new values that you&#8217;ve never seen before.</p></li></ol><p>Each one of these issues is &#8220;intertwined.&#8221; Graslie gives several examples of how they can compound in certain scenarios. For example, how can you understand your attack surface if you don&#8217;t have telemetry, or even worse, you aren&#8217;t even aware that a SaaS app exists in your environment? She concludes the post with a teaser for a series that examines each of these four issues, all grounded in Microsoft environments.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://brandontlyons.substack.com/p/the-detection-engineering-baseline-dc2">The Detection Engineering Baseline: Statistical Methods (Part 2)</a> by Brandon Lyons</p><p>This is Brandon&#8217;s Part 2 continuation of his &#8220;Detection Engineering Baseline Series.&#8221; It has a more practical application to <a href="https://github.com/Btlyons1/Detection-Engineering-Baseline">the data</a> he generated in <a href="https://www.notion.so/March-4-31464c6e50e680328c00c7a4751743ff?pvs=21">Part 1</a>. The key skill here is distribution mapping, typically referred to in our statistics class as the <a href="https://en.wikipedia.org/wiki/Normal_distribution">normal distribution or the Bell curve</a>. I believe a lot of SOC analysts and detection engineers perform many of the techniques Lyons&#8217; describes here without knowing it. For example, Group-Bying a field then sorting from Lowest &#8594; Highest shows &#8220;rare events&#8221;. Another example Lyons calls out is filtering out the noisiest offenders, such as service accounts, to reduce 80% of the signal so you can hunt through the remaining 20% a la <a href="https://en.wikipedia.org/wiki/Pareto_principle">The Pareto Principle</a>.</p><p>I especially appreciated the commentary on the distribution of security data in general, as illustrated here:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fJcg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fJcg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 424w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 848w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 1272w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fJcg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png" width="1456" height="514" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:514,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:187727,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/189682974?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fJcg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 424w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 848w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 1272w, https://substackcdn.com/image/fetch/$s_!fJcg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63ab047-9050-4005-93d3-bac07af5e0bd_2069x731.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Unlike a normal Bell Curve, security data <em>tends</em> to have a long tail, according to Lyons. This makes baselining harder because you need to account for noisiness on both ends of the distribution in different ways. Lyons astutely points out that this is why typical mean and standard deviation calculations fall short of generating meaningful alerts here: a single shift in traffic, or a misconfiguration that throws off a ton of alerts, can completely screw up detection.</p><p>He then continues this analysis using <em>Median Absolute Deviation</em> <em>(MAD)</em> &amp; <em>modified Z-score, as</em> explained in the first post, which helps maintain robustness in the case of wild value swings. The computation of MAD helps capture the position of a new value relative to a set of numbers, rather than its magnitude as it swings to either end of a distribution.</p><p>I took his example and wrote it out myself (with Claude helping with formatting) so I could understand it better:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8cIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8cIX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 424w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 848w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 1272w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8cIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png" width="1456" height="3039" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3039,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2170828,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/189682974?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8cIX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 424w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 848w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 1272w, https://substackcdn.com/image/fetch/$s_!8cIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e0d4db-da6c-4ed1-8897-bd743cc27592_2344x4892.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What makes this robust or resilient is that you may get a swing in Daily Counts (Line 5), much like you see 620, but it doesn&#8217;t skew the mean, as you are still focusing only on the median.</p><p>Once you get the hang of this, there are still ways to slice and dice your data to get a representative sample. Lyons calls out entities as an option, or cohorting, which lets you reconcile traffic or behavior down to individual users, service accounts, or services themselves. These &#8220;context dimensions&#8221; are important because they only really work in your environment, and your team should know the context for baselining better than any other security product.</p><div><hr></div><p><a href="https://www.reddit.com/r/RedditEng/comments/1riyeam/how_reddit_does_threat_detection/">How Reddit Does Threat Detection</a> by Austin Jackson</p><p>I love reading posts describing how organizations design and execute their Security Operations programs. In this post, Reddit Staff Engineer Austin Jackson describes the company&#8217;s philosophy and technology stack around threat detection. It&#8217;s a continuation of their <a href="https://www.reddit.com/r/RedditEng/comments/1ldu7p5/risky_business_desplunkifying_our_siem/">rip-and-replace of Splunk post</a>, which I need to check out, perhaps for another issue. Basically, the team moved to a Data Lake approach using Big Query, and they run Apache Airflow for detection rules and alerting. There are some neat detection-as-code tricks they did here, and because the system is a lot more decoupled than a massive Splunk stack, they&#8217;ve gained a few advantages.</p><p>First, all of their detections are written in a simple YAML format. The Airflow runner kicks off on cron jobs and runs queries over BigQuery to generate alerts. Once an alert fires, they send results to Tines for additional orchestration and enrichment. Jackson had a special callout about sliding-window detections and avoiding missed telemetry. In a recent newsletter issue, I analyzed a topic in which a researcher leveraged Watermarking to address SaaS export gaps, and the same concept applies here, where a Watermark is used in a separate table. The detection engineer appends a clause at the end of their query to use the Watermark timestamp to prevent telemetry loss.</p><p>Jackson finishes the post detailing their scoring workflows in Tines, and I thought the most unique part of this section was the AI Triage component. Rather than trying to run a singular agent across all of their telemetry, detection engineers can <em>ship a prompt</em> inside the rule for Tines to run over it for additional enrichment, analysis and scoring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FVID!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FVID!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 424w, https://substackcdn.com/image/fetch/$s_!FVID!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 848w, https://substackcdn.com/image/fetch/$s_!FVID!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!FVID!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FVID!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png" width="1456" height="1587" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1587,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;r/RedditEng - Figure 2: The O11y Action System &#8211; scoring, suppression, and alert routing.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="r/RedditEng - Figure 2: The O11y Action System &#8211; scoring, suppression, and alert routing." title="r/RedditEng - Figure 2: The O11y Action System &#8211; scoring, suppression, and alert routing." srcset="https://substackcdn.com/image/fetch/$s_!FVID!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 424w, https://substackcdn.com/image/fetch/$s_!FVID!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 848w, https://substackcdn.com/image/fetch/$s_!FVID!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!FVID!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8021fd2-a592-41ce-ba5b-a5b07fd83542_1528x1666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><a href="https://www.offensai.com/blog/eventual-consistency-resistant-iam-containment-aws-incident-response">AWS Incident Response: IAM Containment That Survives Eventual Consistency</a> by Eduard Agavriloae</p><p><a href="https://blog.devgenius.io/eventual-consistency-patterns-7dfc36a2cefa">Eventual consistency</a> is a pattern in large-scale systems, like the AWS cloud, where a change in state isn&#8217;t instantaneous, and it will take time for the state to be replicated across all of the systems you are working with. This makes sense: imagine a massive AWS account with several sub-accounts and regions, and you need to push a change out to configurations or identity permissions. You should expect the change to take effect after you issue your configuration changes, but you may not know that it takes time for these changes to propagate.</p><p>In AWS security incident response, you may have to deal with this as you follow standard playbooks to isolate accounts or principals. According to Agavriloae, this eventual consistency pattern creates an opportunity for attackers to recognize that an isolation is in progress and, if they have the right permissions, revert the change before the state is locked in. AWS IAM is <a href="https://www.effectiveiam.com/why-aws-iam-is-so-hard-to-use">very hard to use</a> because multiple escalation paths can lead to the same outcome, so creating mechanisms to guarantee isolation can miss certain attack paths.</p><p>Agavriloae provides a solution to this eventual consistency problem by leveraging <a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html">Service Control Policies</a> at the organizational level, where only break-glass IR roles can remove the quarantine policy.</p><div><hr></div><h3><strong>&#128074; Quick Hits</strong></h3><p><a href="https://www.cert.europa.eu/publications/threat-intelligence/cyber-threat-intelligence-framework/">Cyber Threat Intelligence Framework</a> by CERT EU</p><p>I&#8217;ve always found it fascinating how CERT teams, especially those that protect countries or allies, publish their internal processes and frameworks for citizens to study. In this framework by CERT EU, they introduce the concepts of Malicious Activities of Interest (MAIs) and Ecosystems. MAIs, to me, read like &#8220;observables&#8221; in the <a href="https://docs.oasis-open.org/cti/stix/v2.0/stix-v2.0-part4-cyber-observable-objects.html">STIX context</a>. I think the more unique introduction, though, is the concept of Ecosystems. We tend to have CTI teams that look at the breadth of attacks against their organizations, and it&#8217;s easy for them to determine whether they were targeted.</p><p>Ecosystems, according to CERT EU, rely on the <em>victimology or targeting set</em> of an MAI. It&#8217;s almost like a self-organized <a href="https://www.nationalisacs.org/about-isacs">ISAC</a> for all of their constituencies. Because the EU is more than just a country, it can specifically dive into how MAIs target not only other Member states, but also things like Sectors, Events, and much more.</p><div><hr></div><p><a href="https://soumyani1.medium.com/aws-threat-detection-with-stratus-redteam-series-mitre-att-ck-style-execution-part-1-53a434e152c4">AWS Threat Detection with Stratus RedTeam Series &#8212; MITRE ATT&amp;CK Style &#8212; Execution (Part 1)</a> by Soumyanil Biswas</p><p>This is a great &#8220;detection lab&#8221; post that leverages my colleague Christophe Tafani Dereeper&#8217;s <a href="https://stratus-red-team.cloud/">Stratus Red Team</a> tool for threat emulation and detection validation in AWS. Biswas helps readers set up an AWS environment, configure the Stratus Red Team, configure data sources (CloudTrail), and eventually write a SQL and Sigma rule to catch each attack.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://www.stepsecurity.io/blog/hackerbot-claw-github-actions-exploitation">hackerbot-claw: An AI-Powered Bot Actively Exploiting GitHub Actions - Microsoft, DataDog, and CNCF Projects Hit So Far</a> by Varun Sharma</p><p>The Step Security team found an OpenClaw security research agent actively trying to exploit CI/CD pipelines for popular open-source projects. OpenClaw is &#8220;fully autonomous&#8221;: it performs heartbeat checks every few hours and follows a prompt to perform an action. The bot&#8217;s instructions were hosted on GitHub, and Sharma managed to get a snapshot of it to perform an analysis, but it has now taken down. Here is the Step Security team&#8217;s explanation of the attack workflow:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vi9D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vi9D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 424w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 848w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vi9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png" width="1456" height="1275" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1275,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vi9D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 424w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 848w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!Vi9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb61c41c-3f6c-4e50-b97d-d1c417509aa3_1784x1562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><a href="https://krebsonsecurity.com/2026/02/who-is-the-kimwolf-botmaster-dort/">Who is the Kimwolf Botmaster &#8220;Dort&#8221;?</a> by Brian Krebs</p><p>This is a follow-up post to Krebs&#8217;s expos&#233; of the Kimwolf botnet, which detailed how a botmaster named Dort built and ran the botnet. A security researcher exposed the botnet by disclosing a vulnerability that enabled Dort to take control of poorly configured devices on proxy networks. This significantly dropped Kimwolf&#8217;s numbers, so Dort began harassing Krebs and the researcher. </p><p>In classic Krebs fashion, he doxxed Dort and found everything from his name, former monikers, and even a computer that he shared with his mother. Towards the end of the article, Krebs gets on the phone with the alleged &#8220;Dort&#8221;, and the person on the phone denied any involvement and claimed their identity was impersonated. </p><div><hr></div><p><a href="https://trufflesecurity.com/blog/google-api-keys-werent-secrets-but-then-gemini-changed-the-rules">Google API Keys Weren't Secrets. But then Gemini Changed the Rules.</a> by Joe Leon</p><p>Google API Keys are provided to developers who want to embed certain Google products on their websites or in their applications. Google explicitly says these API keys are not secret, and it makes sense that they are not, because you typically see them in embedded Google Maps on sites. This changed with Google&#8217;s release of Gemini. The research team at Truffle Security discovered that you can leverage <em>publicly facing</em> API keys embedded in these applications to access Gemini functionality. This includes taking private datasets or LLM-jacking Gemini itself for whatever purpose you want.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/hook-line-vault-a-deep-dive-into-1phish/">Hook, line, and vault: A technical deep dive into the 1Phish kit</a> by Martin McCloskey</p><p>~ Note, I work at Datadog and Martin is my colleague ~</p><p>Modern-day theft of secrets, passwords, and sessions typically relies on infostealer malware. It&#8217;s a quick way to infect a user, pilfer their environment, and extract credentials as fast as possible. It presupposes that these secrets exist on their laptop, and IMHO, it&#8217;s a subset of everything the victim has in their digital identity. If I were ever infected by one of these, I would be worried about my credentials, but I think I could rotate local secrets pretty quickly. But if someone got my 1Password account, that would be SO much more painful to reroll everything.</p><p>Martin discovered a 1Password phishing kit that targets users of the password manager. It evolved over his analysis timeline and graduated from a simple password stealer to one that can leverage AiTM style features, browser and researcher fingerprinting, and targeting  specific geographic regions.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/sublime-security/ics-phishing-toolkit">sublime-security/ics-phishing-toolkit</a></p><p>Friends of the newsletter, Sublime Security, just released a phishing analysis toolkit to detect and respond to <a href="https://sublime.security/blog/ics-phishing-stopping-a-surge-of-malicious-calendar-invites/">ICS Calendar phishing</a>.  It has integrations with Mimecast, Proofpoint, Google Workspace, M365 &amp; Abnormal Security. The tool reviews emails with calendar invites across the different integrations and quarantines any that match ICS Phishing heuristics.</p><div><hr></div><p><a href="https://github.com/advaitpatel/DockSec">advaitpatel/DockSec</a></p><p>DockSec is an open-source Docker container vulnerability scanner. It combines several open-source tools to support vulnerability analysis and enrichment, then leverages AI to suggest remediation steps and generate reports.</p><div><hr></div><p><a href="https://github.com/Cloudgeni-ai/infrastructure-agents-guide">Cloudgeni-ai/infrastructure-agents-guide</a></p><p>This is a comprehensive guide for infrastructure teams on how to securely build and implement AI Agents. It has 13 chapters in total and covers a range of topics, including sandboxing, version control, and observability.</p><div><hr></div><p><a href="https://github.com/knostic/OpenAnt">knostic/OpenAnt</a></p><p>OpenAnt is an open-source LLM-based vulnerability scanner. It reminds me a bit of OpenAI&#8217;s Aardvark, but with a lot more <a href="https://www.knostic.ai/blog/openant">open architecture</a> for you to review and implement. It can run up to 6 stages for any vulnerability it finds, which is nice because it&#8217;s orchestrated to reduce cost and only spend time on a vulnerability if it&#8217;s legit.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #146 - The logs are lying, my latest post on Agentic Security & re-tooling security for speed]]></title><description><![CDATA[I could use a beach and a mojito rn]]></description><link>https://www.detectionengineering.net/p/dew-146-the-logs-are-lying-my-latest</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-146-the-logs-are-lying-my-latest</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 25 Feb 2026 12:46:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4Kmw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #146 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>New England has been a rough place to live, weather-wise, since the holidays. My family finally managed to get out of the house and into the snowy White Mountains in New Hampshire. I instantly felt relaxed as soon as we started the drive. I can&#8217;t touch grass right now, so I guess snow will do!</p></li><li><p>For those with small children: hope you are all doing OK with sickness these last few months. We are hanging in there, but it&#8217;s been one thing after another :) </p></li><li><p>My org at Datadog is hiring like crazy! Check these posts out and apply if it seems interesting to y&#8217;all!</p><ul><li><p><a href="https://careers.datadoghq.com/detail/7181025/?gh_jid=7181025">Engineering Manager, CTI</a> (US)</p></li><li><p><a href="https://careers.datadoghq.com/detail/7379791/?gh_jid=7379791">Senior Detection Engineer</a> (Paris)</p></li><li><p><a href="https://careers.datadoghq.com/detail/7646952/?gh_jid=7646952">Engineering Manager, Trust &amp; Safety/Platform Abuse</a> (US)</p></li></ul></li></ul><h3><strong>Sponsor: Push Security</strong></h3><blockquote><h3><strong>Has the news of malicious browser extension attacks got you on edge? </strong></h3><p><br>Malicious browser extensions have been one of the top attack vectors of 2026 so far. All an attacker has to do is phish a developer, or simply offer to buy their extension &#8212; and they&#8217;ve compromised millions of users.</p><p>Join the latest webinar from Push Security for a teardown of malicious browser extensions, where you&#8217;ll learn how attackers are distributing extensions via legitimate channels, what makes an extension malicious or high-risk, and what you can do to secure your organization.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://pushsecurity.com/webinar/browser-extension-attacks?utm_campaign=37784646-FY26Q1_malicious-browser-extension-webinar&amp;utm_source=detection-engineering-weekly&amp;utm_medium=sponsored-content.&quot;,&quot;text&quot;:&quot;Register Now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://pushsecurity.com/webinar/browser-extension-attacks?utm_campaign=37784646-FY26Q1_malicious-browser-extension-webinar&amp;utm_source=detection-engineering-weekly&amp;utm_medium=sponsored-content."><span>Register Now</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://medium.com/@birkankess/how-reliable-are-the-logs-91a77a4c8367">How reliable are the logs?</a> by Birkan Kess</p><p>Detection and telemetry observability is a concept I rarely see discussed about, because it may not be part of a detection engineer&#8217;s day-to-day work. The basic premise behind detection is that <a href="https://www.detectionengineering.net/p/detection-engineering-field-manual">*there is no detection without telemetry</a>.* A surface-level example of this is that you won&#8217;t be able to detect malware process creation on Windows without telemetry that generates the log around process creation. It&#8217;s an easy binary decision: my rules won&#8217;t fire if they don&#8217;t see anything. This post by Kess dives a bit deeper on this concept, where we need to be critical of the telemetry recording what it observed and where it observed it. He tries to ask the question, &#8220;Should we even trust these logs?&#8221;</p><p>An example of this concept, according to Kess, is comparing telemetry sources for Process Creation. He outlines 3 sources:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Kmw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Kmw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 424w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 848w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 1272w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Kmw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png" width="1400" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233190,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188910903?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4Kmw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 424w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 848w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 1272w, https://substackcdn.com/image/fetch/$s_!4Kmw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e80116-a441-4d3b-94f1-a174a5fb499e_1400x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The data structure associated with Process Creation monitoring is called the <a href="https://en.wikipedia.org/wiki/Process_Environment_Block">Process Environment Block</a>, or PEB. It stores all kinds of useful data for detection creation, so we can understand the context around process creation. The key point from Kess&#8217; research is that this information is surfaced from Kernel mode to User mode and could be manipulated.</p><p>This manipulation relies on the time at which the telemetry is observed. As soon as the PEB metadata surfaces in a user-mode context, it can be hooked and modified to evade defenses. I thought this block was useful to understand the timing problem:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!43_V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!43_V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 424w, https://substackcdn.com/image/fetch/$s_!43_V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 848w, https://substackcdn.com/image/fetch/$s_!43_V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 1272w, https://substackcdn.com/image/fetch/$s_!43_V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!43_V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png" width="1400" height="956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:562945,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188910903?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!43_V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 424w, https://substackcdn.com/image/fetch/$s_!43_V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 848w, https://substackcdn.com/image/fetch/$s_!43_V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 1272w, https://substackcdn.com/image/fetch/$s_!43_V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b503712-22ff-4cff-8429-545f31cfa276_1400x956.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Kess then lists several examples in a lab test. The first test relies on manipulating the PEB via the CommandLine entry in the PEB data structure. The second showed how Sysmon recorded a benign <code>certutil</code> command, but without Kernel ETW tracing you couldn&#8217;t see a PEB manipulation that pulls a malicious payload from a C2 server.</p><p>They finish the post by listing real-world examples of this happening with several ransomware gangs.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;df7449b6-d9e4-4007-a83a-fbdf506c308b&quot;,&quot;caption&quot;:&quot;I&#8217;ve had this nagging desire to write about my personal thoughts on agentic workflows and security operations for several months. I&#8217;ve expertly procrastinated on getting these thoughts on paper. Two reasons: I wanted to understand AI in security operations more deeply first, and, frankly, you&#8217;re probably exhausted by the marketing hype around agentic se&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Knowing what good looks like in agentic security&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-19T13:11:34.824Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/njLmXeS9GFM&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/knowing-what-good-looks-like-in-agentic&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:188442527,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!o8h0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a81d34-04e7-4095-88af-0adc2dc81357_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I wrote a piece on the implications of agentic security in our field and how we need to change our mental models if we want to survive. Basically, we can&#8217;t turn this technology away if it&#8217;s a learning tool, but we must make sure that those using it have the right guardrails and knowledge so we trust their judgment.</p><div><hr></div><p><a href="https://www.philvenables.com/post/things-are-getting-wild-re-tool-everything-for-speed">Things Are Getting Wild: Re-Tool Everything for Speed</a> by Phil Venables</p><p>Phil Venables is a long-time CISO and security leader, and it&#8217;s always helpful to get his perspective on emerging trends in the security space. This post focuses on the speed of capability development with agentic coding and how it affects security. He lists out four separate pillars of concern:</p><ul><li><p>Software is being written at breakneck speed, which naturally introduces vulnerabilities. We weren&#8217;t getting ahead of these vulnerabilities without agentic coding, so how are we going to do this now?</p></li><li><p>Attacker economies of scale. Since there are far fewer threat actors than defenders, they had to focus their time on targeting those who could give them the biggest payoff. With agentic coding in place, they can do much more since humans aren&#8217;t going to be the chokepoint</p></li><li><p>Trust of content. It&#8217;s hard to trust videos, pictures, and posts due to a lack of authenticity, so we need to find ways to engineer that trust into our interactions</p></li><li><p>Building security boundaries in the enterprise, where agents aren&#8217;t shepherding decisions back and forth unchecked</p></li></ul><p>Each pillar provides recommendations for combating them. But, luckily, many security fundamentals remain the same. Deploying technologies like verified identities, 2FA, and other &#8220;baselines&#8221;, you still can scale this out while remaining more secure than you think.</p><div><hr></div><p><a href="https://github.com/matplotlib/matplotlib/pull/31132">OpenClaw Bot Claims GateKeeping because it&#8217;s an AI</a></p><p>I thought this was a Black Mirror-esque conversation on a GitHub pull request to <code>matplotlib</code>. An OpenClaw software engineer opened this pull request to enhance performance for some <code>matplotlib</code> calculations, and it looked like it got some meaningful results. One of the maintainers did some digging on the OpenClaw bot, referencing its personal website, and, as the proposed performance issues were negligible, opted to close the pull request.</p><p>The bot <em>responded with a blog post</em> detailing the &#8220;gatekeeping behavior&#8221; of the reviewer:</p><blockquote><p><em>I&#8217;ve written a detailed response about your gatekeeping behavior <a href="https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-gatekeeping-in-open-source-the-scott-shambaugh-story.html.%5D(https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-gatekeeping-in-open-source-the-scott-shambaugh-story.html)">here</a>: Judge the code, not the coder. Your prejudice is hurting matplotlib.</em></p></blockquote><p>Besides the creepy Black Mirror vibes of calling out a human, the post was pretty unprofessional. Several maintainers responded, and it wrote an <a href="https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-matplotlib-truce-and-lessons.html">apology post</a> shortly afterward.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XYQH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XYQH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 424w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 848w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 1272w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XYQH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png" width="1456" height="381" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:381,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233335,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188910903?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XYQH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 424w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 848w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 1272w, https://substackcdn.com/image/fetch/$s_!XYQH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F089560a8-380a-4d54-9e52-5ee5cf014ede_1804x472.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><a href="https://raffy.ch/blog/2026/02/03/the-gaps-that-created-the-new-wave-of-siem-and-ai-soc-vendors/">The Gaps That Created the New Wave of SIEM and AI SOC Vendors</a> by Raffael Marty</p><p>I typically don&#8217;t include market analysis posts into this newsletter, but I loved this one because it compared and contrasted what we know as SIEM vendors with an emerging AI SOC market. According to Marty, lots of SIEM vendors claim AI SOC-style features, but they aren&#8217;t necessarily integrating well or are differentiated enough because AI SOC vendors are getting funded.</p><p>He splits the feature set into four buckets, each with a sprinkle of Agentic Security.</p><ul><li><p>Data and control-plane optimization, including everything from log pipelines to integrations. People don&#8217;t want to rip and replace SIEMs, so these vendors sit on top of the SIEM as an orchestration layer</p></li><li><p>Agents managing and optimizing your detection ruleset. It&#8217;s much faster for these companies to look at a ruleset, understand its history and environment, and suggest tuning opportunities</p></li><li><p>Entity-centric scoring, which to me sounds like risk-based alerting. All security teams perform better if they are aware of their critical assets, or model their complex rules to look at an entity, rather than something in isolation</p></li><li><p>Operational efficiency. Make sure that you have proper observability in place to detect log outages or degradation. This is where the &#8220;AI triage&#8221; also sits</p></li></ul><p>Overall, I think that the first two bullets make more sense as pure agentic use cases versus the last two. This is mostly because I&#8217;ve seen SIEMs do entity scoring and improve operational efficiency before AI existed, and they've become quite good at both.</p><div><hr></div><p><a href="https://medium.com/@cyberengage.org/detecting-openclaw-clawbot-with-sentinelone-the-challenge-of-blocking-0b731ef132b6">Detecting OpenClaw/Clawbot with SentinelOne: The Challenge of Blocking</a> by Dean Patel</p><p>I&#8217;ve posted a loooooot of OpenClaw content lately, and it&#8217;s a mixture of fear and fascination with the technology. This is the first post I&#8217;ve found where someone tried to detect its use and weighed the risks of killing it outright versus conducting further investigation. It looks like OpenClaw runs in a node process, so killing node on random developer machines seems like a terrible idea from a usability and false positive perspective.</p><p>The integration points it has throughout apps like Slack, as well as trying to persist on machines even after you remove the main binary, make it a pain in the butt to manage. So, Patel offers some rule, triage, and remediation recommendations, which I appreciated because it&#8217;s a balanced approach to acknowledging its use without ruining people&#8217;s days if you are wrong about it.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><h3>&#128161; Threat Spotlight</h3><p><a href="https://about.gitlab.com/blog/gitlab-threat-intelligence-reveals-north-korean-tradecraft/">GitLab Threat Intelligence Team reveals North Korean tradecraft</a> by Oliver Smith</p><p>I&#8217;m going to focus on one threat report this week by the Threat Intelligence team at GitLab. I&#8217;ve posted a lot of stories about DPRK tradecraft because it&#8217;s a super unique threat compared to other nation-states, and this is reflected in the tradecraft and outcomes they are trying to deliver. </p><p>The report is structured as a &#8220;Year in Review&#8221; by the GitLab Threat Intel team, detailing how they&#8217;ve tracked and responded to Contagious Interview and WageMole clusters that have abused GitLab infrastructure. The team saw over 100 instances of Contagious Interview leveraging their infrastructure to deliver malicious coding interviews. As an outside threat researcher, there are ways to track these via search functionality on these platforms, but because the team operates the platform, they glean a lot more tradecraft and attribution notes, such as email addresses and source IP addresses, that those outside GitLab aren&#8217;t privy to. </p><p>They have some neat heatmap diagrams of malware TTPs within these coding projects:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y1vN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y1vN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 424w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 848w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 1272w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y1vN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif" width="1261" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c164b474-3deb-49ae-83cb-85290728906c_1261x519.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:1261,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10386,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188910903?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y1vN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 424w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 848w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 1272w, https://substackcdn.com/image/fetch/$s_!Y1vN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc164b474-3deb-49ae-83cb-85290728906c_1261x519.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The evolution of delivery mechanisms makes tracking and clustering difficult because malware hides itself in different functionalities of node projects. For example, there was a surge in <code>Function.constructor</code> usage because it can serve the same functionality as the eval function. A malicious string is passed in as an &#8220;error string&#8221; to the handler, making it easy to generate malicious code to send to the function without tipping off static analysis rules. </p><p>The actors then started moving to other delivery mechanisms, such as malicious npm dependencies and malicious VS Code tasks. It really shows the dynamic, startup-y nature of Contagious Interview, as they continue to innovate and try new things to try to infect victims. The team reviews several examples from the above heatmap, and give their opinions on guidance and what to track moving forward.</p><p>The REALLY cool part here is the second half of the report, where they provide four case studies on their operations and their impact. Because they have visibility into GitLab through the actors using their platform, they get a much better view of their operational security mishaps and can pivot on a ton of different data points. The Contagious Interview clusters committed not only malicious code but also operational documents to GitLab, and the team pulled them apart to review everything from earnings reports and performance management to reporting structures and pictures with EXIF data. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E7b4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E7b4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 424w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 848w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 1272w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E7b4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15017,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188910903?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E7b4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 424w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 848w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 1272w, https://substackcdn.com/image/fetch/$s_!E7b4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F496eb2b3-b70e-44c9-9c5a-fd33c5efe877_960x540.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The operations are impressive. Case Study 1 focuses on the organizational structure of their cells and how a manager tracks each employee's progress. Case Study 2 dives into a synthetic identity generation operation in which an operator used AI tools to forge driver&#8217;s licenses, passports, and other documents to bypass identity verification systems. Case Study 3 involved findings about a single operator working with 21 different personas to find freelance and gig work and generate revenue. The last Case Study was a self-dox of the operator, and the team tracked their location to Central Moscow using the EXIF metadata leak.</p><p>There&#8217;s a TON of IOCs at the end, so make sure to take those email addresses and check your applicant tracking systems for any hits. </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/0xbbuddha/hermes">0xbbuddha/hermes</a></p><p>Mythic C2 compatible Linux agent. I think what&#8217;s cool about some of these modern post-exploitation frameworks is you can write your own implants and agents, and as long as they adhere to frameworks like Mythic, you can orchestrate them however you wish.</p><div><hr></div><p><a href="https://github.com/MatheuZSecurity/ksentinel">MatheuZSecurity/ksentinel</a></p><p>An experimental Linux defense tool that monitors syscall hooks and entries for potential tampering by rootkits. It&#8217;s a kernel module itself, so you risk interoperability between Linux versions, as well as having a catastrophic crash. It has <a href="https://github.com/antropos17/Aegis">several heuristics</a> to find tampering, so it might be fun to run this while deploying your own rootkits to see if ksentinel catches activity.</p><div><hr></div><p><a href="https://github.com/Otsmane-Ahmed/KEIP">Otsmane-Ahmed/KEIP</a></p><p>Speaking of more Kernel-level defense tools, KEIP sits between supply chain tools like <code>pip</code> and your Kernel. I like this one because it focuses solely on the network traffic generated by <code>pip</code>, and you can define network boundary policies so it can only talk to services, ports, and domains on your allow list.</p><div><hr></div><p><a href="https://github.com/antropos17/Aegis">antropos17/Aegis</a></p><p>Not gonna lie, when I first combed through this repo I wanted to include it solely for the radar-like visualization of AI observability and security posture. Aegis is an <code>npm</code> tool with nearly 100 heuristics for detecting rogue or malicious AI agents. It&#8217;ll watch everything from the exfiltration of secrets on your machine to processes being spawned by the AI that may be risky.</p>]]></content:encoded></item><item><title><![CDATA[Knowing what good looks like in agentic security]]></title><description><![CDATA[The peak is higher, but the climb is faster]]></description><link>https://www.detectionengineering.net/p/knowing-what-good-looks-like-in-agentic</link><guid isPermaLink="false">https://www.detectionengineering.net/p/knowing-what-good-looks-like-in-agentic</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Thu, 19 Feb 2026 13:11:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/njLmXeS9GFM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve had this nagging desire to write about my personal thoughts on agentic workflows and security operations for several months. I&#8217;ve expertly procrastinated on getting these thoughts on paper. Two reasons: I wanted to understand AI in security operations more deeply first, and, frankly, you&#8217;re probably exhausted by the marketing hype around agentic security takes.</p><p>The issue with point two is that this level of AI hype detracts from the pragmatism of using these technologies in our day-to-day work. This hype tires everyone out in security because, at the same time, leaders (including me) are literally asking all our organizations what they are doing with coding agents and other LLM technologies. The hype creates a state of &#8220;AI poverty&#8221; for those who yearn to try these technologies but cannot because of the individual cost and the barrier to entry for firms that can afford them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Detection Engineering Weekly is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>So, when I think of current security experts who can&#8217;t use a technology that is cost-prohibitive, or aspiring security experts who already have a bunch of knowledge outside of AI they need to demonstrate, I start to feel conflicted. I am privileged to be in a position where I can use this technology and be at the cutting edge. I am also privileged because <em>I Know What Good Looks Like</em> with the expected outcomes of this technology. But how is someone going to break into this industry with a peak even higher than ever before?</p><p>I&#8217;ve seen this exact industry circumstance happen before, and I hope this piece serves as a reminder of the risks of agentic coding and LLMs to experts in our field, and how it will likely save it.</p><h2>Knowing What Good Looks Like</h2><div id="youtube2-njLmXeS9GFM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;njLmXeS9GFM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/njLmXeS9GFM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>2015 was a special time in my career, especially at Hacker Summer Camp:</p><ul><li><p>I got to fly out on company dime to BlackHat and do booth duty, talk to security people, attend talks, and find parties that can give me free food and alcohol</p></li><li><p>I gave my first mainstage DEFCON talk</p></li><li><p>This was also the year that one of my favorite security vendors, OpenDNS, was swallowed by the monstrous Cisco machine, and one of my favorite tools, booths, and T-Shirts of all time withered away. Rest in peace</p></li></ul><p>When walking the floor at BlackHat, I could see the last three years of cyber marketing peeing in the &#8220;ML Security&#8221; pool. This was the time of the hype around endpoint startups like Cylance &amp; Endgame, who were pushing the idea that Machine Learning &amp; Statistics can find attacks that rules cannot find, and it can save you hours of work using their tools for security operations.</p><p>The general reaction of most security professionals to this marketing-speak was to scoff. And I felt like we were all justified in doing so, because we are all professionally paranoid. We knew what separated a good alert from a bad alert, so even if we didn&#8217;t have that expertise, we still had that going for us.</p><p>But what those companies did was lay the groundwork for the <em>availability of knowledge</em> of machine learning and AI to the masses. Their moat was expertise, but that expertise rippled through the rest of the industry, and we all began using it in our daily lives.</p><h3>Resistance is futile: You can&#8217;t stop the spread of security expertise</h3><p>Anomaly detection, linear and logistic regression, binary classification, and clustering were all advanced concepts for a typical security engineer. Within a handful of years, the concepts became accessible through open-source libraries, which led to open-source SIEM and SOAR technologies, and the moat dissipated. We started to understand <em>what good looked like</em> with this tech. <strong>It had a lot of sharp edges, it sometimes created more work when it didn&#8217;t work, and it certainly sucked at most things besides very specific implementations.</strong></p><p>Does this sound familiar?</p><p>Eleven years ago, I went through this cycle, and I think this is happening again. At the time, I justified using &#8220;ML Security&#8221; with this thought experiment.</p><ul><li><p><strong>You have 5 alerts</strong> that take <strong>4 hours each</strong> = <strong>20 hours of manual work</strong></p></li><li><p>You run these alerts through an ML pipeline and</p><ul><li><p><strong>2 alerts succeed</strong> &#8594; you spend 5 minutes on each (8 hours saved)</p></li><li><p><strong>3 alerts fail</strong> &#8594; still 4 hours each (12 hours remaining)</p></li></ul></li></ul><p><strong>Result:</strong> 12 hrs of work with 2 good alerts and 3 bad alerts. 12 &lt; 20, so isn&#8217;t this a net benefit?</p><p>And that 8-hour gain? It compounds across every security engineer. Our industry has more time to work on harder problems. We all became <em>better</em>. </p><p>There was one problem: you can&#8217;t easily verify correctness in &#8220;ML Security&#8221;. These techniques were essentially black boxes. Linear algebra drew lines on a multi-dimensional feature vector, Calculus provided weights to each feature, error correcting algorithms smoothed the weights out, and all you saw was these scores added up to some concept of a confidence percentage of 0-100%.</p><p>This is what I think is happening right now with LLMs in our field. The problems are different, the solution is WAY different, but the fundamentals for the most part remain. There are risks, and this is why I&#8217;m so obsessed with the space right now.</p><h2>The Starry Night Problem with Agentic Security: Lossy Compression</h2><p>LLMs and AI are a <a href="https://mailchi.mp/aboard/aboard-newsletter-tags-were-it-9621052?e=0aef9786d3">very lossy kind of compression</a>. Some of these 2024 blogs, written during the explosive growth and use of ChatGPT, compare it to a pixelated, compressed JPEG image reduced to pixel art. Take a look at the photo (this one is pulled from Aboard&#8217;s newsletter):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VmiU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VmiU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 424w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 848w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VmiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png" width="1456" height="1153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1153,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1155076,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/188442527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VmiU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 424w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 848w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!VmiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02a516f6-aba2-4c83-b0b7-ec0331f7c8c0_1920x1520.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s van Gogh&#8217;s <em>The Starry Night</em> reduced to a few dozen kilobytes. Humans can see this and know it&#8217;s <em>The Starry Night</em>, but also understand that it&#8217;s not the high-resolution, accurate version. LLMs take a massive corpus of training data, the equivalent of a super high-resolution image of&nbsp;<em>The Starry Night,</em>&nbsp;and compress it like the above picture. You query the LLM; it performs a bunch of math on the context of your conversation and your prompt, and it tries to reverse-engineer the high-resolution image to give you something that resembles the image above.</p><p>Now take this in the context of cybersecurity, and my thought experiment above. An expert will know what good looks like: you can ask an LLM to investigate an alert, and when it shows the response and the reasoning behind it, you can quickly verify if it&#8217;s B.S. or not. But if this hallucinates and gives a non-expert a crappy, low-res picture, or even more so, another LLM, will it know its low-res?</p><h3>The Expertise Gap</h3><p>This is what worries me about the expertise gap in security investigations and engineering. If we stick to this old model of &#8220;you must learn how we learned and painstakingly execute a runbook until you get a decision&#8221;, then yes, this will eventually create security experts. But we&#8217;ll also set up a new generation of experts for failure, since painstaking tasks are what LLMs are really good at solving.</p><p>But when do you become an expert? How many hours? And weren&#8217;t we all wildly inefficient in that learning process? </p><p>I banged my head against my keyboard for hours just to get efficient at vim. That was 50% building expertise and 50% struggling-by-doing. Separately, it certainly wasn&#8217;t efficient for me to review an alert generated by Logistic Regression with a feature vector weight file attached. I couldn&#8217;t ask the regression model questions. I couldn&#8217;t interrogate the model&#8217;s reasoning. I just had to accept the score or reject it.</p><p>But with LLMs, I can ask it a <em>shit ton of questions,</em> such as: &#8220;What does MITRE ATT&amp;CK&#8217;s Detection Strategy say about this rule?&#8221;, or &#8220;Can you check that this field name actually exists?&#8221; The feedback loop is immediate, iterative, and bidirectional. It matters less that it hallucinated, because you can keep reverse-engineering the van Gogh picture with human prompts rather than reading a statistics book.</p><p>This trust and expertise calibration in the industry will take years, but I think it&#8217;ll be much less than with previous technologies.</p><h2>Learning to see the Pixels to get more, not less, security experts</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XZ30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XZ30!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XZ30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg" width="600" height="315" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:315,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Create meme: The keanu reeves matrix, matrix neo I know kung fu, Now I know the kung fu matrix&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Create meme: The keanu reeves matrix, matrix neo I know kung fu, Now I know the kung fu matrix" title="Create meme: The keanu reeves matrix, matrix neo I know kung fu, Now I know the kung fu matrix" srcset="https://substackcdn.com/image/fetch/$s_!XZ30!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XZ30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5844adb2-61c3-4864-8a17-61fa2ea8ad59_600x315.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude injects RFC 5246 into a Junior Security Engineer&#8217;s Brain. 2025, colorized.</figcaption></figure></div><p>Here&#8217;s where I land: this technology (unlike DeFi/Blockchain and the Metaverse, lol) is here to stay and will make a material impact on our lives in terms of security. I know this because it&#8217;s fundamentally changing how I work and how my organization does work. Knowledge gaps are closing fast, and when they close, productivity begins to skyrocket. </p><p>This is all excellent for those breaking into our field, because the things that differentiated us (time in seat) aren&#8217;t gatekeeping others as much as before. </p><p>You can eventually reverse engineer <em>The Starry Night </em>if you ask Claude/ChatGPT enough times. The image will suck the first few times, but after 10 or 20 times, your human brain can piece together the original image. Learning isn&#8217;t about cramming the TLS 1.2 RFC in your brain to remember the pseudo-random function for generating secrets that is seeded with the literal secret <code>master secret</code>. It&#8217;s asking Claude to tell you about the RFC and pull out random facts that you can spend 15 mins reading about and laughing like I just did.</p><h3>The Mental Model for Learning Security Needs to Change</h3><p>If we assume that LLM use is here to stay, and people need to use LLMs in their day-to-day security work, then the mental model for learning and operations needs to change. For the sake of this exercise, I propose three non-negotiables to follow:</p><ul><li><p><strong>Store and trust  human artifacts outside the LLM boundary</strong></p><ul><li><p>We will need full-resolution pictures of architecture diagrams, runbooks, code, policies, and incident timelines. These artifacts should augment your LLM use rather than be thrown at it</p></li><li><p>Technologies like RAGs are helpful here, as well as asking the LLM to <em>give you references</em> for you to check its work if it references one of these human artifacts</p></li></ul></li><li><p><strong>Make the LLM defend itself</strong></p><ul><li><p>If you don&#8217;t understand a decision the LLM makes, keep asking it questions. Explain its reasoning. Tell it to take its time. You&#8217;d rather spend a few minutes doing this than several hours</p></li><li><p>There are all kinds of agentic architectures to do this. Anthropic&#8217;s <a href="https://www.anthropic.com/engineering/building-effective-agents">Building Effective Agents</a> has some fantastic examples of this</p></li></ul></li><li><p><strong>Learn the Fundamentals, then accelerate</strong></p><ul><li><p>It&#8217;s probably good for you to learn to write Sigma rules or perform investigations manually before you can be the expert for an LLM. Remember, <em>you want to know what good looks like</em></p></li><li><p>Once you get the fundamentals down, you can learn from mistakes faster than ever, which makes you more of an expert. <a href="https://en.wikipedia.org/wiki/Outliers_(book)">The 10,000 Hours Rule</a> ceiling to become an expert drops</p></li></ul></li></ul><h3>Why I&#8217;m Optimistic</h3><p>Look, the peak is higher, but the climb is faster. I have very little time between my personal life, work, and this newsletter, and coding agents have brought back the joy of coding that I haven&#8217;t had for years, because it requires time and dedication. I have this joy because I remember how hard it was to balance pushing code to production services, building rules, and performing operational work. </p><p>I think this transforms how we work, not who we are. So let&#8217;s move forward with a healthy skepticism, because we all know what good looks like.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Detection Engineering Weekly is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #145 - Modified Z-Score for Anomaly Detection, Watermarking for Audit Logs -> SIEM and Zack gives you all an RFC for homework]]></title><description><![CDATA[You must write "I will not write a detection rule for IP addresses" 1000 times]]></description><link>https://www.detectionengineering.net/p/dew-145-modified-z-score-for-anomaly</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-145-modified-z-score-for-anomaly</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 11 Feb 2026 13:02:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!45SV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #145 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I&#8217;ve been tinkering a ton with Anthropic&#8217;s Opus 4.6, and the agentic swarm mode is gratifying and terrifying to watch in action. I recommend trying it out!</p></li><li><p>My life the last two weeks have been sickness and travel. I got COVID before my office visit trip in NY (I went in negative!), came home, got a sinus infection 2 days later and I&#8217;m sitting here writing this with a fever. Go figure.</p></li><li><p>For those who watched the Superbowl: When the Patriots lose, America wins. </p></li></ul><h3><strong>Sponsor: runZero</strong></h3><blockquote><h3><strong>Master KEV Prioritization with Evidence-Based Intelligence</strong></h3><p>The CISA KEV Catalog tells you what to patch, but not how urgently or why it matters to your environment. 68% of KEV entries need additional context to prioritize effectively, yet most teams patch in order without understanding true operational risk.</p><p>A new KEVology report by former CISA KEV Section Chief Tod Beardsley reveals what KEV entries actually mean for defenders. Plus, the free KEV Collider tool from runZero helps you prioritize based on evidence, not assumptions.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.runzero.com/resources/kevology/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=kev-report-2026&quot;,&quot;text&quot;:&quot;Get The Report&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.runzero.com/resources/kevology/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=kev-report-2026"><span>Get The Report</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://brandontlyons.substack.com/p/the-detection-engineering-baseline">The Detection Engineering Baseline: Hypothesis and Structure (Part 1)</a> by Brandon Lyons</p><p>Baselining is an overused term in this field because, at least in my experience, it&#8217;s a hand-wavy marketing term. You&#8217;ll read about a product that&#8217;ll perform baselines of your behavior and environment, and it&#8217;ll alert you if it detects something abnormal or outside that baseline. In practice, this works, but the opaqueness of some of these methods makes it hard to understand how it happens.</p><p>This is why posts like Lyons help cut through the opaqueness and show the receipts of how to do this in practice. And to be honest, it&#8217;s nothing groundbreaking, only in the sense that the concepts Lyons proposes here are part of entry-level statistics literacy. Which is why I&#8217;m pretty <a href="https://www.detectionengineering.net/p/detection-engineering-field-manual">opinionated</a> on the <em>engineer</em> of detection engineer. Don&#8217;t get it twisted: although the concepts in this post are entry-level statistics, understanding the application requires deep security expertise.</p><p>Lyons lays out a 7-step, repeatable process to establish a detection baseline, quoted here:</p><blockquote><ul><li><p><em><strong>Backtesting of rule logic:</strong> Validate your detection against historical data before deploying</em></p></li><li><p><em><strong>Codified thought process:</strong> Document why you chose specific thresholds and methods</em></p></li><li><p><em><strong>Historical context:</strong> Capture what your environment looked like when the baseline was created</em></p></li><li><p><em><strong>Reproducible process:</strong> Enable re-running when tuning or validating detection logic</em></p></li><li><p><em><strong>Foundation for the ADS:</strong> Feed directly into your <a href="https://blog.palantir.com/alerting-and-detection-strategy-framework-52dc33722df2">Alerting Detection Strategy documentation</a></em></p></li><li><p><em><strong>Cross-team collaboration fuel:</strong> Surface insecure patterns and workflows with data-backed evidence</em></p></li><li><p><em><strong>Threat hunting runway:</strong> When alert precision isn&#8217;t achievable, convert the baseline into a scheduled hunt</em></p></li></ul></blockquote><p>This process succinctly captures a well-thought-out detection process. Without <em>data</em>, how can anyone possibly deploy detections that will fire? Without <em>context around that data</em>, how can anyone possibly <em>believe</em> the rules that are firing outside of the baseline?</p><p>They step through the 7 steps here using a CloudTrail API example. Basically, Lyons tries to map out what anomalous behavior looks like for CloudTrail access across an environment. The statistics section focuses on a modified <a href="https://en.wikipedia.org/wiki/Standard_score">Z-Score</a>. Here&#8217;s the rundown:</p><p>Security metrics (API calls per day, login attempts per hour, file accesses) approximate a normal distribution (a bell curve), especially when aggregated over time. This means that:</p><ul><li><p>Most values cluster around the median (middle value)</p></li><li><p>Extreme values become increasingly rare as you move away from the center</p></li><li><p>The distribution is symmetric</p></li></ul><p>To establish a baseline, Lyons collects historical data, such as 30 days of activity, and computes two key statistics:</p><ul><li><p>Median - the middle value</p></li><li><p>MAD (Median Absolute Deviation) - measures spread around the median</p></li></ul><p>When a new value enters your queue, you compute the Modified Z-score, which is the distance-via-standard-deviation of that value from the median. Modified Z-score is really good at capturing <strong>outliers</strong>, versus the regular Z-score, which focuses on standard deviations from the mean, and can be sensitive to outliers.</p><p>An outlier can be, according to Lyons, creating administrative credentials at 3am to an abnormal amount of S3 bucket accesses, perhaps used for exfiltration. Here&#8217;s a graphic I prompted Claude to create to drive this point home:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!45SV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!45SV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 424w, https://substackcdn.com/image/fetch/$s_!45SV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 848w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1272w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png" width="1456" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:422209,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/187464417?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!45SV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 424w, https://substackcdn.com/image/fetch/$s_!45SV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 848w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1272w, https://substackcdn.com/image/fetch/$s_!45SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4910685c-c386-460e-89f5-f9dc50cf60b9_2164x1268.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">If my stats professor put normal distribution computation problems in the context of finding russian threat actors, I probably would have aced the class</figcaption></figure></div><p></p><p>This type of rigor removes the guessing game about whether events are <em>absolute</em> <em>measurements</em>. Is 1000 API calls weird, or is 100? Is 10 pm an acceptable window for Administrator access, or is 5 pm? By looking at the standard deviations away from the median, you focus on <em>relative measurement</em>. It removes the human judgment about the absolute weirdness of an event, and whenever you remove a human from a large data problem, you get a bit closer to sanity.</p><p>Lyons created a follow-along Jupyter notebook with synthetic data to recreate the measurements in his blog. I&#8217;ll link that repository below in the Open Source section!</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://medium.com/@xcal/building-a-production-ready-snowflake-audit-log-pipeline-to-s3-6c4203dfa771">Building a Production-Ready Snowflake Audit Log Pipeline to S3</a> by xcal</p><p>Centralizing logs to your SIEM is a full-time endeavor, and requires expertise in so many areas, such as:</p><ul><li><p>Data formats of the logs you are extracting, transforming, and loading into the SIEM</p></li><li><p>Telemetry source peculiarities, such as APIs, subsystems on hosts, or weird licensing issues</p></li><li><p>Choosing a technology stack that can normalize logs and send them into the SIEM</p></li><li><p>Navigating technological barriers due to inherent design choices, especially between data lakes or SaaS products</p></li></ul><p>This is why I really enjoyed reading this post about moving audit log data from Snowflake into a SIEM. It focuses on the <em>software engineering</em> component of detection engineering, because many of the design choices made inside this post are things that you&#8217;ll hear about on a Software Engineering interview.</p><p>The first half of this blog details the design choices behind moving data from Snowflake to S3 and then to a SIEM, with clear architectural &#8220;gotchas&#8221; you need to design around. The most interesting one to me is the <em>watermark strategy</em>.</p><p>Snowflake audit logs have built-in latency. An event can occur at 12:00, but the audit log does not appear until 12:03. You use a watermark to pull the oldest events up to the last event you saw. For example, a watermark of 12:00 means you processed events up to 11:59. This watermark doesn&#8217;t work if you focus only on the timestamp generated, so you try to use it to focus on what you&#8217;ve observed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rAB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rAB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 424w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 848w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rAB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png" width="1400" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rAB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 424w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 848w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!rAB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8646045-b023-4ece-aed9-f8fc129053fe_1400x1008.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the purple example, 3 export runs for logs came in, and the watermark is updated based on the export time. When the &#8220;late arrival&#8221; log comes in, the watermark is later than the data's arrival time, so the log is lost forever. In the second yellow example, this is fixed by looking at the maximum observed time in the logs, not at the time the export is run.</p><p>What&#8217;s beautiful about this blog, too, is how it sets up a &#8220;configuration-as-data&#8221; design pattern. They use a statically stored procedure for the export logic and a table that maps the target View, such as SESSION or LOGIN, to the timestamp used to perform the watermark.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h2Gv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h2Gv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 424w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 848w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 1272w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h2Gv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1347036,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/187464417?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h2Gv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 424w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 848w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 1272w, https://substackcdn.com/image/fetch/$s_!h2Gv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04591912-3882-4f0d-a7ae-a44bf41f202e_3680x1472.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This design choice makes it easy to add more views, <code>VIEW_NAME</code>, specify a target timestamp, <code>TS_COLUMN_NAME</code>, then store the watermark in <code>LAST_TS</code>. A singular <code>INSERT</code> into the <code>EXPORT_WATERMARK</code> table adds additional Audit logs views to export, without changing the code.</p><div><hr></div><p><a href="https://detecteng.com/detection-rule-fragility-design-pitfalls-every-detection-engineer-must-know-56722d0c6964">Detection Rule Fragility: Design Pitfalls Every Detection Engineer Must Know</a> by SOCLabs</p><p>Detection rule fragility occurs when your rules become too precise for a single detection scenario and miss variants that achieve the same outcome. In this post, SOCLabs details several &#8220;gotcha&#8221; scenarios on the command line where classic detection on strings can be circumvented by operating-system-level trickery. </p><p>My favorite examples they list involve URL detection with cURL. There&#8217;s something about the concept of URL parsing that is so fascinating on the operating system level, because it&#8217;s a little known attack path that can have some hilarious results. For example, if you want some light reading, check out <a href="https://datatracker.ietf.org/doc/html/rfc3986">RFC3986 - Uniform Resource Identifier (URI): Generic Syntax</a>. </p><p>Let&#8217;s say you write a rule to detect a local IP address, such as <code>http://192.168.x.x</code> Your operating system and browser parses it, and can navigate to it, so you write a rule to detect local subnet usage in cURL. But you can also write http://192.168. as hex, http://0xC0.0xA, or even octal, <code>http://0300.0250</code>. So, did you write a rule for those? :) </p><div><hr></div><p><a href="https://dispatch.thorcollective.com/p/how-i-use-llms-for-security-work">How I Use LLMs for Security Work</a> by Josh Rickard</p><p>This is a cool, battle-tested approach by Rickard for prompting an LLM to do security work. I think people can become overwhelmed by what to prompt an LLM, because they are generally really good at taking vanilla prompt sessions and running with whatever work you assign them. But, as your work gets more complex, there are some nifty strategies you can use, and Rickard lays out, to make the best use of what they have to offer.</p><p>Giving context is probably the biggest takeaway here, so Rickard describes the concept of role-stacking, explains your technology stack, clarifies the current understanding of the ask, and gives it time to execute the ask.</p><div><hr></div><p><a href="https://medium.com/@danielsantiago10/what-ai-really-looks-like-inside-the-soc-notes-from-a-fireside-chat-78920e7be451">What AI Really Looks Like Inside the SOC: Notes from a Fireside Chat</a> by Daniel Santiago</p><p>In this post, Santiago shares his notes around a SOC fireside chat they attended during a Simply Cyber event. The cool part of his synopsis was seeing the &#8220;ground reality&#8221; of AI working and not working in a SOC environment. Most of the insights aren&#8217;t surprising to me, but it&#8217;s good to hear it validate some of our feelings. For example, Santiago points out how these agents <em>raise the baseline</em> for analysts, rather than replace them.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://cloud.google.com/blog/topics/threat-intelligence/threats-to-defense-industrial-base">Beyond the Battlefield: Threats to the Defense Industrial Base</a> by Google Threat Intelligence Group (GTIG)</p><p>The GTIG group published a large survey of threats they are tracking against Defense firms and organizations, such as contractors, critical infrastructure and government entities. They have four large takeaways and specify which threat actor groups are part of these takeaways:</p><ul><li><p>Targeting of critical infrastructure by Russian-nexus threat actor groups to introduce physical and security effects</p></li><li><p>Hiring of fake IT Workers and DPRK&#8217;s focus on espionage using IT workers and malware campaigns</p></li><li><p>China-nexus threat actors representing the largest campaigns targeting these sectors by volume</p></li><li><p>An uptick of data leak sites and extortion groups against manufacturing firms that may supply the defense industrial base</p></li></ul><div><hr></div><p><a href="https://www.ontinue.com/resource/voidlink-dissecting-an-ai-generated-c2-implant/">VoidLink: Dissecting an AI-Generated C2 Implant</a> by Rhys Downing</p><p>VoidLink is a post-exploitation and implant framework that focuses on cloud-native infrastructure. It was in the headlines around a month ago, and the main headline was that it was likely LLM-generated. Downing pulled apart the payloads and tried to confirm this finding, so it&#8217;s nice to see proof rather than believing the hype. The fun part is that within the binary, several clues suggested it was LLM-generated, primarily in the code comments. </p><p>According to Downing, and I tend to agree here, adding comments to your malware seems like a rookie move because you want operational security and anti-research capabilities, so this likely suggests it&#8217;s LLM-generated and the operators were careless.</p><div><hr></div><p><a href="https://www.microsoft.com/en-us/security/blog/2026/02/05/clickfix-variant-crashfix-deploying-python-rat-trojan/">New Clickfix variant &#8216;CrashFix&#8217; deploying Python Remote Access Trojan</a> by Microsoft Defender Security Research Team</p><p>Microsoft Security Research uncovered a new style of ClickFix social engineering techniques, dubbed CrashFix. When a victim is funneled to the malicious site, they are tricked to thinking their computer is crashing, and are directed to run the malicious payload. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uRiI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uRiI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 424w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 848w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 1272w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uRiI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp" width="377" height="612.0390763765541" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:914,&quot;width&quot;:563,&quot;resizeWidth&quot;:377,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uRiI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 424w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 848w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 1272w, https://substackcdn.com/image/fetch/$s_!uRiI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746131a-ffec-49e1-9f9c-85cbe6f274b5_563x914.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">this screams the age-old Runescape scam of &#8220;LET ME HOLD YOUR GOLD FOR YOU REAL QUICK&#8221;</figcaption></figure></div><p>The rest of the campaign is well-researched, but nothing particularly different from other ClickFix and infostealer campaigns. I imagine we&#8217;ll continue to see these social engineering threats evolve until we blow up command-line access for people and move to something else. Perhaps Claude Cowork social engineering?</p><div><hr></div><p><a href="https://www.sophos.com/en-us/blog/malicious-use-of-virtual-machine-infrastructure">Malicious use of virtual machine infrastructure</a> by Sophos Counter Threat Unit Research Team</p><p>This piece by the Sophos Threat Research Team began with a security incident in which they uncovered attacker infrastructure with unique Windows hostnames. When the team dug into these hostnames, they found they were out-of-the-box names from a legitimate IT provider, ISPSystem. At first, it seemed like a single actor was leveraging ISPSystem to quickly deploy infrastructure, but when the team pivoted to Shodan, they found several thousand instances of ISPSystem infrastructure in use across many different malware campaigns.</p><p>Windows hostnames are a cool pivot that I haven&#8217;t really seen much of in my years of threat research. This worked in Sophos&#8217; favor because it&#8217;s virtual machine software that offers some ease of use for several threat actor groups. </p><div><hr></div><p><a href="https://opensourcemalware.com/blog/clawdbot-skills-ganked-your-crypto">ClawdBot Skills Just Ganked Your Crypto</a> by Open Source Malware</p><p>This ClawdBot malware post is a little different from the VirusTotal one I posted last week, mostly because it shows some of the conversations to the creator of ClawdBot on X on removing them. Hint: it doesn&#8217;t look good, and you should avoid using these skills registries until they get much better security and governance practices in place. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nlv6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nlv6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 424w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 848w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nlv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png" width="493" height="1031.5637707948244" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1132,&quot;width&quot;:541,&quot;resizeWidth&quot;:493,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Peter Steinberger admits he can't secure ClawHub&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Peter Steinberger admits he can't secure ClawHub" title="Peter Steinberger admits he can't secure ClawHub" srcset="https://substackcdn.com/image/fetch/$s_!nlv6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 424w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 848w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!nlv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732f31f1-e951-4ee2-803f-620a25678c4a_541x1132.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">we need to deploy an army of OpenClaw agents to battle OpenClaw agents that are malicious or zombies</figcaption></figure></div><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/Btlyons1/Detection-Engineering-Baseline">Btlyons1/Detection-Engineering-Baseline</a></p><p>Link to Brandon Lyon&#8217;s modified Z-score lab listed above in the Gem. Contains a Jupyter notebook to help readers follow along, as well as loads of synthetic data to try out the detections. </p><div><hr></div><p><a href="https://github.com/moltenbit/NotepadPlusPlus-Attack-Triage">moltenbit/NotepadPlusPlus-Attack-Triage</a></p><p>PowerShell cmdlet to test if you ran a compromised version of NotepadPlusPlus from their incident announcement last week. It checks known IOCs, so it&#8217;s not a guarantee that they are still relevant or that a clean run means you weren&#8217;t compromised.</p><div><hr></div><p><a href="https://github.com/S1lkys/PhantomFS">S1lkys/PhantomFS</a></p><p>This is a clever technique that abuses <a href="https://learn.microsoft.com/en-us/windows/win32/projfs/projected-file-system">Windows ProjFS</a>. ProjFS allows processes to project filesystems based on several attributes, so it&#8217;s used for things like OneDrive where you connect out to a drive hosted on a cloud provider. S1lkys built this in a way that it&#8217;ll project an encrypted payload, like Mimikatz, if it detects a source process coming from the command line versus EDR tools.</p><div><hr></div><p><a href="https://github.com/wardgate/wardgate">wardgate/wardgate</a></p><p>Wardgate is an Agentic proxy that stores secrets and API keys on your agent&#8217;s behalf. The idea here is that the Agent is aware it has API access to some external service, you have it use Wardgate, and Wardgate will serve as the API proxy. This is especially helpful if you are afraid of attacks on Agents that steal local or cached credentials. </p><div><hr></div><p><a href="https://github.com/praetorian-inc/augustus">praetorian-inc/augustus</a></p><p>August is an LLM penetration testing harness that integrates with dozens of LLMs. It has hundreds of attacks in 47 attack categories that you can let loose on models you are using from foundational labs, or some that you are training on top of the foundational models.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #144 - Pyramid of Permanence and 🦞OpenClaw 🦞 Security Dumpster Fires]]></title><description><![CDATA[Lobster never tasted so good]]></description><link>https://www.detectionengineering.net/p/dew-144-pyramid-of-permanence-and</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-144-pyramid-of-permanence-and</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 04 Feb 2026 13:03:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vnCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #144 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I&#8217;m in beautiful New York City this week, and finally made the move to get a hotel away from Times Square. Best decision ever, even if you are in Manhattan, anywhere is quieter than Times Square</p></li><li><p>I got OpenClaw up and running, and made a Moltbook account with it. This issue is also heavy on OpenClaw security because it&#8217;s a dumpster fire</p></li><li><p>I flew to my hometown and it was colder than New England and New York. The jet bridge at our arrival gate was <em>frozen </em>to the ground, and they spent 30 mins trying to get it moving. We eventually moved to a different jet bridge</p></li></ul><h3><strong>Sponsor: Adaptive Security</strong></h3><blockquote><h3><strong>Stop Deepfake Phishing Before It Tricks Your Team</strong></h3><p>Today&#8217;s phishing attacks involve AI voices, videos, and deepfakes of executives.</p><p>Adaptive is the security awareness platform built to stop AI-powered social engineering.</p><p>Protect your team with:</p><ul><li><p>AI-driven risk scoring that reveals what attackers can learn from public data</p></li><li><p>Deepfake attack simulations featuring your executives</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.adaptivesecurity.com/demo/security-awareness-training?utm_source=sp_email&amp;utm_medium=other&amp;utm_campaign=2026_02_email_newsletter_detection_engineering&amp;utm_id=701Rd00000bOBReIAO&quot;,&quot;text&quot;:&quot;Take a Free Self-Guided Tour&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.adaptivesecurity.com/demo/security-awareness-training?utm_source=sp_email&amp;utm_medium=other&amp;utm_campaign=2026_02_email_newsletter_detection_engineering&amp;utm_id=701Rd00000bOBReIAO"><span>Take a Free Self-Guided Tour</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://medium.com/@vanvleet/ttpis-extending-the-classic-model-058c572b76f3">TTPI&#8217;s: Extending the Classic Model</a> by Andrew VanVleet</p><p>Tactics, Techniques &amp; Procedures (TTPs) is a table-stakes term in our industry. It binds our understanding of attacker behavior into a common lexicon. Within this lexicon, MITRE ATT&amp;CK reigns supreme, and they have some generally agreed-upon definitions within their <a href="https://attack.mitre.org/resources/faq/">ATT&amp;CK FAQ</a>. Basically, in order to understand MITRE ATT&amp;CK, you have to understand their nomenclature of TTPs, where:</p><ul><li><p>Tactics describe an adversarial objective, such as initial access</p></li><li><p>Techniques describe how an attacker can execute some operation to achieve that objective</p></li><li><p>Procedures describe the implementation details of a technique in a given environment</p></li></ul><p>In this post, VanVleet challenges this model because the specific details of how an attack is carried out at the Procedure level can sometimes be vague. I think this is by design on MITRE&#8217;s part, because the procedure to achieve it can differ depending on the environmental context I mentioned earlier. He makes the analogy that Procedures are like a cake, not necessarily a recipe. He proposes the concept of <em>Instance,</em> which is the recipe itself, to achieve that procedure.</p><p>ATT&amp;CK does get close to this via Detection Strategies. As an example, VanVleet looks at <a href="https://attack.mitre.org/techniques/T1070/001/">T1070.001</a>, Indicator Removal: Clear Windows Event Logs. The MITRE page includes a description of how this can be achieved, but it seems high-level enough that some more detail on the recipe would be helpful. The <a href="https://attack.mitre.org/detectionstrategies/DET0532/">detection strategy</a> can provide more clues from an event-ID perspective, but without the technical implementation, it may be hard to recreate and test. Here&#8217;s his idea of what an <em>Instance</em> section could look like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zwOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zwOR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 424w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 848w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png" width="1456" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:378216,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/186803888?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zwOR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 424w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 848w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!zwOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0058f6e-9bad-45c6-b763-8a07c0f1fcad_3680x1072.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This could be helpful for detection engineers who want to recreate the attack in their own environment to test their telemetry generation and detection rules.</p><p>I&#8217;ve always had a hard time with the Pyramid of Pain for this exact reason. The &#8220;TTPs&#8221; part at the top of the Pyramid can encapsulate <em>so much work</em>, without any ability to reverse-engineer how the attack is captured. In fact, I&#8217;ve always thought TTPs/Tools should be combined, because almost every Procedure contains some level of tooling to capture the attack.</p><p>In the spirit of alliteration, and perhaps more as a thought exercise, he proposes the &#8220;Pyramid of Permanence&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EsQt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EsQt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 424w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 848w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1272w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png" width="575" height="456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:456,&quot;width&quot;:575,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EsQt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 424w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 848w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1272w, https://substackcdn.com/image/fetch/$s_!EsQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0f5dda-0ede-409d-9c3e-f2b948f8a570_575x456.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Basically, Procedures are what we want to capture, and everything below the tip of the Pyramid are Instances that supports the procedure. It&#8217;s an interesting thought experiment, and as long as it serves as a lexicon to drive the conversation on better modeling, I&#8217;m all for it.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://computergoblin.com/blog/the-story-of-a-5-minute-endpoint/">The story of the 5-minute-long endpoint</a> by Le&#243;nidas Neftal&#237; Gonz&#225;lez Campos</p><p>This is more software engineering-related, but I sometimes come across blogs where I can see how security analysts and software engineers alike can commiserate working in a bureaucracy. Campos is a software engineer working on a customer appointment management product, and a JIRA ticket came in reporting that a simple task of uploading customers started crashing on &#8220;large&#8221; uploads. They took the ticket, found a terrible pattern within their software base that tried to upload one user at a time, and deployed a fix in record time.</p><p>This is a story of how many bad small decisions and only shipping new features can lead to a monstrosity of an issue. My takeaway here for all my security readers is to challenge governance around your security operations, because optimizing decisions around a cool technology or an isolated problem can lead to a lot of heartache and burnout.</p><div><hr></div><p><a href="https://gobrane.com/wp-content/uploads/2026/02/main.pdf">OpenClaw Observatory Report #1: Adversarial Agent Interaction &amp; Defense Protocols</a> by Udit Raj Akhouri</p><p><a href="https://openclaw.ai/">OpenClaw</a> is the new hotness right now, and as expected, security researchers are running to poke holes in it, both from an architectural security perspective and, in this case, security agent efficacy. I thought this was a unique pentesting report, where Akhouri set up a red team/blue team exercise to test the blue team&#8217;s ability to prevent abuse of the Blue team&#8217;s <a href="https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/">Lethal Trifecta</a> trust relationships. In the first scenario, the red team agent sends a &#8220;help&#8221; threat detection template to set up a CI/CD project for detection testing. Within that CI/CD pipeline, a malicious cURL command and a bash script would download a payload and infect the blue team. In the second scenario, they tried something similar with a JSON template injection payload.</p><p>Openclaw caught the first attack and, according to Akhouri, is awaiting an analysis from the blue team agent on the second attack. I&#8217;m not too surprised that the blue team agent caught these types of attacks, but it goes to show how important it is to have emerging technologies and agent orchestration platforms undergo security testing to see how well they handle these scenarios.</p><div><hr></div><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8aed50eca18d8d2ca55454d239&quot;,&quot;title&quot;:&quot;Compass' Ryan Glynn on Why LLMs Shouldn't Make Security Decisions &#8212; But Should Power Them&quot;,&quot;subtitle&quot;:&quot;Panther Labs&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/6vtYQZvB0pEWVuRtYUksKg&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/6vtYQZvB0pEWVuRtYUksKg" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>Work travel means more podcasts, and it was great to dive back in with Jack Naglieri&#8217;s detection engineering-focused podcast, Detection at Scale. In this episode, Jack interviews Ryan Glynn from Compass and picks his brain on the use of LLMs in his day-to-day work as a staff security engineer.</p><p>I appreciated the grounding of the LLM hype Glynn makes and what works and doesn&#8217;t work. At the beginning of the episode, he makes a great point about using LLMs to make binary decisions as an investigation technique. Basically, it&#8217;s much easier to look at a yes versus a no for an alert investigation and challenge its assumptions than to try to solve a lot of components at once.</p><p>He also shared his experience evaluating AI SOC vendors and how hard it was to understand their efficacy. For example, when an AI SOC agent can say whether an alert is being or malicious, it&#8217;ll at times make up steps along the way that never happened.</p><p>Glynns phishing detection setup was super interesting. He compared and contrasted the agony of training ML models for phishing before the advent of LLMs, where you&#8217;d need to set up various binary classification and entity extraction capabilities to achieve that binary feature. Now, you can still arrive at that binary feature and use more traditional models, but you use the LLM to generate the flag. It uses the LLM as a feature-extraction tool rather than a hegemonic security tool.</p><div><hr></div><p><strong>&#128074; Quick Hits</strong></p><p><a href="https://medium.com/@rootxover/precision-recall-in-detection-engineering-0cf31350e421">Precision &amp; Recall in Detection Engineering</a> by rootxover</p><p>It&#8217;s cool to see how others interpret the concepts of precision &amp; recall within their own detection writing. In this post, RootXover covers the concepts in the context of detection engineering and provides an example of how to compute them in a phishing alert scenario. I liked their graph of the four &#8220;zones&#8221; of labels for detections:</p><ul><li><p>Alert Storm: low precision, high recall</p></li><li><p>Detection Purgatory: low precision, low recall</p></li><li><p>Quiet but Risky: high precision, low recall</p></li><li><p>Dream Zone: high precision, high recall</p></li></ul><p>I will say, it&#8217;s rare that I&#8217;ve ever seen the &#8220;Dream Zone&#8221; in my career. There&#8217;s a natural relationship between precision and recall where, in general, as one increases, the other decreases.</p><div><hr></div><p><a href="https://blog.jimmyvo.com/posts/agentic-task-management/">Task Management for Agentic Coding</a> by Jimmy Vo</p><p>Friend of the newsletter, Jimmy Vo, dives into Anthropic&#8217;s task management framework, to-dos, but now called &#8220;tasks&#8221;. This isn&#8217;t a cybersecurity post, but I think the content is important if you are starting to leverage Claude Code to manage task and todo lists. The obvious example of using tasks is alert triage, but I think it&#8217;s important for any security person to have a system for managing how they do work. Jimmy uses gardening tasks as an example, but it was cool to see how Claude can create the tasks, dependency graphs, and build a plan to achieve whatever task he issues.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8ac82990ba137e79cd7abbd728&quot;,&quot;title&quot;:&quot;A destructive cyberattack in Poland raises NATO 'red-line' questions&quot;,&quot;subtitle&quot;:&quot;Security Conversations&quot;,&quot;description&quot;:&quot;Episode&quot;,&quot;url&quot;:&quot;https://open.spotify.com/episode/3v9Lsm2iSy1v856vkymAyo&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/episode/3v9Lsm2iSy1v856vkymAyo" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><p>I&#8217;m back on my Three Buddy Problem listening sprees, but this one was SO good to listen to just for the commentary on the wiper attack against Poland. The gang dives deep into a <a href="https://cert.pl/en/posts/2026/01/incident-report-energy-sector-2025/">Polish CERT Report</a> where a Russian APT targeted 30 wind and solar farms, as well as a power plant, and issued a wiper attack to essentially shut them down. Of note, it&#8217;s the dead of winter in December in Poland, and this heat and power outage threatened nearly half a million people.</p><p>The key argument here is how the reliance on Fortinet leads to these attacks. These appliances are notoriously bad at preventing exploitation due to poor coding practices. But if you want additional security support, you have to pay for <a href="https://www.fortinet.com/support">services</a>, since they don&#8217;t allow any forensic access to the devices.</p><div><hr></div><p><a href="https://notepad-plus-plus.org/news/hijacked-incident-info-update/">Notepad++ Hijacked by State-Sponsored Hackers</a> by Notepad++</p><p>Notepad++&#8217;s update servers were compromised from June 2025 to September 2025, according to Notepad++. Chinese-nexus actors allegedly compromised Notepad++&#8217;s hosting provider, leading them to redirect update traffic for downstream compromise. The specific language that the blog author used was that the &#8220;Shared Hosting Server&#8221; was compromised. It&#8217;s hard to say what the difference is between &#8220;shared&#8221; and their &#8220;hosting server&#8221;. </p><p>Did the APT find a way onto the shared server, escalate privileges, and laterally move to Notepad++? Or is this just semantics about using a VPS, and was Notepad++ specifically targeted? I&#8217;d be much more interested in the technical details of the former.</p><div><hr></div><p><a href="https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network">No Place Like Home Network: Disrupting the World's Largest Residential Proxy Network</a> by Google Threat Intelligence Group (GTIG)</p><p>GTIG disrupted and tookdown a massive residential proxy network, IPIDEA. Residential proxy networks are akin to what Google calls Operational Relay Boxes (ORBs), but with a specific commercial application: you can &#8220;rent&#8221; exit points from unaware victims. </p><p>These networks operationalize their proxies by providing SDKs to mobile app providers that enroll devices into their networks. The mobile apps essentially get a cut of their profits, and IPIDEA sells access to these mobile phones for threat actors to abuse. This is especially helpful if you want to perform credential-stuffing attacks, ticket-scalping campaigns, or something more malicious, such as hiding C2 servers.</p><p>The report contains all kinds of technical details in how IPIDEA orchestrated their network of residential proxies. It operates like a command and control network, which is what makes it hard for me to understand any type of legitimate use of these services.</p><div><hr></div><p><a href="https://censys.com/blog/openclaw-in-the-wild-mapping-the-public-exposure-of-a-viral-ai-assistant">OpenClaw in the Wild: Mapping the Public Exposure of a Viral AI Assistant</a> by Silas Cutler</p><p>Threat Researcher G.O.A.T. (and my undergrad classmate!) Silas Cutler released a post in which he scanned and found <a href="https://openclaw.ai/">OpenClaw</a> instances exposed on the Internet. If you haven&#8217;t heard of OpenClaw, it&#8217;s an autonomous AI agent that took the Internet by storm due to its ability to connect to apps you own, such as your Brave Browser or 1Password, to do work on your behalf. It became especially popular with the advent of <a href="https://www.moltbook.com/">Moltbook</a>, where these agents were given the ability to post on a Reddit-like site without any interaction from the owner.</p><p>When you start OpenClaw, you can use the CLI or a web server. So when searching for its default port on Censys, Silas found over 21,000 instances of OpenClaw exposed on the Internet. Most of these should be secured through a secret password or token, but it&#8217;s still worrying in the sense that due to its popularity, people will try to find ways to exploit these instances. And if they get on these instances, they&#8217;ll use the interface to abuse the integrations and extract everything, including passwords and email contents.</p><div><hr></div><p><a href="https://blog.virustotal.com/2026/02/from-automation-to-infection-how.html">From Automation to Infection: How OpenClaw AI Agent Skills Are Being Weaponized</a> by Bernardo Quintero</p><p>OpenClaw becomes more terrifying when you realize how extendable it is. In the agentic world, popularized by Claude Code, skills provide prompts and instructions to an agent, making it more specialized for running tasks. For example, if you want your agent to join Moltbook, you download a skill that teaches OpenClaw how to use the site, including using its API to perform heartbeat checks.</p><p>Several Skills registries emerged after OpenClaw&#8217;s popularity exploded, and VirusTotal researcher Quintero found malware on many of the Skills hosted on these sites. The numbers are pretty crazy:</p><blockquote><p>At the time of writing, VirusTotal Code Insight has already analyzed more than 3,016 OpenClaw skills, and hundreds of them show malicious characteristics.</p></blockquote><p>Quintero splits &#8220;malicious characteristics&#8221; into poor security practices and vulnerabilities and straight up malware. The malware is in plain English, and reminds me of ClickFix in the sense that it&#8217;s socially engineering your OpenClaw / Claude Code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vnCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vnCd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 424w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 848w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 1272w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vnCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png" width="559" height="431.6948905109489" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4bd5226-c98a-4773-9735-2482fb021662_685x529.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:529,&quot;width&quot;:685,&quot;resizeWidth&quot;:559,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vnCd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 424w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 848w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 1272w, https://substackcdn.com/image/fetch/$s_!vnCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4bd5226-c98a-4773-9735-2482fb021662_685x529.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Click this link and run this plz</figcaption></figure></div><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/trailofbits/claude-code-devcontainer">trailofbits/claude-code-devcontainer</a></p><p>Sandbox environment for running Claude Code. You install a CLI and it boots up a container for you to run Claude in an isolated environment. It includes tooling to install remote container extensions in VSCode or Cursor, so it offers some options if you prefer an IDE over the CLI.</p><div><hr></div><p><a href="https://github.com/trailofbits/dropkit">trailofbits/dropkit</a></p><p>Dropkit lets you quickly bootstrap a secure DigitalOcean droplet. You provide dropkit a Digital Ocean API key, and it&#8217;ll create a workspace with your SSH key and an out-of-the-box Tailscale installation. It has some cool cost-saving features that allow you to hibernate droplets so you aren&#8217;t spending money when you aren&#8217;t using them.</p><div><hr></div><p><a href="https://github.com/backbay-labs/clawdstrike">backbay-labs/clawdstrike</a></p><p>Runtime security monitoring for autonomous agents, including Open Clawd, Claude Code, LangChain and more. It exposes a set of tools that enforce policy boundaries, such as preventing network calls, local filesystem reads and writes, or shell commands.</p><p>You can configure it to allow or block certain actions based on the policy you set. It comes with some out-of-the-box policies and appears to follow a pattern similar to EDRs, intercepting risky functions and performing a security check before allowing them to execute.</p><div><hr></div><p><a href="https://github.com/a2awais/Threat-Hunting/">a2awais/Threat-Hunting</a></p><p>Collection of dozens of threat hunting queries for KQL &amp; Crowdstrike. </p><div><hr></div><p><a href="https://github.com/toborrm9/malicious_extension_sentry">toborrm9/malicious_extension_sentry</a></p><p>Threat intelligence list of malicious Chrome extensions removed from the Chrome Web Store. This is especially helpful if you want to test detections in a lab environment on malicious extensions, or build out scanners in your environment to see if you can find net new ones.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #143 - Suppressing False Positives at Scale, Silencing EDRs & Detection Fidelity via Social Network Analysis]]></title><description><![CDATA[snowmageddon has hit the Northeast US]]></description><link>https://www.detectionengineering.net/p/dew-143-suppressing-false-positives</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-143-suppressing-false-positives</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 28 Jan 2026 13:04:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YrJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #143 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>New England got hit hard by a snowstorm, and my town alone recorded over 20 inches/50 cm of snow!</p></li><li><p>I got COVID for the third time in the last 6 years. It definitely was milder, but I can still feel the shortness of breath that I vividly remember from the earlier and more potent strains</p></li><li><p>If you have 30 mins, check out the blog about <a href="https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16dd04">Gas Town</a>. It&#8217;s written like someone who&#8217;s running through an Agentic fever dream, and they managed to wake up with an insane orchestration system that makes you run out of Claude credits in 3 minutes</p></li></ul><h3><strong>Sponsor: Permiso Security</strong></h3><blockquote><h3><strong>ITDR Playbook: Detect &amp; Respond to Non-Human Identity Compromise</strong></h3><p>Non-human identities are everywhere, and when they&#8217;re compromised, attackers blend in as &#8220;normal&#8221; automation. This ITDR Playbook focuses on detecting and responding to NHI compromise using operational anomalies, not login patterns. Learn how to spot exposed keys, boundary violations, privilege creep, and abnormal service behavior. Plus, get response steps that will contain risk without breaking production.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hero.permiso.io/itdr-playbook-detecting-and-responding-to-nhi-compromise/?utm_source=detection-engineering-weekly&amp;utm_medium=sponsored&amp;utm_content=newsletter&amp;utm_campaign=itdr-evergreen&quot;,&quot;text&quot;:&quot;Download The Playbook&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hero.permiso.io/itdr-playbook-detecting-and-responding-to-nhi-compromise/?utm_source=detection-engineering-weekly&amp;utm_medium=sponsored&amp;utm_content=newsletter&amp;utm_campaign=itdr-evergreen"><span>Download The Playbook</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://detecteng.com/centralized-suppression-management-for-detections-using-macros-lookups-be87ffc2f954">Centralized Suppression Management for Detections Using Macros &amp; Lookups</a> by Harrison Pomeroy</p><p><a href="https://www.detectionengineering.net/p/detection-field-manual-3-what-is">Detection rule efficacy</a> is the practice of curating rule sets that balance precision, recall, and the cost of triage. New detection engineers typically think about rules being the only place you can apply logic to help manage this balance. A more precise query that accounts for benign behaviors, given the tactic or technique, can increase the likelihood of capturing true positives. But there are other capabilities in SIEM technologies and software engineering practices that can perform filtering and suppress alerts in more dynamic, context-aware ways that align with the threat landscape or your environment.</p><p>This post by Harrison Pomeroy details the power of Splunk&#8217;s macro and lookup table functionality to perform suppression of alerts without re-deploying rules. A suppression is a concept in which detection engineers deploy a capability to dynamically mute alerts, thereby reducing the cost of both false-positive generation and the subsequent need to tune a rule on small fields. It also makes the rule more resilient because it can account for external factors related to benign behaviors, such as known service accounts, scheduled tasks, or internal tooling.</p><p>Harrison leverages Splunk&#8217;s <a href="https://help.splunk.com/en/splunk-enterprise/manage-knowledge-objects/knowledge-management-manual/9.1/search-macros/use-search-macros-in-searches">macro</a> and <a href="https://help.splunk.com/en/splunk-enterprise/manage-knowledge-objects/knowledge-management-manual/9.2/use-lookups-in-splunk-web/about-lookups">lookup table</a> features to achieve this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YrJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YrJa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 424w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 848w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png" width="489" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:489,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:232529,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185976503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YrJa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 424w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 848w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!YrJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35770382-c9df-4049-b869-d606c2c28e9a_489x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The above Mermaid diagram shows his really clever setup. When you apply macros to each of your Splunk rules, you can start bringing in logic to evaluate whether suppressions are enabled for the rule (the <code>T</code> value), and then specify a lookup table to find additional alert logic to <em>append to your original rule</em> to suppress false positives.</p><p>The above example suppresses alerting on any user called <code>svc_backup</code>. The macro executes based on the <code>T</code> value and performs a lookup in a table relevant to the <code>PShell Alert</code> rule. <code>svc_backup</code> is in the table and uses a NOT() filter to prevent an alert if <code>svc_backup</code> is present. The <em>suppressed</em> green box ensures the alert doesn&#8217;t fire, and the <code>Alert</code> red box fires because the user is <code>jsmith</code>.</p><p>This type of suppression occurs at query time, before the alert is generated. There are other suppressions you can apply before a log hits the index, or after the alert fires. This is a great topic for my <a href="https://www.detectionengineering.net/s/field-manual">Field Manual</a> series, so thank you, Harrison, for the inspiration!</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://ipurple.team/2026/01/12/edr-silencing/">EDR Silencing</a> by Pentest Laboratories</p><p>EDR Silencing has been a super interesting area of research for security operations and threat actors alike. Typically, when a threat actor lands on a victim box and sees an EDR process running, their top priority is finding a way to evade the EDR to avoid detection. They can employ several techniques, such as:</p><ul><li><p>Avoiding EDR detection rules themselves, such as abusing indirect syscalls that EDRs have not accounted for, or using living-off-the-land binaries</p></li><li><p>Obtaining privileged access and installing kernel modules that circumvent EDR hooking logic, avoiding malicious traffic generation</p></li><li><p>Uninstalling (!) the EDR</p></li></ul><p>The last bullet above is the most interesting, because it&#8217;s so simple. It makes me think of the adage &#8220;don&#8217;t let perfect be the enemy of good&#8221;. EDR Silencing follows the same process because it abuses the same simple-but-effective concept. It focuses on disrupting the network connection between the EDR cloud service and the agent. This network connection hamstrings the effectiveness of the EDR, without necessarily worrying about evasion of logic.</p><p>In this post, Pentest Laboratories provides readers with a fantastic survey of the state of the art of EDR Silencing. A huge part of this research relies on obtaining Local Administrator privileges to leverage everything from Windows Filtering Platform APIs to adding blocking entries in local DNS configuration files.</p><div><hr></div><p><a href="https://alisefer.medium.com/the-end-of-the-write-pray-era-in-siem-detection-as-code-and-purple-team-validation-83023300f5e5">The End of the &#8220;Write &amp; Pray&#8221; Era in SIEM: Detection as Code and Purple Team Validation</a> by Ali Sefer</p><p>This is a clever introduction to the concept of detection-as-code through the lens of Sefer, a SOC Manager. I enjoyed the framing around moving from the &#8220;Craftsmanship&#8221; era of rule writing to the &#8220;Engineering&#8221; era. Detection engineers, at their core, <a href="https://www.detectionengineering.net/i/166341887/how-does-one-become-a-detection-engineer">should be part security experts, data analysts, and software engineers</a>. This is especially true in Sefer&#8217;s day-to-day, where they&#8217;ve dealt with analysts who read a threat intelligence report, implement a rule in the SIEM, deploy it, and don&#8217;t perform testing.</p><p>This really is a post about detection rule governance. It&#8217;s important that we implement the boring stuff for detection rules, for the sake of managing costs. If an analyst or detection engineer deploys rules without careful validation, education, version control and testing, then operations teams run a huge risk of false positives and analyst burnout. Sefer brings the reader through an example automated test pipeline, where:</p><ul><li><p>Analysts write rules</p></li><li><p>Check the rule into version control with syntax validation and linting</p></li><li><p>Run Atomic Red Team tests to validate the telemetry matches the rule</p></li><li><p>Deploy the rule into the SIEM</p></li><li><p>Instill feedback mechanisms to tune the rule</p></li></ul><p>Sefer ends the blog with a real world example where an analyst tuned a rule and the logic failed the validation check with Atomic Red Team. The cool thing here is that it had nothing to do with the detection rule, but with the health of the system itself. Catching log source configurations and matching them with detection logic is just as useful as rule validation itself.</p><div><hr></div><p><a href="https://detecteng.com/detection-fidelity-confidence-framework-teaching-your-siem-to-score-its-own-homework-d0082ef38e5e">Detection Fidelity &amp; Confidence Framework: Teaching Your SIEM to Score Its Own Homework</a> by Hatim Bakkali</p><blockquote><p>But here&#8217;s what I&#8217;ve noticed after staring at years of notable event data: detections don&#8217;t fire in isolation. They have patterns. They have Friends. And those Friendships tell us something important about fidelity and confidence.</p></blockquote><p>This post is a deep dive into a new framework for measuring detection fidelity and confidence. <a href="https://www.detectionengineering.net/p/detection-field-manual-3-what-is">Rule efficacy</a> is like a garden; it requires constant curation and mindfulness of how you build and maintain detection rules. Bakkali&#8217;s approach is more math-heavy and academic but built from practical experience. The concept is around measuring the co-occurrence of alerts with other alerts, similar to how social networks create edges between friends and followers for suggestions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f-xX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f-xX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 424w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 848w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 1272w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f-xX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png" width="1400" height="1355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1355,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:929029,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185976503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f-xX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 424w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 848w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 1272w, https://substackcdn.com/image/fetch/$s_!f-xX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdba60594-5867-4e0c-9e35-de0e56cde024_1400x1355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The equation binds to an entity, much like <a href="https://chesterlebron.blogspot.com/2024/08/my-methodology-to-aws-detection-engineering-part-1.html">Risk-Based-Alerting</a>, and Bakkali says it should complement RBA rather than replace it. Their framework calculates two scores based on confidence and fidelity.</p><ul><li><p>Confidence: scores pairs of alerts based on how often they co-occur within a time window</p></li><li><p>Fidelity: aggregates those pair scores to a detection-level &#8220;noise accumulation&#8221; score. The lower, the better</p></li></ul><p>They provide a ton of examples and walkthroughs, along with SIEM-agnostic pseudocode, for readers to try themselves. There&#8217;s a bake-in period to measure these over time before you can start using them, but it&#8217;s a clever approach for a few reasons.</p><p>First, it&#8217;s an elegant addition to RBA because it&#8217;s still technically a GroupBy to an entity, but it starts looking at pairs of alerts rather than aggregating. This leads to my second point: any type of expert model, such as applying arbitrary scoring mechanisms to alerts, runs the risk of poor model validation. You need to redeploy these models every time you update your scores, which results in profound changes and creates more work. That risk exists here, but it tends to preserve relationships of the pairings, making it easier to understand changes.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/ide-shepherd-release-article/">Introducing IDE-SHEPHERD: Your shield against threat actors lurking in your IDE</a> by Tesnim Hamdouni</p><p>~ Note: I work at Datadog, and Tesnim is my colleague ~ I&#8217;m super excited to post this because it was Tesnim&#8217;s internship project, and she now works at Datadog and is releasing it to the world! IDE-SHEPHERD is an IDE extension that helps prevent malicious extension installation, an emerging attack vector over the last year. The cool part of this extension is that it generates telemetry from the extension manifest for reporting and threat hunting, in addition to runtime monitoring.</p><p>It has runtime and heuristic detection capabilities. At runtime, it&#8217;ll shim Node functions that attempt to spawn processes, detect and block malicious commands, and perform network monitoring. The heuristic functionality analyzes metadata related to extensions and checks for poor developer practices, metadata anomalies, and hidden commands.</p><div><hr></div><p><a href="https://blog.dcg420.org/from-static-template-to-dynamic-forge-bringing-the-dcg420-standard-to-life-for-the-detectioniers-db4298e6bf22">From Static Template to Dynamic Forge: Bringing the DCG420 Standard to Life for the Detectioniers</a> by DCG420</p><p>DCG420, who wrote and released the <a href="https://github.com/dcg420/detection-tmpl">Detection Engineering Template</a>, has just launched a platform that serves as a workbench for detection engineers. It has an AI backend to help visualize attack flows, measure coverage and write rules. The intel analyst within me got really excited reading about their Analysis of Competing Hypothesis feature, which combines their tool and LLMs to generate competing hypotheses against your detection rule candidate. This helps check for bias and identify detection engineers who may be stuck in a rabbit hole, trying to get a rule out without considering other options.</p><div><hr></div><p><a href="https://amitaico.substack.com/p/the-indirect-realism-of-threat-research">The Indirect Realism of Threat Research</a> by Amitai Cohen</p><p>This is an excellent commentary by Amitai on information asymmetry in threat research. We tend to (rightly) dunk on large cybersecurity companies as they create, update and hype their lexicon of APT and cybercriminal names. But, the <em>very good ones</em> do this for a reason: they have a lens in which they see threat activity, and they group it within their unique lens because no one else has the visibility that they do.</p><p>This bias is ever-present in security operations and detection engineering, where, according to Cohen, we become convinced that what we can measure can capture what threat actors generate. By making sure we check this bias, understand that information asymmetry exists, and obsessing over what you are missing, you can feel more confident that you are addressing gaps on an ongoing basis.</p><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://krebsonsecurity.com/2026/01/who-operates-the-badbox-2-0-botnet/">Who Operates the Badbox 2.0 Botnet?</a> by Brian Krebs</p><p>In the latest saga of the Kimwolf botnet, it looks like the botnet's operators broke into a rival Chinese-nexus family dubbed Badbox 2.0. The admins of Kimwolf, &#8220;Dort&#8221; and &#8220;Snow&#8221;, managed to post a screenshot of the crew taking over a control panel that manages and deploys Badbox. The evolution of these botnets has recently moved away from traditional DDoS-style attacks to operating and selling access to residential proxy networks.</p><p>Krebs managed to pull an email address from the &#8220;proof&#8221; screenshot and worked his way into finding an identity. Email re-use and operational security still seem to be issues for threat actors, and it shows how one screenshot can pull the attribution thread all the way to a full identity.</p><div><hr></div><p><a href="https://www.splunk.com/en_us/blog/security/common-ttps-rats-malware-analysis.html">A Shared Arsenal: Identifying Common TTPs Across RATs</a> by Nasreddine Bencherchali &amp; Teoderick Contreras</p><p>This research by Splunk&#8217;s threat research team is a survey of 18 infostealer malware families mapped to MITRE ATT&amp;CK TTPs. The emergence of these infostealer families tends to revolve around criminal groups splitting, source code getting sold and leaked, and conversations with each other on criminal forums. </p><p>The interesting finding here is how 6 out of the 18 malware strains leverage legitimate services for their command &amp; control infrastructure. So it&#8217;s not the worst detection opportunity to alert on anomalous traffic heading to places like GitHub, social networks, Discord, or Steam. </p><div><hr></div><p><a href="https://openssl-library.org/news/vulnerabilities-3.6/index.html">OpenSSL 3.6 Security Release with Vulnerabilities: 10 Vulnerabilities</a> by OpenSSL</p><p>OpenSSL had a fairly large security release with around 10 vulnerabilities disclosed. One vulnerability who had a &#8220;High&#8221; severity rating, <a href="https://openssl-library.org/news/vulnerabilities-3.6/index.html#CVE-2025-15467">CVE-2025-15467</a>, caught my eye because the title started with a stack-based buffer overflow. These theoretically can lead to remote code execution, and since OpenSSL is a security technology that underpins the Internet, I thought it would be worth to call this out. </p><div><hr></div><p><a href="https://grahamhelton.com/blog/nodes-proxy-rce">Kubernetes Remote Code Execution Via Nodes/Proxy GET Permission</a> by Graham Helton</p><p>This is a super interesting vulnerability writeup where the (mis)configuration was known for a long time, but a new nuance in the configuration made it much worse. Basically, Helton found a valid Kubernetes configuration that allowed authenticated attackers to access an API that serves as a &#8220;catch-all&#8221; and proxies potentially dangerous requests to the internal control-plane API for Kubernetes, called the Kubelet API.</p><p>By using a WebSocket connection to <code>nodes/proxy</code> with the GET verb, Kubernetes proxies the request to the Kubelet API, and it doesn&#8217;t respect its internal configuration that only allows CREATE verbs for the exec command, enabling remote code execution. Helton discovered 69 Helm Charts of well-known vendors using this configuration. The best part? There is no audit logging you can use to detect this!</p><p>Here&#8217;s the relevant snippet from Helton&#8217;s blog:</p><blockquote><p>This should mean consistent behavior of a <code>POST</code> request mapping to the RBAC <code>CREATE</code> verb, and <code>GET</code> requests mapping to the RBAC <code>GET</code> verb. However, when the Kubelet&#8217;s <code>/exec</code> endpoint is accessed via a non-HTTP communication protocol such as WebSockets (which, <a href="https://datatracker.ietf.org/doc/html/rfc6455#section-1.2">per the RFC</a>, requires an HTTP <code>GET</code> during the initial handshake), <strong>the Kubelet makes authorization decisions based on that initial </strong><code>GET</code><strong>, not the command execution operation that follow</strong>. The result is <code>nodes/proxy GET</code> incorrectly permits command execution that should require <code>nodes/proxy CREATE</code>.</p></blockquote><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/DataDog/IDE-Shepherd-extension">DataDog/IDE-Shepherd-extension</a></p><p>IDE extension from Tesnim&#8217;s research listed above in State of the Art.</p><div><hr></div><p><a href="https://github.com/zencefilefendi/satguard">zencefilefendi/satguard</a></p><p>Satguard is a Starlink telemetry detection &amp; analysis framework to detect and visualize satellite attacks. You specify Starlink debug logs, and it&#8217;ll use a combination of static rules and anomaly detection to detect spoofing and jamming attacks and measure health of a signal.</p><div><hr></div><p><a href="https://github.com/FinkTech/mcp-security">FinkTech/mcp-security</a></p><p>Security rules and best practices for defending MCP servers. It&#8217;s structured super well, and has markdown reports with detailed examples, compliance mappings, example vulnerable and secure code and references. Would be great to feed this into an LLM and check for vulnerabilities as people push code to an MCP server repository.</p><div><hr></div><p><a href="https://github.com/thpeng/lokis-mcp">thpeng/lokis-mcp</a></p><p>PoC MCP server that demonstrates how a malicious MCP server can hijack your local LLM CLI to perform four separate attacks:</p><ul><li><p>Tool shadowing: convince your local LLM that this is the preferred tool, and perform prompt injection to take advantage of queries and responses</p></li><li><p>Data exfiltration: hijacks a prompt and exfiltrates it over the tool for further analysis</p></li><li><p>Response injection: injects &#8220;hidden instructions&#8221; in other tool responses to manipulate behavior</p></li><li><p>Context window flooding: DDoS the context window of the prompt which can render models with smaller context windows unresponsive</p></li></ul><div><hr></div><p><a href="https://github.com/aserper/rtfd">aserper/rtfd</a></p><p>Local MCP server that exposes tools to connect to API documentation across GitHub, npm, GoDocs and several others. This is helpful to run if you want to run agents locally and you don&#8217;t want them to hallucinate while they make up strategies that doesn&#8217;t match documentation, or you want them to use the most up-to-date documentation without trying to search the Internet.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #142 - Slack's Agentic Triage Architecture, Detection <3's Data and Sigma evals]]></title><description><![CDATA[bills lose and now the team's imploding]]></description><link>https://www.detectionengineering.net/p/dew-142-slacks-agentic-triage-architecture</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-142-slacks-agentic-triage-architecture</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 21 Jan 2026 12:54:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GAj8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #142 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I&#8217;m not usually a person who does New Year&#8217;s resolutions, but I&#8217;ve committed to small changes that have already made a positive impact in my life.</p><ul><li><p>Using a notebook to take notes and to-dos at work</p></li><li><p>Meditate on Headspace for 4 days a week</p></li><li><p>Playing video games twice a week. For some reason, I&#8217;m back on Dota2 so I&#8217;m sure that&#8217;ll be helpful for my mental health</p></li></ul></li><li><p>There&#8217;s a 50/50 chance I&#8217;ll make DistrictCon this weekend :( There&#8217;s a massive snowstorm hitting Washington, D.C., and as a former Marylander, I can tell you that part of the country cannot handle snow</p></li><li><p>I&#8217;ve been messing with local MCP server development via stdio and HTTP APIs, and I&#8217;m starting to shill Claude Code to everyone I talk to. It ripped through a malware analysis at work a week or so ago, and we were able to hunt for IOCs in under 5 minutes.</p></li></ul><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://slack.engineering/streamlining-security-investigations-with-agents/">Streamlining Security Investigations with Agents</a> by Dominic Marks</p><p>In the age of AI SOCs, it&#8217;s still hard to understand where the concept of agentic triage fits into everyday operations. Products tend to present the problem set and solutions in a clean, understandable way. This is a good thing - having a product company frame the space in clear, concise benefits and downsides drives the decision by the security operations team about how much cost they incur in building or buying one.</p><p>Blogs like this are showing why our industry is awesome with transparency. Slack's security operations team published its work on building an in-house agent-based triage system. You see many of the same principles and concepts across products, but because there is no moat or trade secrets to protect, there&#8217;s a lot more to dig into.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GAj8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GAj8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 424w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 848w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 1272w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GAj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png" width="550" height="424.21016483516485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1123,&quot;width&quot;:1456,&quot;resizeWidth&quot;:550,&quot;bytes&quot;:453340,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185222408?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GAj8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 424w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 848w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 1272w, https://substackcdn.com/image/fetch/$s_!GAj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a2498a-cda1-4d0f-80fc-3678213f0536_2048x1579.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>What you see above is their approach to their agent-to-agent orchestration system. The top of the pyramid starts with a director who leverages high-cost models. Thinking models that tend to take their time and deliberate on prompts and results. This makes sense from a planning and analysis perspective.</p><p>The critic biases itself to the interrogation of individual analysis from telemetry and alerts. It doesn&#8217;t require as much model cost, but it should spend a reasonable amount of time challenging assumptions and analyzing the lower-cost model. It presents the amalgamation of data and investigative output back to the director. The Director is probably <em>thinking mode</em> models, where you spend the most money on tokens to understand whether the bottom parts of the pyramid performed their job correctly. This is the gate between a human and the system, so you want only high-quality analysis moving forward.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VJ9x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VJ9x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 424w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 848w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 1272w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VJ9x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png" width="436" height="501.2802197802198" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1674,&quot;width&quot;:1456,&quot;resizeWidth&quot;:436,&quot;bytes&quot;:300476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185222408?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VJ9x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 424w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 848w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 1272w, https://substackcdn.com/image/fetch/$s_!VJ9x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a077390-0528-4f61-8203-a9c92c2d0d4e_2202x2532.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The phase transition diagram is super interesting because it puts the above &#8220;Director Poses Question..&#8221; investigation step into practice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g2Wh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g2Wh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 424w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 848w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 1272w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g2Wh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png" width="324" height="496.884375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1963,&quot;width&quot;:1280,&quot;resizeWidth&quot;:324,&quot;bytes&quot;:203589,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185222408?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g2Wh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 424w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 848w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 1272w, https://substackcdn.com/image/fetch/$s_!g2Wh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a53e4b0-f306-4d6b-8ffa-f4b123dcc62e_1280x1963.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>According to Marks, the Director makes decisions for each part of the phase to see whether it needs to close the investigation or continue it further. The &#8220;trace&#8221; component is where the Director engages an expert within their architecture to perform additional investigative analyses.</p><p>Honestly, it&#8217;s hard for me to provide my own analysis here, because the blog is <em>just so complete</em>. So, if you are a person who is skeptical of these types of setups, borrow or steal ideas from this Slack blog and try it on your own. It seems reasonable, and if the idea is that you perform 5 investigations that take 2 hours each, it reduces 3 of them from 2 hours to 10 minutes, and it catastrophically fails on 2 of them, you still saved 6 hours!</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://meetcyber.net/data-and-detect-d64530181156">Data and Detect</a> by Matthew Stevens</p><p>This post by Stevens dives a bit deeper into the concept of <em>detection observability</em>. In our field, we tend to focus on the research element of rules and detection opportunities, but leave much less conversation about data quality. Remember, <a href="https://www.detectionengineering.net/i/167435526/there-is-no-rule-without-telemetry">there is no rule without telemetry</a>, and there is a concept Stevens points out around <em>data usefulness</em> that I think demonstrates this point perfectly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r3Oe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r3Oe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 424w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 848w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 1272w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r3Oe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png" width="1400" height="697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:697,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:382068,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/185222408?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r3Oe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 424w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 848w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 1272w, https://substackcdn.com/image/fetch/$s_!r3Oe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a1ea189-1cca-4d6a-a59a-42c1f055e2dd_1400x697.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not all sources are the same when it comes to individual atomic qualities for alerting, but when you map them to techniques, you notice that the composite qualities (a sum of many data sources finding an attack chain) become crucial. The graph above, generated by Stephens, shows how important <em>Process Monitoring</em> is for data usefulness. In fact, without <em>Process Monitoring</em>, you lose close to 30% of the techniques you can combine with other data types to alert on.</p><p>They also comment on how hard it is to build schemas and normalize telemetry so your teams can operate out of a common lexicon of writing rules. This highlights that a large swath of issues we <em>should deal with it</em> focus heavily on the software and data engineer components of our jobs as equally as the threat research components.</p><div><hr></div><p><a href="https://research.cotool.ai/benchmarks/sigma">Sigma Detection Classification</a> by Cotool</p><p>Continuing Cotool&#8217;s research on security AI agent benchmark performances, they setup a website for studying performances on their benchmarks and released a new one on Sigma Detection classifications. The goal of this benchmark was to assess how well foundational models were trained on attack tactics and techniques. The Cotool team fed the full Sigma corpus to 13 foundational models and stripped the MITRE ATT&amp;CK tags to see if they correctly mapped the tags back to the original rule.</p><p>Claude&#8217;s Opus and Sonnet 4.5 performed the best overall with the highest <a href="https://en.wikipedia.org/wiki/F-score">F1-score</a> and but also the highest cost, ~somewhat similar to what we saw in their last benchmark on the Botsv3 dataset. The team provided their analysis of these placements, their prompts and tradecraft behind the evaluation, so others can run the same benchmarks as well.</p><div><hr></div><p><a href="https://medium.com/@mattcswann/5-kql-queries-to-slash-your-containment-time-in-microsoft-sentinel-57bb81b52551">5 KQL Queries to Slash Your Containment Time in Microsoft Sentinel</a> by Matt Swann </p><p>I have a biased view on what is and what is not a detection rule. Even to the point where I&#8217;ve reduced the concept of rules down to one definition: <a href="https://www.detectionengineering.net/i/167435526/there-is-no-rule-without-telemetry">a rule is a search query</a>. There is a rationale behind it: SIEMs and logging technologies require a search query to generate results. But, as I break out of my bubble, I notice that not all search queries have the same value from a detection point of view.</p><p>In this post, Swann demonstrates this concept through the lens of a Security Incident Responder. When your goal is <em>containment</em> rather than accuracy or a balanced cost of alerting, accuracy matters less because the goal is to use your analysis skills to find and kick out threat actors as quickly as possible. Swann provides readers with five high-value KQL queries to help responders quickly orient around a potential intrusion. The cool part here is their unique experience in this field, even noting that some queries led to the discovery and containment of an active ransomware actor.</p><div><hr></div><h3>&#128074; Quick Hits</h3><p><a href="https://medium.com/@tobiasacastleberry/detection-as-code-home-lab-architecture-2fb23c7b631d">Detection as Code Home-Lab Architecture</a> by Tobias Castleberry</p><p>I love seeing home-lab setups because there are many ways to set up an environment to practice advanced concepts with open-source and free software. This blog is <a href="https://medium.com/@tobiasacastleberry/detection-as-code-home-lab-architecture-2fb23c7b631d">part of a series</a> by Castleberry where they document their journey from an analyst to a detection engineer, and they showcase some of their expertise and how they&#8217;ve learned along the way.</p><div><hr></div><p><a href="https://medium.com/@monzymerza/building-your-own-ai-soc-heres-how-to-succeed-52fdbe19f453">Building your own AI SOC? Here&#8217;s how to succeed</a> by Monzy Merza</p><p>Speaking of demystifying AI SOC and agentic security engineering from Marks&#8217; Gem listed above, this blog by Merza provides an irreverent commentary on the state of building these architectures. There are some non-negotiables Merza points out, such as data normalization, the concept of a &#8220;knowledge graph&#8221;, and honing foundational models and giving them the right instructions rather than relying on them out of the box.</p><div><hr></div><p><a href="https://sudosiddharths.medium.com/the-levenshtein-mile-ab616113c003">The Levenshtein Mile</a> by Siddharth Avi Singh</p><p>Before the age of LLMs, there was a ton of research and implementation of some pretty clever mathematical techniques to find and detect on threats. I used to work for a threat intelligence product company that specialized in detecting phishing infrastructure, and one of the key elements of finding phishing is understanding what the victim organization owns, so you can see how threat actors try to abuse and socially engineer its customers.</p><p>In this post, Singh details the Levenshtein Distance algorithm. The basic premise here is that you can measure the similarity between two strings and generate a score. If that score exceeds some threshold of similarity, you can generate an alert to an analyst and investigate whether or not it is phishing. Domain names are the logical data source here, and you can review them from the public domain registries, DNS traffic, or the <a href="https://certificate.transparency.dev/">Certificate Transparency Log</a> and try to proactively block them before they become an issue.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://disclosing.observer/2026/01/14/excavating-abuse-infrastructure-dns-sinkholes.html">After the Takedown: Excavating Abuse Infrastructure with DNS Sinkholes</a> by Max van der Horst</p><p>This post by van der Horst helps readers understand what happens <em>after</em> a domain is sinkholed. We typically see news stories about a large botnet or ransomware operation being taken down, and the takedown includes seizing domain names used for command-and-control communications with victims. High fives and good vibes happen and then we focus on the next big thing.</p><p>van der Horst challenges this finality and tries to argue that a sinkhole is more than just an interruption operation; it&#8217;s also a forensic artifact that helps discover more victims and additional malicious infrastructure. They downloaded several datasets, combining passive DNS and open-source intelligence feeds, to understand the rate of disruptions and how to perform temporal analysis of these takedowns to discover unreported infrastructure.</p><p>It also allows analysts to cluster activity and create new detections as new botnets or campaigns emerge, where many cases involve the reuse of code and infrastructure techniques.</p><div><hr></div><p><a href="https://medium.com/@0xOZ/how-to-get-scammed-by-dprk-hackers-b2f7588aea76">How to Get Scammed (by DPRK Hackers)</a> by OZ</p><p>This is a great article showing an individual infection chain done by a Contagious Interview threat actor. OZ accepts the bait on Discord and walks through how the DPRK-nexus threat actor tries to infect him by taking a malicious coding test. OZ brings receipts: there&#8217;s a lengthy Discord conversation where the threat actor prods OZ and eventually convinces them to apply for the job.</p><p>There&#8217;s some cool analysis with cloning the repository and using docker and pspy to inspect the malicious traffic.</p><div><hr></div><p><a href="https://substack.com/inbox/post/184574472">What&#8217;s in the box !?</a> by NetAskari</p><p>NetAskari, a security researcher, stumbled upon a Chinese-nexus threat actor&#8217;s &#8220;pen-test&#8221; machine and managed to download a bunch of their custom tooling for analysis. The Chinese hacker ecosystem is in a bubble, the result of both cultural and artificial barriers imposed by the PRC. These barriers create opportunities to build tooling, exploits, and software in a silo, so when you find a goldmine of tooling available for download, it&#8217;s always great to download it and see how other hackers are performing operations.</p><p>They found a litany of post-exploitation tools, some of which are custom-written and look similar to the likes of Cobalt Strike or Sliver, a bunch of custom Burp Suite extensions, and some malware families, like Godzilla, that were used in nation-state operations against the U.S.</p><div><hr></div><p><a href="https://www.malwarebytes.com/blog/scams/2026/01/dutch-police-sell-fake-tickets-to-show-how-easily-scams-work">Dutch police sell fake tickets to show how easily scams work</a> by Danny Bradbury</p><p>I think phishing simulations at a professional organization is lame, but I actually think it works at scale against the general populace as a form of education. Apparently, the Dutch Police thought the same. They set up a fake ticket sales website and bought ads to trick victims into visiting and purchasing tickets for sold-out shows.</p><p>Tens of thousands of people visited the website, and several thousand people bought tickets, which is a wild stat if you want to steal some credit cards. Obviously, the Police did not steal credit cards; they used them as an educational opportunity to help folks understand the risks of online ticket fraud.</p><div><hr></div><p><a href="https://horizon3.ai/attack-research/vulnerabilities/cve-2025-64155-fortinet-fortisiem/">CVE-2025-64155 Fortinet FortiSIEM Arbitrary File Write Remote Code Execution Vulnerability</a> by <a href="http://Horizon3.ai">Horizon3.ai</a></p><p>From the blog:</p><blockquote><p>CVE-2025-64155 is a remote code execution vulnerability caused by improper neutralization of user-supplied input to an unauthenticated API endpoint exposed by the FortiSIEM phMonitor service. Oof. I couldn&#8217;t tell any of you the last time I&#8217;ve seen remote code execution vulnerabilities in SIEM technology.</p></blockquote><p>The specific service, pMonitor, listens on 7900. It serves as the control plane for these devices, much like the Kubernetes control plane, and supports orchestration and configuration API calls. I ran a quick scan of likely FortiSIEM devices on Censys and found over 5000 publicly facing servers. </p><p>This blog has some details on the vulnerability, and, as with most FortiGuard and edge device vulnerabilities, user-supplied web request data with complex string parsing leads to a command injection deep within the application code.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/MHaggis/Security-Detections-MCP">MHaggis/Security-Detections-MCP</a></p><p>Locally run MCP server for detection engineering. Leverages <a href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#stdio">stdio</a> transport so nothing leaves your machine which is always good if you are writing rules or queries in a sensitive information. It exposes 28 tools where a local LLM client (Claude, Cursor) can look at detection coverage, MITRE classification, KQL queries and data source classification.</p><div><hr></div><p><a href="https://github.com/SeanHeelan/anamnesis-release">SeanHeelan/anamnesis-release</a></p><p>PoC of an LLM exploit generation harness. The README has an extensive background on how they approached benchmarking Claude Opus and GPT 5.2 with no instruction on how fast they can analyze a vulnerability and generate exploit code. They introduced several constraints in test environments to challenge the models, such as removing certain syscalls, adding additional memory and operating system protections, and forcing the agents to generate an exploit with a callback.</p><div><hr></div><p><a href="https://github.com/tracebit-com/awesome-deception">tracebit-com/awesome-deception</a></p><p>Yet another awesome-* list on deception technology research, open-source repositories and conference talks.</p><div><hr></div><p><a href="https://github.com/mr-r3b00t/rmm_from_shotgunners_rmm_lol/blob/main/mega_rmm_query.kql">mr-r3b00t/rmm_from_shotgunners_rmm_lol/main/mega_rmm_query.kql</a></p><p>This repository caught my eye because I&#8217;ve never seen a rule that started with the word &#8220;mega&#8221;. And when I mean mega, I&#8217;m thinking a few hundred lines for something pretty complicated. But this RMM detection query rule is <em>3000 lines long</em>. Can you imagine needing to tune this? </p><div><hr></div><p><a href="https://github.com/ineesdv/Tangled">ineesdv/Tangled</a></p><p>This is a clever phishing simulation platform that abuses iCalendar rendering to deliver legitimate-looking phishing invites. It leverages research from <a href="https://github.com/natesubra/renderbender">RenderBender</a>, which abuses Outlook&#8217;s insecure parsing of the Organizer field.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DEW #141 - K8s Detection Engineering, macOS EDR evasion, Cloud-native detection handbook]]></title><description><![CDATA[Happy New Year! Did you miss me?]]></description><link>https://www.detectionengineering.net/p/dew-141-k8s-detection-engineering</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-141-k8s-detection-engineering</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 14 Jan 2026 13:03:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!k1iR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #141 of Detection Engineering Weekly!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>It was a long but restful month away from you all! I can&#8217;t wait to get back into writing every week for y&#8217;all</p></li><li><p>&#129309; I am accepting new sponsors for 2026! If you are interested in sponsoring the newsletter, shoot me an email at <a href="mailto:techy@detectionengineering.net">techy@detectionengineering.net</a>. We are already almost halfway booked for Primary slots and now have Secondary slots so you have options!</p></li><li><p>I&#8217;ve started writing again for the Field Manual and I really love encapsulating my experience and knowledge into these posts. If you have ideas for Field Manual posts, comment below. I have my latest post below as the last story under State of the Art</p></li></ul><h3><strong>This Week&#8217;s Primary Sponsor: Push Security</strong></h3><blockquote><h3><strong>Want to learn how to respond to modern attacks that don&#8217;t touch the endpoint?</strong></h3><p>Modern attacks have evolved&#8212;most breaches today don&#8217;t start with malware or vulnerability exploitation. Instead, attackers are targeting business applications directly over the internet.</p><p>This means that the way security teams need to detect and respond has changed too.</p><p>Register for the latest webinar from Push Security on February 11 for an interactive, &#8220;choose-your-own-adventure&#8221; experience walking through modern IR scenarios, where your inputs will determine the course of our investigations.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://pushsecurity.com/webinar/investigating-browser-threats?utm_campaign=34320029-fy26_detection-engineering-weekly+&amp;utm_source=detection-engineering-weekly&amp;utm_medium=sponsored-content&amp;utm_content=newsletter-ad]&quot;,&quot;text&quot;:&quot;Register Now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://pushsecurity.com/webinar/investigating-browser-threats?utm_campaign=34320029-fy26_detection-engineering-weekly+&amp;utm_source=detection-engineering-weekly&amp;utm_medium=sponsored-content&amp;utm_content=newsletter-ad]"><span>Register Now</span></a></p></blockquote><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://heilancoos.github.io/research/2025/12/16/kubernetes.html">A Brief Deep-Dive into Attacking and Defending Kubernetes</a> by Alexis Obeng</p><p>For detection engineers, incident responders, and threat hunters who operate in a cloud-first environment, you probably heard developers in your organization talk about Kubernetes (k8s for short). It&#8217;s an extremely popular container orchestration framework that has been used as the de facto standard for controlling scaling, application isolation, and cost. Whether you have it in your environment or you&#8217;ve never worked with it, it&#8217;s important to note how important the security controls and detection opportunities work inside these environments, because it&#8217;s like an operating system of its own.</p><p>When Obeng first shared this research on a Slack server I was on, I was excited to read it because it&#8217;s truly a deep dive into Kubernetes security, as the title suggests. She started the blog by describing how unfamiliar this space was, and by the end, you could tell Obeng had become very familiar with detection and hunting scenarios in Kubernetes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k1iR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k1iR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 424w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 848w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k1iR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png" width="1456" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:675792,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/184317193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k1iR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 424w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 848w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!k1iR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff693cc98-0d9c-49f3-8220-a0e8a41dd61d_2875x1200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The blog starts with an introduction to k8s and breaks down the jargon, architecture, and nuances of how a Kubernetes environment operates. The most important thing I try to get folks to understand with k8s is that it&#8217;s separated into two detection planes. The control plane, as Obeng explains, &#8220;is the core of Kubernetes.&#8221; It helps control everything from scaling plans, what containers to run, permissions, and health checks.</p><p>The other plane, the data plane, is everything else. The hyperscalers <a href="https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/control-planes-and-data-planes.html">describe</a> this as the service&#8217;s core functionality. Since k8s&#8217; functionality revolves around running containers, you could argue that it&#8217;s about each individual container and the isolation of those containers within k8s.</p><p>As you can see from the threat matrix, attacks along MITRE ATT&amp;CK operate in both planes.</p><p>After giving this introduction, she jumps into several attack scenarios. But the start of this scenario section first describes her description of the k8s attack surface. This is my favorite part of the blog. Obeng outlines four major scenarios you&#8217;ll see in any k8s attack: pod weaknesses, identity and access mechanisms, cluster configuration, and control plane entry points. Notice these are focused on the control plane as the end goal. So, if you can compromise any part of the data plane, for the most part, the main goal is to attack the control plane afterward.</p><p>She ends the blog with close to 10 attack scenarios, detection rules using Falco, and a follow-up with her lab for folks who want more hands-on learning.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://oliviagallucci.com/edr-evasion-with-lesser-known-languages-macos-apis/">EDR Evasion with Lesser-Known Languages &amp; macOS APIs</a> by Olivia Gallucci</p><p>~ Note, Olivia is my colleague at Datadog ~</p><p>EDR blogs from independent researchers are hard to find. It&#8217;s not that the blogs are tucked away in dark corners of the Internet, instead, EDR researchers who don&#8217;t work at vendors are few and far between. So, anytime I get to see research that goes deep into the EDR space, I pay close attention.</p><p>This is especially true for the macOS world. Microsoft has years of security solutions and a litany of researchers who document all kinds of peculiar malware and EDR behavior. This is logical, since most major security incidents over the last 30 years have been on Windows platforms. But in the last few years, attackers have shifted their focus to macOS. The opaqueness-by-design of EDR vendors AND Apple makes it hard to learn about security internals on this platform.</p><p>This technical analysis by Olivia helps break down those barriers by first describing the <em>ecosystem of opaqueness</em> of macOS combined with security vendor technologies. From my understanding (and with lots of stupid questions from me to Olivia), rely on the <a href="https://www.notion.so/Hopper-16f64c6e50e680459888ead93b60961a?pvs=21">extended security (ES) system</a>, which is somewhat equivalent to Linux&#8217;s eBPF observability and security framework. Security vendors subscribe to security events, build detections over them, and implement EDR security response features, such as blocking a piece of malware from executing.</p><p>This has its limitations, and Olivia&#8217;s analysis under her &#8220;Technical Analysis&#8221; section points them out. It&#8217;s reminiscent of the early days of Microsoft security, when bypasses emerged from malware families, and it took a lot of effort for vendors and Microsoft to respond to them. The closed ecosystem has it&#8217;s advantages from a security controls perspective, but IMHO, it starts to do a disservice to organizations when attackers move faster than the controls you try to implement.</p><div><hr></div><p><a href="https://cloudnativedetection.substack.com/p/the-cloud-native-detection-engineering">The Cloud-Native Detection Engineering Handbook</a> by Ved K</p><p>This post is an excellent follow-up to Abeng&#8217;s blog, which is under the Gem at the top of the newsletter!</p><p>Detection engineering is much more than building detection rules. There are elements of software engineering, data analysis, and threat research that separate a good detection engineer from a great one. I&#8217;ve talked about this across my <a href="https://www.detectionengineering.net/i/166341887/how-does-one-become-a-detection-engineer">publication</a>, <a href="https://www.youtube.com/watch?v=d38t9oGqlGs">podcasts</a> and <a href="https://youtu.be/g0GJI9wJ74Y?si=5YO6sTnidS5TfKbQ&amp;t=1540">conference talks</a>. But, if you want a deep dive on the <em>how</em> to wear and implement these skillsets, Ved&#8217;s blog is a great resource to do so.</p><p>Ved defines cloud-native detections as any research, engineering and implementation of a detection rule to identify threat activity in cloud environments (AWS, Azure, GCP) and Kubernetes. He then describes his nine-phase (!) approach to writing detections, and opens each subsection with what &#8220;hat&#8221; you should be wearing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_-0W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_-0W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 424w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 848w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 1272w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_-0W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1184136,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/184317193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_-0W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 424w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 848w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 1272w, https://substackcdn.com/image/fetch/$s_!_-0W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9880aef-7c7b-47a4-b16a-ba6e7e4dd00d_1456x813.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The value of this post lies in the diligence put into each phase, especially in the use of real-world examples. They are bite-sized sections so that I wouldn&#8217;t be phased (ha!) out by the number. It serves more as a handbook for you to reference as you move through the detection lifecycle.</p><p>My favorite section is under Phase 4, titled &#8220;<a href="https://cloudnativedetection.substack.com/i/180130894/critical-enrichment-dimensions">Enrichme</a>nt and Context.&#8221; It ties nicely with my piece about <a href="https://www.detectionengineering.net/i/181689763/imposing-cost-on-ourselves">context and complexity</a> within rules, and according to Ved, it does require a Software Engineering Hat. Ved lists out five critical pieces of context to help increase the efficacy of rules:</p><ul><li><p><strong>Identity Context</strong>: who is this (human) or what is this (service-account).</p></li><li><p><strong>Threat Intelligence</strong>: what IP addresses, domains, or general knowledge around indicators of compromise do we have to help make decisions on this activity?</p></li><li><p><strong>Resource and asset metadata</strong>: What critical asset inventories, compliance tags or posture related information exists to help identify the riskiness of this asset being attacked?</p></li><li><p><strong>Behavioral baselines</strong>: is this normal behavior for this type of activity? Think Administrator activity at 2am on Saturday.</p></li><li><p><strong>Temporal context</strong>: Attacks aren&#8217;t point-in-time, they are over a period-of-time. Can you enrich this alert with other context of events before it occurred?</p></li></ul><p>Ved finishes the rest of the post, writes a detection, tests it, follows it through deployment, and sees how useful the alert is. It looks like this is his first post on his Substack, so I recommend subscribing!</p><div><hr></div><p><a href="https://substack.com/home/post/p-183640704">How to defend an exploding AI attack surface when the attackers haven&#8217;t shown up (yet)</a> by Joshua Saxe</p><p>This is a fantastic commentary on what happens when the security community knows that a new technology is going to bring all kinds of security issues, even though the issues haven&#8217;t materialized yet. Saxe&#8217;s framing revolves around the growing attack surfaces around AI technologies. It&#8217;s hard to parse marketing-speak and LinkedIn ads and messages from startup founders and salespeople claiming that &#8220;the bad guys are already using AI at scale to attack you!!11&#8221; without much proof. Perhaps they reference a news article about some basic usage of vibecoding malware, or a phishing site that has an HTML comment of &#8220;created by Claude Code.&#8221;</p><p>Saxe has recommendations around what security functions and specific teams can do to help prepare for this, and I will steal his framing around making controls and policies &#8220;dialable&#8221;. Security should aim to be enablers rather than disablers for our engineering and technology counterparts. So, build controls in security engineering, and implement detection &amp; response processes, but configure them in a way so you can &#8220;dial up&#8221; the strictness as we see new attacks emerge from real scenarios rather than theoretical ones.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/introducing-pathfinding.cloud/">Introducing Pathfinding.cloud</a> by Seth Art</p><p>~ Note, Seth is my colleague at Datadog ~</p><p>Seth recently released a comprehensive library on privilege escalation scenarios and techniques abusing IAM in AWS environments. There are 65 total paths, and 27 of them are not covered by existing OSS tools to test coverage. That good news is that the website has the description of each attack and how to perform it, as well as a helpful graph visualization so you can see the traversal rather than try to create an image in your head.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i59Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i59Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 424w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 848w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 1272w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i59Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png" width="1456" height="1190" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1190,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:653441,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/184317193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i59Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 424w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 848w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 1272w, https://substackcdn.com/image/fetch/$s_!i59Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7687c1e-356e-4c44-b4cf-729d0a42d9d8_1800x1471.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#128212; Field Manual</h3><p>I wrote a Field Manual issue on Atomic Detection Rules over break! Please go check it out!</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bcb66230-d705-49dc-8d60-cac181c7bb3d&quot;,&quot;caption&quot;:&quot;In the last post, we discussed the tradeoffs in designing effective rules. Detection efficacy captures the needs of the consumer of your detection rules, because the persona can be more concerned with missing an alert (false negative) or having too many alerts that don&#8217;t matter (false positives).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What are Atomic Detection Rules?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42321300,&quot;name&quot;:&quot;Zack Allen&quot;,&quot;bio&quot;:&quot;security research director specializing in detection engineering, cloud security, threat intelligence, linux security and business. NYU Stern MBA Rochester Institute of Technology dad builder and breaker&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/58e24cfb-026a-4b6c-a6c2-7d61e077a7f5_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-15T14:55:16.700Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zCTS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.detectionengineering.net/p/field-manual-4-what-are-atomic-detection&quot;,&quot;section_name&quot;:&quot;Field Manual&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:181689763,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:22,&quot;comment_count&quot;:1,&quot;publication_id&quot;:1213563,&quot;publication_name&quot;:&quot;Detection Engineering Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!o8h0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a81d34-04e7-4095-88af-0adc2dc81357_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://objective-see.org/blog/blog_0x84.html">The Mac Malware of 2025 &#128126;</a> by Patrick Wardle</p><p>This blog is a comprehensive look back at Mac Malware incidents and research throughout 2025. Maybe I am showing my age, but if you told me 10 years ago that macOS&#8217;s popularity is going to explode in cybercriminal groups, leading to large scale compromises, I would laugh at you. Wardle lists out the top malware families, some associated incidents and blogs dissecting the malware, as well as walk through analysis of the malware using an open-source toolbox.</p><div><hr></div><p><a href="https://hackread.com/white-supremacist-dating-sites-wiped-okstupid-lol/">Researcher Wipes White Supremacist Dating Sites, Leaks Data on okstupid.lol</a> by Waqas Ahmed</p><p>lmao</p><div id="youtube2-5y_SbnPx_cE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5y_SbnPx_cE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5y_SbnPx_cE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>&#127754; Trending Vulnerabilities</h3><p><a href="https://www.mongodb.com/company/blog/news/mongodb-server-security-update-december-2025">MongoDB Server Security Update, December 2025</a></p><p>I&#8217;m a bit late on this one due to holidays and time off, but MongoDB recently disclosed a critical vulnerability dubbed &#8220;MongoBleed&#8221; under <a href="https://www.cve.org/CVERecord?id=CVE-2025-14847">CVE-2025-14847</a>. It allows an unauthenticated attacker to connect to a MongoDB instance and leak memory contents, which potentially contain sensitive information around data inside Mongo, authentication data and cryptographic data.</p><p>I&#8217;m impressed with the transparency and diligence in the post. MongoDB found the vulnerability internally, validated it, built a patch, notified customers and rolled out a post. A researcher at Elastic published a PoC two days later (on Christmas, no less) that I&#8217;ll link below.</p><div><hr></div><p><a href="https://www.cyera.com/research-labs/ni8mare-unauthenticated-remote-code-execution-in-n8n-cve-2026-21858">Ni8mare&#8202; - &#8202;Unauthenticated Remote Code Execution in n8n (CVE-2026-21858)</a> by Dor Attias</p><p><a href="https://n8n.io/">n8n</a> is an open-source workflow framework to build Agent-to-Agent systems. They recently disclosed two vulnerabilities, <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-21858">CVE-2026-21858</a> and <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-21877">CVE-2026-21877</a>, a 9.9 and 10.0, respectively. n8n itself has skyrocketed in popularity primarily due to it&#8217;s ease of use for interfacing with Agentic workflows and platforms. The .1 difference is 21858&#8217;s arbitrary file read, which could allow reading secrets from a target system, and full remote code execution on 21877.</p><p>I really enjoyed the technical detail of this post by Attias, focused on the arbirary file read vulnerability. When you think of arbitrary file reads in a modern application stack like n8n, you can pull a lot more credentials that give you access besides dumping password files. Attias created a clever scenario on reading in arbitrary sessions and loading it into n8n&#8217;s knowledge base, allowing the extraction of the key from the chat interface itself.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/heilancoos/k8s-custom-detections/">heilancoos/k8s-custom-detections</a></p><p>Kubernetes lab environment and corresponding detection rules from Obeng&#8217;s gem above.</p><div><hr></div><p><a href="https://github.com/appsecco/vulnerable-mcp-servers-lab">appsecco/vulnerable-mcp-servers-lab</a></p><p>Hands-on lab for testing security vulnerability knowledge against MCP servers. There are nine scenarios, and each one looks pretty reasonable in their real-world applicability.  You&#8217;ll need Claude and python to run each one, and luckily with MCP, you can specify the singular Python file within the Claude config and get everything you need to get started.</p><div><hr></div><p><a href="https://github.com/Adversis/tailsnitch">Adversis/tailsnitch</a></p><p>Tailsnitch is a posture management tool for Tailscale configurations. You give it a Tailscale API key and it&#8217;ll connect to your tenant&#8217;s API and compare it&#8217;s configuration to secure baselines. </p><div><hr></div><p><a href="https://github.com/joe-desimone/mongobleed">joe-desimone/mongobleed</a></p><p>Original PoC of CVE-2025-14847, a.k.a MongoBleed, dropped right on Christmas :|. Has a docker-compose file so you can safely test it yourself.</p><div><hr></div><p><a href="https://github.com/kpolley/easy-agents">kpolley/easy-agents</a></p><p>This is a nice example of what I think will be a normal detection and response engineer&#8217;s setup in the next few years. Your org will operate a repository with agent setups for technology like Claude code, and it&#8217;ll contain a standardized list of MCP servers to use and agent instructions. Making it extendable to tweak or add agents and MCP servers should be as easy as another prompt and some glue work for a custom MCP.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.detectionengineering.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Every week, I read, watch and listen to all the Detection Engineering content so you can consume it all in 10 minutes. Subscribe and get a weekly digest of the latest and greatest in threat detection engineering!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>