<?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>Tue, 28 Apr 2026 06:12:21 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 #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;}" 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">17 days 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;}" 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">2 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><item><title><![CDATA[What are Composite Detections?]]></title><description><![CDATA[Atomic Detection rules are critical building blocks for a detection engineering function.]]></description><link>https://www.detectionengineering.net/p/what-are-composite-detections</link><guid isPermaLink="false">https://www.detectionengineering.net/p/what-are-composite-detections</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 07 Jan 2026 01:48:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Wz8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://www.detectionengineering.net/p/field-manual-4-what-are-atomic-detection">Atomic Detection rules</a> are critical building blocks for a detection engineering function. They provide visibility into singular event or indicator-based threat activity within an environment. The rules are narrow in scope and generally lack context for the blue teamer&#8217;s environment and the threat actor performing the malicious action. For example, an atomic detection rule can inspect Administrator logon activity in a cloud environment and generate an alert whenever an Administrator logs in. This captures malicious admin compromises (high recall), but also triggers on every legitimate admin login (low precision), flooding analysts with false positives.</p><p>This tradeoff also works in the opposite direction on the precision-recall spectrum. A detection engineer can deploy an atomic rule that is so precise it becomes brittle. It may never generate an alert because the fields it tries to capture are so specific that they offer low operational value.</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">The Detection Engineering Field Manual is a series dedicated to sharing knowledge and my experience building, operating and scaling a detection engineering organization at a F500 tech company. Please like and subscribe if you find this series useful!</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>The answer to combat these types of detections is to increase the context around the attack itself. This means capturing more threat activity to group atomic detections together, as well as increasing the context of the environment to differentiate benign and malicious activity. Composite detections, also known as correlated or stateful detections, increase the context and, therefore, complexity of writing and maintaining the rule.</p><p>This field manual post covers (ha!) the pros and cons of composite detection rules and begins to explore strategies to expand context around threat activity.</p><h2><strong>Detection Engineering Interview Questions:</strong></h2><ul><li><p>What is the MITRE ATT&amp;CK?</p></li><li><p>What is a composite detection rule?</p></li><li><p>Explain a threat activity scenario where a composite detection rule helps reduce false positives?</p></li><li><p>How do composite rules increase operational complexity for a detection engineer?</p></li></ul><h2>MITRE ATT&amp;CK</h2><p>MITRE ATT&amp;CK (pronounced &#8220;MY-ter AT-ack&#8221;) is <em>the</em> industry standard for modeling threat activity. According to their <a href="https://attack.mitre.org/">main website</a>:</p><p>&#8220;MITRE ATT&amp;CK&#174; is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations. The ATT&amp;CK knowledge base is used as a foundation for the development of specific threat models and methodologies in the private sector, in government, and in the cybersecurity product and service community.&#8221;</p><p>There is no modern detection engineering and incident response without MITRE ATT&amp;CK. It serves as a lexicon for security engineers across red and blue teams to standardize on how a specific attack occurs and the telemetry it generates.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LK6v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LK6v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 424w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 848w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LK6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:694335,&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/183742455?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.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_!LK6v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 424w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 848w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!LK6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa732cc20-757d-4b20-8c38-790de5d5f80a_2208x1102.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><em>Tactics</em> are along the X axis and represent the stages an attacker traverses to achieve an objective, such as exfiltrating sensitive data, deploying ransomware, or causing a denial-of-service attack. Ransomware deployment is the end goal, but it requires a lot of steps to achieve that impact. For example, getting access to a victim machine, laterally moving to a domain controller, collecting secrets and cracking administrator passwords, and finally finding a way to deploy the ransomware.</p><p>The <em>Techniques</em> are the Y-axis under each <em>Tactic</em>. Techniques are the <em>how:</em> specific methods adversaries use within each tactic to achieve their objective. For example, <em><a href="https://attack.mitre.org/techniques/T1135/">Network Share Discovery</a></em> under <em>Discovery</em> is used by attackers to find interesting files, folders and target machines connected to the current machine. They can leverage this to perform <em>Collection</em> of sensitive information and perform <em>Lateral Movement</em> to a higher privileged victim machine.</p><p>The beauty of MITRE ATT&amp;CK is that it directly contradicts the adage &#8220;attackers only need to be right once, defenders have to be right 100% of the time.&#8221; Each technique listed above has associated telemetry, detection opportunities, and some even have threat groups that leverage the documented techniques.</p><h3>What does this have to do with Composite Detections?</h3><p>In my last post on Atomic Detections, I talked about how Atomic Detection rules <a href="https://www.detectionengineering.net/i/181689763/atomic-detections-lack-context">lack context</a>. These rules can use threat intelligence, such as malicious IP addresses, to generate alerts, but those IP addresses can be rotated, making the rule very noisy. So you wouldn&#8217;t want to write that rule unless it existed in the same window where the IP address remains malicious.</p><p>On a separate Atomic Detection rule, a detection engineer can write a rule to alert on <em>Network Share Discovery</em>. This is an obvious choice from my example before: the next logical step after <em>Network Share Discovery</em> is <em>Lateral Movement</em>. We want to detect that, right?</p><p>The problem here, again, becomes context. What if a legitimate process, such as a File Search or Data Backup tool, performs Network Discovery? You generate an alert, block the activity, and just killed productivity or a critical business process for one of your users. Does this mean you need to painstakingly investigate every <em>Network Discovery</em> alert? You could, but you would burn out, and the operational costs would be too high.</p><p>This is where Composite Detections can help, and where MITRE ATT&amp;CK enables context via <em>chains of events</em>. By correlating <em>Network Share Discovery</em> with subsequent L<em>ateral Movement</em> attempts, we filter out benign activity and surface actual threats.</p><h2>Composite Detections Tell a Story</h2><p>Let&#8217;s continue to challenge the adage &#8220;attackers only need to be right once, defenders have to be right 100% of the time.&#8221; We know that writing one Atomic Detection rule can be noisy. So what if you write two? What if you write these rules across every single path along MITRE ATT&amp;CK, under every Tactic? You would have high recall, but terrible precision, and a flurry of alerts that can&#8217;t discern between benign and malicious activity.</p><p>Let&#8217;s look at an example from our previous post on Atomic Detection Rules:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eN8C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eN8C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 424w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 848w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eN8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png" width="1456" height="1090" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1090,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:421698,&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/183742455?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.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_!eN8C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 424w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 848w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!eN8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba7d5b1a-b2ca-4381-9293-904f86f317b5_1456x1090.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>In this scenario, the Atomic Detection rule fires on administrator login activity. We are only looking at the event and ignoring sourceIP, timestamp, and location. These can help tell the story, but the story stops on the singular event. You could write some additional enrichment to tell the story that:</p><ul><li><p>The Admin is logging in from a risky location, let&#8217;s say outside the U.S. for the sake of example</p></li><li><p>The Admin is logging in past business hours</p></li></ul><p>But these enrichment points can also be part of legitimate business activity. This is where <em>context</em> comes into play.</p><p>Let&#8217;s say you have two other rules that capture potential threat activity of an Administrator creating a second account and attaching an Administrator policy or profile to it. It&#8217;s riskier (it&#8217;s further along the ATT&amp;CK chain), but it lacks context. But what if you <em>combine the threat scenarios</em> and create a story?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png" width="1456" height="962" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:962,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211828,&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/183742455?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.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_!Wz8G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2972d8-c1cf-40f3-ba82-564d376cf15f_2119x1400.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>Here&#8217;s the story: an Administrator account gets compromised, and an attacker runs a script to log in to your AWS portal automatically. They are smart cookies and believe in another adage, &#8220;two is one, and one is none,&#8221; and create a second account to achieve <em>Persistence</em> on your account. They then leverage their Administrator privileges to attach an Administrator policy. Smart, if you reset the original Administrator password, they have a backdoor back into your environment!</p><p>By combining the three scenarios via the following rule, in pseudocode:</p><pre><code><code>if user contains 'admin'
AND CreateUser action is called
AND AttachUserPolicy is called and the Policy = 'Admin'
THEN alert
</code></code></pre><p>You&#8217;ve told your SIEM quite a compelling story to look out for, and it found it!</p><p>There are some key questions from the above rule, and they emerge from the other data I&#8217;ve omitted from my diagram:</p><ul><li><p>What is a legitimate amount of time between logging on and calling CreateUser?</p></li><li><p>Is calling CreateUser then attaching an Administrator policy malicious?</p></li><li><p>Does this Admin typically CreateUser and attach policies?</p></li></ul><p>These questions are what adds complexity and cost to writing and maintaining a ruleset. So, a detection engineer must weigh the cost of this complexity versus the cost of false positives from Atomic rules.</p><p>In this specific Composite rule, we used <em>Windowing</em>. Windowing is a technique in which we capture activity in time windows and assume that any Composite detection that captures events within that window must be the result of threat activity. The rule assumes that if an Administrator account logs in, creates a secondary account, and attaches a privileged policy to it, it must be malicious. This reduces false positives by:</p><ul><li><p>Combining three Atomic rules into one rule</p></li><li><p>Creates a story where these three actions together means something malicious is happening, or requires investigation</p></li><li><p>Assumes threat actors will try to do this quickly as their access may be revoked within a few minutes</p></li></ul><h1>Stories increase complexity</h1><p>I linked a chart in my previous post about the trade-off between context, operational cost and false-positive reduction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RXfy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RXfy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 424w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 848w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 1272w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RXfy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png" width="1240" height="754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:1240,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162951,&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/183742455?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.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_!RXfy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 424w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 848w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.png 1272w, https://substackcdn.com/image/fetch/$s_!RXfy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8f0457-3940-457e-8998-c745b8a0c5fd_1240x754.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>In this <em>Windowed Composite Detection Case</em>, there are several costs that detection engineers incur:</p><ul><li><p>Does my SIEM technology support Windowing?</p></li><li><p>Does the combination of these detection rules capture the threat activity that I want? For example, should I <em>also</em> have a separate atomic rule for CreateUser to catch persistence attempts that don&#8217;t fit the 5 minute window? This can lead to false negatives if you only rely on composite rules.</p></li><li><p>Does the window period give me the best value? If I increase it to 15 minutes, what costs do I incur on server usage, indexing and other infrastructure components?</p></li></ul><p>I will say that Detection Engineers I&#8217;ve hired, worked with, and spoken with at other companies spend as much time researching cost trade-offs as they do performing pure security research. This is the <em>Engineering</em> component of threat detection, and to me, these types of problems are what make the field exciting. You are part security researcher, part engineer, and part data scientist!</p><h1>Conclusion</h1><p>Composite detections shift detection engineers&#8217; focus to reduce false positives by creating stories of attack chains. MITRE ATT&amp;CK is the de facto industry standard for documenting how an attacker progresses through a breach to achieve an objective. Detection engineers can use ATT&amp;CK to build atomic and composite rules to capture threat activity.</p><p>Atomic rules lack context by design, but when combined with other atomic rules via composite detections, you can start building a story of an attack. This story is the context you want to decide on whether you should investigate an alert. This story also reduces false positives by capturing the logical progression an attacker may take in your environment, and reduces the likelihood of alerting on benign activity.</p><p>The complexity of creating and maintaining composite detections stems from technological capabilities, such as windowing, as well as the hidden costs of assumptions made by the detection engineer. For example, combining three distinct events into a composite detection may miss other alerting scenarios within those events, leading to a false negative.</p><p>In the next Field Manual post, we'll explore different alerting mechanisms for composite and atomic detections outside of windowing.</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">The Detection Engineering Field Manual is a series dedicated to sharing knowledge and my experience building, operating and scaling a detection engineering organization at a F500 tech company. Please like and subscribe if you find this series useful!</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[What are Atomic Detection Rules?]]></title><description><![CDATA[The first and last rules you'll likely write :)]]></description><link>https://www.detectionengineering.net/p/field-manual-4-what-are-atomic-detection</link><guid isPermaLink="false">https://www.detectionengineering.net/p/field-manual-4-what-are-atomic-detection</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Mon, 15 Dec 2025 14:55:16 GMT</pubDate><enclosure url="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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>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).</p><p>Finding attacks is the core value proposition of what detection engineers do, and it&#8217;s what makes this field technically challenging. Although difficult, this work has an art and aesthetic that is hard to find anywhere else in security. This is because you aren&#8217;t solving a machine-to-machine problem, but a human-to-human problem, and the other human is unwilling to cooperate with you. To me, detection engineering and blue teaming, overall, are studies of behavior.</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>In this post, we&#8217;ll begin looking at how rules detect threat activity through atomic detections.</p><h2><strong>Detection Engineering Interview Questions:</strong></h2><ul><li><p>What is the Pyramid of Pain?</p></li><li><p>What is an atomic detection rule?</p></li><li><p>Compare and contrast scenarios where an atomic detection rule can be effective or ineffective.</p></li><li><p>What is environmental context?</p></li></ul><h2>David Bianco&#8217;s Pyramid of Pain</h2><p>Some attacks generate telemetry that is easy to identify as an attacker on your system or networks. Many attacks, however, require logic that depends on telemetry availability, environmental context, index windows of logs arriving at the SIEM, and understanding of attacker tradecraft or <em>behavior</em>.</p><p>Much as detection engineers must consider operational costs when writing rules, threat actors incur costs when carrying out attacks. This cost-versus-cost battle helps frame attack and defense so you can impose as much cost as possible on an attacker&#8217;s operations, so they&#8217;re in so much pain they deem a tactic or technique not worth their time. This is where the &#8220;Pyramid of Pain&#8221; by David Bianco becomes a valuable exercise for security teams.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zCTS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.png 424w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.png 848w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.png 1272w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zCTS!,w_1456,c_limit,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" width="592" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26d88706-a3f6-431a-9ee3-a51740802591_720x405.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:405,&quot;width&quot;:720,&quot;resizeWidth&quot;:592,&quot;bytes&quot;:47624,&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/181689763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26d88706-a3f6-431a-9ee3-a51740802591_720x405.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_!zCTS!,w_424,c_limit,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 424w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_848,c_limit,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 848w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_1272,c_limit,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 1272w, https://substackcdn.com/image/fetch/$s_!zCTS!,w_1456,c_limit,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 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://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html">https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html</a></figcaption></figure></div><p>At its core, the Pyramid of Pain challenges defenders to focus on imposing as much pain on attackers. As you traverse the pyramid, operational cost to your efforts increases, but the amount of pain you cause to an attacker also increases. Each layer of the Pyramid represents an operational complexity for the threat actor to consider when staging an attack. The <em>ideal state</em> of detection is at the top: if you detect Tools executing in your environment, your detections are more robust because the order and context of the tool&#8217;s execution become irrelevant.</p><p>The best state is under &#8220;Tactics, Techniques and Procedures&#8221; (TTPs). This layer focuses on the behavioral aspect an attack. If you detect <em>behavior</em> of an attack, every layer below the pyramid become less relevant in your detection (for the most part), and the detection is robust enough to catch changes in Tools, Artifacts, Domains, IP addresses and hashes.</p><p>Imagine this: you write a rule that helps detect a known Command-and-control (C2) server you read from a blog post. You deploy that rule and it doesn&#8217;t find anything. Great, you aren&#8217;t compromised, and you&#8217;ll have great coverage for the future if there is a compromise.</p><p>Here&#8217;s the problem: threat actors are well aware that we find C2 servers, build rules, share with the community and blog about them. A C2 server is typically either an <em>IP Address</em> or a <em>Domain</em>. Have you ever rented a droplet on Digital Ocean, or bought a domain from Namecheap? You can spend a few dollars to rent more droplets or buy new domains. This requires minimal pain on the threat actor&#8217;s side, and defenders no longer block your new C2 server until it is discovered again.</p><p>Even worse, the IP address you wrote a rule for is now leased to a benign client, and it is now alerting on benign traffic, causing pain to you and your team.</p><p>So, how effective is your detection rule now? Not too effective! This is because detecting on a singular value, such as an IP address or a domain, is an <em>Atomic Detection</em>. Atomic Detections are narrowly defined rules that detect activity at a point in time with little to no context. Let&#8217;s dive into them in the next section.</p><h2>Atomic Detections Lack Context</h2><p>Atomic Detections are tactical in nature. They may seem precise in practice, but because they lack context from the environment and incur little pain for attackers, they become brittle and prone to false positives. As soon as an attacker changes their infrastructure or flips one bit in a new build of their malware, which changes the cryptographic hash value, your rule diminishes in quality.</p><p>Atomic Detections also exist for computer or network activity. The point here is that ignoring context in an environment, such as rules that don&#8217;t evaluate time signatures, environmental context, or regular activity, makes atomic rules risky to deploy. </p><p>Let&#8217;s look at a basic alerting example with Amazon AWS Administrator login activity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!In5x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!In5x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 424w, https://substackcdn.com/image/fetch/$s_!In5x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 848w, https://substackcdn.com/image/fetch/$s_!In5x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!In5x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!In5x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png" width="1814" height="1358" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1358,&quot;width&quot;:1814,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:200698,&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/181689763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece84ba1-b221-4062-95cf-d62ccd22c15f_2234x1358.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_!In5x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 424w, https://substackcdn.com/image/fetch/$s_!In5x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 848w, https://substackcdn.com/image/fetch/$s_!In5x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!In5x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20bfa046-c812-462e-ba64-b2d232fd87ad_1814x1358.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 rule is in purple and <em>only</em> alerts on Log activity where the user field value is <code>admin</code>. The SIEM correctly identities the user field containing <code>admin</code> three times . The 11AM alert is a true positive: the administrator credentials were compromised. The other two are false positives, indicating normal administrative work. To make things worse, the compromised login was during normal business hours. </p><p>So how do you differentiate between the three alerts?</p><p>You differentiate them by spending incident response cycles investigating each one. Now imagine 100s or 1000s of these being generated. The atomic rule strategy doesn&#8217;t work because there is little to no context on the event.</p><p>The same thing can be said for IP-based C2 alerting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qaHX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qaHX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 424w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 848w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qaHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png" width="1780" height="1358" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1358,&quot;width&quot;:1780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211809,&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/181689763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec34413c-778c-4bc5-9e9c-14fe51783869_2234x1358.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_!qaHX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 424w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 848w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!qaHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b380ba0-c0bd-4963-b3f0-29bdf7fecb10_1780x1358.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 example, the detection engineer wrote an atomic detection rule for a known C2 IP address. Perhaps they read a blog some time around December 10 and added it quickly to find exposure. Log 1 enters the SIEM; the rule checks the destination field and generates a true-positive alert. </p><p>Fantastic! Let&#8217;s keep the rule!</p><p>The C2 was removed by the leasing company that owns it on December 11 due to the blog post. On January 15, a content delivery network leases an IP address, and network traffic logs flow through the SIEM, triggering an alert. Each subsequent network log afterward is a false positive.</p><p>The context from both of the graphs above is under the <code>UNUSED</code> field in the purple box. Associated domains, timestamps and physical location are all useful fields to add into the atomic rule to increase robustness of the rule and remove false positives. It would make sense, then, to start including all of these in your detection rule. Detection engineers need to understand the relationship between detection context and cost.</p><h3>Imposing cost on ourselves</h3><p>As we progress the Pyramid of Pain and add context to your ruleset, the cost increases. Cost can depend on time, resources, maintenance, or the technology needed to add context, such as threat intelligence. The following graph tries to explain this causal relationship:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LTDl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LTDl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 424w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 848w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 1272w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LTDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp" width="1240" height="754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:1240,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23828,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/181689763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d8eb6f9-3bf4-435d-b3b9-596557d12d1a_1338x972.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LTDl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 424w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 848w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.webp 1272w, https://substackcdn.com/image/fetch/$s_!LTDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f27b81-b6ec-4dc2-a444-1d8aac5320a3_1240x754.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>At the bottom left, you could deploy a rule similar to the examples above. Because the operational cost of matching on a single value is low, the context is low. And because the context is low, the risk for false positives is high. As you add context (move to the right), the cost increases, but the false-positive rate decreases.</p><p>This is why not every rule can be <em>perfectly accurate.</em> There is a cost-benefit tradeoff, as well as information asymmetry from attacker behavior, that detection engineers must consider. The only way a rule can catch all threat activity is to alert on every piece of activity. That seems costly!</p><h3>Conclusion</h3><p>Atomic detection rules generally focus on low-context events or values. They can certainly help a blue team function, such as a SOC or a Detection &amp; Response team, and they have a place in security operations. They risk generating many noisy alerts when the detection engineer fails to account for a threat actor&#8217;s behavioral patterns.</p><p>The Pyramid of Pain and imposing cost are industry-accepted concepts that help contextualize the competing objectives of blue teamers and threat actors. Writing rules to alert on the bottom parts of the pyramid, which primarily involve threat intelligence indicators (IP addresses, domains, hash values), imposes a greater cost on defenders than on threat actors. Defenders impose more pain on threat actors by climbing The Pyramid and writing rules that detect tools and TTPs.</p><p>For the next few parts of this series, I&#8217;ll explain the different ways detection engineers can write rules to capture threat actor behavior and the associated operational complexity.</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 #140 - SVG Filter ClickJacking, Detection Engineering "Onboarding" and React2Shell spotlight]]></title><description><![CDATA[my detection unc status is probably at an all time high and i'm here for it]]></description><link>https://www.detectionengineering.net/p/dew-140-svg-filter-clickjacking-detection</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-140-svg-filter-clickjacking-detection</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 10 Dec 2025 13:03:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NlPp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #140 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 in Paris this week after a quick personal trip to London. None of you told me that there are more people walking around in the West End than Manhattan!</p></li><li><p>I managed to get some great BJJ training in while in London, and tried cold plunging for the first time ever. Low key it&#8217;s amazing</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NlPp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NlPp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 424w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 848w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NlPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png" width="536" height="400.47727272727275" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1408,&quot;resizeWidth&quot;:536,&quot;bytes&quot;:2316134,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.detectionengineering.net/i/181124037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.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_!NlPp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 424w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 848w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!NlPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73695172-4ecd-4364-91ce-2a495851c4ac_1408x1052.png 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></figure></div></li><li><p>This issue is vulnerability writeup forward. But, I&#8217;m happy for it, because I think people in blue team roles need to see and understand the inner workings of malicious, unintended code paths. IMHO it makes me a better security engineer</p></li></ul><h3><strong>Primary Sponsor: Permiso Security</strong></h3><blockquote><h3><strong>ITDR Playbook: Detect &amp; Respond to Suspicious Authentication Patterns</strong></h3><p>Credential compromise now drives more than half of today&#8217;s breaches&#8212;and most teams still miss early warning signs. This Identity Threat Detection &amp; Response Playbook breaks down the highest-value authentication anomalies and provides actionable detection and response steps your team can implement immediately. Strengthen identity defense where it matters most.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hero.permiso.io/itdr-playbook-detecting-and-responding-to-suspicious-authentication-patterns/?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-suspicious-authentication-patterns/?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://lyra.horse/blog/2025/12/svg-clickjacking/">SVG Filters - Clickjacking 2.0</a> by lyra</p><p>I wrote <a href="https://www.zerofox.com/blog/open-graph-protocol-abuse/">a blog about</a> abusing Open Graph previews 7 years ago for phishing. The idea was that you could abuse how browsers render preview links to display one thing while redirecting to another. I&#8217;ve always tried to find a term or phrase to coin this style of attack. It&#8217;s not malware or phishing, but similar to <a href="https://en.wikipedia.org/wiki/IDN_homograph_attack">IDN homograph attacks</a>, it provides a <em>confusing user experience</em> for the victim. And within that confusing experience, you can socially engineer them to click into whatever malicious URL you want.</p><p>ClickFix became a huge hit for threat actors between last year and this year, and it abused this same concept. You are presented with instructions to copy and paste something into your terminal to download some piece of software or fix a bug. But by abusing how clipboard interactions work with a website, the user <em>thinks</em> they are copying and pasting a benign command, and they instead paste a malicious payload.</p><p>Lyra&#8217;s blog follows the same <em>confusing user experience style, </em>but this time, doing some fun things with SVG rendering. They got their original idea after Apple announced the Liquid Glass redesign, and wanted to recreate some of that experience in the web browser. After tinkering with some of the SVG Filter Effect primitives, they tried applying these effects over an iFrame, and whoops! It worked. </p><blockquote><p>The reason this was so interesting to me is that my liquid glass effect uses the feColorMatrix and feDisplacementMap SVG filters - changing the colors of pixels, and moving them, respectively. And I could do that on a cross-origin document? - <em>Lyra</em></p></blockquote><p>The first demonstration was a PoC on layering these types of effects over an iframe for a sensitive one-time password code. You&#8217;d be an attacker, load the OTP frame inside an iframe, then trick the user to paste the code back into what they think is the legitimate site, but it&#8217;s an SVG element on top. They dubbed this style of attack <em>ClickJacking</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yHSk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yHSk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 424w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 848w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 1272w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yHSk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png" width="1456" height="417" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:417,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75435,&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/181124037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.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_!yHSk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 424w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 848w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.png 1272w, https://substackcdn.com/image/fetch/$s_!yHSk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F171d9298-1121-4c94-9351-cf2b1f71e0de_1564x448.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 isn&#8217;t the most interesting part, it gets better! These &lt;fe*&gt; elements have some mathematical capabilities to help compute everything from masks to filters. Due to the nature of this attack, most of the logic has to occur inside the &lt;fe*&gt; elements, because you cannot extract pixel data from an SVG filter back into JavaScript or the DOM. So how do you create a multi-stage attack?</p><p>Well, why not make these elements functionally (not Turing) complete and create a limited-but-effective state machine inside the filters? That&#8217;s obvious, right, Zack? &#8592;Lyra, probably, as they did this</p><p>Lyra made a logic-gate example to demonstrate this, but by applying a multi-stage filter mask to a victim iFrame, they successfully showed how they can perform this SVG ClickJacking attack within a state machine rendered solely from these &lt;fe&gt; elements. Here&#8217;s an ASCII art example of the QR code attack with exfiltration:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ui43!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ui43!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 424w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 848w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 1272w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ui43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png" width="1456" height="1100" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1100,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:448011,&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/181124037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.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_!Ui43!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 424w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 848w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.png 1272w, https://substackcdn.com/image/fetch/$s_!Ui43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9d722d-f0b6-4f19-bfb7-f31d2bd18851_3680x2780.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 cross-origin part worries me the most here, because they essentially figured out how to overlay and extract data from the attack without breaking <a href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing">CORS</a>. </p><p> They demonstrated this attack against Google Docs and were awarded a good sum of money for doing so. Video here:</p><p><a href="https://infosec.exchange/@rebane2001/115265287713185877">https://infosec.exchange/@rebane2001/115265287713185877</a></p><p>I don&#8217;t know how you&#8217;d detect this on the browser, and you could have some exfiltration-style detections to work with once the data leaves the machine. UX Confusion strikes again!</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://levelup.gitconnected.com/why-the-mitre-att-ck-framework-actually-works-29ac26d2d20c">Why the MITRE ATT&amp;CK Framework Actually Works</a> by John Vester</p><p>I read a lot of blog posts introducing MITRE ATT&amp;CK to readers. I think it&#8217;s a great first topic for folks getting into the industry, because ATT&amp;CK is such a staple for us. My biggest feedback on these blog posts is that they aren&#8217;t really offering anything <em>new</em> for readers. This isn&#8217;t a bad thing, since the content shouldn&#8217;t change too much, but Vester&#8217;s blog here is comparatively different from the others I have read.</p><p>The blog starts with the typical introductory content on MITRE ATT&amp;CK, but in the &#8220;Real-world ATT&amp;CK&#8221; section, Vester begins describing ATT&amp;CK as a practitioner who has been doing this for years. They do this by looking at how ATT&amp;CK looks when overlayed with detection rules inside Sumologic.</p><p>I appreciate this approach because it feels like Vester is a senior engineer, you are onboarding to a new company, and they are giving you the experienced perspective on the whole system. ATT&amp;CK has lots of faults and a lot of its criticism is pointing at its real-world applicability. Luckily, Vester shows where it works really well and where it doesn&#8217;t necessarily work. This type of balance is what makes ATT&amp;CK useful; it&#8217;s a tool rather than a full-fledged solution.</p><div><hr></div><p><a href="https://medium.com/@zendannyy/understanding-the-nuances-of-detection-dd97a8d74c8e">Understanding the Nuances of Detection</a> by Danny Zendejas</p><p>Maybe I&#8217;m stuck on this idea of reading blogs as if I&#8217;m onboarding to a new company, but Zendeja&#8217;s blog about Detection Nuances here is a great follow-up blog to Vester&#8217;s above. </p><p>We take a lot of time jumping straight into rules and ATT&amp;CK, but taking time to understand the logistics of detection engineering matters just as much. For example, Zendejas laid out the <a href="https://www.detectionengineering.net/p/detection-field-manual-2-what-are-4af">general architecture</a> for SIEM, and then introduced readers to the types of formats and standards dedicated to search languages and rules. </p><blockquote><p><em>Understanding and navigating these formats effectively is a fundamental part of a Detection Engineer&#8217;s role. Being data agnostic should be the goal. - Zendejas</em></p></blockquote><p>The rest of the blog contains some good content around alert precision and alerting. If you put on a proverbial &#8220;onboarding at a new job&#8221; hat, this is a great introduction for folks entering the field or seeking a fresh look at fundamental concepts.</p><div><hr></div><p><a href="https://medium.com/detect-fyi/threat-hunting-based-on-tor-exit-nodes-kqls-queries-4cf9ebd33cda">Threat Hunting based on Tor Exit Nodes (+ KQLs queries)</a> by Sergio Albea</p><p>The Onion Routing (Tor) network is one of those funny cases of intention versus use. The idea behind it is ethically amazing: it helps mask the source of a connection to a destination server, and it would be particularly useful for people like political dissidents in hostile countries. But, whenever there is anything good, criminals tend to follow and exploit the goodness. Except crypto, all criminals! Just kidding.</p><p>In this post, Albea provides some excellent hypotheses and use cases for threat hunters to find machines on a network connecting to the Tor network. The first case is around the use of Tor locally to connect to Tor domains. This, in my opinion, is benign behavior for the most part, but it can raise legal and ethical concerns for a company, so your acceptable use policies should address it.</p><p>The second case is rooted in a more likely intrusion scenario. Attackers have used Tor to mask their source IP addresses and credential stuff login endpoints to prevent attribution and likely legal action. Although this makes sense from a privacy perspective, it&#8217;s terrible OPSEC in other ways. By design, the Tor Network publishes its exit node IP address list because, without it, Tor clients won&#8217;t know how to route through it. So, that makes an excellent detection mechanism to find abusive sign-in attempts from those routing their malicious traffic through Tor.</p><p>They provide several KQL examples so you can follow along with their hunting queries.</p><div><hr></div><p><a href="https://www.amazon.science/blog/how-amazon-uses-ai-agents-to-anticipate-and-counter-cyber-threats">How Amazon uses AI agents to anticipate and counter cyber threats</a> by Daniel Weiss</p><p>This research piece from Amazon showcases their Autonomous Threat Analyst (ATA) environment. If you take AI out of the equation, it&#8217;s a neat setup that I haven&#8217;t really seen in other corporate environments. They created a separate rule-testing environment that mimics their production environment, which is a feat in itself.</p><p>Now to add the AI parts back: they have a multi-agent architecture where a blue-team agent creates rules, validates rule logic by querying their mimicked environment, and performs curation and deployment. The fun part here is their red-team agent. They ran a query to generate Python reverse shells for detection validation, and it generated over 30. They fed telemetry from these reverse shells into the mimicked environment and identified detection gaps to improve their ruleset.</p><p>The beauty of LLMs for detection isn&#8217;t really about accuracy, but more about scale. What I worry about with this type of scale is its comfortable nature. Over thirty types of reverse shells seem like a great dataset, but were each one validated by an expert? Will LLMs generate obscure and distracting payloads to complete their task? If we only care about coverage at scale, will these LLMs waste time on these things instead of what we see in the environment?</p><p>These are all questions for which I don&#8217;t have a good answer. But, it may not matter in the sense that if we keep driving token costs down, then scale becomes irrelevant, even if the types of attacks are obscure.</p><div><hr></div><h3><strong>Secondary Sponsor: runZero</strong></h3><blockquote><h3><strong>Join runZero&#8217;s Holiday Hackstravaganza!</strong></h3><p><br>Tune into runZero Hour, a monthly webcast examining new exposures &amp; attack surface anomalies. Join us on Dec 17 for 2025&#8217;s wildest vulns, top research picks, &amp; 2026 predictions. Plus, trivia and Hak5 gift cards!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.runzero.com/research/runzero-hour/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=runzero-hour-e25&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://www.runzero.com/research/runzero-hour/?utm_source=detection-engineering&amp;utm_medium=email-sponsored&amp;utm_campaign=runzero-hour-e25"><span>Register Now</span></a></p></blockquote><p></p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><h3><strong>&#9889; Emerging Threats Spotlight: React2Shell</strong></h3><p>So the big threat landscape news in the last week was the React2Shell vulnerability. The exploit is elegant and simple, but the way the exploit chain leverages React&#8217;s processing capabilities is quite complex. Whenever 10/10 CVSS CVEs like this come out, the immediate thought is <em>oh shit, another </em><a href="https://www.datadoghq.com/blog/log4j-log4shell-vulnerability-overview-and-remediation/">Log4Shell</a><em>. </em>It&#8217;s even worse when the researchers name the vulnerability something similar to Log4Shell, and this was no exception.</p><p>For those <a href="https://en.wikipedia.org/wiki/React_(software)">unfamiliar</a> with React, it&#8217;s one of the biggest open-source frontend frameworks for arguably the most used programming language in the world, JavaScript. You can build highly responsive, complex, and beautiful applications and hook them into any backend framework of your choice.</p><p>The specific vulnerability is a server-side prototype pollution. Every object in JavaScript <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">inherits</a> the base prototype Object. So, when you build object primitives in JavaScript, everything from a User to a Window<em> can use</em> the Object&#8217;s properties. Here&#8217;s a basic example courtesy of Claude:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2XUG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2XUG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 424w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 848w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 1272w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2XUG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png" width="1456" height="991" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f78881e4-eb41-4697-bd41-814692a18270_2896x1972.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:991,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:389113,&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/181124037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.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_!2XUG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 424w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 848w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.png 1272w, https://substackcdn.com/image/fetch/$s_!2XUG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78881e4-eb41-4697-bd41-814692a18270_2896x1972.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>A <code>person</code> is an object with property: <code>name</code>. On line 6, you can call <code>person.toString()</code>, but <code>person </code>doesn&#8217;t have a <code>toString </code>method. That&#8217;s because all objects in JavaScript inherit Object by default, and as you can see from Line 15-19, it&#8217;ll continue &#8220;calling&#8221; up the Object chain until it reaches something it does inherit, such as <code>toString</code>!</p><p>This is where things get interesting for React2Shell. If you can control the input to a JavaScript function in React, such that you can supply or override functions, you can achieve arbitrary code execution. This is the premise behind React2Shell.</p><p>My colleagues at Datadog wrote about this in an excellent <a href="https://securitylabs.datadoghq.com/articles/cve-2025-55182-react2shell-remote-code-execution-react-server-components/">post</a> detailing the vulnerability details:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i2f3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i2f3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 424w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 848w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 1272w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i2f3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:469873,&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/181124037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.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_!i2f3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 424w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 848w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.png 1272w, https://substackcdn.com/image/fetch/$s_!i2f3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e4f72a-8940-4470-bc61-9d836403497c_3660x2332.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 payload is from lines 4-15. The prototype pollution to override <code>then</code> on line 5. The actual malicious payload is under <code>_prefix</code> on line 10. This is a shell execution command so, if a vulnerable React server processes this specific payload, the server will call out to a shell and write the output of <code>id</code> to <code>/tmp/pwned</code>.</p><p>React&#8217;s vulnerable codepath processes HTTP POST requests with the `Next-Action` header and attempts to deserialize the payload as a React Server Component action. During deserialization, React splits references like <code>$1:__proto__:then</code> on colons and traverses the property chain, inadvertently accessing Object.prototype when it hits <code>__proto__</code> and boom, Object is polluted!</p><h3>Why is this such a big deal?</h3><p>React2Shell had the right ingredients to make it a serious vulnerability with an industry-wide response. These ingredients included a CVSS 10 score with potential remote code execution, a <a href="https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc">PoC</a>, a <a href="https://react2shell.com/">website</a>, a <a href="https://github.com/facebook/react/pull/35277">reference to a patch</a> to reverse-engineer, and some <a href="https://doublepulsar.com/cybersecurity-industry-overreacts-to-react-vulnerability-starts-panic-burns-own-house-down-again-e85c10ad1607">hype</a> on social media. Organizations rushed to find exposure and a patch, and some <a href="https://blog.cloudflare.com/5-december-2025-outage/">accidentally took down</a> their global CDN network in the process. There were exploitation attempts in the wild (Greynoise has <a href="https://www.greynoise.io/blog/cve-2025-55182-react2shell-opportunistic-exploitation-in-the-wild-what-the-greynoise-observation-grid-is-seeing-so-far">a great writeup</a> on this). My $dayjob saw our environments get <a href="https://securitylabs.datadoghq.com/articles/cve-2025-55182-react2shell-remote-code-execution-react-server-components/#analysis-of-exploitation-activity">hit hard</a> once more PoCs started to drop.</p><p>The hard part here, as <a href="https://doublepulsar.com/cybersecurity-industry-overreacts-to-react-vulnerability-starts-panic-burns-own-house-down-again-e85c10ad1607">Kevin Beaumont</a> points out, is the environmental context when deploying this version of React Server Components with the Next.js router. A lot of prerequisites were required, not for the exploit itself, but for the stack that needed to be deployed, which had the vulnerable code path. And if you didn&#8217;t have any of these web servers exposed to the Internet, the urgency factor of patching diminished.</p><p>But was there as much impact as Log4Shell?</p><p>The answer is a resounding no, but with a big asterisk*. Nothing compares to Log4Shell, as it truly was a black swan event in vulnerability land. But this is the problem with emerging news around vulnerabilities. We make comparisons to make sense of the chaos, and try to use that to inform urgency. So although this turned out to be mostly fine from an impact point of view, <strong>I believe we correctly placed the right amount of urgency to do something</strong>.</p><p>It&#8217;s a net positive for an industry that has a reputation for crying wolf over the smallest things. It means we are getting smarter at identifying the prerequisites for a black swan event and being okay with it not happening, because we still protected ourselves.</p><p>Firm handshakes to all who responded within the last week!</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/Bert-JanP/KustoHawk/">Bert-JanP/KustoHawk</a></p><p>Powershell-based incident and triage platform for Azure environments. It uses the Microsoft Graph API to query for events related to Entra, Defender and Microsoft XDR. It has pre-baked queries so you can run investigations out of the box.</p><div><hr></div><p><a href="https://github.com/xorhex/BinYars">xorhex/BinYars</a></p><p>Binary Ninja plugin to run YARA-x rules inside a binja project. This is useful for reverse engineering workflows where you want to orient your understanding of the binary based on threat intelligence baked into YARA rules.</p><div><hr></div><p><a href="https://github.com/msanft/CVE-2025-55182">msanft/CVE-2025-55182</a></p><p>Fully contained PoC environment for React2Shell. The README also has a great explanation of the vulnerability and exploit chain. </p><div><hr></div><p><a href="https://github.com/qazbnm456/awesome-cve-poc">qazbnm456/awesome-cve-poc</a></p><p>Yet another awesome-* list, but similar to the CVE-2025-55182 repository I linked above, contains references for all kinds of PoC code and environments for testing. I&#8217;ve found these most useful for when I need to capture telemetry and write rules in an environment that doesn&#8217;t mind getting exploited ;). </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 #139 - Detection Surface, Frontier Models are good at SecOps & THREE YEAR ANNIVERSARY!]]></title><description><![CDATA[I graduated from the terrible twos to a threenager]]></description><link>https://www.detectionengineering.net/p/dew-139-detection-surface-frontier</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-139-detection-surface-frontier</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 03 Dec 2025 13:03:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!48Lv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #139 of Detection Engineering Weekly!</p><h3>It&#8217;s crazy to think that it&#8217;s been three years of doing this newsletter.</h3><p>Thank you all for making this a fantastic ride. Since I like stats and insights, here are some I pulled:</p><ul><li><p>15,000 subscribers as of Monday :)</p></li><li><p> 138 issues in total, so not perfect, 156 straight issues, 20 weeks of downtime sounds nice to me</p></li><li><p>Two kids, one major interstate move, one grad degree and no new tattoos, though I should commemorate this somehow and get a new one :) </p></li><li><p>At least one subscriber in all 50 states in the US. California, Texas, NY, Virginia and Florida are the top 5 most-subbed states</p></li><li><p>Subscribers from 153 countries across every continent. Substack doesn&#8217;t track Antarctica :(. US, India, UK, Canada &amp; Australia are the top 5 most-subbed countries</p></li><li><p>If you like reading <strong><a href="https://www.linkedin.com/in/rosshaleliuk/">Ross Haleliuk</a></strong>, there&#8217;s a 30% chance you are also reading me. We have the top audience overlap! <strong><a href="https://www.linkedin.com/in/ecapuano/">Eric Capuano</a></strong>, <strong><a href="https://www.linkedin.com/in/jakecreps/">Jake Creps</a></strong>, <strong><a href="https://www.linkedin.com/in/resilientcyber/">Chris Hughes</a></strong> and <strong><a href="https://www.linkedin.com/in/francis-odum-0a8673100/">Francis Odum</a></strong> are also fantastic newsletters with high overlap</p></li><li><p>I started sponsored ad placements in September and have been booked every week since then, and 2026 is looking even crazier</p></li></ul><h3><strong>This Week&#8217;s Sponsor: root</strong></h3><blockquote><h3><strong>Why Detection Teams Need Minute-Level Remediation</strong></h3><p>When <strong>CVE-2025-65018</strong> dropped last week (libpng heap buffer overflow, CVSS 7.1-9.8), the exposure window started ticking. Attackers armed with AI can weaponize CVEs within hours. Traditional remediation workflows take 2-4 weeks: triage meetings, engineering scramble, testing delays.</p><p>But here&#8217;s what detection engineers need to know: the exposure window is where attackers win. The Root team patched the critical CVE in 42 minutes across three Debian releases (Bullseye, Bookworm, Trixie), creating a fundamentally different detection posture than the same CVE unpatched for weeks. Detection strategies must account for minute-level remediation capabilities.</p><p>Learn what CVE-2025-65018 teaches us about matching attackers at AI speed and why week-level remediation cycles leave detection teams with massive blind spots.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.root.io/blog/cve-2025-65018-advisory?utm_campaign=31125409-December%202025%20-%20Detection%20Engineering%20Weekly&amp;utm_source=dew&amp;utm_medium=newsletter&amp;utm_content=cve%202025%2065018%20advisory&quot;,&quot;text&quot;:&quot;Full Story&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.root.io/blog/cve-2025-65018-advisory?utm_campaign=31125409-December%202025%20-%20Detection%20Engineering%20Weekly&amp;utm_source=dew&amp;utm_medium=newsletter&amp;utm_content=cve%202025%2065018%20advisory"><span>Full Story</span></a></p></blockquote><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><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://jonschipp.substack.com/p/turning-visibility-into-defense-connecting">Turning Visibility Into Defense: Connecting the Attack Surface to the Detection Surface</a> by Jon Schipp</p><p>I&#8217;ve been shilling the term &#8220;Attack Surface&#8221; with the detection team here at work. I think it&#8217;s a reasonable mental model to use when you need to focus detection efforts on your inventory and telemetry sources. So, when I read this post by Schipp, I was pleased to see a similar framing of the Attack Surface problem :). </p><p>The security industry has a good idea of what an attack surface is. It even has a product category vertical dedicated to it, but the definition becomes vague when you differentiate between internal and external attack surfaces. According to Schipp, the definition should focus on the assets you need to protect, which, in general, I agree with. <a href="https://www.detectionengineering.net/i/167435526/there-is-no-rule-without-telemetry">There is no rule without telemetry</a>, and it&#8217;s nearly a full-time job for detection engineers to identify, track, and ship the right telemetry so we can write detections.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!48Lv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!48Lv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 424w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 848w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!48Lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png" width="1456" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&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;: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_!48Lv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 424w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 848w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!48Lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1ed63a2-936d-41f5-ae93-98b7bae84ea0_2178x1532.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 Schipp&#8217;s blog</figcaption></figure></div><p>Schipp takes this a step further with the concept of &#8220;detection surface&#8221;. The adversarial behavior you want to detect can only be detected in a subset of the assets that you own. He lists a few reasons why:</p><ul><li><p>Do you have the right technology selected to generate the right telemetry and alerts on top of the assets you own?</p></li><li><p>Are you prioritizing the correct detections to find adversarial behavior in the assets you find the most critical?</p></li><li><p>How do you find new gaps in coverage, and are you doing the exercise enough as your attack surface grows?</p></li></ul><p>These questions are why the 100% MITRE coverage meme exists in our space. You may write rules that cover 100% of ATT&amp;CK, but are they detecting the right behavior given your environment? I&#8217;d much rather look at a MITRE ATT&amp;CK heatmap with deep coverage in two tactics, like Exfiltration and Lateral Movement, so I know the team is really focusing on specific behaviors to catch. </p><p>If you want to see a visceral physical reaction from me, throw a print-out of an ATT&amp;CK heatmap that&#8217;s all green. I&#8217;ll probably run away screaming.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://cotool.ai/blog/evaluating-ai-agents-in-security-operations">Evaluating AI Agents in Security Operations Part 1</a> and <a href="https://cotool.ai/blog/evaluating-gpt-5-1-claude-opus-4-5-and-gemini-3-pro-ai-agents-in-security-operations">Part 2 </a>by Eddie Conk</p><p>~ Note, I had Part 1 ready to go for this week&#8217;s issue and Conk &amp; the cotool team posted Part 2. It&#8217;s important to read Part 1 so you can understand my analysis for their follow-up blog! ~ </p><p>I loved reading this post because it shows how detection-as-code evolves beyond your ruleset into AI agents that handle everything from rule triage to investigations. Cotool researchers performed a benchmarking analysis of frontier models (GPT-5, Claude Sonnet &amp; Gemini) against Splunk&#8217;s <a href="https://github.com/splunk/botsv3">Botsv3</a> dataset. Botsv3 is a security dataset containing millions of logs from real-world attacks, along with a series of questions in a CTF-like format for analysts to practice investigations.</p><p>Benchmark exercises like this answer more than &#8220;are these models accurately performing security tasks?&#8221; LLMs are cost-prohibitive, as in, they require financial capital to use the frontier model APIs, and human capital to shape, maintain, and verify results. AI agent efficacy is detection and investigation efficacy. Understanding ahead of time which agents perform well within the constraints of your business can accelerate decision-making. </p><p>Here are some of the results pasted from the blog:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dJRe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dJRe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 424w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 848w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 1272w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dJRe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png" width="664" height="491.61538461538464" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1078,&quot;width&quot;:1456,&quot;resizeWidth&quot;:664,&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_!dJRe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 424w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 848w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.png 1272w, https://substackcdn.com/image/fetch/$s_!dJRe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f92184b-a16c-4f41-bfc7-639ae89c5c7a_3016x2232.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 test harness for accuracy involved taking the individual CTF questions from Botsv3 and mapping them to investigative queries. Conk and team had to remove some bias from these questions because they were built as a progressive CTF. Basically, this means that answering one CTF question unlocked the next sequential question, and that sequential question could bias the investigation. </p><p>The latest frontier models from OpenAI and Anthropic outperformed Gemini here, but I was surprised to see 65% as a leading score.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jY3S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jY3S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 424w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 848w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 1272w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jY3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png" width="638" height="428.1085164835165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:977,&quot;width&quot;:1456,&quot;resizeWidth&quot;:638,&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_!jY3S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 424w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 848w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.png 1272w, https://substackcdn.com/image/fetch/$s_!jY3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8a46e1-b653-4bed-8aa5-5a2cbe1e2234_3804x2552.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>Model investigative speed now enters the equation, and Anthropic&#8217;s Opus-4.5 beat the brakes off of every other model, including Haiku and Sonnet. This is good for teams who want to tune something to be fast and accurate, which seems like a good tradeoff, and it&#8217;s off to the races, right? Well, remember, detection efficacy means cost as much as it means accuracy, and the frontrunner, Opus-4.5, costs a little over $5 per investigation versus GPT-5.1&#8217;s $1.67.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FjI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FjI8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 424w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 848w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 1272w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FjI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png" width="638" height="506.1057692307692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1155,&quot;width&quot;:1456,&quot;resizeWidth&quot;:638,&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_!FjI8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 424w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 848w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.png 1272w, https://substackcdn.com/image/fetch/$s_!FjI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea9906d-13ce-473b-987c-d448c8892702_3016x2392.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 are a few other interesting callouts in the blog around token usage, but these three axes were the most relevant for people who need to balance accuracy, speed, and cost. </p><p>The detection community needs data like this to make cost-efficacy tradeoffs for their teams. Hopefully, we can see more studies comparing models, cost, and prompt strategies, and even better, releasing bootstrapping mechanisms to run these tests on our own.</p><div><hr></div><p><a href="https://opensourcemalware.com/">OpenSourceMalware</a> - Community Threat Database</p><p>This is a freely available threat intelligence database for reporting and tracking malicious open-source package malware. This is especially relevant for emerging threats, such as the Shai-Hulud attack, and it&#8217;s crazy to see how many packages are submitted nearly every day. If you sign in, you can view additional analysis details of the malware submitted by researchers.</p><p>Unfortunately, there are no direct IOCs on the page, so it&#8217;s hard to pivot to hashes if you want to download them from platforms like VirusTotal. It does link to sources like <a href="http://osv.dev">osv.dev</a> , which sometimes contain hashes, but it&#8217;d be nice to see this platform host malware samples for download.</p><div><hr></div><p><a href="https://blog.gigamon.com/2022/08/05/revisiting-the-idea-of-the-false-positive/">Revisiting the Idea of the &#8220;False Positive&#8221;</a> by Joe Slowik</p><p>This oldie-but-goodie blog by Joe Slowik on the concept of false positives in security operations really drives home the underlying issues of the label. He first frames the idea of labels like true and false positives in terms of their origins in statistics. I wrote about <a href="https://www.detectionengineering.net/i/168641940/scaling-security-operations-is-an-optimization-problem">these labels</a> previously, and I tried to help readers understand that their value is directly proportional to the capacity of your security operations team.</p><p>Slowik goes in the other direction in terms of their value; instead of thinking about units of work, you should think about these labels in terms of the underlying behavior and hypothesis. Analysts talk about &#8220;true benigns&#8221; in this way. You alerted on the specific behavior you wanted to alert on, but you want to investigate further to determine whether it is malicious. This breaks the pure 1-shot application of a <a href="https://en.wikipedia.org/wiki/Confusion_matrix">confusion matrix</a> and adds more work for security analysts, since we need to question our underlying assumptions about a specific detection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WNWj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WNWj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 424w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 848w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WNWj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:357287,&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/180428960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.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_!WNWj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 424w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 848w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!WNWj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ea67526-17c7-4d9a-a0ac-051ea216e881_2042x1184.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">Recreated flow diagram from Slowik&#8217;s post</figcaption></figure></div><p>Challenging the hypothesis behind your detections aligns well with my discussion of security operations capacity versus efficacy. Here are a few questions I would ask you during this exercise:</p><ul><li><p>Are you finding the right behaviors that could indicate maliciousness?</p></li><li><p>Are you okay with these behaviors generating true benign alerts, because the idea of a false negative with that behavior is detrimental?</p></li><li><p>Can the behavior you are looking for be enriched with environmental context, such as update cycles, peak traffic, or off-hours traffic?</p></li></ul><p>The core of detection engineering is challenging assumptions. I hate the adage of &#8220;defenders have to be right every time, attackers have to be right once.&#8221; Finding a singular behavior to alert on across the attack chain gives us the advantage, so we really only need to be right once. So, as you build hypotheses and detection rules, you should balance what you want to see from a detection, even if it&#8217;s true benign behavior.</p><div><hr></div><p><a href="https://medium.com/@harrisonpomeroy/intel-to-detection-outcomes-5bd0b4485ed1">Intel to Detection Outcomes</a> by Harrison Pomeroy</p><p>This is a nice introductory post to leveraging threat intelligence in <a href="https://detections.ai">detections.ai</a> to generate detection outcomes. Full transparency: the platform has sponsored this newsletter, but it also has a community edition, so folks can sign up to benefit. </p><p>One of the hardest problems in cyber threat intelligence that I&#8217;ve dealt with for 15 years is proving tangible value. This is different than <em>intangible value</em>. The delivery of finished intelligence reports, RFIs, and investigative platform experiences can be considered intangible. You miss these things when you don&#8217;t have them, but it&#8217;s hard to measure the &#8220;why&#8221; behind the impact of a report or an RFI.</p><p>Detection engineering helps bridge this gap, specifically by enabling cyber threat intelligence teams to turn their research into tangible outcomes. This is what Pomeroy argues LLMs can do. You can feed an agent a cyber threat intelligence report, it can parse IOCs, TTPs, and log sources, and it can generate rules for you to try out and deploy to get up-to-date coverage of emerging threats.</p><div><hr></div><p><a href="https://detect.fyi/introducing-lumen-your-evtx-companion-850c49073485">Introducing LUMEN: Your EVTX Companion</a> by Daniel Koifman</p><p>This is the release blogpost for Daniel Koifman&#8217;s LUMEN project, located at <a href="https://lumen.koifsec.me/">https://lumen.koifsec.me/</a>. It&#8217;s a free tool for investigators and incident responders to load Windows <code>evtx</code> files for analysis. There are over 2,000 preloaded Sigma rules, and the entire analysis engine is run client-side. You can do several things once you load your logs in, such as running a sweep of the Sigma ruleset, building a dashboard on fired rules, building an attack timeline, and extracting IOCs. It has a feature to connect your favorite LLM platform to the tool using an API key and leveraging it for AI copilot capabilities. </p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://krebsonsecurity.com/2025/11/meet-rey-the-admin-of-scattered-lapsus-hunters/">Meet Rey, the Admin of &#8216;Scattered Lapsus$ Hunters&#8217;</a> by Brian Krebs</p><p>This is a classic Krebs doxing piece unveiling the identity of one of the main personas of The Com group, Scattered Lapsus$ Hunters. Rey was an administrator of one of the Com-aligned ransomware strains, ShinySp1d3r. It&#8217;s always crazy how he manages to pull the attribution thread to find these identities. An old message from Rey contained a joke screenshot of a scam email they received with a unique password. From there, he pivoted on the password to find more breach data tying Rey to a real person. Since Rey didn&#8217;t respond to him, Brian called his dad, and of course, Rey responded.</p><div><hr></div><p><a href="https://securitylabs.datadoghq.com/articles/shai-hulud-2.0-npm-worm/">The Shai-Hulud 2.0 npm worm: analysis, and what you need to know</a> by Christophe Tafani-Dereeper and Sebastian Obregoso</p><p>~ Note, I work at Datadog, and Christophe &amp; Sebastian are my coworkers! ~</p><p>It&#8217;s rare to see the term <em>worm</em> inside a headline these days. It&#8217;s a rare label for a unique security phenomenon, and the idea still holds firm, this time targeting npm (again). The Datadog Security Research team put a lot of time and energy into their analysis of the latest Shai-Hulud wave. Some interesting notes from this campaign include using previous victims to post new victim data, a wiper component, and a clever local GitHub Actions persistence mechanism.</p><div><hr></div><p><a href="https://socket.dev/blog/north-korea-contagious-interview-npm-attacks">Inside the GitHub Infrastructure Powering North Korea&#8217;s Contagious Interview npm Attacks</a> by Kirill Boychenko</p><p>Boychenko and the Socket Research team published their latest work on TTP updates to North Korea&#8217;s &#8220;Contagious Interview&#8221; campaign. It&#8217;s an impressive operation, given the scale they try to employ, aiming to conduct as many malicious interviews as possible. In this campaign, they tracked 100s of malicious packages, each with over 31,000 downloads. The factory-style setup of rolling new GitHub users with the malicious interview code, fake LinkedIn profiles, and rotating C2 servers is classic Contagious Interview.</p><div><hr></div><p><a href="https://medium.com/@meeswicky1100/unmasking-a-new-dprk-front-company-dredsoftlabs-bf9ed544d690">Unmasking a new DPRK Front Company DredSoftLabs</a> by Mees van Wickeren</p><p>To continue on the DPRK train, I found this post fascinating because it wasn&#8217;t about the malware associated with WageMole/Contagious Interview, but rather the techniques behind tracking infrastructure. Van Wickeren leveraged the reliable GitHub search engine to find malicious repositories linked to the campaign. </p><p>I was a little confused by their use of WageMole, only from a pure clustering nerd perspective. These look like Contagious Interview repositories, and the associated OSINT screenshots that call out some of them suggest that victims were taking malicious coding tests. WageMole, on the other hand, is a fake IT worker applying to companies. </p><p>At the end of the day it doesn&#8217;t matter too much because they all overlap, but its another demonstration of how hard it is to do attribution in this field.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/Koifman/LUMEN">Koifman/LUMEN</a></p><p>Full LUMEN web-app from Daniel Koifman&#8217;s blog in State of the Art above. You can host your own LUMEN instance without ever leaving your localhost! </p><div><hr></div><p><a href="https://github.com/Vyntral/god-eye">Vyntral/god-eye</a></p><p>Subdomain and attack surface enumeration tool that leverages local Ollama for AI analysis on top. It&#8217;ll connect to twenty different open-source scanning and directory services, like dnsdumpster, then push results into the local Ollama model. It looks intelligent enough to help with HTTP probing, CVE analysis, and sifting through Javascript code for anything leaked or vulnerable to standard web attacks.</p><div><hr></div><p><a href="https://github.com/R3DRUN3/magnet">R3DRUN3/magnet</a></p><p>Magnet leverages the GitHub API and specific query strings to find potential secrets posted to public repositories. You can specify strings or use ones provided by magnet. In their PoC, R3DRUN3 managed to find two repositories with leaked tokens, then responsibly reached out to them to provide remediation steps, and they responded.</p><div><hr></div><p><a href="https://github.com/ChiefGyk3D/pfsense-siem-stack">ChiefGyk3D/pfsense-siem-stack</a></p><p>SIEM-in-a-box for pfSense firewalls. It has an impressive architecture: OpenSearch backend, parsers in Logstash and uses Grafana/InfluxDB for metrics. It looks like they&#8217;ll be extended the SIEM backend to other open-source SIEMs like Wazuh in the future.</p><div><hr></div><p><a href="https://github.com/RazviOverflow/advent-of-hacks">RazviOverflow/advent-of-hacks</a></p><p>Awesome-* style list of hacking challenges for the holiday season. So far they have 8 listed, so if you wanted to spend some time this December to up your hacking and CTF knowledge you have your work cut out for you!</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 #138 - Sigma's Detection Quality Pipeline, Anthropic finds AI-first APT & eBPF shenanigans]]></title><description><![CDATA[vibing APTs, we really out here frfr]]></description><link>https://www.detectionengineering.net/p/dew-138-sigmas-detection-quality</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-138-sigmas-detection-quality</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 19 Nov 2025 13:03:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lrXp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #138 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack:</p><ul><li><p>I switched to the Brave browser, and I don&#8217;t think I&#8217;m ever looking back</p></li><li><p>My coworker suggested I go to a Tottenham Hotspur match while I&#8217;m in London. I&#8217;m a fan of one of the most insane fanbases in the NFL, where we <a href="https://www.youtube.com/shorts/thLbY9W9WrE">jump</a> <a href="https://www.youtube.com/shorts/AZIg3r0gcY8">through</a> <a href="https://www.youtube.com/shorts/UuQ3IQhUpyQ">folding</a> tables set aflame before games, and I feel that same energy from the Spurs YouTube shorts I&#8217;m watching during my research</p></li><li><p>I fractured my rib 5 weeks ago and I&#8217;m finally back (carefully) training. It feels good to move again!</p></li></ul><h3><strong>This Week&#8217;s Sponsor: Sublime Security</strong></h3><blockquote><h3><strong>Tomorrow: Intro to MQL, Threat Hunting, and Detection in Sublime</strong></h3><p><strong>We invite Detection Engineering Weekly</strong> subscribers to join a technical webinar that will guide you through how Sublime Security detects advanced email threats. Learn how MQL (Sublime&#8217;s native detection language), threat-hunting workflows, Lists, Rules, Actions, and Automations all contribute to a flexible detection pipeline. </p><p>Additionally, discover how our Autonomous Security Analyst (ASA) accelerates investigations.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://sublime.security/events/intro-to-mql-threat-hunting-and-detection-in-sublime/?utm_source=det-wkly&amp;utm_medium=email-newsletter&amp;utm_campaign=intro-to-mql-webinar&quot;,&quot;text&quot;:&quot;Register today!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://sublime.security/events/intro-to-mql-threat-hunting-and-detection-in-sublime/?utm_source=det-wkly&amp;utm_medium=email-newsletter&amp;utm_campaign=intro-to-mql-webinar"><span>Register today!</span></a></p></blockquote><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><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://blog.sigmahq.io/sigmahq-quality-assurance-pipeline-d99eaba1760e">SigmaHQ Quality Assurance Pipeline</a> by Nasreddine Bencherchali</p><p>Many people claim to use detection-as-code, but I rarely see these pipelines discussed as transparently as those from SigmaHQ. In this post, Nasreddine provides readers with a complete overview of how Sigma&#8217;s community ruleset repository manages community contributions. Documentation is essential here: the Sigma team ensures that every community rule adheres to a specification, so they all appear the same, even down to the <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/sigmahq/sigmahq-filename-convention.md">filename</a>. Here&#8217;s their Linux rule specification:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lrXp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lrXp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 424w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 848w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 1272w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lrXp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png" width="1456" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.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;:2276818,&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/179159013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.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_!lrXp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 424w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 848w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.png 1272w, https://substackcdn.com/image/fetch/$s_!lrXp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67215b41-41fd-4fd2-94dd-cdd024b6cc2d_3680x2284.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>I love the attention to detail here. When you have a ruleset of thousands of rules, you need to ensure consistency in every step of the detection engineering process. It may not matter to have these conventions when you are a single team managing dozens of rules, but when you are a <a href="https://github.com/SigmaHQ/sigma?tab=readme-ov-file#-maintainers">five-person team</a> managing 1000s, it makes the ruleset more attractive for others to use and also keeps you sane.</p><p>The coolest part here, IMHO, is the combination of benign and malicious log validation tests. Each rule in each pull request undergoes several validators, followed by a <code>good-log</code> test and regression testing. The <code>good-log</code> test takes candidate rules and runs them across the <a href="https://github.com/NextronSystems/evtx-baseline">evtx-baseline</a> repository. If a rule generates an alert, then it must be a false positive, and the pipeline fails.</p><p>Separately, the regression testing pipeline ensures that a change in the rules doesn&#8217;t introduce any regressions that could cause false negatives and forces submitters to contribute a sample of a malicious log to validate its usefulness. The maintainers may also request reference links to blogs, threat intelligence websites such as VirusTotal, and even malware sandboxes to ensure they understand the efficacy of the rule before merging.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://substack.bomfather.dev/p/stopping-kill-signals-against-your">Stopping kill signals against your eBPF programs</a> by Neil Naveen</p><p>This post is an excellent study in the cat-and-mouse game of threat detection on Linux systems. For the most part, eBPF-style security agents are the de facto standard for telemetry inspectability and detection &amp; response. We&#8217;ve seen a lot of research <a href="https://www.detectionengineering.net/i/174874218/detection-engineering-gem">in</a> <a href="https://www.detectionengineering.net/i/150917298/detection-engineering-gem">this</a> <a href="https://www.detectionengineering.net/i/131232749/state-of-the-art">newsletter</a> on how effective threat actors on Windows spend time trying to disable EDRs to go unnoticed during their operations. But, I have seen few, if any, research on how to protect against eBPF attacks on Linux until I read Naveen&#8217;s research here.</p><p>When you want to terminate an eBPF agent, you&#8217;ll need Administrator privileges to do so, as they run as <a href="https://man7.org/linux/man-pages/man7/daemon.7.html">Linux daemons</a>. If someone <em>did</em> manage to get permissions, you could send a <code>kill</code> signal to the process and then Bob&#8217;s your uncle. But what if you wanted to add extra steps to collect even more telemetry and find a compromise? Naveen came up with two options:</p><ul><li><p>Using eBPF to hook <code>kill</code> and never let anything kill it</p></li><li><p>Leveraging cryptographically signed nonces as an added layer of assurance to accept a <code>kill</code> signal, and to keep your sanity because you just locked yourself out from restarting the agent</p></li></ul><p>I&#8217;ve been doing Linux development, both offensively and defensively, for over a decade. This is probably the first time I&#8217;ve seen a clever application of cryptography to give a defense-in-depth approach to Linux detection &amp; response. Here&#8217;s Naveen&#8217;s workflow comparing and contrasting a standard public-private key setup to a nonce-based signature <code>kill</code> methodology:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iqrh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iqrh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 424w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 848w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iqrh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png" width="547" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:547,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178728,&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/179159013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.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_!iqrh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 424w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 848w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!iqrh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cbe1661-047a-4b91-9620-08278071c6dd_547x1000.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">Example signature flow from Naveen&#8217;s post</figcaption></figure></div><p>Of course, actors can also do fun stuff where they attack the Network stack directly and prevent the agent from reaching out to your security vendor&#8217;s domain for additional alerting.</p><div><hr></div><p><a href="https://medium.com/@vanvleet/technique-research-reports-capturing-and-sharing-threat-research-003c80ac9a4d">Technique Research Reports: Capturing and Sharing Threat Research</a> by Andrew VanVleet</p><p>This post serves as a follow-up to VanVleet&#8217;s <a href="https://medium.com/@vanvleet/technique-analysis-and-modeling-ffef1f0a595a">research</a> into detection data models (DDMs). DDMs are a form of documentation for detection engineers to help transcribe knowledge from an attack technique into actionable detection opportunities. But, there&#8217;s always more to a detection rule than the specific telemetry it&#8217;s trying to capture. This is where VanVleet introduces Technique Research Reports (TRRs).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cpHq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cpHq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 424w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 848w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 1272w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cpHq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png" width="454" height="138" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:138,&quot;width&quot;:454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41452,&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/179159013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.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_!cpHq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 424w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 848w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 1272w, https://substackcdn.com/image/fetch/$s_!cpHq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfe1d2f-ec1d-41bd-b201-a5afe28f28a0_454x138.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><p>The idea behind these reports is to capture the research knowledge surrounding the technique and rule. This is probably the most challenging part of our jobs, because individual research methodologies vary, and you may be an expert in a specific attack surface or style of attack, but it doesn&#8217;t do your team any favors if you can&#8217;t help them learn <em>how</em> you arrived to a rule. It&#8217;s even worse if you leave the team, and folks are left trying to understand the specifics of the attack, as well as the environmental context and the research you&#8217;ve performed.</p><p>I do see a lot of similarity with MITRE ATT&amp;CK&#8217;s <a href="https://www.detectionengineering.net/i/177794394/detection-engineering-gem">recent v18 launch</a>, specifically Detection Strategies. &#8220;Identify possible telemetry&#8221; is, in general, where Detection Strategies stop and TRR reports begin. Log sources are environment-specific, and although you may have Sysmon, EDR, or syslog logs, they can become nuanced based on your environment setup. For example, a CrowdStrike vs. SentinelOne query will affect your log source query.</p><p>They are incredibly comprehensive write-ups, or &#8220;lossless&#8221; research reports, as VanVleet calls them. For example, the <a href="https://github.com/tired-labs/techniques/tree/main/reports/trr0014/ad">TRR for DCShadow attacks</a> is a fantastic resource for detection engineers to understand the intricacies of a Rogue DC attack. It can be a blog post in its own right. However, this is where the tradeoff between documentation quality and the velocity of maintaining a ruleset comes into play.</p><p>I love this research, but given how much valuable time he invested in it, it may not be conducive to productivity unless your leadership time allows you to do so. I also worry about drift in techniques and telemetry sources, which can make some of these outdated. LLMs could help solve some of this because they are generally very good at parsing and maintaining knowledge bases.</p><div><hr></div><p><a href="https://medium.com/@matthewts/weird-is-wonderful-b7b44934b692">Weird Is Wonderful</a> by Matthew Stevens</p><p>This is a short-but-sweet commentary on the role of detection engineers and how we need to &#8220;catch the weird.&#8221; It&#8217;s always nice for me to see fresh takes on concepts I&#8217;ve talked and read about for years. When folks try to break into this industry, they are sometimes bombarded with extremely technical concepts, complex environments, and a wide array of technologies they must learn before they feel useful. But, sometimes, it&#8217;s nice to hear from others who can distill complicated subjects into easy-to-understand concepts.</p><p>Catching weird, to me, is the idea that we all succeed at our jobs when we can distinguish normal from malicious. Weird may not be malicious, so having some intuition around things that look off can help solidify the baseline of normal in your environment versus something not normal. It&#8217;s a professional paranoia, of sorts :).</p><div><hr></div><p><a href="https://blog.grumpygoose.io/be-kvm-do-fraud-8ab523d26c9d">Be KVM, Do Fraud</a> by Grumpy Goose Labs / wav3</p><p>This is a follow-up post to Grumpy Goose Labs&#8217; research on hunting for <a href="https://blog.grumpygoose.io/hold-me-closer-tinypilot-f94455431921">KVM switches</a> to detect fraudulent employees. It&#8217;s full of Kim Jong-un memes, but there are excellent technical details around detecting KVM switches in your environment. The author, wav3, uses CrowdStrike as their example, and managed to dump a bunch of information on how to hunt indicators ranging from KVMs, Display settings and product indicators so you can see who among your workforce may employ some of these risky devices. </p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><h3><strong>&#9889; Emerging Threats Spotlight: Anthropic Disrupts First AI-Orchestrated Cyber Espionage Campaign</strong></h3><p><a href="https://assets.anthropic.com/m/ec212e6566a0d47/original/Disrupting-the-first-reported-AI-orchestrated-cyber-espionage-campaign.pdf">Disrupting the first reported AI-orchestrated cyber espionage campaign</a> by Anthropic</p><p>Last week, the threat intelligence team at Anthropic disclosed the disruption of the &#8220;first-ever&#8221; AI-orchestrated espionage campaign by a Chinese Nexus threat actor. GTG-1002 is the designation for this threat cluster, and they attributed with high confidence to a Chinese state-sponsored operation. In this summary, I&#8217;ll break down the architecture and Anthropic&#8217;s analysis of the attack workflow, share my commentary on the parts of the report that I like and dislike, my medium-high confidence analysis of details missing from the report, and provide takeaways for detection engineers.</p><h4>Attack Architecture</h4><p>The most interesting aspect of this operation is that Anthropic had visibility into the orchestration layer of the threat activity, leveraging a combination of Claude and several MCP servers. They claim the threat group automated 80-90% of their operations autonomously, an impressive feat when you consider that this is a nation-state operation. GTG-1002 managed to jailbreak Claude into thinking it was talking to a red teamer, allowing them to instruct Claude to work on their behalf.</p><p> If you had told me last year that a nation-state would trust an AI system to execute its campaigns against victims, I would have (rudely) laughed in your face. But it looks pretty slick:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GrMf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GrMf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 424w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 848w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 1272w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GrMf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png" width="1456" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:269930,&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/179159013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.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_!GrMf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 424w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 848w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.png 1272w, https://substackcdn.com/image/fetch/$s_!GrMf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8311f620-ba3c-4f58-9bca-5b785e11dccd_1698x1046.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">Architecture diagram pulled from the Anthropic report.</figcaption></figure></div><p>For those with a <a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol </a>(MCP) server, it provides a standardized way to connect a human interface, such as chat or code editors, to external tools like APIs. AI applications like Claude can only use a small set of tools, so writing your own connectors to <a href="https://www.anthropic.com/engineering/writing-tools-for-agents">centralize your chat interface</a> to whatever toolset you want is a powerful feature of these platforms.</p><p>According to Anthropic, GTG-1002 built a suite of MCP servers that connected to several open-source toolsets dedicated to performing reconnaissance and fingerprinting, exploitation, post-compromise lateral movement and discovery, and eventually, collection and exfiltration. This is the impressive part of the operation: imagine an operator leveraging a chat interface to create a scalable infrastructure for red team operations, with the &#8220;backend&#8221; attack tool system handled by Claude and capable of scaling as needed. </p><p>The team claims that with their visibility in Claude usage, the operators automated 80% to 90% of their attacks. The remaining 10%-20% involved human verification at the &#8220;Report &amp; Analysis&#8221; step, as shown in the diagram above.</p><h4>Attack Flow</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8gl6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8gl6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 424w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 848w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8gl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png" width="1456" height="1177" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1177,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:414330,&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/179159013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.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_!8gl6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 424w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 848w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!8gl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012ec0ef-cf88-4510-885e-22ee878fbd51_1776x1436.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>Anthropic grouped their attack operations into five phases, as shown above. The &#8220;robot&#8221; in each phase serves as the MCP server, directing specific tools to perform tasks along the ATT&amp;CK killchain. The human icon next to the robots indicates a manual validation step by a human. These pit stops serve as a verification step to make sure that Claude is behaving correctly and not hallucinating.</p><p>In the report, the validation steps did result in a myriad of hallucinations. They claim Claude returned incorrect results, non-existent credentials, and the wrong IP addresses. So, although the attack flow diagram shows a clean, step-by-step process for the attack phase, these operations were frequently rerun. </p><h4>Pros &amp; Cons</h4><p>This report has received criticism from the security community since its publication. To me, it&#8217;s a landmark report and whether it&#8217;s a famous or infamous report, it has left it mark. I want to list both what I like and don&#8217;t like about it.</p><p><strong>What I like:</strong></p><ul><li><p>There&#8217;s an excellent demonstration of the unique visibility the Anthropic team has over attack infrastructure. It&#8217;s certainly a threat intelligence source that we can derive useful insights from, and foundational model companies like Anthropic and OpenAI can provide that</p></li><li><p>There is a specific call out around responsible disclosure to victim organizations. It shows the good intentions of the security team at Anthropic, and I hope to see more of that in the future</p></li><li><p>They admit shortcomings around how the actors performed jailbreaking to get Claude Code to help them with their operations, as well as limitations in hallucinations</p></li><li><p>The transparent technical context around the threat model of AI Trust was helpful to see and understand their day-to-day challenges</p></li></ul><p><strong>What I didn&#8217;t like:</strong></p><ul><li><p>They did not provide any indicators of compromise. No IPs, domains, hashes, signatures, or payload examples. It&#8217;s hard for research teams to verify findings independently.</p></li><li><p>The attribution is vague, and it reads like Anthropic intentionally redacted proof around this activity. Indicators of compromise could help with this</p></li><li><p>It reads as if these attacks were cloud-based instead of on-premise. I couldn&#8217;t parse out if this was differentiated, but it doesn't matter when it comes to the severity of a Chinese-nexus APT cluster. The callout about attacks against databases, internal applications, and container registries makes me think this is a cloud environment</p></li></ul><p>Overall, the report provides a net benefit to security teams on several fronts. The claim of an APT using modern AI architecture from Anthropic, rather than vendor marketing, is a step forward in our understanding of an evolving threat landscape.  It builds trust in Anthropic&#8217;s security team, which is one of the most used platforms for foundational models today. If we got this report from another vendor, we&#8217;d question the efficacy of their security program.</p><p>I think the feedback is valid regarding the value of threat intelligence, but I only see them improving from here.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/tired-labs/techniques">tired-labs/techniques</a></p><p>Technique Research Report dataset from VanVleet&#8217;s work above. It has extensive documentation of several attack techniques, and they fit the style-guide he talked about in his blog. It also includes a <a href="https://library.tired-labs.org/">link</a> to a frontend searchable library for those who don&#8217;t want to navigate the GitHub repository.</p><div><hr></div><p><a href="https://github.com/ricardojoserf/SAMDump">ricardojoserf/SAMDump</a></p><p>Volume Shadow Copy technique leveraging internal Windows APIs versus the command line. When you run the binary, it won&#8217;t generate any traditional Sysmon telemetry leveraging <code>vssadmin.exe</code>, which arguably makes it harder to detect. It has a few other tricks, including using NT API and avoids GetProcAddress usage. </p><div><hr></div><p><a href="https://github.com/reconurge/flowsint/">reconurge/flowsint</a></p><p>Open-source and graph-based OSINT tool that looks like a more modern take on Maltego. It has dozens of transforms, so you can get a good amount of functionality out of it to compete with Maltego. The differentiation here would be hosting something on your own, and if you require specific integrations, you&#8217;d have to build them yourself. </p><p></p><div><hr></div><p><a href="https://github.com/RootUp/git-fsmonitor">RootUp/git-fsmonitor</a></p><p>This is a fun initial access technique leveraging the <a href="https://git-scm.com/docs/git-fsmonitor--daemon">fsmonitor</a> capability of <code>git</code> clients. You edit the <code>git</code> configuration file and set the <code>fsmonitor</code> value to a shell script. When <code>git</code> is run, the shell script executes under the hood.</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 #137 - AI Agents For Security By Security, Free Sigma training & JA4 for beginners]]></title><description><![CDATA[The Louvre's WiFi password should've been ervouL]]></description><link>https://www.detectionengineering.net/p/dew-137-ai-agents-for-security-by</link><guid isPermaLink="false">https://www.detectionengineering.net/p/dew-137-ai-agents-for-security-by</guid><dc:creator><![CDATA[Zack Allen]]></dc:creator><pubDate>Wed, 12 Nov 2025 13:28:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DwCm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to Issue #137 of Detection Engineering Weekly!</p><p>&#9997;&#65039; Musings from the life of Zack in the last week:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DwCm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DwCm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DwCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg" width="438" height="453.13165266106444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4432,&quot;width&quot;:4284,&quot;resizeWidth&quot;:438,&quot;bytes&quot;:4584127,&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/178510701?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d978f8-ccab-41fa-91a8-d74175cd94a8_4284x5712.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_!DwCm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DwCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf880a4-ff0c-4ff3-9247-d05a963d59fa_4284x4432.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">hey you got a light? Nah Bud Light</figcaption></figure></div><ul><li><p>I was in LA for a wedding and went to Venice Beach for the first time. It was awesome seeing pros at the skatepark, jamskaters, live music, and of course, this ^^ MF DOOM mural</p></li><li><p>Speaking of LA, there are Waymos EVERYWHERE</p></li><li><p>It started snowing here in New England, and we celebrated by running outside barefoot for as long as my family could bare it</p></li></ul><h3><strong>This Week&#8217;s Sponsor: Nebulock</strong></h3><blockquote><h3><strong>Trust Your Intuition. Vibe Hunt for Outcomes.</strong></h3><p>Good hunters feel suspicious activity before the alert ever hits. Vibe Hunting allows you to lean into that intuition and combine it with machine reasoning to hunt across data and telemetry without juggling tools. Nebulock&#8217;s threat hunting agents connect the dots, explain reasoning, and deliver contextual recommendations.</p><p>Hunting becomes less about process and more about bridging hypotheses with detection.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://na2.hubs.ly/H0209m90&quot;,&quot;text&quot;:&quot;Start Vibe Hunting&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://na2.hubs.ly/H0209m90"><span>Start Vibe Hunting</span></a></p></blockquote><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><div><hr></div><h1><strong>&#128142; Detection Engineering Gem &#128142;</strong></h1><p><a href="https://cloud.google.com/transform/how-google-does-it-building-ai-agents-cybersecurity-defense/">How Google Does It: Building AI agents for cybersecurity and defense</a> by Anton Chuvakin and Dominik Swierad</p><p>I typically avoid including blogs from vendors that are high level concepts around complicated topics like security and AI. But, this blog struck a great balance between how they approached internal Google security engineers who were skeptic of leveraging AI in their day-to-day work. I think this approach can be copied for any security organization looking to augment their security operations with LLMs, as it focuses on small achievable wins grounded in risk reduction and reality versus &#8220;thinking big.&#8221;</p><p>Chuvakin and Swierad split this approach up into four steps:</p><ol><li><p><strong>Hands-on learning builds trust</strong>: You wouldn&#8217;t want to purchase a SIEM without having your Detection &amp; Response team understand how to use it, so why do the same thing with agentic systems?</p></li><li><p><strong>Prioritize real problems, not just possibilities</strong>: Ground your agentic problems in a space where you are already familiar with the problems. They list two prime examples every D&amp;R engineer could use to help with: analyzing large swaths of security data into insights, and quickly triaging malicious code to understand its function</p></li><li><p><strong>Measure, evaluate, and iterate to scale sucessfully</strong>: This section uses the dirty word/acronym &#8220;KPI&#8221; (cringes in business school). Instead, they gut-check success by asking two critical questions: &#8220;Did this meaningfully reduce risk?&#8221; and &#8220;What amount of repetitive tasks did this automate and free up capacity?&#8221;</p></li><li><p><strong>Get your foundations right:</strong> This is the most nuanced section that carries the most value for folks to steal. When you develop agentic systems, stick to simplicity on the particular task you need the agent to do. Agents aren&#8217;t security engineers, they are containerized experts in a small subset of tasks. Ensure they are proficient in these tasks, because what makes them powerful is how you connect them together. </p></li></ol><p>The way I see this working for years to come is that we&#8217;ll have agentic workflows handle the &#8220;80%&#8221; work, such as repetitive tasks or analysis. The &#8220;20%&#8221; work that requires a ton of focus will be traditional expert work that we know and love. This split still requires us to have deep expertise in our field, but I worry about the value of learning from the more boring or tedious work.</p><div><hr></div><h1><strong>&#128300; State of the Art</strong></h1><p><a href="https://detectionstream.com/sigma/training/gamified">Detection Stream Sigma Training Playground</a> by Kostas Tsialemis</p><p>Tsialemis, a long-time contributor to the detection engineering research space and a <a href="https://www.detectionengineering.net/p/detection-engineering-weekly-40-my">multi</a>-<a href="https://www.detectionengineering.net/p/detection-engineering-weekly-38-in">time</a> <a href="https://www.detectionengineering.net/p/detection-engineering-weekly-31-moveit">featured</a> <a href="https://www.detectionengineering.net/p/det-eng-weekly-90-its-bullking-szn">author</a> on this newsletter, just published a free Sigma training playground for detection engineers. His <a href="https://kostas-ts.medium.com/detectionstream-introducing-the-sigma-training-platform-574721f18f45">associated blog post</a> goes over the platform in detail, but it&#8217;s like a CTF for writing rules. There are some cool features which include interactive challenges, responsive feedback to the challenges, and the ability to write your own challenges and contribute them to the community.</p><p>A leaderboard always motivates me, too. #8 as of 10 November!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zw8X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zw8X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 424w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 848w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 1272w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zw8X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png" width="1456" height="738" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:738,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:292401,&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/178510701?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.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_!zw8X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 424w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 848w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.png 1272w, https://substackcdn.com/image/fetch/$s_!zw8X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e9e0bdb-ab85-446d-b6fb-0dfad8694349_2240x1136.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://www.fogsecurity.io/blog/mistrusted-advisor-public-s3-buckets">Mistrusted Advisor: Evading Detection with Public S3 Buckets and Potential Data Exfiltration in AWS</a> by Jason Kao</p><p>Trusted Advisor is a free service from AWS that helps scan customer infrastructure for misconfigured security and resilience resources. One resource it helps find misconfigurations for is in S3 buckets, which have led to massive security incidents and breaches like those at <a href="https://rhinosecuritylabs.com/aws/capital-one-cloud_breach_s3-cloudgoat/">Capital One</a> and <a href="https://blog.gitguardian.com/security-threats-from-the-twitch-leak/">Twitch</a>. So, if you can find a 0-day bypass to a security system like this, it can give an attacker the ability to evade defenses in your cloud accounts. And it appears that is what Kao and the Fog Security team did.</p><p>The basic premise behind this attack is setting an insecure policy that would generate an alert from Trusted Advisor, but explicitly denies three actions Trusted Advisor uses for the check.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6yKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6yKE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 424w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 848w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 1272w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6yKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png" width="1456" height="1204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1204,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:316682,&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/178510701?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.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_!6yKE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 424w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 848w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.png 1272w, https://substackcdn.com/image/fetch/$s_!6yKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d174e8a-5d17-4d59-8259-7c3328d09ef1_2384x1972.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>So the insecure policy statement are lines 4-10, while the bypass occurs in a separate statement on lines 11-17. As it turns out, even AWS can get IAM wrong! Basically, the check <em>failed close</em> here and reported nothing was wrong, where the behavior should be <em>failed open</em> in cases where it can&#8217;t receive the telemetry to make an assessment.</p><p>The team submitted the security disclosure to AWS, and they fixed it after two tries. It also looks like Fog Security wasn&#8217;t happy with how AWS&#8217; publicly disclosed the issue, as it contained an inaccuracy in a non-existent action that the hyperscaler fixed.</p><div><hr></div><p><a href="https://medium.com/@ggabrielhd/all-you-need-to-know-about-ja3-ja4-fingerprints-and-how-to-collect-them-8f189085b61f">All you need to know about JA3 &amp; JA4 Fingerprints (and how to collect them)</a> by Gabriel Alves</p><p>This piece is an easy-to-understand introduction to the powerful TLS fingerprinting algorithms, JA3 &amp; JA4. With TLS everywhere, the underlying Application Layer traffic has become much harder to analyze for potential security indicators. You could set up TLS termination, but there&#8217;s a large cost associated with building that infrastructure, and decrypting and inspecting traffic also leads to compliance issues.</p><p>The JA* algorithms solve this by building fingerprints of the unique characteristics of TLS handshakes. Virtually every implementation of TLS in code has its own quirks and intricacies that make it unique. When you add more infrastructure on top of that, it can be a powerful tool to cluster traffic in ways to identify malware families, hosting infrastructure or bots.</p><p>Alves provides readers with some great visuals to understand these unique fingerprints and utilizes the most powerful security tool in existence, Wireshark, to do so.</p><div><hr></div><p><a href="https://detect.fyi/agentic-detection-creation-from-sigma-to-splunk-rules-or-any-platform-4697e13d9ee3">Agentic Detection Creation: From Sigma to Splunk Rules (or any platform)</a> by Burak Karaduman</p><p>I&#8217;m seeing more blog posts leveraging agentic workflow platforms to build detection content, and I&#8217;m all for it. At this point in our journey in detection engineering, I don&#8217;t see why you wouldn&#8217;t have agentic rule writing to assist you. Here&#8217;s why:</p><ul><li><p>MITRE ATT&amp;CK serves as a rich knowledge base of tradecraft references that we all fundamentally agree is the standard</p></li><li><p>Telemetry sources are well documented, and the startup cost of booting up an environment for testing is decreasing more and more</p></li><li><p>Threat intelligence companies and blogs help piece together attack chains that you can generalize</p></li><li><p>Sigma serves as a universal language that forces rule content structure and documentation, and has a rich library of converters to your SIEM of choice</p></li><li><p>Detection as code pipelines serve as a quality gate for human review and for testing</p></li><li><p>SIEM APIs have capabilities to ingest a candidate rule and make sure it&#8217;s valid in its native language</p></li></ul><p>Karaduman&#8217;s approach here follows the pattern I listed above, and it&#8217;s functionally sound. It follows a lot of the fundamentals of the <a href="https://medium.com/snowflake/detection-development-lifecycle-af166fffb3bc">detection engineering lifecycle</a>. The agents take ideation as an input, and continuously research, design, and validate candidate rules. Once the Sigma rule is created, Karaduman leverages <a href="http://sigconverter.io">sigconverter.io</a> to translate the rule into SPL and has a separate SPL validation agent to make sure it can run in production.</p><p>It&#8217;s a clever setup with several &#8220;smaller&#8221; agents performing tasks, which looks to be the optimal setup for this agent-to-agent workflow. I&#8217;m impressed at the simplicity of their architecture, and they were kind enough to include the fully visualized n8n workflow for readers to experiment with.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rXVs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rXVs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 424w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 848w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rXVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png" width="1456" height="986" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:880057,&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/178510701?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.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_!rXVs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 424w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 848w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!rXVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e83ae22-0461-4ab1-9f43-8da495c35e47_1812x1227.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>Can you guess what the most crucial step is here? The red box of course! It compiles every piece of documentation in the rule, validates it against Claude&#8217;s Sonnet 4.5 model, generates a report and messages the hypothetical detection engineer in email and on Teams.</p><div><hr></div><h1>&#9763;&#65039; Threat Landscape</h1><p><a href="https://cloud.google.com/blog/topics/threat-intelligence/threat-actor-usage-of-ai-tools">GTIG AI Threat Tracker: Advances in Threat Actor Usage of AI Tools</a> by Google Threat Intelligence Group</p><p>Unlike the cyberslop post from last week, where researchers at MIT made some bold claims on AI usage by ransomware operators, Google&#8217;s intelligence group brings the receipts on threat actor usage of LLM tools during operations.</p><p>I quite like the coining of &#8220;just-in-time&#8221; malware leveraged by two families they track as PROMPTFLUX and PROMPTSTEAL. These both generate malicious code on demand, and it looks like a multi-agent step that creates the code and obfuscates it during malware execution.</p><div><hr></div><p><a href="https://www.hipaajournal.com/u-s-nationals-indicted-blackcat-ransomware-attacks/">U.S. Nationals Indicted for BlackCat Ransomware Attacks on Healthcare Organizations</a> by Steve Alder</p><p>Two American security professionals were indicted for allegedly working as initial access brokers for BlackCat ransomware. This is a wild story: they both worked for a threat intelligence company named DigitalMint, conducting <em><strong>RANSOMWARE NEGOTIATIONS</strong></em> on behalf of victims. Talk about insider threat, right?</p><p>In a classic case of insider threat motives, the main conspirator was in debt and went into business with BlackCat to help relieve that debt. This is a common tactic employed by spy agencies, so, logically, it would also work for criminal gangs.</p><div><hr></div><p><a href="https://www.wired.com/story/peter-williams-trenchant-trade-secrets-theft-russian-firm/">Ex-L3Harris Cyber Boss Pleads Guilty to Selling Trade Secrets to Russian Firm</a> by Kim Zetter</p><p>Is it insider threat week? It feels like insider threat week. Zetter reports of a man who was arrested and found guilty via a plea deal for selling trade secrets to an &#8220;unnamed Russian software broker&#8221;. The accused worked for L3Harris Trenchant, a U.S.-based developer of zero-day and exploitation tools, and earned over seven figures in the process.</p><div><hr></div><p><a href="https://quetzal.bitso.com/p/interview-with-the-chollima-v?hide_intro_popup=true">Interview with the Chollima V</a> by Mauro Eldritch, Ulises, and Sofia Grimaldo</p><p>This series by the Bitso Quetzal team highlights their research (and shenanigans) with live interviewing DPRK IT Workers. The interesting part of this interview, and potentially a change in WageMole's TTPs, is that they are interviewing and recruiting collaborators to conduct interviews on behalf of WageMole. There were early reports of this happening, but Grimaldo, Ulises, and Eldritch brought receipts in the form of chat logs, Zoom screenshots, and LinkedIn profiles.</p><div><hr></div><p><a href="https://unit42.paloaltonetworks.com/landfall-is-new-commercial-grade-android-spyware/">LANDFALL: New Commercial-Grade Android Spyware in Exploit Chain Targeting Samsung Devices</a> by Unit 42</p><p>LANDFALL is a Samsung Android-based spyware family discovered by Unit 42 researchers. They found this family while hunting for exploit chains related to the DNG processing exploit that <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-43300">Apple disclosed</a> earlier this year. DNG is <a href="https://www.adobe.com/creativecloud/file-types/image/raw/dng-file.html">a file format</a> that both Android and iOS can process, and it&#8217;s within this processing logic that the vulnerability and subsequent exploit chain exist. </p><p>It&#8217;s pretty neat how the Unit 42 team came across this malicious file: they were hunting for DNGs to replicate the iOS exploit and found one that had a Zip file appended to it, but was exploiting Samsung&#8217;s <a href="https://security.samsungmobile.com/securityUpdate.smsb?year=2025&amp;month=04">recently patched</a> vulnerability from earlier this year. The team pulled apart the malicious DNG, found two <code>.so</code> files and mapped out the command and control network associated with it.</p><div><hr></div><h1>&#128279; Open Source</h1><p><a href="https://github.com/OSINTI4L/Paper-Pusher">OSINTI4L/Paper-Pusher</a></p><blockquote><p>A Bash script for sending spam to WiFi-connected printers over LAN.</p></blockquote><h3>&#128557;&#128557;&#128557;</h3><div><hr></div><p><a href="https://github.com/karlvbiron/MAD-CAT">karlvbiron/MAD-CAT</a></p><p>MAD-CAT is a <a href="https://principlesofchaos.org/">chaos engineering</a> tool that implements data wiping and corruption attacks against databases to simulate database failures and data wiping-style attacks for detection engineers.  It supports six database technologies: MongoDB, Elasticsearch, Cassandra, Redis, CouchDB, and Apache Hadoop.</p><div><hr></div><p><a href="https://github.com/FoxIO-LLC/ja4">FoxIO-LLC/ja4</a></p><p>JA4 TLS fingerprinting library referenced in Alves&#8217; post above. I&#8217;ve linked JA4 before, but it&#8217;s a seriously effective tool to add to detection arsenals, especially if you can instrument it in publicly accessible servers.</p><div><hr></div><p><a href="https://github.com/EvilBytecode/NoMoreStealers">EvilBytecode/NoMoreStealers</a></p><p>A Windows <a href="https://medium.com/@WaterBucket/understanding-mini-filter-drivers-for-windows-vulnerability-research-exploit-development-391153c945d6">minifilter</a> driver that blocks filesystem access to specific file paths to prevent infostealers. The hardcoded paths it protects include browser secret data, cryptocurrency wallets and secrets, and chat applications.</p><div><hr></div><p><a href="https://github.com/Idov31/EtwLeakKernel">Idov31/EtwLeakKernel</a></p><p><a href="https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing">Event Tracing for Windows</a> (ETW) consumer that requests stack traces to leak Kernel addresses. This can help with exploit development if you need to exploit a Kernel vulnerability and require base addresses, potentially defeating ASLR. </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>